Quake-2

Quake 2 GPL Source Release
Log | Files | Refs

qasm.h (10770B)


      1 #ifndef __ASM_I386__
      2 #define __ASM_I386__
      3 
      4 #ifdef ELF
      5 #define C(label) label
      6 #else
      7 #define C(label) _##label
      8 #endif
      9 
     10 
     11 //#define GLQUAKE	1
     12 
     13 #if defined(_WIN32) && !defined(WINDED)
     14 
     15 #if defined(_M_IX86)
     16 #define __i386__	1
     17 #endif
     18 
     19 #endif
     20 
     21 #ifdef __i386__
     22 #define id386	1
     23 #else
     24 #define id386	0
     25 #endif
     26 
     27 // !!! must be kept the same as in d_iface.h !!!
     28 #define TRANSPARENT_COLOR	255
     29 
     30 #ifndef GLQUAKE
     31 	.extern C(d_zistepu)
     32 	.extern C(d_pzbuffer)
     33 	.extern C(d_zistepv)
     34 	.extern C(d_zrowbytes)
     35 	.extern C(d_ziorigin)
     36 	.extern C(r_turb_s)
     37 	.extern C(r_turb_t)
     38 	.extern C(r_turb_pdest)
     39 	.extern C(r_turb_spancount)
     40 	.extern C(r_turb_turb)
     41 	.extern C(r_turb_pbase)
     42 	.extern C(r_turb_sstep)
     43 	.extern C(r_turb_tstep)
     44 	.extern	C(r_bmodelactive)
     45 	.extern	C(d_sdivzstepu)
     46 	.extern	C(d_tdivzstepu)
     47 	.extern	C(d_sdivzstepv)
     48 	.extern	C(d_tdivzstepv)
     49 	.extern	C(d_sdivzorigin)
     50 	.extern	C(d_tdivzorigin)
     51 	.extern	C(sadjust)
     52 	.extern	C(tadjust)
     53 	.extern	C(bbextents)
     54 	.extern	C(bbextentt)
     55 	.extern	C(cacheblock)
     56 	.extern	C(d_viewbuffer)
     57 	.extern	C(cachewidth)
     58 	.extern	C(d_pzbuffer)
     59 	.extern	C(d_zrowbytes)
     60 	.extern	C(d_zwidth)
     61 	.extern C(d_scantable)
     62 	.extern C(r_lightptr)
     63 	.extern C(r_numvblocks)
     64 	.extern C(prowdestbase)
     65 	.extern C(pbasesource)
     66 	.extern C(r_lightwidth)
     67 	.extern C(lightright)
     68 	.extern C(lightrightstep)
     69 	.extern C(lightdeltastep)
     70 	.extern C(lightdelta)
     71 	.extern C(lightright)
     72 	.extern C(lightdelta)
     73 	.extern C(sourcetstep)
     74 	.extern C(surfrowbytes)
     75 	.extern C(lightrightstep)
     76 	.extern C(lightdeltastep)
     77 	.extern C(r_sourcemax)
     78 	.extern C(r_stepback)
     79 	.extern C(colormap)
     80 	.extern C(blocksize)
     81 	.extern C(sourcesstep)
     82 	.extern C(lightleft)
     83 	.extern C(blockdivshift)
     84 	.extern C(blockdivmask)
     85 	.extern C(lightleftstep)
     86 	.extern C(r_origin)
     87 	.extern C(r_ppn)
     88 	.extern C(r_pup)
     89 	.extern C(r_pright)
     90 	.extern C(ycenter)
     91 	.extern C(xcenter)
     92 	.extern C(d_vrectbottom_particle)
     93 	.extern C(d_vrectright_particle)
     94 	.extern C(d_vrecty)
     95 	.extern C(d_vrectx)
     96 	.extern C(d_pix_shift)
     97 	.extern C(d_pix_min)
     98 	.extern C(d_pix_max)
     99 	.extern C(d_y_aspect_shift)
    100 	.extern C(screenwidth)
    101 	.extern C(r_leftclipped)
    102 	.extern C(r_leftenter)
    103 	.extern C(r_rightclipped)
    104 	.extern C(r_rightenter)
    105 	.extern C(modelorg)
    106 	.extern C(xscale)
    107 	.extern C(r_refdef)
    108 	.extern C(yscale)
    109 	.extern C(r_leftexit)
    110 	.extern C(r_rightexit)
    111 	.extern C(r_lastvertvalid)
    112 	.extern C(cacheoffset)
    113 	.extern C(newedges)
    114 	.extern C(removeedges)
    115 	.extern C(r_pedge)
    116 	.extern C(r_framecount)
    117 	.extern C(r_u1)
    118 	.extern C(r_emitted)
    119 	.extern C(edge_p)
    120 	.extern C(surface_p)
    121 	.extern C(surfaces)
    122 	.extern C(r_lzi1)
    123 	.extern C(r_v1)
    124 	.extern C(r_ceilv1)
    125 	.extern C(r_nearzi)
    126 	.extern C(r_nearzionly)
    127 	.extern C(edge_aftertail)
    128 	.extern C(edge_tail)
    129 	.extern C(current_iv)
    130 	.extern C(edge_head_u_shift20)
    131 	.extern C(span_p)
    132 	.extern C(edge_head)
    133 	.extern C(fv)
    134 	.extern C(edge_tail_u_shift20)
    135 	.extern C(r_apverts)
    136 	.extern C(r_anumverts)
    137 	.extern C(aliastransform)
    138 	.extern C(r_avertexnormals)
    139 	.extern C(r_plightvec)
    140 	.extern C(r_ambientlight)
    141 	.extern C(r_shadelight)
    142 	.extern C(aliasxcenter)
    143 	.extern C(aliasycenter)
    144 	.extern C(a_sstepxfrac)
    145 	.extern C(r_affinetridesc)
    146 	.extern C(acolormap)
    147 	.extern C(d_pcolormap)
    148 	.extern C(r_affinetridesc)
    149 	.extern C(d_sfrac)
    150 	.extern C(d_ptex)
    151 	.extern C(d_pedgespanpackage)
    152 	.extern C(d_tfrac)
    153 	.extern C(d_light)
    154 	.extern C(d_zi)
    155 	.extern C(d_pdest)
    156 	.extern C(d_pz)
    157 	.extern C(d_aspancount)
    158 	.extern C(erroradjustup)
    159 	.extern C(errorterm)
    160 	.extern C(d_xdenom)
    161 	.extern C(r_p0)
    162 	.extern C(r_p1)
    163 	.extern C(r_p2)
    164 	.extern C(a_tstepxfrac)
    165 	.extern C(r_sstepx)
    166 	.extern C(r_tstepx)
    167 	.extern C(a_ststepxwhole)
    168 	.extern C(zspantable)
    169 	.extern C(skintable)
    170 	.extern C(r_zistepx)
    171 	.extern C(erroradjustdown)
    172 	.extern C(d_countextrastep)
    173 	.extern C(ubasestep)
    174 	.extern C(a_ststepxwhole)
    175 	.extern C(a_tstepxfrac)
    176 	.extern C(r_lstepx)
    177 	.extern C(a_spans)
    178 	.extern C(erroradjustdown)
    179 	.extern C(d_pdestextrastep)
    180 	.extern C(d_pzextrastep)
    181 	.extern C(d_sfracextrastep)
    182 	.extern C(d_ptexextrastep)
    183 	.extern C(d_countextrastep)
    184 	.extern C(d_tfracextrastep)
    185 	.extern C(d_lightextrastep)
    186 	.extern C(d_ziextrastep)
    187 	.extern C(d_pdestbasestep)
    188 	.extern C(d_pzbasestep)
    189 	.extern C(d_sfracbasestep)
    190 	.extern C(d_ptexbasestep)
    191 	.extern C(ubasestep)
    192 	.extern C(d_tfracbasestep)
    193 	.extern C(d_lightbasestep)
    194 	.extern C(d_zibasestep)
    195 	.extern C(zspantable)
    196 	.extern C(r_lstepy)
    197 	.extern C(r_sstepy)
    198 	.extern C(r_tstepy)
    199 	.extern C(r_zistepy)
    200 	.extern C(D_PolysetSetEdgeTable)
    201 	.extern C(D_RasterizeAliasPolySmooth)
    202 
    203 	.extern float_point5
    204 	.extern Float2ToThe31nd
    205 	.extern izistep
    206 	.extern izi
    207 	.extern FloatMinus2ToThe31nd
    208 	.extern float_1
    209 	.extern float_particle_z_clip
    210 	.extern float_minus_1
    211 	.extern float_0
    212 	.extern fp_16
    213 	.extern fp_64k
    214 	.extern fp_1m
    215 	.extern fp_1m_minus_1
    216 	.extern fp_8 
    217 	.extern entryvec_table
    218 	.extern advancetable
    219 	.extern sstep
    220 	.extern tstep
    221 	.extern pspantemp
    222 	.extern counttemp
    223 	.extern jumptemp
    224 	.extern reciprocal_table
    225 	.extern DP_Count
    226 	.extern DP_u
    227 	.extern DP_v
    228 	.extern DP_32768
    229 	.extern DP_Color
    230 	.extern DP_Pix
    231 	.extern DP_EntryTable
    232 	.extern	pbase
    233 	.extern s
    234 	.extern t
    235 	.extern sfracf
    236 	.extern tfracf
    237 	.extern snext
    238 	.extern tnext
    239 	.extern	spancountminus1
    240 	.extern zi16stepu
    241 	.extern sdivz16stepu
    242 	.extern tdivz16stepu
    243 	.extern	zi8stepu
    244 	.extern sdivz8stepu
    245 	.extern tdivz8stepu
    246 	.extern reciprocal_table_16
    247 	.extern entryvec_table_16
    248 	.extern ceil_cw
    249 	.extern single_cw
    250 	.extern fp_64kx64k
    251 	.extern pz
    252 	.extern spr8entryvec_table
    253 #endif
    254 
    255 	.extern C(snd_scaletable)
    256 	.extern C(paintbuffer)
    257 	.extern C(snd_linear_count)
    258 	.extern C(snd_p)
    259 	.extern C(snd_vol)
    260 	.extern C(snd_out)
    261 	.extern C(vright)
    262 	.extern C(vup)
    263 	.extern C(vpn)
    264 	.extern C(BOPS_Error)
    265 
    266 //
    267 // !!! note that this file must match the corresponding C structures at all
    268 // times !!!
    269 //
    270 
    271 // plane_t structure
    272 // !!! if this is changed, it must be changed in model.h too !!!
    273 // !!! if the size of this is changed, the array lookup in SV_HullPointContents
    274 //     must be changed too !!!
    275 #define pl_normal	0
    276 #define pl_dist		12
    277 #define pl_type		16
    278 #define pl_signbits	17
    279 #define pl_pad		18
    280 #define pl_size		20
    281 
    282 // hull_t structure
    283 // !!! if this is changed, it must be changed in model.h too !!!
    284 #define	hu_clipnodes		0
    285 #define	hu_planes			4
    286 #define	hu_firstclipnode	8
    287 #define	hu_lastclipnode		12
    288 #define	hu_clip_mins		16
    289 #define	hu_clip_maxs		28
    290 #define hu_size  			40
    291 
    292 // dnode_t structure
    293 // !!! if this is changed, it must be changed in bspfile.h too !!!
    294 #define	nd_planenum		0
    295 #define	nd_children		4
    296 #define	nd_mins			8
    297 #define	nd_maxs			20
    298 #define	nd_firstface	32
    299 #define	nd_numfaces		36
    300 #define nd_size			40
    301 
    302 // sfxcache_t structure
    303 // !!! if this is changed, it much be changed in sound.h too !!!
    304 #define sfxc_length		0
    305 #define sfxc_loopstart	4
    306 #define sfxc_speed		8
    307 #define sfxc_width		12
    308 #define sfxc_stereo		16
    309 #define sfxc_data		20
    310 
    311 // channel_t structure
    312 // !!! if this is changed, it much be changed in sound.h too !!!
    313 #define ch_sfx			0
    314 #define ch_leftvol		4
    315 #define ch_rightvol		8
    316 #define ch_end			12
    317 #define ch_pos			16
    318 #define ch_looping		20
    319 #define ch_entnum		24
    320 #define ch_entchannel	28
    321 #define ch_origin		32
    322 #define ch_dist_mult	44
    323 #define ch_master_vol	48
    324 #define ch_size			52
    325 
    326 // portable_samplepair_t structure
    327 // !!! if this is changed, it much be changed in sound.h too !!!
    328 #define psp_left		0
    329 #define psp_right		4
    330 #define psp_size		8
    331 
    332 
    333 //
    334 // !!! note that this file must match the corresponding C structures at all
    335 // times !!!
    336 //
    337 
    338 // !!! if this is changed, it must be changed in r_local.h too !!!
    339 #define	NEAR_CLIP	0.01
    340 
    341 // !!! if this is changed, it must be changed in r_local.h too !!!
    342 #define	CYCLE	128
    343 
    344 // espan_t structure
    345 // !!! if this is changed, it must be changed in r_shared.h too !!!
    346 #define espan_t_u    	0
    347 #define espan_t_v	    4
    348 #define espan_t_count   8
    349 #define espan_t_pnext	12
    350 #define espan_t_size    16
    351 
    352 // sspan_t structure
    353 // !!! if this is changed, it must be changed in d_local.h too !!!
    354 #define sspan_t_u    	0
    355 #define sspan_t_v	    4
    356 #define sspan_t_count   8
    357 #define sspan_t_size    12
    358 
    359 // spanpackage_t structure
    360 // !!! if this is changed, it must be changed in d_polyset.c too !!!
    361 #define spanpackage_t_pdest				0
    362 #define spanpackage_t_pz				4
    363 #define spanpackage_t_count				8
    364 #define spanpackage_t_ptex				12
    365 #define spanpackage_t_sfrac				16
    366 #define spanpackage_t_tfrac				20
    367 #define spanpackage_t_light				24
    368 #define spanpackage_t_zi				28
    369 #define spanpackage_t_size				32 
    370 
    371 // edge_t structure
    372 // !!! if this is changed, it must be changed in r_shared.h too !!!
    373 #define et_u			0
    374 #define et_u_step		4
    375 #define et_prev			8
    376 #define et_next			12
    377 #define et_surfs		16
    378 #define et_nextremove	20
    379 #define et_nearzi		24
    380 #define et_owner		28
    381 #define et_size			32
    382 
    383 // surf_t structure
    384 // !!! if this is changed, it must be changed in r_shared.h too !!!
    385 #define SURF_T_SHIFT	6
    386 #define st_next			0
    387 #define st_prev			4
    388 #define st_spans		8
    389 #define st_key			12
    390 #define st_last_u		16
    391 #define st_spanstate	20
    392 #define st_flags		24
    393 #define st_data			28
    394 #define st_entity		32
    395 #define st_nearzi		36
    396 #define st_insubmodel	40
    397 #define st_d_ziorigin	44
    398 #define st_d_zistepu	48
    399 #define st_d_zistepv	52
    400 #define st_pad			56
    401 #define st_size			64
    402 
    403 // clipplane_t structure
    404 // !!! if this is changed, it must be changed in r_local.h too !!!
    405 #define cp_normal		0
    406 #define cp_dist			12
    407 #define cp_next			16
    408 #define cp_leftedge		20
    409 #define cp_rightedge	21
    410 #define cp_reserved		22
    411 #define cp_size			24
    412 
    413 // medge_t structure
    414 // !!! if this is changed, it must be changed in model.h too !!!
    415 #define me_v				0
    416 #define me_cachededgeoffset	4
    417 #define me_size				8
    418 
    419 // mvertex_t structure
    420 // !!! if this is changed, it must be changed in model.h too !!!
    421 #define mv_position		0
    422 #define mv_size			12
    423 
    424 // refdef_t structure
    425 // !!! if this is changed, it must be changed in render.h too !!!
    426 #define rd_vrect					0
    427 #define rd_aliasvrect				20
    428 #define rd_vrectright				40
    429 #define rd_vrectbottom				44
    430 #define rd_aliasvrectright			48
    431 #define rd_aliasvrectbottom			52
    432 #define rd_vrectrightedge			56
    433 #define rd_fvrectx					60
    434 #define rd_fvrecty					64
    435 #define rd_fvrectx_adj				68
    436 #define rd_fvrecty_adj				72
    437 #define rd_vrect_x_adj_shift20		76
    438 #define rd_vrectright_adj_shift20	80
    439 #define rd_fvrectright_adj			84
    440 #define rd_fvrectbottom_adj			88
    441 #define rd_fvrectright				92
    442 #define rd_fvrectbottom				96
    443 #define rd_horizontalFieldOfView	100
    444 #define rd_xOrigin					104
    445 #define rd_yOrigin					108
    446 #define rd_vieworg					112
    447 #define rd_viewangles				124
    448 #define rd_ambientlight				136
    449 #define rd_size						140
    450 
    451 // mtriangle_t structure
    452 // !!! if this is changed, it must be changed in model.h too !!!
    453 #define mtri_facesfront		0
    454 #define mtri_vertindex		4
    455 #define mtri_size			16	// !!! if this changes, array indexing in !!!
    456 								// !!! d_polysa.s must be changed to match !!!
    457 #define mtri_shift			4
    458 
    459 #endif