1 .386P 2 .model FLAT 3 externdef _d_zistepu:dword 4 externdef _d_pzbuffer:dword 5 externdef _d_zistepv:dword 6 externdef _d_zrowbytes:dword 7 externdef _d_ziorigin:dword 8 externdef _r_turb_s:dword 9 externdef _r_turb_t:dword 10 externdef _r_turb_pdest:dword 11 externdef _r_turb_spancount:dword 12 externdef _r_turb_turb:dword 13 externdef _r_turb_pbase:dword 14 externdef _r_turb_sstep:dword 15 externdef _r_turb_tstep:dword 16 externdef _r_bmodelactive:dword 17 externdef _d_sdivzstepu:dword 18 externdef _d_tdivzstepu:dword 19 externdef _d_sdivzstepv:dword 20 externdef _d_tdivzstepv:dword 21 externdef _d_sdivzorigin:dword 22 externdef _d_tdivzorigin:dword 23 externdef _sadjust:dword 24 externdef _tadjust:dword 25 externdef _bbextents:dword 26 externdef _bbextentt:dword 27 externdef _cacheblock:dword 28 externdef _d_viewbuffer:dword 29 externdef _cachewidth:dword 30 externdef _d_pzbuffer:dword 31 externdef _d_zrowbytes:dword 32 externdef _d_zwidth:dword 33 externdef _d_scantable:dword 34 externdef _r_lightptr:dword 35 externdef _r_numvblocks:dword 36 externdef _prowdestbase:dword 37 externdef _pbasesource:dword 38 externdef _r_lightwidth:dword 39 externdef _lightright:dword 40 externdef _lightrightstep:dword 41 externdef _lightdeltastep:dword 42 externdef _lightdelta:dword 43 externdef _lightright:dword 44 externdef _lightdelta:dword 45 externdef _sourcetstep:dword 46 externdef _surfrowbytes:dword 47 externdef _lightrightstep:dword 48 externdef _lightdeltastep:dword 49 externdef _r_sourcemax:dword 50 externdef _r_stepback:dword 51 externdef _colormap:dword 52 externdef _blocksize:dword 53 externdef _sourcesstep:dword 54 externdef _lightleft:dword 55 externdef _blockdivshift:dword 56 externdef _blockdivmask:dword 57 externdef _lightleftstep:dword 58 externdef _r_origin:dword 59 externdef _r_ppn:dword 60 externdef _r_pup:dword 61 externdef _r_pright:dword 62 externdef _ycenter:dword 63 externdef _xcenter:dword 64 externdef _d_vrectbottom_particle:dword 65 externdef _d_vrectright_particle:dword 66 externdef _d_vrecty:dword 67 externdef _d_vrectx:dword 68 externdef _d_pix_shift:dword 69 externdef _d_pix_min:dword 70 externdef _d_pix_max:dword 71 externdef _d_y_aspect_shift:dword 72 externdef _screenwidth:dword 73 externdef _vright:dword 74 externdef _vup:dword 75 externdef _vpn:dword 76 externdef _BOPS_Error:dword 77 externdef _snd_scaletable:dword 78 externdef _paintbuffer:dword 79 externdef _snd_linear_count:dword 80 externdef _snd_p:dword 81 externdef _snd_vol:dword 82 externdef _snd_out:dword 83 externdef _r_leftclipped:dword 84 externdef _r_leftenter:dword 85 externdef _r_rightclipped:dword 86 externdef _r_rightenter:dword 87 externdef _modelorg:dword 88 externdef _xscale:dword 89 externdef _r_refdef:dword 90 externdef _yscale:dword 91 externdef _r_leftexit:dword 92 externdef _r_rightexit:dword 93 externdef _r_lastvertvalid:dword 94 externdef _cacheoffset:dword 95 externdef _newedges:dword 96 externdef _removeedges:dword 97 externdef _r_pedge:dword 98 externdef _r_framecount:dword 99 externdef _r_u1:dword 100 externdef _r_emitted:dword 101 externdef _edge_p:dword 102 externdef _surface_p:dword 103 externdef _surfaces:dword 104 externdef _r_lzi1:dword 105 externdef _r_v1:dword 106 externdef _r_ceilv1:dword 107 externdef _r_nearzi:dword 108 externdef _r_nearzionly:dword 109 externdef _edge_aftertail:dword 110 externdef _edge_tail:dword 111 externdef _current_iv:dword 112 externdef _edge_head_u_shift20:dword 113 externdef _span_p:dword 114 externdef _edge_head:dword 115 externdef _fv:dword 116 externdef _edge_tail_u_shift20:dword 117 externdef _r_apverts:dword 118 externdef _r_anumverts:dword 119 externdef _aliastransform:dword 120 externdef _r_avertexnormals:dword 121 externdef _r_plightvec:dword 122 externdef _r_ambientlight:dword 123 externdef _r_shadelight:dword 124 externdef _aliasxcenter:dword 125 externdef _aliasycenter:dword 126 externdef _a_sstepxfrac:dword 127 externdef _r_affinetridesc:dword 128 externdef _acolormap:dword 129 externdef _d_pcolormap:dword 130 externdef _r_affinetridesc:dword 131 externdef _d_sfrac:dword 132 externdef _d_ptex:dword 133 externdef _d_pedgespanpackage:dword 134 externdef _d_tfrac:dword 135 externdef _d_light:dword 136 externdef _d_zi:dword 137 externdef _d_pdest:dword 138 externdef _d_pz:dword 139 externdef _d_aspancount:dword 140 externdef _erroradjustup:dword 141 externdef _errorterm:dword 142 externdef _d_xdenom:dword 143 externdef _r_p0:dword 144 externdef _r_p1:dword 145 externdef _r_p2:dword 146 externdef _a_tstepxfrac:dword 147 externdef _r_sstepx:dword 148 externdef _r_tstepx:dword 149 externdef _a_ststepxwhole:dword 150 externdef _zspantable:dword 151 externdef _skintable:dword 152 externdef _r_zistepx:dword 153 externdef _erroradjustdown:dword 154 externdef _d_countextrastep:dword 155 externdef _ubasestep:dword 156 externdef _a_ststepxwhole:dword 157 externdef _a_tstepxfrac:dword 158 externdef _r_lstepx:dword 159 externdef _a_spans:dword 160 externdef _erroradjustdown:dword 161 externdef _d_pdestextrastep:dword 162 externdef _d_pzextrastep:dword 163 externdef _d_sfracextrastep:dword 164 externdef _d_ptexextrastep:dword 165 externdef _d_countextrastep:dword 166 externdef _d_tfracextrastep:dword 167 externdef _d_lightextrastep:dword 168 externdef _d_ziextrastep:dword 169 externdef _d_pdestbasestep:dword 170 externdef _d_pzbasestep:dword 171 externdef _d_sfracbasestep:dword 172 externdef _d_ptexbasestep:dword 173 externdef _ubasestep:dword 174 externdef _d_tfracbasestep:dword 175 externdef _d_lightbasestep:dword 176 externdef _d_zibasestep:dword 177 externdef _zspantable:dword 178 externdef _r_lstepy:dword 179 externdef _r_sstepy:dword 180 externdef _r_tstepy:dword 181 externdef _r_zistepy:dword 182 externdef _D_PolysetSetEdgeTable:dword 183 externdef _D_RasterizeAliasPolySmooth:dword 184 externdef float_point5:dword 185 externdef Float2ToThe31nd:dword 186 externdef izistep:dword 187 externdef izi:dword 188 externdef FloatMinus2ToThe31nd:dword 189 externdef float_1:dword 190 externdef float_particle_z_clip:dword 191 externdef float_minus_1:dword 192 externdef float_0:dword 193 externdef fp_16:dword 194 externdef fp_64k:dword 195 externdef fp_1m:dword 196 externdef fp_1m_minus_1:dword 197 externdef fp_8:dword 198 externdef entryvec_table:dword 199 externdef advancetable:dword 200 externdef sstep:dword 201 externdef tstep:dword 202 externdef pspantemp:dword 203 externdef counttemp:dword 204 externdef jumptemp:dword 205 externdef reciprocal_table:dword 206 externdef DP_Count:dword 207 externdef DP_u:dword 208 externdef DP_v:dword 209 externdef DP_32768:dword 210 externdef DP_Color:dword 211 externdef DP_Pix:dword 212 externdef DP_EntryTable:dword 213 externdef pbase:dword 214 externdef s:dword 215 externdef t:dword 216 externdef sfracf:dword 217 externdef tfracf:dword 218 externdef snext:dword 219 externdef tnext:dword 220 externdef spancountminus1:dword 221 externdef zi16stepu:dword 222 externdef sdivz16stepu:dword 223 externdef tdivz16stepu:dword 224 externdef zi8stepu:dword 225 externdef sdivz8stepu:dword 226 externdef tdivz8stepu:dword 227 externdef reciprocal_table_16:dword 228 externdef entryvec_table_16:dword 229 externdef ceil_cw:dword 230 externdef single_cw:dword 231 externdef fp_64kx64k:dword 232 externdef pz:dword 233 externdef spr8entryvec_table:dword 234_DATA SEGMENT 235Lfloat_1 dd 1.0 236Ltemp dd 0 237Lcoords dd 0, 0, 0 238_DATA ENDS 239_TEXT SEGMENT 240 public _R_AliasTransformAndProjectFinalVerts 241_R_AliasTransformAndProjectFinalVerts: 242 push ebp 243 push edi 244 push esi 245 mov esi,ds:dword ptr[_r_apverts] 246 mov ebp,ds:dword ptr[12+8+esp] 247 mov edi,ds:dword ptr[12+4+esp] 248 mov ecx,ds:dword ptr[_r_anumverts] 249 sub edx,edx 250Lloop: 251 mov dl,ds:byte ptr[esi] 252 mov ds:byte ptr[Lcoords],dl 253 fild ds:dword ptr[Lcoords] 254 mov dl,ds:byte ptr[1+esi] 255 mov ds:byte ptr[Lcoords+4],dl 256 fild ds:dword ptr[Lcoords+4] 257 mov dl,ds:byte ptr[2+esi] 258 mov ds:byte ptr[Lcoords+8],dl 259 fild ds:dword ptr[Lcoords+8] 260 fld st(2) 261 fmul ds:dword ptr[_aliastransform+32] 262 fld st(2) 263 fmul ds:dword ptr[_aliastransform+36] 264 fxch st(1) 265 fadd ds:dword ptr[_aliastransform+44] 266 fld st(2) 267 fmul ds:dword ptr[_aliastransform+40] 268 fxch st(1) 269 faddp st(2),st(0) 270 mov dl,ds:byte ptr[3+esi] 271 mov eax,ds:dword ptr[4+ebp] 272 mov ds:dword ptr[0+8+edi],eax 273 faddp st(1),st(0) 274 mov eax,ds:dword ptr[8+ebp] 275 mov ds:dword ptr[0+12+edi],eax 276 fdivr ds:dword ptr[Lfloat_1] 277 mov eax,ds:dword ptr[0+ebp] 278 mov ds:dword ptr[24+edi],eax 279 mov eax,ds:dword ptr[32+edi] 280 mov eax,ds:dword ptr[12+ebp] 281 mov eax,ds:dword ptr[4+esi] 282 lea eax,ds:dword ptr[edx+edx*2] 283 fxch st(3) 284 fld ds:dword ptr[_r_avertexnormals+eax*4] 285 fmul ds:dword ptr[_r_plightvec] 286 fld ds:dword ptr[_r_avertexnormals+4+eax*4] 287 fmul ds:dword ptr[_r_plightvec+4] 288 fld ds:dword ptr[_r_avertexnormals+8+eax*4] 289 fmul ds:dword ptr[_r_plightvec+8] 290 fxch st(1) 291 faddp st(2),st(0) 292 fld st(2) 293 fmul ds:dword ptr[_aliastransform+0] 294 fxch st(2) 295 faddp st(1),st(0) 296 fst ds:dword ptr[Ltemp] 297 mov eax,ds:dword ptr[_r_ambientlight] 298 mov dl,ds:byte ptr[Ltemp+3] 299 test dl,080h 300 jz Lsavelight 301 fmul ds:dword ptr[_r_shadelight] 302 fistp ds:dword ptr[Ltemp] 303 add eax,ds:dword ptr[Ltemp] 304 jns Lp1 305 sub eax,eax 306Lp1: 307 fxch st(1) 308 fmul ds:dword ptr[_aliastransform+16] 309 fxch st(3) 310 fld st(0) 311 fmul ds:dword ptr[_aliastransform+4] 312 fxch st(1) 313 mov ds:dword ptr[0+16+edi],eax 314 fmul ds:dword ptr[_aliastransform+20] 315 fxch st(2) 316 fadd ds:dword ptr[_aliastransform+12] 317 fxch st(4) 318 fadd ds:dword ptr[_aliastransform+28] 319 fxch st(3) 320 fld st(0) 321 fmul ds:dword ptr[_aliastransform+8] 322 fxch st(1) 323 fmul ds:dword ptr[_aliastransform+24] 324 fxch st(5) 325 faddp st(2),st(0) 326 fxch st(3) 327 faddp st(2),st(0) 328 add esi,4 329 faddp st(2),st(0) 330 faddp st(2),st(0) 331 add ebp,12 332 fmul st(0),st(2) 333 fxch st(1) 334 fmul st(0),st(2) 335 fxch st(1) 336 fadd ds:dword ptr[_aliasxcenter] 337 fxch st(1) 338 fadd ds:dword ptr[_aliasycenter] 339 fxch st(2) 340 fistp ds:dword ptr[0+20+edi] 341 fistp ds:dword ptr[0+0+edi] 342 fistp ds:dword ptr[0+4+edi] 343 add edi,32 344 dec ecx 345 jnz Lloop 346 pop esi 347 pop edi 348 pop ebp 349 ret 350Lsavelight: 351 fstp st(0) 352 jmp Lp1 353_TEXT ENDS 354 END 355