Quake-2

Quake 2 GPL Source Release
Log | Files | Refs

qasm.inc (11530B)


      1 ;
      2 ; qasm.inc
      3 ;
      4 ; Include file for asm routines.
      5 ;
      6 
      7 ;
      8 ; !!! note that this file must match the corresponding C structures at all
      9 ; times !!!
     10 ;
     11 
     12 ; set to 0 to skip all asm code
     13 id386	equ		1
     14 
     15 ; !!! must be kept the same as in d_iface.h !!!
     16 TRANSPARENT_COLOR	equ		255
     17 
     18 ifndef GLQUAKE
     19 	externdef _d_zistepu:dword
     20 	externdef _d_pzbuffer:dword
     21 	externdef _d_zistepv:dword
     22 	externdef _d_zrowbytes:dword
     23 	externdef _d_ziorigin:dword
     24 	externdef _r_turb_s:dword
     25 	externdef _r_turb_t:dword
     26 	externdef _r_turb_pdest:dword
     27 	externdef _r_turb_spancount:dword
     28 	externdef _r_turb_turb:dword
     29 	externdef _r_turb_pbase:dword
     30 	externdef _r_turb_sstep:dword
     31 	externdef _r_turb_tstep:dword
     32 	externdef	_r_bmodelactive:dword
     33 	externdef	_d_sdivzstepu:dword
     34 	externdef	_d_tdivzstepu:dword
     35 	externdef	_d_sdivzstepv:dword
     36 	externdef	_d_tdivzstepv:dword
     37 	externdef	_d_sdivzorigin:dword
     38 	externdef	_d_tdivzorigin:dword
     39 	externdef	_sadjust:dword
     40 	externdef	_tadjust:dword
     41 	externdef	_bbextents:dword
     42 	externdef	_bbextentt:dword
     43 	externdef	_cacheblock:dword
     44 	externdef	_d_viewbuffer:dword
     45 	externdef	_cachewidth:dword
     46 	externdef	_d_pzbuffer:dword
     47 	externdef	_d_zrowbytes:dword
     48 	externdef	_d_zwidth:dword
     49 	externdef _d_scantable:dword
     50 	externdef _r_lightptr:dword
     51 	externdef _r_numvblocks:dword
     52 	externdef _prowdestbase:dword
     53 	externdef _pbasesource:dword
     54 	externdef _r_lightwidth:dword
     55 	externdef _lightright:dword
     56 	externdef _lightrightstep:dword
     57 	externdef _lightdeltastep:dword
     58 	externdef _lightdelta:dword
     59 	externdef _lightright:dword
     60 	externdef _lightdelta:dword
     61 	externdef _sourcetstep:dword
     62 	externdef _surfrowbytes:dword
     63 	externdef _lightrightstep:dword
     64 	externdef _lightdeltastep:dword
     65 	externdef _r_sourcemax:dword
     66 	externdef _r_stepback:dword
     67 	externdef _colormap:dword
     68 	externdef _blocksize:dword
     69 	externdef _sourcesstep:dword
     70 	externdef _lightleft:dword
     71 	externdef _blockdivshift:dword
     72 	externdef _blockdivmask:dword
     73 	externdef _lightleftstep:dword
     74 	externdef _r_origin:dword
     75 	externdef _r_ppn:dword
     76 	externdef _r_pup:dword
     77 	externdef _r_pright:dword
     78 	externdef _ycenter:dword
     79 	externdef _xcenter:dword
     80 	externdef _d_vrectbottom_particle:dword
     81 	externdef _d_vrectright_particle:dword
     82 	externdef _d_vrecty:dword
     83 	externdef _d_vrectx:dword
     84 	externdef _d_pix_shift:dword
     85 	externdef _d_pix_min:dword
     86 	externdef _d_pix_max:dword
     87 	externdef _d_y_aspect_shift:dword
     88 	externdef _screenwidth:dword
     89 	externdef _r_leftclipped:dword
     90 	externdef _r_leftenter:dword
     91 	externdef _r_rightclipped:dword
     92 	externdef _r_rightenter:dword
     93 	externdef _modelorg:dword
     94 	externdef _xscale:dword
     95 	externdef _r_refdef:dword
     96 	externdef _yscale:dword
     97 	externdef _r_leftexit:dword
     98 	externdef _r_rightexit:dword
     99 	externdef _r_lastvertvalid:dword
    100 	externdef _cacheoffset:dword
    101 	externdef _newedges:dword
    102 	externdef _removeedges:dword
    103 	externdef _r_pedge:dword
    104 	externdef _r_framecount:dword
    105 	externdef _r_u1:dword
    106 	externdef _r_emitted:dword
    107 	externdef _edge_p:dword
    108 	externdef _surface_p:dword
    109 	externdef _surfaces:dword
    110 	externdef _r_lzi1:dword
    111 	externdef _r_v1:dword
    112 	externdef _r_ceilv1:dword
    113 	externdef _r_nearzi:dword
    114 	externdef _r_nearzionly:dword
    115 	externdef _edge_aftertail:dword
    116 	externdef _edge_tail:dword
    117 	externdef _current_iv:dword
    118 	externdef _edge_head_u_shift20:dword
    119 	externdef _span_p:dword
    120 	externdef _edge_head:dword
    121 	externdef _fv:dword
    122 	externdef _edge_tail_u_shift20:dword
    123 	externdef _r_apverts:dword
    124 	externdef _r_anumverts:dword
    125 	externdef _aliastransform:dword
    126 	externdef _r_avertexnormals:dword
    127 	externdef _r_plightvec:dword
    128 	externdef _r_ambientlight:dword
    129 	externdef _r_shadelight:dword
    130 	externdef _aliasxcenter:dword
    131 	externdef _aliasycenter:dword
    132 	externdef _a_sstepxfrac:dword
    133 	externdef _r_affinetridesc:dword
    134 	externdef _acolormap:dword
    135 	externdef _d_pcolormap:dword
    136 	externdef _r_affinetridesc:dword
    137 	externdef _d_sfrac:dword
    138 	externdef _d_ptex:dword
    139 	externdef _d_pedgespanpackage:dword
    140 	externdef _d_tfrac:dword
    141 	externdef _d_light:dword
    142 	externdef _d_zi:dword
    143 	externdef _d_pdest:dword
    144 	externdef _d_pz:dword
    145 	externdef _d_aspancount:dword
    146 	externdef _erroradjustup:dword
    147 	externdef _errorterm:dword
    148 	externdef _d_xdenom:dword
    149 	externdef _r_p0:dword
    150 	externdef _r_p1:dword
    151 	externdef _r_p2:dword
    152 	externdef _a_tstepxfrac:dword
    153 	externdef _r_sstepx:dword
    154 	externdef _r_tstepx:dword
    155 	externdef _a_ststepxwhole:dword
    156 	externdef _zspantable:dword
    157 	externdef _skintable:dword
    158 	externdef _r_zistepx:dword
    159 	externdef _erroradjustdown:dword
    160 	externdef _d_countextrastep:dword
    161 	externdef _ubasestep:dword
    162 	externdef _a_ststepxwhole:dword
    163 	externdef _a_tstepxfrac:dword
    164 	externdef _r_lstepx:dword
    165 	externdef _a_spans:dword
    166 	externdef _erroradjustdown:dword
    167 	externdef _d_pdestextrastep:dword
    168 	externdef _d_pzextrastep:dword
    169 	externdef _d_sfracextrastep:dword
    170 	externdef _d_ptexextrastep:dword
    171 	externdef _d_countextrastep:dword
    172 	externdef _d_tfracextrastep:dword
    173 	externdef _d_lightextrastep:dword
    174 	externdef _d_ziextrastep:dword
    175 	externdef _d_pdestbasestep:dword
    176 	externdef _d_pzbasestep:dword
    177 	externdef _d_sfracbasestep:dword
    178 	externdef _d_ptexbasestep:dword
    179 	externdef _ubasestep:dword
    180 	externdef _d_tfracbasestep:dword
    181 	externdef _d_lightbasestep:dword
    182 	externdef _d_zibasestep:dword
    183 	externdef _zspantable:dword
    184 	externdef _r_lstepy:dword
    185 	externdef _r_sstepy:dword
    186 	externdef _r_tstepy:dword
    187 	externdef _r_zistepy:dword
    188 	externdef _D_PolysetSetEdgeTable:dword
    189 	externdef _D_RasterizeAliasPolySmooth:dword
    190 
    191 	externdef float_point5:dword
    192 	externdef Float2ToThe31nd:dword
    193 	externdef izistep:dword
    194 	externdef izi:dword
    195 	externdef FloatMinus2ToThe31nd:dword
    196 	externdef float_1:dword
    197 	externdef float_particle_z_clip:dword
    198 	externdef float_minus_1:dword
    199 	externdef float_0:dword
    200 	externdef fp_16:dword
    201 	externdef fp_64k:dword
    202 	externdef fp_1m:dword
    203 	externdef fp_1m_minus_1:dword
    204 	externdef fp_8 :dword
    205 	externdef entryvec_table:dword
    206 	externdef advancetable:dword
    207 	externdef sstep:dword
    208 	externdef tstep:dword
    209 	externdef pspantemp:dword
    210 	externdef counttemp:dword
    211 	externdef jumptemp:dword
    212 	externdef reciprocal_table:dword
    213 	externdef DP_Count:dword
    214 	externdef DP_u:dword
    215 	externdef DP_v:dword
    216 	externdef DP_32768:dword
    217 	externdef DP_Color:dword
    218 	externdef DP_Pix:dword
    219 	externdef DP_EntryTable:dword
    220 	externdef	pbase:dword
    221 	externdef s:dword
    222 	externdef t:dword
    223 	externdef sfracf:dword
    224 	externdef tfracf:dword
    225 	externdef snext:dword
    226 	externdef tnext:dword
    227 	externdef	spancountminus1:dword
    228 	externdef zi16stepu:dword
    229 	externdef sdivz16stepu:dword
    230 	externdef tdivz16stepu:dword
    231 	externdef	zi8stepu:dword
    232 	externdef sdivz8stepu:dword
    233 	externdef tdivz8stepu:dword
    234 	externdef reciprocal_table_16:dword
    235 	externdef entryvec_table_16:dword
    236 	externdef fp_64kx64k:dword
    237 	externdef pz:dword
    238 	externdef spr8entryvec_table:dword
    239 endif
    240 
    241 	externdef _fpu_ceil_cw:dword
    242 	externdef _fpu_chop_cw:dword
    243 	externdef _snd_scaletable:dword
    244 	externdef _paintbuffer:dword
    245 	externdef _snd_linear_count:dword
    246 	externdef _snd_p:dword
    247 	externdef _snd_vol:dword
    248 	externdef _snd_out:dword
    249 	externdef _vright:dword
    250 	externdef _vup:dword
    251 	externdef _vpn:dword
    252 	externdef _BOPS_Error:dword
    253 
    254 ; plane_t structure
    255 ; !!! if this is changed, it must be changed in model.h too !!!
    256 ; !!! if the size of this is changed, the array lookup in SV_HullPointContents
    257 ;     must be changed too !!!
    258 pl_normal	equ		0
    259 pl_dist		equ		12
    260 pl_type		equ		16
    261 pl_signbits	equ		17
    262 pl_pad		equ		18
    263 pl_size		equ		20
    264 
    265 ; hull_t structure
    266 ; !!! if this is changed, it must be changed in model.h too !!!
    267 hu_clipnodes		equ		0
    268 hu_planes			equ		4
    269 hu_firstclipnode	equ		8
    270 hu_lastclipnode		equ		12
    271 hu_clip_mins		equ		16
    272 hu_clip_maxs		equ		28
    273 hu_size  			equ		40
    274 
    275 ; dnode_t structure
    276 ; !!! if this is changed, it must be changed in bspfile.h too !!!
    277 nd_planenum		equ		0
    278 nd_children		equ		4
    279 nd_mins			equ		8
    280 nd_maxs			equ		20
    281 nd_firstface	equ		32
    282 nd_numfaces		equ		36
    283 nd_size			equ		40
    284 
    285 ; sfxcache_t structure
    286 ; !!! if this is changed, it much be changed in sound.h too !!!
    287 sfxc_length		equ		0
    288 sfxc_loopstart	equ		4
    289 sfxc_speed		equ		8
    290 sfxc_width		equ		12
    291 sfxc_stereo		equ		16
    292 sfxc_data		equ		20
    293 
    294 ; channel_t structure
    295 ; !!! if this is changed, it much be changed in sound.h too !!!
    296 ch_sfx			equ		0
    297 ch_leftvol		equ		4
    298 ch_rightvol		equ		8
    299 ch_end			equ		12
    300 ch_pos			equ		16
    301 ch_looping		equ		20
    302 ch_entnum		equ		24
    303 ch_entchannel	equ		28
    304 ch_origin		equ		32
    305 ch_dist_mult	equ		44
    306 ch_master_vol	equ		48
    307 ch_size			equ		52
    308 
    309 ; portable_samplepair_t structure
    310 ; !!! if this is changed, it much be changed in sound.h too !!!
    311 psp_left		equ		0
    312 psp_right		equ		4
    313 psp_size		equ		8
    314 
    315 ; !!! if this is changed, it must be changed in r_local.h too !!!
    316 NEAR_CLIP	equ		0.01
    317 
    318 ; !!! if this is changed, it must be changed in r_local.h too !!!
    319 CYCLE	equ		128
    320 
    321 ; espan_t structure
    322 ; !!! if this is changed, it must be changed in r_shared.h too !!!
    323 espan_t_u    	equ		0
    324 espan_t_v	    equ		4
    325 espan_t_count   equ		8
    326 espan_t_pnext	equ		12
    327 espan_t_size    equ		16
    328 
    329 ; sspan_t structure
    330 ; !!! if this is changed, it must be changed in d_local.h too !!!
    331 sspan_t_u    	equ		0
    332 sspan_t_v	    equ		4
    333 sspan_t_count   equ		8
    334 sspan_t_size    equ		12
    335 
    336 ; spanpackage_t structure
    337 ; !!! if this is changed, it must be changed in d_polyset.c too !!!
    338 spanpackage_t_pdest				equ		0
    339 spanpackage_t_pz				equ		4
    340 spanpackage_t_count				equ		8
    341 spanpackage_t_ptex				equ		12
    342 spanpackage_t_sfrac				equ		16
    343 spanpackage_t_tfrac				equ		20
    344 spanpackage_t_light				equ		24
    345 spanpackage_t_zi				equ		28
    346 spanpackage_t_size				equ		32 
    347 
    348 ; edge_t structure
    349 ; !!! if this is changed, it must be changed in r_shared.h too !!!
    350 et_u			equ		0
    351 et_u_step		equ		4
    352 et_prev			equ		8
    353 et_next			equ		12
    354 et_surfs		equ		16
    355 et_nextremove	equ		20
    356 et_nearzi		equ		24
    357 et_owner		equ		28
    358 et_size			equ		32
    359 
    360 ; surf_t structure
    361 ; !!! if this is changed, it must be changed in r_shared.h too !!!
    362 SURF_T_SHIFT	equ		6
    363 st_next			equ		0
    364 st_prev			equ		4
    365 st_spans		equ		8
    366 st_key			equ		12
    367 st_last_u		equ		16
    368 st_spanstate	equ		20
    369 st_flags		equ		24
    370 st_data			equ		28
    371 st_entity		equ		32
    372 st_nearzi		equ		36
    373 st_insubmodel	equ		40
    374 st_d_ziorigin	equ		44
    375 st_d_zistepu	equ		48
    376 st_d_zistepv	equ		52
    377 st_pad			equ		56
    378 st_size			equ		64
    379 
    380 ; clipplane_t structure
    381 ; !!! if this is changed, it must be changed in r_local.h too !!!
    382 cp_normal		equ		0
    383 cp_dist			equ		12
    384 cp_next			equ		16
    385 cp_leftedge		equ		20
    386 cp_rightedge	equ		21
    387 cp_reserved		equ		22
    388 cp_size			equ		24
    389 
    390 ; medge_t structure
    391 ; !!! if this is changed, it must be changed in model.h too !!!
    392 me_v				equ		0
    393 me_cachededgeoffset	equ		4
    394 me_size				equ		8
    395 
    396 ; mvertex_t structure
    397 ; !!! if this is changed, it must be changed in model.h too !!!
    398 mv_position		equ		0
    399 mv_size			equ		12
    400 
    401 ; refdef_t structure
    402 ; !!! if this is changed, it must be changed in render.h too !!!
    403 rd_vrect					equ		0
    404 rd_aliasvrect				equ		20
    405 rd_vrectright				equ		40
    406 rd_vrectbottom				equ		44
    407 rd_aliasvrectright			equ		48
    408 rd_aliasvrectbottom			equ		52
    409 rd_vrectrightedge			equ		56
    410 rd_fvrectx					equ		60
    411 rd_fvrecty					equ		64
    412 rd_fvrectx_adj				equ		68
    413 rd_fvrecty_adj				equ		72
    414 rd_vrect_x_adj_shift20		equ		76
    415 rd_vrectright_adj_shift20	equ		80
    416 rd_fvrectright_adj			equ		84
    417 rd_fvrectbottom_adj			equ		88
    418 rd_fvrectright				equ		92
    419 rd_fvrectbottom				equ		96
    420 rd_horizontalFieldOfView	equ		100
    421 rd_xOrigin					equ		104
    422 rd_yOrigin					equ		108
    423 rd_vieworg					equ		112
    424 rd_viewangles				equ		124
    425 rd_ambientlight				equ		136
    426 rd_size						equ		140
    427 
    428 ; mtriangle_t structure
    429 ; !!! if this is changed, it must be changed in model.h too !!!
    430 mtri_facesfront		equ		0
    431 mtri_vertindex		equ		4
    432 mtri_size			equ		16	; !!! if this changes, array indexing in !!!
    433 								; !!! d_polysa.s must be changed to match !!!
    434 mtri_shift			equ		4
    435