diff --git a/src/am_map.cpp b/src/am_map.cpp index 480ef3e09f..ba7c301d8d 100644 --- a/src/am_map.cpp +++ b/src/am_map.cpp @@ -70,6 +70,7 @@ #include "a_keys.h" #include "r_data/colormaps.h" #include "g_levellocals.h" +#include "actorinlines.h" //============================================================================= diff --git a/src/b_move.cpp b/src/b_move.cpp index 0354be8bff..9361d55615 100644 --- a/src/b_move.cpp +++ b/src/b_move.cpp @@ -21,6 +21,7 @@ #include "d_player.h" #include "p_spec.h" #include "p_checkposition.h" +#include "actorinlines.h" #include "math/cmath.h" static FRandom pr_botopendoor ("BotOpenDoor"); diff --git a/src/b_think.cpp b/src/b_think.cpp index f286dd30f5..25932f390e 100644 --- a/src/b_think.cpp +++ b/src/b_think.cpp @@ -21,6 +21,7 @@ #include "d_event.h" #include "d_player.h" #include "vectors.h" +#include "actorinlines.h" static FRandom pr_botmove ("BotMove"); diff --git a/src/dthinker.cpp b/src/dthinker.cpp index 4b690efbc8..cbac457c65 100644 --- a/src/dthinker.cpp +++ b/src/dthinker.cpp @@ -183,7 +183,7 @@ void DThinker::SerializeThinkers(FSerializer &arc, bool hubLoad) int size = arc.ArraySize(); for (int j = 0; j < size; j++) { - DThinker *thinker; + DThinker *thinker = nullptr; arc(nullptr, thinker); if (thinker != nullptr) { diff --git a/src/g_level.cpp b/src/g_level.cpp index 734f03bb65..f63ef3af1e 100644 --- a/src/g_level.cpp +++ b/src/g_level.cpp @@ -91,6 +91,7 @@ #include "g_hub.h" #include "g_levellocals.h" +#include "actorinlines.h" #include <string.h> diff --git a/src/g_statusbar/sbar_mugshot.cpp b/src/g_statusbar/sbar_mugshot.cpp index 18e0fec42a..650a37063c 100644 --- a/src/g_statusbar/sbar_mugshot.cpp +++ b/src/g_statusbar/sbar_mugshot.cpp @@ -41,6 +41,7 @@ #include "sbarinfo.h" #include "templates.h" #include "r_utility.h" +#include "actorinlines.h" #define ST_RAMPAGEDELAY (2*TICRATE) #define ST_MUCHPAIN 20 diff --git a/src/gl/renderer/gl_postprocess.cpp b/src/gl/renderer/gl_postprocess.cpp index 00478e3406..4688e0393e 100644 --- a/src/gl/renderer/gl_postprocess.cpp +++ b/src/gl/renderer/gl_postprocess.cpp @@ -840,7 +840,7 @@ int FGLRenderer::PTM_BestColor (const uint32_t *pal_in, int r, int g, int b, int static float trackpowtable = 0.; double fbestdist, fdist; - int bestcolor; + int bestcolor = 0; if (firstTime || trackpowtable != gl_paltonemap_powtable) { diff --git a/src/gl/scene/gl_portal.cpp b/src/gl/scene/gl_portal.cpp index ca5b5ae50f..4a16b03ebd 100644 --- a/src/gl/scene/gl_portal.cpp +++ b/src/gl/scene/gl_portal.cpp @@ -847,7 +847,7 @@ void GLLinePortal::PushState() void GLLinePortal::PopState() { FStateVec4 &v = gl_RenderState.GetClipLine(); - float e; + float e = 0; planestack.Pop(e); planestack.Pop(v.vec[3]); planestack.Pop(v.vec[2]); diff --git a/src/p_conversation.cpp b/src/p_conversation.cpp index 46475c04dd..d01fb51934 100644 --- a/src/p_conversation.cpp +++ b/src/p_conversation.cpp @@ -62,6 +62,7 @@ #include "menu/menu.h" #include "g_levellocals.h" #include "virtual.h" +#include "actorinlines.h" // The conversations as they exist inside a SCRIPTxx lump. struct Response diff --git a/src/p_maputl.cpp b/src/p_maputl.cpp index 603a0897f5..7ec64e8dbd 100644 --- a/src/p_maputl.cpp +++ b/src/p_maputl.cpp @@ -40,6 +40,7 @@ #include "p_blockmap.h" #include "r_utility.h" #include "actor.h" +#include "actorinlines.h" // State. #include "r_state.h" diff --git a/src/p_pspr.cpp b/src/p_pspr.cpp index 1f036d1ff1..11bfc4b026 100644 --- a/src/p_pspr.cpp +++ b/src/p_pspr.cpp @@ -143,10 +143,11 @@ DPSprite::DPSprite(player_t *owner, AActor *caller, int id) Owner(owner), Sprite(0), ID(id), - processPending(true), - alpha(1), - RenderStyle(STYLE_Normal) + processPending(true) { + alpha = 1; + RenderStyle = STYLE_Normal; + DPSprite *prev = nullptr; DPSprite *next = Owner->psprites; while (next != nullptr && next->ID < ID) diff --git a/src/p_things.cpp b/src/p_things.cpp index d4298f934b..da6f56cac4 100644 --- a/src/p_things.cpp +++ b/src/p_things.cpp @@ -52,6 +52,7 @@ #include "math/cmath.h" #include "actorptrselect.h" #include "g_levellocals.h" +#include "actorinlines.h" // Set of spawnable things for the Thing_Spawn and Thing_Projectile specials. FClassMap SpawnableThings; diff --git a/src/p_udmf.cpp b/src/p_udmf.cpp index edb3b5364b..5aa2945acc 100644 --- a/src/p_udmf.cpp +++ b/src/p_udmf.cpp @@ -1813,7 +1813,7 @@ public: vd->zCeiling = vd->zFloor = vd->flags = 0; sc.MustGetToken('{'); - double x, y; + double x = 0, y = 0; while (!sc.CheckToken('}')) { FName key = ParseKey(); diff --git a/src/polyrenderer/scene/poly_wallsprite.cpp b/src/polyrenderer/scene/poly_wallsprite.cpp index a563f026df..cee3641a16 100644 --- a/src/polyrenderer/scene/poly_wallsprite.cpp +++ b/src/polyrenderer/scene/poly_wallsprite.cpp @@ -59,7 +59,7 @@ void RenderPolyWallSprite::Render(const TriMatrix &worldToClip, const Vec4f &cli left.X = pos.X - x1 * angcos; left.Y = pos.Y - x1 * angsin; right.X = left.X + x2 * angcos; - right.Y = right.Y + x2 * angsin; + right.Y = left.Y + x2 * angsin; //int scaled_to = tex->GetScaledTopOffset(); //int scaled_bo = scaled_to - tex->GetScaledHeight(); diff --git a/src/r_utility.cpp b/src/r_utility.cpp index 02c22cba9a..9ea78cf3b0 100644 --- a/src/r_utility.cpp +++ b/src/r_utility.cpp @@ -1064,7 +1064,7 @@ void FCanvasTextureInfo::Serialize(FSerializer &arc) { if (arc.BeginArray("canvastextures")) { - AActor *viewpoint; + AActor *viewpoint = nullptr; int fov; FTextureID picnum; while (arc.BeginObject(nullptr)) diff --git a/src/sound/mididevices/music_audiotoolbox_mididevice.cpp b/src/sound/mididevices/music_audiotoolbox_mididevice.cpp index 6d904a4352..08aa252050 100644 --- a/src/sound/mididevices/music_audiotoolbox_mididevice.cpp +++ b/src/sound/mididevices/music_audiotoolbox_mididevice.cpp @@ -325,7 +325,7 @@ void AudioToolboxMIDIDevice::TimerCallback(CFRunLoopTimerRef timer, void* info) #undef AT_MIDI_CHECK_ERROR -MIDIDevice *CreateAudioToolboxMIDTDevice() +MIDIDevice *CreateAudioToolboxMIDIDevice() { return new AudioToolboxMIDIDevice(); } diff --git a/src/sound/oalsound.cpp b/src/sound/oalsound.cpp index ff82f288b4..90639624a3 100644 --- a/src/sound/oalsound.cpp +++ b/src/sound/oalsound.cpp @@ -2057,7 +2057,7 @@ MIDIDevice* OpenALSoundRenderer::CreateMIDIDevice() const extern unsigned mididevice; return CreateWinMIDIDevice(mididevice); #elif defined __APPLE__ - return CreateAudioToolboxMIDIDevice; + return CreateAudioToolboxMIDIDevice(); #else return new OPLMIDIDevice(nullptr); #endif diff --git a/src/swrenderer/scene/r_portal.cpp b/src/swrenderer/scene/r_portal.cpp index c725af6159..8c2768c92a 100644 --- a/src/swrenderer/scene/r_portal.cpp +++ b/src/swrenderer/scene/r_portal.cpp @@ -231,7 +231,7 @@ namespace swrenderer Thread->TranslucentPass->Render(); - VisiblePlane *pl; + VisiblePlane *pl = nullptr; // quiet, GCC! visplaneStack.Pop(pl); if (pl->Alpha > 0 && pl->picnum != skyflatnum) { diff --git a/src/swrenderer/things/r_decal.cpp b/src/swrenderer/things/r_decal.cpp index 498d95e0f6..c33769691d 100644 --- a/src/swrenderer/things/r_decal.cpp +++ b/src/swrenderer/things/r_decal.cpp @@ -166,6 +166,10 @@ namespace swrenderer // Get the top and bottom clipping arrays switch (decal->RenderFlags & RF_CLIPMASK) { + default: + // keep GCC quiet. + return; + case RF_CLIPFULL: if (curline->backsector == NULL) { diff --git a/src/swrenderer/things/r_visiblesprite.cpp b/src/swrenderer/things/r_visiblesprite.cpp index b2e3da8005..f636afa282 100644 --- a/src/swrenderer/things/r_visiblesprite.cpp +++ b/src/swrenderer/things/r_visiblesprite.cpp @@ -358,6 +358,11 @@ namespace swrenderer neardepth = ds->sz2, fardepth = ds->sz1; } } + else + { + // GCC complained about this case, is there something missing here? + fardepth = neardepth = 0; + } // Check if sprite is in front of draw seg: if ((!spr->IsWallSprite() && neardepth > spr->depth) || ((spr->IsWallSprite() || fardepth > spr->depth) && diff --git a/src/swrenderer/viewport/r_walldrawer.h b/src/swrenderer/viewport/r_walldrawer.h index e6d5309328..b7afddc21c 100644 --- a/src/swrenderer/viewport/r_walldrawer.h +++ b/src/swrenderer/viewport/r_walldrawer.h @@ -50,29 +50,29 @@ namespace swrenderer int TextureFracBits() const { return dc_wall_fracbits; } - FVector3 dc_normal; - FVector3 dc_viewpos; - FVector3 dc_viewpos_step; + FVector3 dc_normal = { 0,0,0 }; + FVector3 dc_viewpos = { 0,0,0 }; + FVector3 dc_viewpos_step = { 0,0,0 }; DrawerLight *dc_lights = nullptr; int dc_num_lights = 0; private: uint8_t *dc_dest = nullptr; int dc_dest_y = 0; - int dc_count; + int dc_count = 0; - fixed_t dc_iscale; - fixed_t dc_texturefrac; - uint32_t dc_texturefracx; - uint32_t dc_textureheight; - const uint8_t *dc_source; - const uint8_t *dc_source2; - int dc_wall_fracbits; + fixed_t dc_iscale = 0; + fixed_t dc_texturefrac = 0; + uint32_t dc_texturefracx = 0; + uint32_t dc_textureheight = 0; + const uint8_t *dc_source = nullptr; + const uint8_t *dc_source2 = nullptr; + int dc_wall_fracbits = 0; - uint32_t *dc_srcblend; - uint32_t *dc_destblend; - fixed_t dc_srcalpha; - fixed_t dc_destalpha; + uint32_t *dc_srcblend = nullptr; + uint32_t *dc_destblend = nullptr; + fixed_t dc_srcalpha = 0; + fixed_t dc_destalpha = 0; typedef void(SWPixelFormatDrawers::*WallDrawerFunc)(const WallDrawerArgs &args); WallDrawerFunc wallfunc = nullptr;