now MSVC warns about persistant mmx registers so such hacks can be fixed
mat2 now C (from 3D Now! version)
C alternative for 'genmipvxl' in use
tested--no obvious errors
First C alternative for 'drawtile' in use
Commented-out inline assembly remvoed from function 'estnorm'. Yay!
setblobs now C (from 3D Now! version)
drawpolyquad now C (using old "unoptimized" code)
First C alternative for 'updatereflects' now in use
third C alternative for 'updatereflects' now in use
struct (.z .y .z) changed to array ([0] [1] [2])
second C alternative for 'updatereflects' now in use
doesn't crash or lag but breaks reflections making rubble all white.
Second C alternative for 'drawtile' in use
updatelighting now C
voxsetframebuffer now C
kv6draw now C
 - qsum0 & qsum1 no longer cached in register
 - DRAWBOUNDCUBE macros now work for sse or 3dn so only one version of kv6draw is needed
'hrendz' and 'vrendz' variant functions now C
 - inline assembly varients removed
 - C varients uncommented
 - opti4asm no longer needed, all instances of it (voxlap5 and v5) removed
 - opticast now no longer has any clearMMX calls

Induced Bugs (in game.exe):
 - Rendering is noticably lower framerate, especially animaions (or maybe they are just more noticable)
 - player is much faster
removed unused, buggy assembly
drawtile had long incorrectly casted to short array, now is correctly casted to uint8_t arry
mmxcolorsub & mmxcoloradd now C in voxflash
mischelaneous fixes for voxed:
 - colfunclst[] now g++ complient
 - mmxcoloradd and mmxcolorsub now C
    - clearMMX only needed for mmxcolor*, all removed
 - rgbcolselinitinc rgbcolselinitinc now replaced with (inline) C (in drawcolorbar)
clearMMX calls removed in setflash; Doesn't seem to cause errors and they probably shouldn't be needed
Starting to define variables in C instead of asm so VirtualProtect/mprotect is hopefully not needed