X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=csprogs.h;h=a8420e850b5a5e25bced988d0943c26b264767fe;hb=ab93f3de91b08f841d440f86d8b4a4d48ad00292;hp=2aba12b389140b9ad5de7595b191ebdcf324a677;hpb=7938a89abdf37e9452182f64bc9aec0293f493a3;p=xonotic%2Fdarkplaces.git diff --git a/csprogs.h b/csprogs.h index 2aba12b3..a8420e85 100644 --- a/csprogs.h +++ b/csprogs.h @@ -1,7 +1,7 @@ #ifndef CSPROGS_H #define CSPROGS_H -// LordHavoc: changed to match MAX_EDICTS +// LadyHavoc: changed to match MAX_EDICTS #define CL_MAX_EDICTS MAX_EDICTS #define ENTMASK_ENGINE 1 @@ -36,9 +36,13 @@ #define VF_CL_VIEWANGLES_Y 35 //(float) #define VF_CL_VIEWANGLES_Z 36 //(float) +// FTEQW's extension range #define VF_PERSPECTIVE 200 //(float) + +// what is this doing here? This is a DP extension introduced by Black, should be in 4xx range #define VF_CLEARSCREEN 201 //(float) +// what is this doing here? This is a DP extension introduced by VorteX, should be in 4xx range #define VF_FOG_DENSITY 202 //(float) #define VF_FOG_COLOR 203 //(vector) #define VF_FOG_COLOR_R 204 //(float) @@ -50,7 +54,9 @@ #define VF_FOG_HEIGHT 210 //(float) #define VF_FOG_FADEDEPTH 211 //(float) -#define VF_MAINVIEW 212 //(float) +// DP's extension range +#define VF_MAINVIEW 400 //(float) +#define VF_MINFPS_QUALITY 401 //(float) #define RF_VIEWMODEL 1 // The entity is never drawn in mirrors. In engines with realtime lighting, it casts no shadows. #define RF_EXTERNALMODEL 2 // The entity is appears in mirrors but not in the normal view. It does still cast shadows in engines with realtime lighting. @@ -62,6 +68,7 @@ #define RF_USETRANSPARENTOFFSET 64 // Allows QC to customize origin used for transparent sorting via transparent_origin global, helps to fix transparent sorting bugs on a very large entities #define RF_WORLDOBJECT 128 // for large outdoor entities that should not be culled #define RF_MODELLIGHT 4096 // CSQC-set model light +#define RF_DYNAMICMODELLIGHT 8192 // origin-dependent model light #define RF_FULLBRIGHT 256 #define RF_NOSHADOW 512 @@ -69,6 +76,7 @@ extern cvar_t csqc_progname; //[515]: csqc crc check and right csprogs name according to progs.dat extern cvar_t csqc_progcrc; extern cvar_t csqc_progsize; +extern cvar_t csqc_polygons_defaultmaterial_nocullface; void CL_VM_PreventInformationLeaks(void); @@ -82,8 +90,8 @@ void CL_VM_Init(void); void CL_VM_ShutDown(void); void CL_VM_UpdateIntermissionState(int intermission); void CL_VM_UpdateShowingScoresState(int showingscores); -qboolean CL_VM_InputEvent(int eventtype, int x, int y); -qboolean CL_VM_ConsoleCommand(const char *cmd); +qboolean CL_VM_InputEvent(int eventtype, float x, float y); +qboolean CL_VM_ConsoleCommand(const char *text); void CL_VM_UpdateDmgGlobals(int dmg_take, int dmg_save, vec3_t dmg_origin); void CL_VM_UpdateIntermissionState(int intermission); qboolean CL_VM_Event_Sound(int sound_num, float volume, int channel, float attenuation, int ent, vec3_t pos, int flags, float speed); @@ -91,10 +99,8 @@ qboolean CL_VM_Parse_TempEntity(void); void CL_VM_Parse_StuffCmd(const char *msg); void CL_VM_Parse_CenterPrint(const char *msg); int CL_GetPitchSign(prvm_prog_t *prog, prvm_edict_t *ent); -int CL_GetTagMatrix(prvm_prog_t *prog, matrix4x4_t *out, prvm_edict_t *ent, int tagindex); +int CL_GetTagMatrix(prvm_prog_t *prog, matrix4x4_t *out, prvm_edict_t *ent, int tagindex, prvm_vec_t *shadingorigin); void CL_GetEntityMatrix(prvm_prog_t *prog, prvm_edict_t *ent, matrix4x4_t *out, qboolean viewmatrix); -/* VMs exposing the polygon calls must call this on Init/Reset */ -void VM_Polygons_Reset(prvm_prog_t *prog); void QW_CL_StartUpload(unsigned char *data, int size); void CSQC_UpdateNetworkTimes(double newtime, double oldtime); @@ -109,4 +115,6 @@ void CSQC_R_RecalcView(void); dp_model_t *CL_GetModelByIndex(int modelindex); +int CL_VM_GetViewEntity(void); + #endif