1 #include "fmod/fmod.h" 2 3 4 #define NEH_VERSION 3.04 5 6 // System types 7 #define TYPE_GAME 1 8 #define TYPE_DEMO 0 9 #define TYPE_BOTH 2 10 11 extern int NehGameType, midasplaying; 12 13 // CVars 14 extern cvar_t r_waterripple, gl_notrans, gl_rsmoke, nospr32; 15 extern cvar_t r_interpolate_model_animation, r_interpolate_model_transform, slowmo; 16 extern cvar_t gl_fogenable, gl_fogdisable, gl_fogdensity, gl_fogred, gl_foggreen, gl_fogblue; 17 extern cvar_t gl_skyclip, gl_skyfix; 18 extern cvar_t gl_glows, tweak, modvolume; 19 extern qboolean gl_do_skyfix; 20 21 // Graphical Junk 22 extern float model_alpha; 23 extern int smoketexture, DoFullbright, num_sfx; 24 25 // Evaluation Shortcuts 26 extern int eval_gravity, eval_items2, eval_alpha, eval_fullbright; 27 extern int eval_idealpitch, eval_pitch_speed; 28 29 30 // Sound Stuff 31 #define MAX_SFX 1024 32 extern sfx_t *known_sfx; 33 extern int num_sfx, num_sfxorig; 34 35 36 37 // Speed improvement :) 38 #define GETEDICTFIELDVALUE(ed, fieldoffset) (fieldoffset ? (eval_t*)((char*)&ed->v + fieldoffset) : NULL) 39 #define bound(min,num,max) (num >= min ? (num < max ? num : max) : min) 40 #define PlaneDist(point,plane) ((plane)->type < 3 ? (point)[(plane)->type] : DotProduct((point), (plane)->normal)) 41 #define PlaneDiff(point,plane) ((plane)->type < 3 ? (point)[(plane)->type] - (plane)->dist : DotProduct((point), (plane)->normal) - (plane)->dist) 42 43 int MSG_ReadChar (void); 44 int MSG_ReadByte (void); 45 float MSG_ReadAngle (void); 46 float MSG_ReadCoord (void); 47 48 //#define MSG_ReadChar() (msg_readcount >= net_message.cursize ? (msg_badread = true, -1) : (signed char)net_message.data[msg_readcount++]) 49 //#define MSG_ReadByte() (msg_readcount >= net_message.cursize ? (msg_badread = true, -1) : (unsigned char)net_message.data[msg_readcount++]) 50 //#define MSG_ReadAngle() (MSG_ReadChar() * (360.0f / 256.0f)) 51 //#define MSG_ReadCoord() (MSG_ReadShort() * 0.125f) 52 53 54 // Various function prototypes 55 void MOD_SetVolume_f (void); 56 void Neh_Init(void); 57 void Neh_BeginFrame(void); 58 void Neh_EndFrame(void); 59 void SHOWLMP_drawall(); 60 void SHOWLMP_clear(); 61 void SHOWLMP_decodehide(); 62 void SHOWLMP_decodeshow(); 63 void R_SparkShower (vec3_t org, vec3_t dir, int count, int type); 64 65 int COM_FindOnly(char *filename); 66 float VectorNormalizeLength (vec3_t v); // returns vector length 67 68 // Network Protocol Stuff 69 #define U_TRANS (1<<15) 70 #define svc_showlmp 35 // [string] slotname [string] lmpfilename [coord] x [coord] y 71 #define svc_hidelmp 36 // [string] slotname 72 #define svc_skybox 37 // [string] skyname 73 74 #define svc_skyboxsize 50 // [coord] size (default is 4096) 75 #define svc_fog 51 // [byte] enable <optional past this point, only included if enable is true> [float] density [byte] red [byte] green [byte] blue 76 77 78 #define TE_EXPLOSION3 16 79 #define TE_LIGHTNING4 17 80 #define TE_SMOKE 18 81 #define TE_NEW1 19 82 #define TE_NEW2 20 83 84 #define EF_NODRAW 16 85 #define EF_BLUE 64 86 #define EF_RED 128 87