Annotation of quakeworld/client/math.asm, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.