|
|
1.1 root 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
235: align 4
236: Ljmptab dd Lcase0, Lcase1, Lcase2, Lcase3
237: dd Lcase4, Lcase5, Lcase6, Lcase7
238: _DATA ENDS
239: _TEXT SEGMENT
240: public _Invert24To16
241: _Invert24To16:
242: mov ecx,ds:dword ptr[4+esp]
243: mov edx,0100h
244: cmp ecx,edx
245: jle LOutOfRange
246: sub eax,eax
247: div ecx
248: ret
249: LOutOfRange:
250: mov eax,0FFFFFFFFh
251: ret
252: align 2
253: public _TransformVector
254: _TransformVector:
255: mov eax,ds:dword ptr[4+esp]
256: mov edx,ds:dword ptr[8+esp]
257: fld ds:dword ptr[eax]
258: fmul ds:dword ptr[_vright]
259: fld ds:dword ptr[eax]
260: fmul ds:dword ptr[_vup]
261: fld ds:dword ptr[eax]
262: fmul ds:dword ptr[_vpn]
263: fld ds:dword ptr[4+eax]
264: fmul ds:dword ptr[_vright+4]
265: fld ds:dword ptr[4+eax]
266: fmul ds:dword ptr[_vup+4]
267: fld ds:dword ptr[4+eax]
268: fmul ds:dword ptr[_vpn+4]
269: fxch st(2)
270: faddp st(5),st(0)
271: faddp st(3),st(0)
272: faddp st(1),st(0)
273: fld ds:dword ptr[8+eax]
274: fmul ds:dword ptr[_vright+8]
275: fld ds:dword ptr[8+eax]
276: fmul ds:dword ptr[_vup+8]
277: fld ds:dword ptr[8+eax]
278: fmul ds:dword ptr[_vpn+8]
279: fxch st(2)
280: faddp st(5),st(0)
281: faddp st(3),st(0)
282: faddp st(1),st(0)
283: fstp ds:dword ptr[8+edx]
284: fstp ds:dword ptr[4+edx]
285: fstp ds:dword ptr[edx]
286: ret
287: align 2
288: public _BoxOnPlaneSide
289: _BoxOnPlaneSide:
290: push ebx
291: mov edx,ds:dword ptr[4+12+esp]
292: mov ecx,ds:dword ptr[4+4+esp]
293: xor eax,eax
294: mov ebx,ds:dword ptr[4+8+esp]
295: mov al,ds:byte ptr[17+edx]
296: cmp al,8
297: jge Lerror
298: fld ds:dword ptr[0+edx]
299: fld st(0)
300: jmp dword ptr[Ljmptab+eax*4]
301: Lcase0:
302: fmul ds:dword ptr[ebx]
303: fld ds:dword ptr[0+4+edx]
304: fxch st(2)
305: fmul ds:dword ptr[ecx]
306: fxch st(2)
307: fld st(0)
308: fmul ds:dword ptr[4+ebx]
309: fld ds:dword ptr[0+8+edx]
310: fxch st(2)
311: fmul ds:dword ptr[4+ecx]
312: fxch st(2)
313: fld st(0)
314: fmul ds:dword ptr[8+ebx]
315: fxch st(5)
316: faddp st(3),st(0)
317: fmul ds:dword ptr[8+ecx]
318: fxch st(1)
319: faddp st(3),st(0)
320: fxch st(3)
321: faddp st(2),st(0)
322: jmp LSetSides
323: Lcase1:
324: fmul ds:dword ptr[ecx]
325: fld ds:dword ptr[0+4+edx]
326: fxch st(2)
327: fmul ds:dword ptr[ebx]
328: fxch st(2)
329: fld st(0)
330: fmul ds:dword ptr[4+ebx]
331: fld ds:dword ptr[0+8+edx]
332: fxch st(2)
333: fmul ds:dword ptr[4+ecx]
334: fxch st(2)
335: fld st(0)
336: fmul ds:dword ptr[8+ebx]
337: fxch st(5)
338: faddp st(3),st(0)
339: fmul ds:dword ptr[8+ecx]
340: fxch st(1)
341: faddp st(3),st(0)
342: fxch st(3)
343: faddp st(2),st(0)
344: jmp LSetSides
345: Lcase2:
346: fmul ds:dword ptr[ebx]
347: fld ds:dword ptr[0+4+edx]
348: fxch st(2)
349: fmul ds:dword ptr[ecx]
350: fxch st(2)
351: fld st(0)
352: fmul ds:dword ptr[4+ecx]
353: fld ds:dword ptr[0+8+edx]
354: fxch st(2)
355: fmul ds:dword ptr[4+ebx]
356: fxch st(2)
357: fld st(0)
358: fmul ds:dword ptr[8+ebx]
359: fxch st(5)
360: faddp st(3),st(0)
361: fmul ds:dword ptr[8+ecx]
362: fxch st(1)
363: faddp st(3),st(0)
364: fxch st(3)
365: faddp st(2),st(0)
366: jmp LSetSides
367: Lcase3:
368: fmul ds:dword ptr[ecx]
369: fld ds:dword ptr[0+4+edx]
370: fxch st(2)
371: fmul ds:dword ptr[ebx]
372: fxch st(2)
373: fld st(0)
374: fmul ds:dword ptr[4+ecx]
375: fld ds:dword ptr[0+8+edx]
376: fxch st(2)
377: fmul ds:dword ptr[4+ebx]
378: fxch st(2)
379: fld st(0)
380: fmul ds:dword ptr[8+ebx]
381: fxch st(5)
382: faddp st(3),st(0)
383: fmul ds:dword ptr[8+ecx]
384: fxch st(1)
385: faddp st(3),st(0)
386: fxch st(3)
387: faddp st(2),st(0)
388: jmp LSetSides
389: Lcase4:
390: fmul ds:dword ptr[ebx]
391: fld ds:dword ptr[0+4+edx]
392: fxch st(2)
393: fmul ds:dword ptr[ecx]
394: fxch st(2)
395: fld st(0)
396: fmul ds:dword ptr[4+ebx]
397: fld ds:dword ptr[0+8+edx]
398: fxch st(2)
399: fmul ds:dword ptr[4+ecx]
400: fxch st(2)
401: fld st(0)
402: fmul ds:dword ptr[8+ecx]
403: fxch st(5)
404: faddp st(3),st(0)
405: fmul ds:dword ptr[8+ebx]
406: fxch st(1)
407: faddp st(3),st(0)
408: fxch st(3)
409: faddp st(2),st(0)
410: jmp LSetSides
411: Lcase5:
412: fmul ds:dword ptr[ecx]
413: fld ds:dword ptr[0+4+edx]
414: fxch st(2)
415: fmul ds:dword ptr[ebx]
416: fxch st(2)
417: fld st(0)
418: fmul ds:dword ptr[4+ebx]
419: fld ds:dword ptr[0+8+edx]
420: fxch st(2)
421: fmul ds:dword ptr[4+ecx]
422: fxch st(2)
423: fld st(0)
424: fmul ds:dword ptr[8+ecx]
425: fxch st(5)
426: faddp st(3),st(0)
427: fmul ds:dword ptr[8+ebx]
428: fxch st(1)
429: faddp st(3),st(0)
430: fxch st(3)
431: faddp st(2),st(0)
432: jmp LSetSides
433: Lcase6:
434: fmul ds:dword ptr[ebx]
435: fld ds:dword ptr[0+4+edx]
436: fxch st(2)
437: fmul ds:dword ptr[ecx]
438: fxch st(2)
439: fld st(0)
440: fmul ds:dword ptr[4+ecx]
441: fld ds:dword ptr[0+8+edx]
442: fxch st(2)
443: fmul ds:dword ptr[4+ebx]
444: fxch st(2)
445: fld st(0)
446: fmul ds:dword ptr[8+ecx]
447: fxch st(5)
448: faddp st(3),st(0)
449: fmul ds:dword ptr[8+ebx]
450: fxch st(1)
451: faddp st(3),st(0)
452: fxch st(3)
453: faddp st(2),st(0)
454: jmp LSetSides
455: Lcase7:
456: fmul ds:dword ptr[ecx]
457: fld ds:dword ptr[0+4+edx]
458: fxch st(2)
459: fmul ds:dword ptr[ebx]
460: fxch st(2)
461: fld st(0)
462: fmul ds:dword ptr[4+ecx]
463: fld ds:dword ptr[0+8+edx]
464: fxch st(2)
465: fmul ds:dword ptr[4+ebx]
466: fxch st(2)
467: fld st(0)
468: fmul ds:dword ptr[8+ecx]
469: fxch st(5)
470: faddp st(3),st(0)
471: fmul ds:dword ptr[8+ebx]
472: fxch st(1)
473: faddp st(3),st(0)
474: fxch st(3)
475: faddp st(2),st(0)
476: LSetSides:
477: faddp st(2),st(0)
478: fcomp ds:dword ptr[12+edx]
479: xor ecx,ecx
480: fnstsw ax
481: fcomp ds:dword ptr[12+edx]
482: and ah,1
483: xor ah,1
484: add cl,ah
485: fnstsw ax
486: and ah,1
487: add ah,ah
488: add cl,ah
489: pop ebx
490: mov eax,ecx
491: ret
492: Lerror:
493: call near ptr _BOPS_Error
494: _TEXT ENDS
495: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.