mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-11-25 03:40:26 +01:00
Fix several warnings, warn if not using depth buffer
Fixed -Wreorder warnings (hopefully the last?), also several potentially uninitialized variables. In SetupPixelFormat_OGL() Assert if gap_iDepthBits ends up being 0. Small adjustments to cmake warning settings for gcc/clang
This commit is contained in:
parent
c58328d881
commit
bee4102374
|
@ -112,11 +112,10 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||||
# TODO fix these warnings
|
# TODO fix these warnings
|
||||||
add_compile_options(-Wno-sign-compare)
|
add_compile_options(-Wno-sign-compare)
|
||||||
add_compile_options(-Wno-switch)
|
add_compile_options(-Wno-switch)
|
||||||
|
add_compile_options(-Wno-char-subscripts)
|
||||||
add_compile_options(-Wno-unknown-pragmas)
|
add_compile_options(-Wno-unknown-pragmas)
|
||||||
add_compile_options(-Wno-unused-variable)
|
add_compile_options(-Wno-unused-variable)
|
||||||
add_compile_options(-Wno-unused-value)
|
add_compile_options(-Wno-unused-value)
|
||||||
add_compile_options(-Wno-reorder)
|
|
||||||
add_compile_options(-Wno-unused-but-set-variable)
|
|
||||||
add_compile_options(-Wno-parentheses)
|
add_compile_options(-Wno-parentheses)
|
||||||
MESSAGE(WARNING, "re-enable some of the warnings some day!")
|
MESSAGE(WARNING, "re-enable some of the warnings some day!")
|
||||||
|
|
||||||
|
@ -125,6 +124,8 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang")
|
||||||
add_compile_options(-Wno-tautological-undefined-compare)
|
add_compile_options(-Wno-tautological-undefined-compare)
|
||||||
add_compile_options(-Wno-c++11-compat-deprecated-writable-strings)
|
add_compile_options(-Wno-c++11-compat-deprecated-writable-strings)
|
||||||
add_compile_options(-Wno-logical-op-parentheses) # FIXME: this too should be re-enabled
|
add_compile_options(-Wno-logical-op-parentheses) # FIXME: this too should be re-enabled
|
||||||
|
else()
|
||||||
|
add_compile_options(-Wno-unused-but-set-variable) # my clang doesn't know this
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MACOSX)
|
if(MACOSX)
|
||||||
|
|
|
@ -53,8 +53,8 @@ CBrushSector::CBrushSector(void)
|
||||||
, bsc_ulFlags2(0)
|
, bsc_ulFlags2(0)
|
||||||
, bsc_ulTempFlags(0)
|
, bsc_ulTempFlags(0)
|
||||||
, bsc_ulVisFlags(0)
|
, bsc_ulVisFlags(0)
|
||||||
, bsc_strName("")
|
|
||||||
, bsc_bspBSPTree(*new DOUBLEbsptree3D)
|
, bsc_bspBSPTree(*new DOUBLEbsptree3D)
|
||||||
|
, bsc_strName("")
|
||||||
{
|
{
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -622,9 +622,9 @@ void CBrushSector::TriangularizeMarkedPolygons( void)
|
||||||
bpoNew.bpo_abpePolygonEdges[2].bpe_pbedEdge = &abedEdgesNew[iEdge+2];
|
bpoNew.bpo_abpePolygonEdges[2].bpe_pbedEdge = &abedEdgesNew[iEdge+2];
|
||||||
bpoNew.bpo_abpePolygonEdges[2].bpe_bReverse = FALSE;
|
bpoNew.bpo_abpePolygonEdges[2].bpe_bReverse = FALSE;
|
||||||
|
|
||||||
CBrushEdge &edg0 = *bpoNew.bpo_abpePolygonEdges[0].bpe_pbedEdge;
|
//CBrushEdge &edg0 = *bpoNew.bpo_abpePolygonEdges[0].bpe_pbedEdge;
|
||||||
CBrushEdge &edg1 = *bpoNew.bpo_abpePolygonEdges[1].bpe_pbedEdge;
|
//CBrushEdge &edg1 = *bpoNew.bpo_abpePolygonEdges[1].bpe_pbedEdge;
|
||||||
CBrushEdge &edg2 = *bpoNew.bpo_abpePolygonEdges[2].bpe_pbedEdge;
|
//CBrushEdge &edg2 = *bpoNew.bpo_abpePolygonEdges[2].bpe_pbedEdge;
|
||||||
|
|
||||||
// set brush vertex ptrs
|
// set brush vertex ptrs
|
||||||
bpoNew.bpo_apbvxTriangleVertices.New(3);
|
bpoNew.bpo_apbvxTriangleVertices.New(3);
|
||||||
|
|
|
@ -89,13 +89,16 @@ void *CGfxLibrary::OGL_GetProcAddress(const char *procname)
|
||||||
// prepares pixel format for OpenGL context
|
// prepares pixel format for OpenGL context
|
||||||
BOOL CGfxLibrary::SetupPixelFormat_OGL( HDC hdc, BOOL bReport/*=FALSE*/)
|
BOOL CGfxLibrary::SetupPixelFormat_OGL( HDC hdc, BOOL bReport/*=FALSE*/)
|
||||||
{
|
{
|
||||||
SDL_Window *window = (SDL_Window *) hdc;
|
//SDL_Window *window = (SDL_Window *) hdc;
|
||||||
const DisplayDepth dd = gl_dmCurrentDisplayMode.dm_ddDepth;
|
const DisplayDepth dd = gl_dmCurrentDisplayMode.dm_ddDepth;
|
||||||
|
|
||||||
// clamp depth/stencil values
|
// clamp depth/stencil values
|
||||||
extern INDEX gap_iDepthBits;
|
extern INDEX gap_iDepthBits;
|
||||||
extern INDEX gap_iStencilBits;
|
extern INDEX gap_iStencilBits;
|
||||||
if( gap_iDepthBits <12) gap_iDepthBits = 0;
|
if( gap_iDepthBits <12) {
|
||||||
|
ASSERT(gap_iDepthBits >= 12 && "Using gap_iDepthBits=0, that's probably bad?!");
|
||||||
|
gap_iDepthBits = 0;
|
||||||
|
}
|
||||||
else if( gap_iDepthBits <22) gap_iDepthBits = 16;
|
else if( gap_iDepthBits <22) gap_iDepthBits = 16;
|
||||||
else if( gap_iDepthBits <28) gap_iDepthBits = 24;
|
else if( gap_iDepthBits <28) gap_iDepthBits = 24;
|
||||||
else gap_iDepthBits = 32;
|
else gap_iDepthBits = 32;
|
||||||
|
|
|
@ -254,7 +254,7 @@ void CObjectPolygonEdge::GetVertices(CObjectVertex *&povxStart, CObjectVertex *&
|
||||||
* Default constructor.
|
* Default constructor.
|
||||||
*/
|
*/
|
||||||
CObjectSector::CObjectSector(void) :
|
CObjectSector::CObjectSector(void) :
|
||||||
osc_colAmbient(0), osc_colColor(0), osc_strName("")
|
osc_colColor(0), osc_colAmbient(0), osc_strName("")
|
||||||
{
|
{
|
||||||
osc_ulFlags[0] = 0;
|
osc_ulFlags[0] = 0;
|
||||||
osc_ulFlags[1] = 0;
|
osc_ulFlags[1] = 0;
|
||||||
|
|
|
@ -629,7 +629,7 @@ void CCommunicationInterface::Broadcast_Update_t() {
|
||||||
BOOL bIsAlready;
|
BOOL bIsAlready;
|
||||||
BOOL bFoundEmpty;
|
BOOL bFoundEmpty;
|
||||||
ULONG iClient;
|
ULONG iClient;
|
||||||
UBYTE ubDummy=65;
|
//UBYTE ubDummy=65;
|
||||||
|
|
||||||
|
|
||||||
// while there is a connection request packet in the input buffer
|
// while there is a connection request packet in the input buffer
|
||||||
|
@ -1080,7 +1080,8 @@ void CCommunicationInterface::Client_OpenNet_t(ULONG ulServerAddress)
|
||||||
if (cm_ciLocalClient.ci_pbReliableInputBuffer.pb_ulNumOfPackets > 0) {
|
if (cm_ciLocalClient.ci_pbReliableInputBuffer.pb_ulNumOfPackets > 0) {
|
||||||
ppaReadPacket = cm_ciLocalClient.ci_pbReliableInputBuffer.GetFirstPacket();
|
ppaReadPacket = cm_ciLocalClient.ci_pbReliableInputBuffer.GetFirstPacket();
|
||||||
// and it is a connection confirmation
|
// and it is a connection confirmation
|
||||||
if (ppaReadPacket->pa_ubReliable && UDP_PACKET_CONNECT_RESPONSE) {
|
// DG: replaced && with & as done everywhere else, hope this doesn't rely on being buggy.
|
||||||
|
if (ppaReadPacket->pa_ubReliable & UDP_PACKET_CONNECT_RESPONSE) {
|
||||||
// the client has succedeed to connect, so read the uwID from the packet
|
// the client has succedeed to connect, so read the uwID from the packet
|
||||||
cm_ciLocalClient.ci_adrAddress.adr_ulAddress = ulServerAddress;
|
cm_ciLocalClient.ci_adrAddress.adr_ulAddress = ulServerAddress;
|
||||||
cm_ciLocalClient.ci_adrAddress.adr_uwPort = net_iPort;
|
cm_ciLocalClient.ci_adrAddress.adr_uwPort = net_iPort;
|
||||||
|
|
|
@ -676,11 +676,11 @@ void CNetworkTimerHandler::HandleTimer(void)
|
||||||
*/
|
*/
|
||||||
CNetworkLibrary::CNetworkLibrary(void) :
|
CNetworkLibrary::CNetworkLibrary(void) :
|
||||||
ga_IsServer(FALSE), // is not server
|
ga_IsServer(FALSE), // is not server
|
||||||
|
ga_srvServer(*new CServer),
|
||||||
|
ga_sesSessionState(*new CSessionState),
|
||||||
ga_bDemoRec(FALSE), // not recording demo
|
ga_bDemoRec(FALSE), // not recording demo
|
||||||
ga_bDemoPlay(FALSE), // not playing demo
|
ga_bDemoPlay(FALSE), // not playing demo
|
||||||
ga_bDemoPlayFinished(FALSE), // demo not finished
|
ga_bDemoPlayFinished(FALSE) // demo not finished
|
||||||
ga_srvServer(*new CServer),
|
|
||||||
ga_sesSessionState(*new CSessionState)
|
|
||||||
{
|
{
|
||||||
ga_aplsPlayers.New(NET_MAXLOCALPLAYERS);
|
ga_aplsPlayers.New(NET_MAXLOCALPLAYERS);
|
||||||
|
|
||||||
|
|
|
@ -416,9 +416,9 @@ template<class Type, int iDimensions>
|
||||||
BSPNode<Type, iDimensions>::BSPNode(const Plane<Type, iDimensions> &plSplitPlane, size_t ulPlaneTag,
|
BSPNode<Type, iDimensions>::BSPNode(const Plane<Type, iDimensions> &plSplitPlane, size_t ulPlaneTag,
|
||||||
BSPNode<Type, iDimensions> &bnFront, BSPNode<Type, iDimensions> &bnBack)
|
BSPNode<Type, iDimensions> &bnFront, BSPNode<Type, iDimensions> &bnBack)
|
||||||
: Plane<Type, iDimensions>(plSplitPlane)
|
: Plane<Type, iDimensions>(plSplitPlane)
|
||||||
|
, bn_bnlLocation(BNL_BRANCH)
|
||||||
, bn_pbnFront(&bnFront)
|
, bn_pbnFront(&bnFront)
|
||||||
, bn_pbnBack(&bnBack)
|
, bn_pbnBack(&bnBack)
|
||||||
, bn_bnlLocation(BNL_BRANCH)
|
|
||||||
, bn_ulPlaneTag(ulPlaneTag)
|
, bn_ulPlaneTag(ulPlaneTag)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
|
@ -84,12 +84,12 @@ CTextureBlending::CTextureBlending(void)
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*/
|
*/
|
||||||
CWorld::CWorld(void)
|
CWorld::CWorld(void)
|
||||||
: wo_colBackground(C_lGRAY) // clear background color
|
: wo_pecWorldBaseClass(NULL) // worldbase class must be obtained before using the world
|
||||||
, wo_pecWorldBaseClass(NULL) // worldbase class must be obtained before using the world
|
|
||||||
, wo_bPortalLinksUpToDate(FALSE) // portal-sector links must be updated
|
|
||||||
, wo_baBrushes(*new CBrushArchive)
|
, wo_baBrushes(*new CBrushArchive)
|
||||||
, wo_taTerrains(*new CTerrainArchive)
|
, wo_taTerrains(*new CTerrainArchive)
|
||||||
|
, wo_colBackground(C_lGRAY) // clear background color
|
||||||
, wo_ulSpawnFlags(0)
|
, wo_ulSpawnFlags(0)
|
||||||
|
, wo_bPortalLinksUpToDate(FALSE) // portal-sector links must be updated
|
||||||
{
|
{
|
||||||
wo_baBrushes.ba_pwoWorld = this;
|
wo_baBrushes.ba_pwoWorld = this;
|
||||||
wo_taTerrains.ta_pwoWorld = this;
|
wo_taTerrains.ta_pwoWorld = this;
|
||||||
|
|
|
@ -273,7 +273,7 @@ functions:
|
||||||
// triggers
|
// triggers
|
||||||
if (fHealth<=fOldHealth && fHealth>fNewHealth)
|
if (fHealth<=fOldHealth && fHealth>fNewHealth)
|
||||||
{
|
{
|
||||||
if (&*penTrigger[i]) {
|
if (penTrigger[i].ep_pen != NULL) {
|
||||||
SendToTarget(&*penTrigger[i], EET_TRIGGER, FixupCausedToPlayer(this, m_penEnemy));
|
SendToTarget(&*penTrigger[i], EET_TRIGGER, FixupCausedToPlayer(this, m_penEnemy));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -469,6 +469,7 @@ functions:
|
||||||
default: iAnim = ELEMENTALLAVA_ANIM_WOUND03; break;
|
default: iAnim = ELEMENTALLAVA_ANIM_WOUND03; break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
iAnim=0; // DG: not sure this makes sense, but at least it has a deterministic value
|
||||||
/* switch (IRnd()%3) {
|
/* switch (IRnd()%3) {
|
||||||
case 0: iAnim = STONEMAN_ANIM_WOUND01; break;
|
case 0: iAnim = STONEMAN_ANIM_WOUND01; break;
|
||||||
case 1: iAnim = STONEMAN_ANIM_WOUND02; break;
|
case 1: iAnim = STONEMAN_ANIM_WOUND02; break;
|
||||||
|
@ -538,6 +539,7 @@ functions:
|
||||||
if (m_EetType == ELT_LAVA) {
|
if (m_EetType == ELT_LAVA) {
|
||||||
iAnim = ELEMENTALLAVA_ANIM_DEATH03;
|
iAnim = ELEMENTALLAVA_ANIM_DEATH03;
|
||||||
} else {
|
} else {
|
||||||
|
iAnim = 0; // DG: set to deterministic value
|
||||||
// iAnim = STONEMAN_ANIM_DEATH03;
|
// iAnim = STONEMAN_ANIM_DEATH03;
|
||||||
}
|
}
|
||||||
StartModelAnim(iAnim, 0);
|
StartModelAnim(iAnim, 0);
|
||||||
|
@ -1265,6 +1267,7 @@ procedures:
|
||||||
if (m_EetType == ELT_LAVA) {
|
if (m_EetType == ELT_LAVA) {
|
||||||
iAnim = ELEMENTALLAVA_ANIM_MELTUP;
|
iAnim = ELEMENTALLAVA_ANIM_MELTUP;
|
||||||
} else {
|
} else {
|
||||||
|
iAnim = 0; // DG: initialize to deterministic value
|
||||||
// iAnim = STONEMAN_ANIM_MORPHPLANEUP;
|
// iAnim = STONEMAN_ANIM_MORPHPLANEUP;
|
||||||
}
|
}
|
||||||
StartModelAnim(iAnim, 0);
|
StartModelAnim(iAnim, 0);
|
||||||
|
|
|
@ -3531,7 +3531,7 @@ procedures:
|
||||||
// ignore twister
|
// ignore twister
|
||||||
bHit &= !IsOfClass(epass.penOther, "Twister");
|
bHit &= !IsOfClass(epass.penOther, "Twister");
|
||||||
if (epass.penOther!=m_penLauncher) {
|
if (epass.penOther!=m_penLauncher) {
|
||||||
bHit = bHit ;
|
// bHit = bHit ; // FIXME: DG: what was this supposed to achieve?
|
||||||
}
|
}
|
||||||
if (bHit) {
|
if (bHit) {
|
||||||
ProjectileTouch(epass.penOther);
|
ProjectileTouch(epass.penOther);
|
||||||
|
|
|
@ -619,6 +619,7 @@ functions:
|
||||||
iCount = IRnd()%m_iGroup03Count+1;
|
iCount = IRnd()%m_iGroup03Count+1;
|
||||||
} else {
|
} else {
|
||||||
ASSERT("Invalid group!");
|
ASSERT("Invalid group!");
|
||||||
|
iCount = 0; // DG: this should have a deterministic value in case this happens after all!
|
||||||
}
|
}
|
||||||
ASSERT(iCount>0);
|
ASSERT(iCount>0);
|
||||||
|
|
||||||
|
|
|
@ -687,6 +687,12 @@ void RenderMap( CDrawPort *pdp, ULONG ulLevelMask, CProgressHookInfo *pphi)
|
||||||
colText = 0xc87832ff;
|
colText = 0xc87832ff;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else // DG: make sure iPosX/Y is initialized
|
||||||
|
{
|
||||||
|
// no idea if 0 makes sense, but at least it's deterministic
|
||||||
|
iPosX = 0;
|
||||||
|
iPosY = 0;
|
||||||
|
}
|
||||||
|
|
||||||
PIX pixhtcx = (PIX) (pixC1S+iPosX*fStretch);
|
PIX pixhtcx = (PIX) (pixC1S+iPosX*fStretch);
|
||||||
PIX pixhtcy = (PIX) (pixR1S+iPosY*fStretch);
|
PIX pixhtcy = (PIX) (pixR1S+iPosY*fStretch);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user