mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-11 15:21:51 +00:00
This commit is contained in:
commit
921ce9247e
5 changed files with 17 additions and 8 deletions
|
@ -324,7 +324,10 @@ void gl_LoadExtensions()
|
||||||
FUDGE_FUNC(glBindRenderbuffer, EXT);
|
FUDGE_FUNC(glBindRenderbuffer, EXT);
|
||||||
FUDGE_FUNC(glCheckFramebufferStatus, EXT);
|
FUDGE_FUNC(glCheckFramebufferStatus, EXT);
|
||||||
}
|
}
|
||||||
gl_legacy_mode = gl.legacyMode;
|
|
||||||
|
UCVarValue value;
|
||||||
|
value.Bool = gl.legacyMode;
|
||||||
|
gl_legacy_mode.ForceSet (value, CVAR_Bool);
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
|
@ -207,12 +207,15 @@ OpenGLSWFrameBuffer::OpenGLSWFrameBuffer(void *hMonitor, int width, int height,
|
||||||
const char *glversion = (const char*)glGetString(GL_VERSION);
|
const char *glversion = (const char*)glGetString(GL_VERSION);
|
||||||
bool isGLES = (glversion && strlen(glversion) > 10 && memcmp(glversion, "OpenGL ES ", 10) == 0);
|
bool isGLES = (glversion && strlen(glversion) > 10 && memcmp(glversion, "OpenGL ES ", 10) == 0);
|
||||||
|
|
||||||
|
UCVarValue value;
|
||||||
// GL 3.0 is mostly broken on MESA drivers which really are the only relevant case here that doesn't fulfill the requirements based on version number alone.
|
// GL 3.0 is mostly broken on MESA drivers which really are the only relevant case here that doesn't fulfill the requirements based on version number alone.
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
gl_legacy_mode = !ogl_IsVersionGEQ(3, 0);
|
value.Bool = !ogl_IsVersionGEQ(3, 0);
|
||||||
#else
|
#else
|
||||||
gl_legacy_mode = !ogl_IsVersionGEQ(3, 1);
|
value.Bool = !ogl_IsVersionGEQ(3, 1);
|
||||||
#endif
|
#endif
|
||||||
|
gl_legacy_mode.ForceSet (value, CVAR_Bool);
|
||||||
|
|
||||||
if (!isGLES && ogl_IsVersionGEQ(3, 0) == 0)
|
if (!isGLES && ogl_IsVersionGEQ(3, 0) == 0)
|
||||||
{
|
{
|
||||||
Printf("OpenGL acceleration requires at least OpenGL 3.0. No Acceleration will be used.\n");
|
Printf("OpenGL acceleration requires at least OpenGL 3.0. No Acceleration will be used.\n");
|
||||||
|
|
|
@ -5884,7 +5884,10 @@ bool P_AdjustFloorCeil(AActor *thing, FChangePosition *cpos)
|
||||||
}
|
}
|
||||||
|
|
||||||
bool isgood = P_CheckPosition(thing, thing->Pos(), tm);
|
bool isgood = P_CheckPosition(thing, thing->Pos(), tm);
|
||||||
if (!(thing->flags4 & MF4_ACTLIKEBRIDGE))
|
|
||||||
|
// This is essentially utterly broken because it even uses the return from a failed P_CheckPosition but the entire logic will break down if that isn't done.
|
||||||
|
// However, if tm.floorz is greater than tm.ceilingz we have a real problem that needs to be dealt with exolicitly.
|
||||||
|
if (!(thing->flags4 & MF4_ACTLIKEBRIDGE) && tm.floorz <= tm.ceilingz)
|
||||||
{
|
{
|
||||||
thing->floorz = tm.floorz;
|
thing->floorz = tm.floorz;
|
||||||
thing->ceilingz = tm.ceilingz;
|
thing->ceilingz = tm.ceilingz;
|
||||||
|
|
|
@ -579,7 +579,7 @@ class AActor;
|
||||||
// callingstate - State this action was called from
|
// callingstate - State this action was called from
|
||||||
#define PARAM_ACTION_PROLOGUE(type) \
|
#define PARAM_ACTION_PROLOGUE(type) \
|
||||||
PARAM_PROLOGUE; \
|
PARAM_PROLOGUE; \
|
||||||
PARAM_OBJECT (self, AActor); \
|
PARAM_OBJECT_NOT_NULL (self, AActor); \
|
||||||
PARAM_OBJECT (stateowner, type) \
|
PARAM_OBJECT (stateowner, type) \
|
||||||
PARAM_POINTER (stateinfo, FStateParamInfo) \
|
PARAM_POINTER (stateinfo, FStateParamInfo) \
|
||||||
|
|
||||||
|
@ -588,12 +588,12 @@ class AActor;
|
||||||
|
|
||||||
#define PARAM_SELF_PROLOGUE(type) \
|
#define PARAM_SELF_PROLOGUE(type) \
|
||||||
PARAM_PROLOGUE; \
|
PARAM_PROLOGUE; \
|
||||||
PARAM_OBJECT(self, type);
|
PARAM_OBJECT_NOT_NULL(self, type);
|
||||||
|
|
||||||
// for structs we cannot do a class validation
|
// for structs we cannot do a class validation
|
||||||
#define PARAM_SELF_STRUCT_PROLOGUE(type) \
|
#define PARAM_SELF_STRUCT_PROLOGUE(type) \
|
||||||
PARAM_PROLOGUE; \
|
PARAM_PROLOGUE; \
|
||||||
PARAM_POINTER(self, type);
|
PARAM_POINTER_NOT_NULL(self, type);
|
||||||
|
|
||||||
class PFunction;
|
class PFunction;
|
||||||
|
|
||||||
|
|
|
@ -1060,7 +1060,7 @@ void DCanvas::Dim(PalEntry color, float damount, int x1, int y1, int w, int h)
|
||||||
h -= (cliptop - y1);
|
h -= (cliptop - y1);
|
||||||
y1 = cliptop;
|
y1 = cliptop;
|
||||||
}
|
}
|
||||||
if (h > clipheight) w = clipheight;
|
if (h > clipheight) h = clipheight;
|
||||||
if (h <= 0) return;
|
if (h <= 0) return;
|
||||||
}
|
}
|
||||||
DoDim(color, damount, x1, y1, w, h);
|
DoDim(color, damount, x1, y1, w, h);
|
||||||
|
|
Loading…
Reference in a new issue