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