Please, for the love of God, Jesus and Bastet, ADD EVERY OPENGL COMMAND REGARDLESS OF THE FREAKING RENDERER!!!!!!!!!!!!!!!!!!!!!!!!!!!
This commit is contained in:
parent
b7c7529e75
commit
bf520b9e33
|
@ -1193,6 +1193,13 @@ void D_SRB2Main(void)
|
||||||
CONS_Printf("I_StartupGraphics()...\n");
|
CONS_Printf("I_StartupGraphics()...\n");
|
||||||
I_StartupGraphics();
|
I_StartupGraphics();
|
||||||
|
|
||||||
|
#ifdef HWRENDER
|
||||||
|
// Lactozilla: Add every hardware mode CVAR and CCMD.
|
||||||
|
// Has to be done before the configuration file loads,
|
||||||
|
// but after the OpenGL library loads.
|
||||||
|
HWR_AddCommands();
|
||||||
|
#endif
|
||||||
|
|
||||||
//--------------------------------------------------------- CONSOLE
|
//--------------------------------------------------------- CONSOLE
|
||||||
// setup loading screen
|
// setup loading screen
|
||||||
SCR_Startup();
|
SCR_Startup();
|
||||||
|
|
|
@ -85,59 +85,8 @@ static void HWR_RenderTransparentWalls(void);
|
||||||
static void HWR_FoggingOn(void);
|
static void HWR_FoggingOn(void);
|
||||||
static UINT32 atohex(const char *s);
|
static UINT32 atohex(const char *s);
|
||||||
|
|
||||||
static void CV_filtermode_ONChange(void);
|
|
||||||
static void CV_anisotropic_ONChange(void);
|
|
||||||
static void CV_FogDensity_ONChange(void);
|
|
||||||
static void CV_grFov_OnChange(void);
|
|
||||||
// ==========================================================================
|
|
||||||
// 3D ENGINE COMMANDS & CONSOLE VARS
|
|
||||||
// ==========================================================================
|
|
||||||
|
|
||||||
static CV_PossibleValue_t grfov_cons_t[] = {{0, "MIN"}, {179*FRACUNIT, "MAX"}, {0, NULL}};
|
|
||||||
static CV_PossibleValue_t grfiltermode_cons_t[]= {{HWD_SET_TEXTUREFILTER_POINTSAMPLED, "Nearest"},
|
|
||||||
{HWD_SET_TEXTUREFILTER_BILINEAR, "Bilinear"}, {HWD_SET_TEXTUREFILTER_TRILINEAR, "Trilinear"},
|
|
||||||
{HWD_SET_TEXTUREFILTER_MIXED1, "Linear_Nearest"},
|
|
||||||
{HWD_SET_TEXTUREFILTER_MIXED2, "Nearest_Linear"},
|
|
||||||
{HWD_SET_TEXTUREFILTER_MIXED3, "Nearest_Mipmap"},
|
|
||||||
{0, NULL}};
|
|
||||||
CV_PossibleValue_t granisotropicmode_cons_t[] = {{1, "MIN"}, {16, "MAX"}, {0, NULL}};
|
|
||||||
|
|
||||||
boolean drawsky = true;
|
boolean drawsky = true;
|
||||||
|
|
||||||
// needs fix: walls are incorrectly clipped one column less
|
|
||||||
#ifndef NEWCLIP
|
|
||||||
static consvar_t cv_grclipwalls = {"gr_clipwalls", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
consvar_t cv_grrounddown = {"gr_rounddown", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grfov = {"gr_fov", "90", CV_FLOAT|CV_CALL, grfov_cons_t, CV_grFov_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grfogdensity = {"gr_fogdensity", "150", CV_CALL|CV_NOINIT, CV_Unsigned,
|
|
||||||
CV_FogDensity_ONChange, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
|
|
||||||
// Unfortunately, this can no longer be saved..
|
|
||||||
consvar_t cv_grfiltermode = {"gr_filtermode", "Nearest", CV_CALL, grfiltermode_cons_t,
|
|
||||||
CV_filtermode_ONChange, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_granisotropicmode = {"gr_anisotropicmode", "1", CV_CALL, granisotropicmode_cons_t,
|
|
||||||
CV_anisotropic_ONChange, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
|
|
||||||
consvar_t cv_grcorrecttricks = {"gr_correcttricks", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grsolvetjoin = {"gr_solvetjoin", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
|
|
||||||
static void CV_FogDensity_ONChange(void)
|
|
||||||
{
|
|
||||||
HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, cv_grfogdensity.value);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CV_filtermode_ONChange(void)
|
|
||||||
{
|
|
||||||
HWD.pfnSetSpecialState(HWD_SET_TEXTUREFILTERMODE, cv_grfiltermode.value);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void CV_anisotropic_ONChange(void)
|
|
||||||
{
|
|
||||||
HWD.pfnSetSpecialState(HWD_SET_TEXTUREANISOTROPICMODE, cv_granisotropicmode.value);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* lookuptable for lightvalues
|
* lookuptable for lightvalues
|
||||||
* calculated as follow:
|
* calculated as follow:
|
||||||
|
@ -2470,6 +2419,8 @@ static boolean CheckClip(seg_t * seg, sector_t * afrontsector, sector_t * abacks
|
||||||
static cliprange_t * hw_newend;
|
static cliprange_t * hw_newend;
|
||||||
static cliprange_t gr_solidsegs[MAXSEGS];
|
static cliprange_t gr_solidsegs[MAXSEGS];
|
||||||
|
|
||||||
|
// needs fix: walls are incorrectly clipped one column less
|
||||||
|
static consvar_t cv_grclipwalls = {"gr_clipwalls", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
static void printsolidsegs(void)
|
static void printsolidsegs(void)
|
||||||
{
|
{
|
||||||
|
@ -6585,13 +6536,6 @@ static void HWR_FoggingOn(void)
|
||||||
// 3D ENGINE COMMANDS
|
// 3D ENGINE COMMANDS
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
|
|
||||||
|
|
||||||
static void CV_grFov_OnChange(void)
|
|
||||||
{
|
|
||||||
if ((netgame || multiplayer) && !cv_debug && cv_grfov.value != 90*FRACUNIT)
|
|
||||||
CV_Set(&cv_grfov, cv_grfov.defaultvalue);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void Command_GrStats_f(void)
|
static void Command_GrStats_f(void)
|
||||||
{
|
{
|
||||||
Z_CheckHeap(9875); // debug
|
Z_CheckHeap(9875); // debug
|
||||||
|
@ -6609,14 +6553,104 @@ static void Command_GrStats_f(void)
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
// Add hardware engine commands & consvars
|
// Add hardware engine commands & consvars
|
||||||
// --------------------------------------------------------------------------
|
// --------------------------------------------------------------------------
|
||||||
|
static CV_PossibleValue_t grsoftwarefog_cons_t[] = {{0, "Off"}, {1, "On"}, {2, "LightPlanes"}, {0, NULL}};
|
||||||
|
static CV_PossibleValue_t grmodelinterpolation_cons_t[] = {{0, "Off"}, {1, "Sometimes"}, {2, "Always"}, {0, NULL}};
|
||||||
|
|
||||||
|
static void CV_grfiltermode_OnChange(void);
|
||||||
|
static void CV_granisotropic_OnChange(void);
|
||||||
|
static void CV_grfogdensity_OnChange(void);
|
||||||
|
static void CV_grfov_OnChange(void);
|
||||||
|
|
||||||
|
static CV_PossibleValue_t grfov_cons_t[] = {{0, "MIN"}, {179*FRACUNIT, "MAX"}, {0, NULL}};
|
||||||
|
static CV_PossibleValue_t grfiltermode_cons_t[]= {{HWD_SET_TEXTUREFILTER_POINTSAMPLED, "Nearest"},
|
||||||
|
{HWD_SET_TEXTUREFILTER_BILINEAR, "Bilinear"}, {HWD_SET_TEXTUREFILTER_TRILINEAR, "Trilinear"},
|
||||||
|
{HWD_SET_TEXTUREFILTER_MIXED1, "Linear_Nearest"},
|
||||||
|
{HWD_SET_TEXTUREFILTER_MIXED2, "Nearest_Linear"},
|
||||||
|
{HWD_SET_TEXTUREFILTER_MIXED3, "Nearest_Mipmap"},
|
||||||
|
{0, NULL}};
|
||||||
|
CV_PossibleValue_t granisotropicmode_cons_t[] = {{1, "MIN"}, {16, "MAX"}, {0, NULL}};
|
||||||
|
|
||||||
|
consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grfogcolor = {"gr_fogcolor", "AAAAAA", CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grsoftwarefog = {"gr_softwarefog", "Off", CV_SAVE, grsoftwarefog_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
|
#ifdef ALAM_LIGHTING
|
||||||
|
consvar_t cv_grdynamiclighting = {"gr_dynamiclighting", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grstaticlighting = {"gr_staticlighting", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grcoronas = {"gr_coronas", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grcoronasize = {"gr_coronasize", "1", CV_SAVE| CV_FLOAT, 0, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
consvar_t cv_grmodels = {"gr_models", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grmodelinterpolation = {"gr_modelinterpolation", "Sometimes", CV_SAVE, grmodelinterpolation_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
|
consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grskydome = {"gr_skydome", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
|
consvar_t cv_grrounddown = {"gr_rounddown", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grfov = {"gr_fov", "90", CV_FLOAT|CV_CALL, grfov_cons_t, CV_grfov_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grfogdensity = {"gr_fogdensity", "150", CV_CALL|CV_NOINIT, CV_Unsigned,
|
||||||
|
CV_grfogdensity_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
|
consvar_t cv_grfiltermode = {"gr_filtermode", "Nearest", CV_CALL, grfiltermode_cons_t,
|
||||||
|
CV_grfiltermode_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_granisotropicmode = {"gr_anisotropicmode", "1", CV_CALL, granisotropicmode_cons_t,
|
||||||
|
CV_granisotropic_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
|
consvar_t cv_grcorrecttricks = {"gr_correcttricks", "Off", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
consvar_t cv_grsolvetjoin = {"gr_solvetjoin", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
|
static void CV_grfogdensity_OnChange(void)
|
||||||
|
{
|
||||||
|
if (rendermode == render_opengl)
|
||||||
|
HWD.pfnSetSpecialState(HWD_SET_FOG_DENSITY, cv_grfogdensity.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CV_grfiltermode_OnChange(void)
|
||||||
|
{
|
||||||
|
if (rendermode == render_opengl)
|
||||||
|
HWD.pfnSetSpecialState(HWD_SET_TEXTUREFILTERMODE, cv_grfiltermode.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CV_granisotropic_OnChange(void)
|
||||||
|
{
|
||||||
|
if (rendermode == render_opengl)
|
||||||
|
HWD.pfnSetSpecialState(HWD_SET_TEXTUREANISOTROPICMODE, cv_granisotropicmode.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void CV_grfov_OnChange(void)
|
||||||
|
{
|
||||||
|
if ((netgame || multiplayer) && !cv_debug && cv_grfov.value != 90*FRACUNIT)
|
||||||
|
CV_Set(&cv_grfov, cv_grfov.defaultvalue);
|
||||||
|
}
|
||||||
|
|
||||||
//added by Hurdler: console varibale that are saved
|
//added by Hurdler: console varibale that are saved
|
||||||
void HWR_AddCommands(void)
|
void HWR_AddCommands(void)
|
||||||
{
|
{
|
||||||
CV_RegisterVar(&cv_grrounddown);
|
CV_RegisterVar(&cv_grfovchange);
|
||||||
CV_RegisterVar(&cv_grfov);
|
CV_RegisterVar(&cv_grfov);
|
||||||
|
|
||||||
CV_RegisterVar(&cv_grfogdensity);
|
CV_RegisterVar(&cv_grfogdensity);
|
||||||
|
CV_RegisterVar(&cv_grfogcolor);
|
||||||
|
CV_RegisterVar(&cv_grfog);
|
||||||
|
CV_RegisterVar(&cv_grsoftwarefog);
|
||||||
|
|
||||||
|
#ifdef ALAM_LIGHTING
|
||||||
|
CV_RegisterVar(&cv_grstaticlighting);
|
||||||
|
CV_RegisterVar(&cv_grdynamiclighting);
|
||||||
|
CV_RegisterVar(&cv_grcoronasize);
|
||||||
|
CV_RegisterVar(&cv_grcoronas);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
CV_RegisterVar(&cv_grmodelinterpolation);
|
||||||
|
CV_RegisterVar(&cv_grmodels);
|
||||||
|
CV_RegisterVar(&cv_grskydome);
|
||||||
|
CV_RegisterVar(&cv_grspritebillboarding);
|
||||||
|
|
||||||
CV_RegisterVar(&cv_grfiltermode);
|
CV_RegisterVar(&cv_grfiltermode);
|
||||||
CV_RegisterVar(&cv_granisotropicmode);
|
CV_RegisterVar(&cv_granisotropicmode);
|
||||||
|
CV_RegisterVar(&cv_grrounddown);
|
||||||
CV_RegisterVar(&cv_grcorrecttricks);
|
CV_RegisterVar(&cv_grcorrecttricks);
|
||||||
CV_RegisterVar(&cv_grsolvetjoin);
|
CV_RegisterVar(&cv_grsolvetjoin);
|
||||||
}
|
}
|
||||||
|
|
23
src/r_main.c
23
src/r_main.c
|
@ -1208,27 +1208,4 @@ void R_RegisterEngineStuff(void)
|
||||||
CV_RegisterVar(&cv_maxportals);
|
CV_RegisterVar(&cv_maxportals);
|
||||||
|
|
||||||
CV_RegisterVar(&cv_movebob);
|
CV_RegisterVar(&cv_movebob);
|
||||||
|
|
||||||
#ifdef HWRENDER
|
|
||||||
// GL-specific Commands
|
|
||||||
CV_RegisterVar(&cv_grfovchange);
|
|
||||||
CV_RegisterVar(&cv_grfog);
|
|
||||||
CV_RegisterVar(&cv_grfogcolor);
|
|
||||||
CV_RegisterVar(&cv_grsoftwarefog);
|
|
||||||
#ifdef ALAM_LIGHTING
|
|
||||||
CV_RegisterVar(&cv_grstaticlighting);
|
|
||||||
CV_RegisterVar(&cv_grdynamiclighting);
|
|
||||||
CV_RegisterVar(&cv_grcoronas);
|
|
||||||
CV_RegisterVar(&cv_grcoronasize);
|
|
||||||
#endif
|
|
||||||
CV_RegisterVar(&cv_grmodelinterpolation);
|
|
||||||
CV_RegisterVar(&cv_grmodels);
|
|
||||||
CV_RegisterVar(&cv_grspritebillboarding);
|
|
||||||
CV_RegisterVar(&cv_grskydome);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HWRENDER
|
|
||||||
if (rendermode != render_soft && rendermode != render_none)
|
|
||||||
HWR_AddCommands();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,32 +84,6 @@ static CV_PossibleValue_t constextsize_cons_t[] = {
|
||||||
static void CV_constextsize_OnChange(void);
|
static void CV_constextsize_OnChange(void);
|
||||||
consvar_t cv_constextsize = {"con_textsize", "Medium", CV_SAVE|CV_CALL, constextsize_cons_t, CV_constextsize_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
consvar_t cv_constextsize = {"con_textsize", "Medium", CV_SAVE|CV_CALL, constextsize_cons_t, CV_constextsize_OnChange, 0, NULL, NULL, 0, 0, NULL};
|
||||||
|
|
||||||
#ifdef HWRENDER
|
|
||||||
// Saved hardware mode variables
|
|
||||||
// - You can change them in software,
|
|
||||||
// but they won't do anything.
|
|
||||||
static CV_PossibleValue_t grsoftwarefog_cons_t[] = {{0, "Off"}, {1, "On"}, {2, "LightPlanes"}, {0, NULL}};
|
|
||||||
static CV_PossibleValue_t grmodelinterpolation_cons_t[] = {{0, "Off"}, {1, "Sometimes"}, {2, "Always"}, {0, NULL}};
|
|
||||||
|
|
||||||
consvar_t cv_grfovchange = {"gr_fovchange", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grfog = {"gr_fog", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grfogcolor = {"gr_fogcolor", "AAAAAA", CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grsoftwarefog = {"gr_softwarefog", "Off", CV_SAVE, grsoftwarefog_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
|
|
||||||
#ifdef ALAM_LIGHTING
|
|
||||||
consvar_t cv_grdynamiclighting = {"gr_dynamiclighting", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grstaticlighting = {"gr_staticlighting", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grcoronas = {"gr_coronas", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grcoronasize = {"gr_coronasize", "1", CV_SAVE| CV_FLOAT, 0, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
consvar_t cv_grmodels = {"gr_models", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grmodelinterpolation = {"gr_modelinterpolation", "Sometimes", CV_SAVE, grmodelinterpolation_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
|
|
||||||
consvar_t cv_grspritebillboarding = {"gr_spritebillboarding", "Off", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
consvar_t cv_grskydome = {"gr_skydome", "On", CV_SAVE, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// local copy of the palette for V_GetColor()
|
// local copy of the palette for V_GetColor()
|
||||||
RGBA_t *pLocalPalette = NULL;
|
RGBA_t *pLocalPalette = NULL;
|
||||||
RGBA_t *pMasterPalette = NULL;
|
RGBA_t *pMasterPalette = NULL;
|
||||||
|
|
Loading…
Reference in New Issue