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 460