From 87d9f09f72f66c67b8f05064894712a6f9927a0d Mon Sep 17 00:00:00 2001 From: Indev Date: Sat, 30 Dec 2023 16:53:45 +0300 Subject: [PATCH 01/19] Fix most of compilation warnings --- src/d_clisrv.c | 9 +++- src/d_clisrv.h | 2 +- src/d_main.c | 2 +- src/d_netcmd.c | 2 +- src/d_netfil.c | 1 - src/dehacked.c | 6 +-- src/filesrch.c | 8 ++-- src/g_game.c | 13 +++--- src/hardware/hw_main.c | 4 +- src/hardware/r_opengl/r_opengl.c | 15 ++++--- src/hu_stuff.c | 28 +++++++----- src/k_kart.c | 12 +++--- src/k_kart.h | 1 - src/m_menu.c | 73 +++++++++++++++++--------------- src/p_setup.c | 2 +- src/p_spec.c | 3 +- src/r_draw.c | 4 +- src/r_main.c | 26 ------------ src/r_plane.c | 2 - src/r_segs.c | 2 +- src/r_things.c | 21 ++++----- src/s_sound.c | 15 ++++--- src/s_sound.h | 2 +- src/sdl/i_system.c | 7 ++- src/sdl/mixer_sound.c | 7 ++- src/v_video.c | 4 +- src/w_wad.c | 4 +- src/w_wad.h | 2 +- src/y_inter.c | 4 +- 29 files changed, 140 insertions(+), 141 deletions(-) diff --git a/src/d_clisrv.c b/src/d_clisrv.c index 248afd2f9..cfdb4f8cf 100644 --- a/src/d_clisrv.c +++ b/src/d_clisrv.c @@ -139,7 +139,7 @@ static UINT8 localtextcmd3[MAXTEXTCMD]; // splitscreen == 2 static UINT8 localtextcmd4[MAXTEXTCMD]; // splitscreen == 3 static tic_t neededtic; SINT8 servernode = 0; // the number of the server node -char connectedservername[MAXSERVERNAME]; +char connectedservername[MAXSERVERNAME+1]; /// \brief do we accept new players? /// \todo WORK! boolean acceptnewnode = true; @@ -1138,7 +1138,7 @@ static void GetPackets(void); static cl_mode_t cl_mode = CL_SEARCHING; #ifdef HAVE_CURL -char http_source[MAX_MIRROR_LENGTH]; +char http_source[MAX_MIRROR_LENGTH+1]; #endif static UINT16 cl_lastcheckedfilecount = 0; // used for full file list @@ -1625,7 +1625,12 @@ static void SV_SendPlayerInfo(INT32 node) } netbuffer->u.playerinfo[i].node = i; + + // Can't really change this because net compatibility, but the warning is annoying +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-truncation" strncpy(netbuffer->u.playerinfo[i].name, (const char *)&player_names[i], MAXPLAYERNAME+1); +#pragma GCC diagnostic pop netbuffer->u.playerinfo[i].name[MAXPLAYERNAME] = '\0'; //fetch IP address diff --git a/src/d_clisrv.h b/src/d_clisrv.h index b1bc9ffcc..b969fff9d 100644 --- a/src/d_clisrv.h +++ b/src/d_clisrv.h @@ -553,7 +553,7 @@ extern boolean dedicated; // For dedicated server extern UINT16 software_MAXPACKETLENGTH; extern boolean acceptnewnode; extern SINT8 servernode; -extern char connectedservername[MAXSERVERNAME]; +extern char connectedservername[MAXSERVERNAME+1]; void Command_Ping_f(void); extern tic_t connectiontimeout; diff --git a/src/d_main.c b/src/d_main.c index 3850243b8..e7198fdcd 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -969,7 +969,7 @@ static void D_FindAddonsToAutoload(void) boolean postload; INT32 i; - char wadsToAutoload[256] = "", renameAutoloadStrings[256] = ""; + char wadsToAutoload[256] = ""; // does it exist tho autoloadpath = va("%s"PATHSEP"%s",srb2home,AUTOLOADCONFIGFILENAME); diff --git a/src/d_netcmd.c b/src/d_netcmd.c index 5cb77bf61..071d01714 100644 --- a/src/d_netcmd.c +++ b/src/d_netcmd.c @@ -461,7 +461,7 @@ static CV_PossibleValue_t basenumlaps_cons_t[] = {{1, "MIN"}, {50, "MAX"}, {0, " consvar_t cv_basenumlaps = {"basenumlaps", "Map default", CV_NETVAR|CV_CALL|CV_CHEAT, basenumlaps_cons_t, BaseNumLaps_OnChange, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_forceskin = {"forceskin", "Off", CV_NETVAR|CV_CALL|CV_CHEAT, Forceskin_cons_t, ForceSkin_OnChange, 0, NULL, NULL, 0, 0, NULL}; -consvar_t cv_fakelocalskin = {"fakelocalskin", "None", CV_SAVE, NULL, 0, NULL, NULL, 0, 0, NULL}; +consvar_t cv_fakelocalskin = {"fakelocalskin", "None", CV_SAVE, NULL, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_downloading = {"downloading", "On", 0, CV_OnOff, NULL, 0, NULL, NULL, 0, 0, NULL}; consvar_t cv_allowexitlevel = {"allowexitlevel", "No", CV_NETVAR, CV_YesNo, NULL, 0, NULL, NULL, 0, 0, NULL}; diff --git a/src/d_netfil.c b/src/d_netfil.c index a51d44f80..d39a006c8 100644 --- a/src/d_netfil.c +++ b/src/d_netfil.c @@ -825,7 +825,6 @@ void SV_FileSendTicker(void) size_t size; filetx_t *f; INT32 packetsent, ram, i, j; - INT32 maxpacketsent; if (!filestosend) // No file to send return; diff --git a/src/dehacked.c b/src/dehacked.c index c641887fa..9d08cffa4 100644 --- a/src/dehacked.c +++ b/src/dehacked.c @@ -1079,7 +1079,7 @@ static void readlevelheader(MYFILE *f, INT32 num, INT32 wadnum) if (i && i <= 1035) snprintf(mapheaderinfo[num-1]->musname, 7, "%sM", G_BuildMapName(i)); else if (i && i <= 1050) - strncpy(mapheaderinfo[num-1]->musname, compat_special_music_slots[i - 1036], 7); + strncpy(mapheaderinfo[num-1]->musname, compat_special_music_slots[i - 1036], 6); else mapheaderinfo[num-1]->musname[0] = 0; // becomes empty string mapheaderinfo[num-1]->musname[6] = 0; @@ -1104,7 +1104,7 @@ static void readlevelheader(MYFILE *f, INT32 num, INT32 wadnum) else if (fastcmp(word, "SKYNUM")) mapheaderinfo[num-1]->skynum = (INT16)i; else if (fastcmp(word, "INTERSCREEN")) - strncpy(mapheaderinfo[num-1]->interscreen, word2, 8); + memcpy(mapheaderinfo[num-1]->interscreen, word2, 8); else if (fastcmp(word, "PRECUTSCENENUM")) mapheaderinfo[num-1]->precutscenenum = (UINT8)i; else if (fastcmp(word, "CUTSCENENUM")) @@ -2932,7 +2932,7 @@ static void readmaincfg(MYFILE *f) // Also save a time attack folder filenamelen = strlen(gamedatafilename)-4; // Strip off the extension filenamelen = min(filenamelen, sizeof (timeattackfolder)); - strncpy(timeattackfolder, gamedatafilename, filenamelen); + memcpy(timeattackfolder, gamedatafilename, filenamelen); timeattackfolder[min(filenamelen, sizeof (timeattackfolder) - 1)] = '\0'; strcpy(savegamename, timeattackfolder); diff --git a/src/filesrch.c b/src/filesrch.c index e2acdf324..55d40d811 100644 --- a/src/filesrch.c +++ b/src/filesrch.c @@ -414,11 +414,13 @@ filestatus_t filesearch(char *filename, const char *startpath, const UINT8 *want strcpy(&searchpath[searchpathindex[depthleft]],dent->d_name); #if defined(__linux__) || defined(__FreeBSD__) - if (dent->d_type == DT_UNKNOWN) - if (lstat(searchpath,&fsstat) == 0 && S_ISDIR(fsstat.st_mode)) + if (dent->d_type == DT_UNKNOWN && lstat(searchpath,&fsstat) == 0) + { + if (S_ISDIR(fsstat.st_mode)) dent->d_type = DT_DIR; - else if (lstat(searchpath,&fsstat) == 0 && S_ISLNK(fsstat.st_mode)) + else if (S_ISLNK(fsstat.st_mode)) dent->d_type = DT_LNK; + } // Symlinks aren't always directory symlinks. Dunno if this would resolve recursive // symlinks, but i think stat already does that diff --git a/src/g_game.c b/src/g_game.c index 55438cc83..4779cef9a 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -832,7 +832,8 @@ const char *G_BuildMapName(INT32 map) map = G_RandMap(G_TOLFlag(cv_newgametype.value), map, false, 0, false, NULL)+1; } - if (map < 100) + + if (map < 100 && map >= 0) // ...but why use signed integer in first place? idk but this prevents warning (and potential buffer overflow lol) sprintf(&mapname[3], "%.2d", map); else { @@ -5383,7 +5384,7 @@ void G_ReadDemoExtraData(void) void G_WriteDemoExtraData(void) { INT32 i; - char name[16]; + char name[17]; for (i = 0; i < MAXPLAYERS; i++) { @@ -5416,7 +5417,7 @@ void G_WriteDemoExtraData(void) { // Name memset(name, 0, 16); - strncpy(name, player_names[i], 16); + memcpy(name, player_names[i], 15); // Keeping 1 null byte for safety, sorry players with name containing more than 15 characters M_Memcpy(demo_p,name,16); demo_p += 16; } @@ -6763,7 +6764,7 @@ void G_RecordMetal(void) void G_BeginRecording(void) { UINT8 i, p; - char name[16]; + char name[17]; player_t *player = &players[consoleplayer]; char *filename; @@ -6864,7 +6865,7 @@ void G_BeginRecording(void) // Name memset(name, 0, 16); - strncpy(name, player_names[p], 16); + memcpy(name, player_names[p], 15); M_Memcpy(demo_p,name,16); demo_p += 16; @@ -6951,7 +6952,7 @@ void G_BeginMetal(void) void G_WriteStanding(UINT8 ranking, char *name, INT32 skinnum, UINT8 color, UINT32 val) { - char temp[16]; + char temp[17]; if (demoinfo_p && *(UINT32 *)demoinfo_p == 0) { diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index bc5888b2e..5609eb1a9 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -2372,7 +2372,7 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom if (rover->master->flags & ML_TFERLINE) { - size_t linenum = min(gr_curline->linedef-gr_backsector->lines[0], rover->master->frontsector->linecount); + size_t linenum = min((size_t)(gr_curline->linedef-gr_backsector->lines[0]), rover->master->frontsector->linecount); newline = rover->master->frontsector->lines[0] + linenum; texnum = R_GetTextureNum(sides[newline->sidenum[0]].midtexture); } @@ -2572,7 +2572,7 @@ void HWR_ProcessSeg(void) // Sort of like GLWall::Process in GZDoom if (rover->master->flags & ML_TFERLINE) { - size_t linenum = min(gr_curline->linedef-gr_backsector->lines[0], rover->master->frontsector->linecount); + size_t linenum = min((size_t)(gr_curline->linedef-gr_backsector->lines[0]), rover->master->frontsector->linecount); newline = rover->master->frontsector->lines[0] + linenum; texnum = R_GetTextureNum(sides[newline->sidenum[0]].midtexture); } diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index c679a466c..580d6e320 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -1651,7 +1651,7 @@ EXPORT UINT32 HWRAPI(AddLightTable) (UINT8 *lighttable) ltcachetail = cache_entry; } ltcachetail->next = NULL; - + GLenum internalFormat; if (gl_version[0] == '1' || gl_version[0] == '2') { @@ -1665,13 +1665,13 @@ EXPORT UINT32 HWRAPI(AddLightTable) (UINT8 *lighttable) { internalFormat = GL_R8; } - + pglGenTextures(1, <cachetail->id); if (!ltcachetail->id){ GL_MSG_Error("HWR Lighttable cache entry id is zero"); CV_Set(&cv_grpaletteshader, "Off"); // turn that thing off if you cant use it - return; - } + return 0; + } pglBindTexture(GL_TEXTURE_2D, ltcachetail->id); pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); pglTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); @@ -3065,15 +3065,15 @@ static void SkyVertex(vbo_vertex_t *vbo, int r, int c) vbo->z = z; } -void RevertStencilBuffer()// TODO need to add OpenGL stencil functions to function importing +/*void RevertStencilBuffer()// TODO need to add OpenGL stencil functions to function importing { - /*const float screenVerts[12] = + const float screenVerts[12] = { -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f - };*/ + }; const float screenVerts[12] = { @@ -3112,6 +3112,7 @@ void RevertStencilBuffer()// TODO need to add OpenGL stencil functions to functi pglEnable(GL_BLEND); pglColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); } +*/ static GLSkyVBO sky_vbo; diff --git a/src/hu_stuff.c b/src/hu_stuff.c index 08c2d7c33..d105edebc 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -555,7 +555,8 @@ static void DoSayCommand(SINT8 target, size_t usedargs, UINT8 flags) const char *newmsg; INT32 spc = 1; // used if nodenum[1] is a space. char *nodenum = (char*) malloc(3); - strncpy(nodenum, msg+3, 3); + memcpy(nodenum, msg+3, 2); + nodenum[2] = '\0'; // check for undesirable characters in our "number" if (((nodenum[0] < '0') || (nodenum[0] > '9')) || ((nodenum[1] < '0') || (nodenum[1] > '9'))) { @@ -571,15 +572,15 @@ static void DoSayCommand(SINT8 target, size_t usedargs, UINT8 flags) } } // I'm very bad at C, I swear I am, additional checks eww! - if (spc != 0) + if (spc != 0) + { + if (msg[5] != ' ') { - if (msg[5] != ' ') - { - HU_AddChatText("\x82NOTICE: \x80Invalid command format. Correct format is \'/pm \'.", false); - free(nodenum); - return; - } + HU_AddChatText("\x82NOTICE: \x80Invalid command format. Correct format is \'/pm \'.", false); + free(nodenum); + return; } + } target = atoi((const char*) nodenum); // turn that into a number free(nodenum); @@ -1233,7 +1234,8 @@ static void HU_queueChatChar(INT32 c) return; } - strncpy(nodenum, msg+3, 3); + memcpy(nodenum, msg+3, 2); + nodenum[2] = '\0'; // check for undesirable characters in our "number" if (((nodenum[0] < '0') || (nodenum[0] > '9')) || ((nodenum[1] < '0') || (nodenum[1] > '9'))) @@ -1944,7 +1946,8 @@ static void HU_DrawChat(void) nodenum = (char*) malloc(3); - strncpy(nodenum, w_chat+3, 3); + memcpy(nodenum, w_chat+3, 2); + nodenum[2] = '\0'; n = atoi((const char*) nodenum); // turn that into a number free(nodenum); // special cases: @@ -2585,7 +2588,7 @@ void HU_drawPing(INT32 x, INT32 y, UINT32 lag, INT32 flags) UINT8 barcolor = 31; // color we use for the bars (green, yellow, red or black) SINT8 i = 0; SINT8 yoffset = 6; - INT32 dx; + //INT32 dx; gfxnum = Ping_gfx_num(lag); @@ -2932,7 +2935,10 @@ void HU_DoCEcho(const char *msg) I_OutputMsg("%s\n", msg); // print to log +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstringop-truncation" // This is fine, we set null byte later strncpy(cechotext, msg, sizeof(cechotext)); +#pragma GCC diagnostic pop strncat(cechotext, "\\", sizeof(cechotext) - strlen(cechotext) - 1); cechotext[sizeof(cechotext) - 1] = '\0'; cechotimer = cechoduration; diff --git a/src/k_kart.c b/src/k_kart.c index c44c0398d..f8267fcdd 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -596,8 +596,8 @@ UINT8 K_GetKartColorByName(const char *name) return 0; } -UINT8 K_GetHudColor(void) -{ +static UINT8 K_GetHudColor(void) +{ if (cv_colorizedhud.value){ if (cv_colorizedhudcolor.value) return cv_colorizedhudcolor.value; } @@ -605,7 +605,7 @@ UINT8 K_GetHudColor(void) return ((stplyr && gamestate == GS_LEVEL) ? stplyr->skincolor : cv_playercolor.value); } -boolean K_UseColorHud(void) +static boolean K_UseColorHud(void) { return (cv_colorizedhud.value && clr_hud); } @@ -6933,7 +6933,7 @@ static patch_t *kp_lapsticker; static patch_t *kp_lapstickerbig; static patch_t *kp_lapstickerbig2; static patch_t *kp_lapstickerwide; -static patch_t *kp_lapstickernarrow; +//static patch_t *kp_lapstickernarrow; static patch_t *kp_splitlapflag; static patch_t *kp_bumpersticker; static patch_t *kp_bumperstickerwide; @@ -6948,7 +6948,7 @@ static patch_t *kp_lapstickerclr; static patch_t *kp_lapstickerbigclr; static patch_t *kp_lapstickerbig2clr; static patch_t *kp_lapstickerwideclr; -static patch_t *kp_lapstickernarrowclr; +//static patch_t *kp_lapstickernarrowclr; static patch_t *kp_bumperstickerclr; static patch_t *kp_bumperstickerwideclr; static patch_t *kp_karmastickerclr; @@ -7039,7 +7039,7 @@ void K_LoadKartHUDGraphics(void) kp_timestickerwide = W_CachePatchName("K_STTIMW", PU_HUDGFX); kp_lapsticker = W_CachePatchName("K_STLAPS", PU_HUDGFX); kp_lapstickerwide = W_CachePatchName("K_STLAPW", PU_HUDGFX); - kp_lapstickernarrow = W_CachePatchName("K_STLAPN", PU_HUDGFX); + //kp_lapstickernarrow = W_CachePatchName("K_STLAPN", PU_HUDGFX); kp_splitlapflag = W_CachePatchName("K_SPTLAP", PU_HUDGFX); kp_bumpersticker = W_CachePatchName("K_STBALN", PU_HUDGFX); kp_bumperstickerwide = W_CachePatchName("K_STBALW", PU_HUDGFX); diff --git a/src/k_kart.h b/src/k_kart.h index 40353f5df..34a1f8623 100644 --- a/src/k_kart.h +++ b/src/k_kart.h @@ -17,7 +17,6 @@ extern const UINT8 KartColor_Opposite[MAXSKINCOLORS*2]; void K_RainbowColormap(UINT8 *dest_colormap, UINT8 skincolor); void K_GenerateKartColormap(UINT8 *dest_colormap, INT32 skinnum, UINT8 color, boolean local); UINT8 K_GetKartColorByName(const char *name); -UINT8 K_GetHudColor(void); void K_RegisterKartStuff(void); diff --git a/src/m_menu.c b/src/m_menu.c index 0b3d39a50..9c57a3d36 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -4775,23 +4775,23 @@ static void M_DrawMenuTitle(void) } // TODO: This is fucking terrible. -static void M_DrawSplitText(INT32 x, INT32 y, INT32 option, const char* str, INT32 box_x, INT32 alpha) +static void M_DrawSplitText(INT32 x, INT32 y, INT32 option, const char* str, INT32 alpha) { - const char* icopy = strdup(str); - const char** clines = NULL; + char* icopy = strdup(str); + char** clines = NULL; INT16 num_lines = 0; if (icopy == NULL) return; char* token = strtok(icopy, "\n"); - while (token != NULL) + while (token != NULL) { - const char* line = strdup(token); + char* line = strdup(token); if (line == NULL) return; - clines = (const char**)realloc(clines, (num_lines + 1) * sizeof(const char*)); + clines = realloc(clines, (num_lines + 1) * sizeof(char*)); clines[num_lines] = line; num_lines++; @@ -4819,7 +4819,7 @@ static void M_DrawSplitText(INT32 x, INT32 y, INT32 option, const char* str, INT V_DrawCenteredThinString(x, y + yoffset, option|V_YELLOWMAP|((9 - alpha) << V_ALPHASHIFT), clines[i]); yoffset += 10; // Remember to free the memory for each line when you're done with it. - free((void*)clines[i]); + free(clines[i]); } free(clines); @@ -4977,7 +4977,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_ControlsTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_ControlsTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_ControlsTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -4987,7 +4987,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_MouseTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_MouseTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_MouseTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -4997,7 +4997,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_VideoTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_VideoTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_VideoTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5007,7 +5007,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_SoundTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_SoundTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_SoundTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5017,7 +5017,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_SoundAdvancedTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_SoundAdvancedTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_SoundAdvancedTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5027,7 +5027,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_ExpTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_ExpTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_ExpTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5037,7 +5037,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_ChatOptionsTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_ChatOptionsTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_ChatOptionsTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5049,7 +5049,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_GameTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_GameTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_GameTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5060,7 +5060,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_ServerOptionsTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_ServerOptionsTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_ServerOptionsTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5071,7 +5071,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_AdvServerOptionsTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_AdvServerOptionsTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_AdvServerOptionsTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5084,7 +5084,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_PlayerDistortTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_PlayerDistortTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_PlayerDistortTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5097,7 +5097,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_CreditTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_CreditTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_CreditTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5107,7 +5107,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_BirdTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_BirdTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_BirdTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5117,7 +5117,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_TiltTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_TiltTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_TiltTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5127,7 +5127,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_AdvancedBirdTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_AdvancedBirdTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_AdvancedBirdTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5284,7 +5284,7 @@ static void M_DrawGenericScrollMenu(void) { if (!(OP_OpenGLTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_OpenGLTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_OpenGLTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5297,7 +5297,7 @@ static void M_DrawGenericScrollMenu(void) { if (!(OP_SaturnTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_SaturnTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_SaturnTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5824,7 +5824,8 @@ menu_t MessageDef = M_DrawMessageMenu, // drawing routine -> 0, 0, // x, y (TO HACK) 0, // lastOn, flags (TO HACK) - NULL + NULL, + {0}, }; @@ -6805,7 +6806,9 @@ static void PrepReplayList(void) else { demolist[i].type = MD_NOTLOADED; - snprintf(demolist[i].filepath, 255, "%s%s", menupath, dirmenu[i] + DIR_STRING); + // FIXME - do something with buffer sizes. menupath is 1024 chars but filepath is only + // 256. I'm not really sure what to do here but don't want to leave warnings... + snprintf(demolist[i].filepath, 255, "%.254s%s", menupath, dirmenu[i] + DIR_STRING); sprintf(demolist[i].title, "....."); } } @@ -8228,9 +8231,11 @@ static size_t st_namescrollstate = 0; static void M_MusicTest(INT32 choice) { - INT32 ul = skyRoomMenuTranslations[choice-1]; - UINT8 i; - char buf[8]; + //INT32 ul = skyRoomMenuTranslations[choice-1]; + //UINT8 i; + //char buf[8]; + + (void)choice; if (!S_PrepareSoundTest()) { @@ -8267,7 +8272,7 @@ static void M_MusicTest(INT32 choice) static void M_DrawMusicTest(void) { INT32 x, y, i; - char* title; + //char* title; //fixed_t hscale = FRACUNIT/2, vscale = FRACUNIT/2, bounce = 0; //UINT8 frame[4] = {0, 0, -1, SKINCOLOR_RUBY}; @@ -8503,9 +8508,9 @@ static void M_DrawMusicTest(void) } if (soundtestdefs[t]->title[0]) - strncpy(buf, soundtestdefs[t]->title + nameoffset, MAXLENGTH); + memcpy(buf, soundtestdefs[t]->title + nameoffset, MAXLENGTH); else - strncpy(buf, soundtestdefs[t]->source + nameoffset, MAXLENGTH); + memcpy(buf, soundtestdefs[t]->source + nameoffset, MAXLENGTH); buf[MAXLENGTH] = 0; V_DrawString(x, y, (t == st_sel ? V_YELLOWMAP : 0)|V_ALLOWLOWERCASE|V_MONOSPACE, buf); @@ -11024,7 +11029,7 @@ static void M_DrawLevelSelectOnly(boolean leftfade, boolean rightfade) if (cv_nextmap.value && cv_showtrackaddon.value) { char *addonname = wadfiles[mapwads[cv_nextmap.value-1]]->filename; - INT32 len, sw = 0; + INT32 len; INT32 charlimit = 21 + (dupadjust/5); nameonly(addonname); len = strlen(addonname); @@ -11524,7 +11529,7 @@ static boolean setupm_skinlockedselect; #define SKINGRIDNEWWIDTH 8 #define SKINGRIDNEWHEIGHT 9 -static char *sortNames[] = { +static const char *sortNames[] = { "Name", "Internal name", "Speed", diff --git a/src/p_setup.c b/src/p_setup.c index d85488c9f..40601dc5f 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -3480,7 +3480,7 @@ UINT16 P_PartialAddWadFile(const char *wadfilename, boolean local) boolean mapsadded = false; lumpinfo_t *lumpinfo; - if ((numlumps = W_InitFile(wadfilename, 0, &wadnum, local)) == INT16_MAX) + if ((numlumps = W_InitFile(wadfilename, local)) == INT16_MAX) { refreshdirmenu |= REFRESHDIR_NOTLOADED; CONS_Printf(M_GetText("Errors occurred while loading %s; not added.\n"), wadfilename); diff --git a/src/p_spec.c b/src/p_spec.c index dc2ea796d..1d1cad62f 100644 --- a/src/p_spec.c +++ b/src/p_spec.c @@ -472,7 +472,8 @@ void P_ParseAnimationDefintion(SINT8 istexture) // Increase the size to make room for the new animation definition maxanims++; animdefs = (animdef_t *)Z_Realloc(animdefs, sizeof(animdef_t)*(maxanims + 1), PU_STATIC, NULL); - strncpy(animdefs[i].startname, animdefsToken, 9); + memcpy(animdefs[i].startname, animdefsToken, 9); + animdefs[i].startname[8] = '\0'; } // animdefs[i].startname is now set to animdefsToken either way. diff --git a/src/r_draw.c b/src/r_draw.c index b745c6d10..41981bab1 100644 --- a/src/r_draw.c +++ b/src/r_draw.c @@ -621,8 +621,8 @@ void R_FlushTranslationColormapCache(void) for (i = 0; i < (INT32)(sizeof(translationtablecache) / sizeof(translationtablecache[0])); i++) if (translationtablecache[i]) memset(translationtablecache[i], 0, MAXTRANSLATIONS * sizeof(UINT8**)); - - for (i = 0; i < (INT32)(sizeof(localtranslationtablecache) / sizeof(localtranslationtablecache[0])); i++) + + for (i = 0; i < (INT32)(sizeof(localtranslationtablecache) / sizeof(localtranslationtablecache[0])); i++) if (localtranslationtablecache[i]) memset(localtranslationtablecache[i], 0, MAXTRANSLATIONS * sizeof(UINT8**)); } diff --git a/src/r_main.c b/src/r_main.c index 63d1a7a59..c8800239a 100644 --- a/src/r_main.c +++ b/src/r_main.c @@ -1151,7 +1151,6 @@ subsector_t *R_IsPointInSubsector(fixed_t x, fixed_t y) INT32 side, i; size_t nodenum; subsector_t *ret; - seg_t *seg; // single subsector is a special case if (numnodes == 0) @@ -1181,31 +1180,6 @@ subsector_t *R_IsPointInSubsector(fixed_t x, fixed_t y) static mobj_t *viewmobj; -// recalc necessary stuff for mouseaiming -// slopes are already calculated for the full possible view (which is 4*viewheight). -// 18/08/18: (No it's actually 16*viewheight, thanks Jimita for finding this out) -static void R_SetupFreelook(void) -{ - INT32 dy = 0; - - // clip it in the case we are looking a hardware 90 degrees full aiming - // (lmps, network and use F12...) - if (rendermode == render_soft -#ifdef HWRENDER - || cv_grshearing.value -#endif - ) - G_SoftwareClipAimingPitch((INT32 *)&aimingangle); - - if (rendermode == render_soft) - { - dy = (AIMINGTODY(aimingangle)>>FRACBITS) * viewwidth/BASEVIDWIDTH; - yslope = &yslopetab[viewheight*8 - (viewheight/2 + dy)]; - } - centery = (viewheight/2) + dy; - centeryfrac = centery<slope, pl->viewx, pl->viewy); zeroheight = FIXED_TO_FLOAT(temp); -#define ANG2RAD(angle) ((float)((angle)*M_PIl)/ANGLE_180) - // p is the texture origin in view space // Don't add in the offsets at this stage, because doing so can result in // errors if the flat is rotated. diff --git a/src/r_segs.c b/src/r_segs.c index 4623d3b0e..33e8f41c9 100644 --- a/src/r_segs.c +++ b/src/r_segs.c @@ -755,7 +755,7 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor) if (pfloor->master->flags & ML_TFERLINE) { - size_t linenum = min(curline->linedef-backsector->lines[0], pfloor->master->frontsector->linecount); + size_t linenum = min((size_t)(curline->linedef-backsector->lines[0]), pfloor->master->frontsector->linecount); newline = pfloor->master->frontsector->lines[0] + linenum; texnum = R_GetTextureNum(sides[newline->sidenum[0]].midtexture); } diff --git a/src/r_things.c b/src/r_things.c index d112c05f2..0a777b3a7 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -1316,15 +1316,13 @@ static void R_ProjectSprite(mobj_t *thing) size_t rot; UINT8 flip; /*boolean vflip = (!(thing->eflags & MFE_VERTICALFLIP) != !R_ThingVerticallyFlipped(thing));*/ - + boolean mirrored = thing->mirrored; boolean hflip = (!(thing->frame & FF_HORIZONTALFLIP) != !mirrored); INT32 lindex; vissprite_t *vis; - - spritecut_e cut = SC_NONE; angle_t ang = 0; // gcc 4.6 and lower fix fixed_t iscale; @@ -3544,22 +3542,25 @@ void R_AddSkins(UINT16 wadnum, boolean local) else if (!stricmp(stoken, "sprite")) { strupr(value); - strncpy(skin->sprite, value, sizeof skin->sprite); + memcpy(skin->sprite, value, sizeof skin->sprite); } else if (!stricmp(stoken, "facerank")) { strupr(value); - strncpy(skin->facerank, value, sizeof skin->facerank); + memcpy(skin->facerank, value, sizeof(skin->facerank)-1); + skin->facerank[sizeof(skin->facerank)-1] = '\0'; } else if (!stricmp(stoken, "facewant")) { strupr(value); - strncpy(skin->facewant, value, sizeof skin->facewant); + memcpy(skin->facewant, value, sizeof(skin->facewant)-1); + skin->facewant[sizeof(skin->facewant)-1] = '\0'; } else if (!stricmp(stoken, "facemmap")) { strupr(value); - strncpy(skin->facemmap, value, sizeof skin->facemmap); + strncpy(skin->facemmap, value, sizeof(skin->facemmap)-1); + skin->facemmap[sizeof(skin->facemmap)-1] = '\0'; } #define FULLPROCESS(field) else if (!stricmp(stoken, #field)) skin->field = get_number(value); @@ -3614,7 +3615,6 @@ next_token: free(buf2); lump++; // if no sprite defined use spirte just after this one - INT32 sprnum; if (skin->sprite[0] == '\0') { const char *csprname = W_CheckNameForNumPwad(wadnum, lump); @@ -3625,9 +3625,6 @@ next_token: lastlump++; // allocate (or replace) sprite frames, and set spritedef R_AddSingleSpriteDef(csprname, &skin->spritedef, wadnum, lump, lastlump); - - // i feel like generally most skin authors just use PLAY here, so just assume PLAY - sprnum = SPR_PLAY; } else { @@ -3675,8 +3672,6 @@ next_token: R_AddSingleSpriteDef(sprname, &skin->spritedef, wadnum, lstart, lend); } - sprnum = numspritelumps - 1; - // I don't particularly care about skipping to the end of the used frames. // We could be using frames from ANYWHERE in the current WAD file, including // right before us, which is a terrible idea. diff --git a/src/s_sound.c b/src/s_sound.c index 4be55a8a0..8c14dc7b0 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -1429,8 +1429,9 @@ void S_LoadMusicDefs(UINT16 wadnum) //CONS_Printf("S_LoadMusicDefs: Added song '%s'\n", def->name); } } - - strncpy(def->filename, wadfiles[wadnum]->filename, 256); + + memcpy(def->filename, wadfiles[wadnum]->filename, 256); + def->filename[256] = '\0'; skip_lump: stoken = strtok(NULL, "\r\n "); @@ -1981,14 +1982,14 @@ static void S_ChangeMusicToQueue(void) void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 position, UINT32 prefadems, UINT32 fadeinms) { - char newmusic[7]; + char newmusic[7] = {0}; if (S_MusicDisabled() || demo.rewinding // Don't mess with music while rewinding! || demo.title) // SRB2Kart: Demos don't interrupt title screen music return; - strncpy(newmusic, mmusic, 7); + strncpy(newmusic, mmusic, 6); #ifdef HAVE_BLUA if(LUAh_MusicChange(music_name, newmusic, &mflags, &looping, &position, &prefadems, &fadeinms)) return; @@ -2451,8 +2452,12 @@ void StereoSep_OnChange(void) void AmigaFilter_OnChange(void) { if (openmpt_mhandle) +#if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 + openmpt_module_ctl_set_text(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); +#else openmpt_module_ctl_set(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); - } +#endif +} #if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 diff --git a/src/s_sound.h b/src/s_sound.h index 72d4bd38d..666a542f8 100644 --- a/src/s_sound.h +++ b/src/s_sound.h @@ -161,7 +161,7 @@ typedef struct musicdef_s char name[7]; char usage[256]; char source[256]; - char filename[256]; + char filename[256+1]; // for the music test stuff // generally if these are present on vanilla the game would throw up a warning // a sacrifice i suppose diff --git a/src/sdl/i_system.c b/src/sdl/i_system.c index a3813767c..aace45ee9 100644 --- a/src/sdl/i_system.c +++ b/src/sdl/i_system.c @@ -2605,7 +2605,7 @@ INT32 I_NumJoys(void) return numjoy; } -static char joyname[255]; // MAX_PATH; joystick name is straight from the driver +static char joyname[256]; // MAX_PATH; joystick name is straight from the driver const char *I_GetJoyName(INT32 joyindex) { @@ -2616,7 +2616,10 @@ const char *I_GetJoyName(INT32 joyindex) { tempname = SDL_JoystickNameForIndex(joyindex); if (tempname) - strncpy(joyname, tempname, 255); + { + memcpy(joyname, tempname, 255); + joyname[255] = '\0'; + } } return joyname; } diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c index b34ccb18a..4e4714849 100644 --- a/src/sdl/mixer_sound.c +++ b/src/sdl/mixer_sound.c @@ -1255,11 +1255,16 @@ boolean I_PlaySong(boolean looping) if (openmpt_mhandle) { openmpt_module_select_subsong(openmpt_mhandle, 0); +#if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 + openmpt_module_ctl_set_text(openmpt_mhandle, "dither", "1"); +#else openmpt_module_ctl_set(openmpt_mhandle, "dither", "1"); +#endif openmpt_module_set_render_param(openmpt_mhandle, OPENMPT_MODULE_RENDER_STEREOSEPARATION_PERCENT, cv_stereosep.value); //have a feeling some might like it - openmpt_module_ctl_set(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); #if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 openmpt_module_ctl_set_text(openmpt_mhandle, "render.resampler.emulate_amiga_type", cv_amigatype.string); +#else + openmpt_module_ctl_set(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); #endif openmpt_module_set_render_param(openmpt_mhandle, OPENMPT_MODULE_RENDER_INTERPOLATIONFILTER_LENGTH, cv_modfilter.value); if (looping) diff --git a/src/v_video.c b/src/v_video.c index 28a02bcff..5443f31e0 100644 --- a/src/v_video.c +++ b/src/v_video.c @@ -177,7 +177,7 @@ const char *R_GetPalname(UINT16 num) if (num > 0 && num <= 10000) snprintf(newpal, 8, "PAL%04u", num-1); - strncpy(palname, newpal, 8); + memcpy(palname, newpal, 9); return palname; } @@ -536,7 +536,7 @@ void V_DrawStretchyFixedPatch(fixed_t x, fixed_t y, fixed_t pscale, fixed_t vsca // Draws a patch cropped and scaled to arbitrary size. void V_DrawCroppedPatch(fixed_t x, fixed_t y, fixed_t pscale, INT32 scrn, patch_t *patch, fixed_t sx, fixed_t sy, fixed_t w, fixed_t h) { - fixed_t col, ofs, colfrac, rowfrac, fdup, vdup; + fixed_t col, ofs, colfrac, rowfrac, fdup; INT32 dupx, dupy; const column_t *column; UINT8 *desttop, *dest; diff --git a/src/w_wad.c b/src/w_wad.c index 6739d7824..aa90fa9f3 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -716,7 +716,7 @@ static void W_ReadFileShaders(wadfile_t *wadfile) // // Can now load dehacked files (.soc) // -UINT16 W_InitFile(const char *filename, const char *lumpname, UINT16 *wadnump, boolean local) +UINT16 W_InitFile(const char *filename, boolean local) { FILE *handle; lumpinfo_t *lumpinfo = NULL; @@ -928,7 +928,7 @@ INT32 W_InitMultipleFiles(char **filenames, boolean addons) G_SetGameModified(true, false); //CONS_Debug(DBG_SETUP, "Loading %s\n", *filenames); - rc = W_InitFile(*filenames, 0, 0, false); + rc = W_InitFile(*filenames, false); if (rc == INT16_MAX) CONS_Printf(M_GetText("Errors occurred while loading %s; not added.\n"), *filenames); overallrc &= (rc != INT16_MAX) ? 1 : 0; diff --git a/src/w_wad.h b/src/w_wad.h index 4b083ece6..0356dec31 100644 --- a/src/w_wad.h +++ b/src/w_wad.h @@ -136,7 +136,7 @@ FILE *W_OpenWadFile(const char **filename, boolean useerrors); // // if local is true, it wouldn't check if file adds complex things, therefore // allowing to still join server without the "you have wrong addons loaded" error -UINT16 W_InitFile(const char *filename, const char *lumpname, UINT16 *wadnump, boolean local); +UINT16 W_InitFile(const char *filename, boolean local); #ifdef DELFILE void W_UnloadWadFile(UINT16 num); #endif diff --git a/src/y_inter.c b/src/y_inter.c index ba5f89785..a247aa4f5 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -337,7 +337,7 @@ static void Y_CalculateMatchData(UINT8 rankingsmode, void (*comparison)(INT32)) // Y_AnimatedVoteScreenCheck // // Check if the lumps exist (checking for VEXTR(N|W)xx for race and VEXTRB(N|W)xx for battle) -void Y_AnimatedVoteScreenCheck(void) +static void Y_AnimatedVoteScreenCheck(void) { char tmpPrefix[] = "INTS"; boolean stopSearching = false; @@ -1055,7 +1055,7 @@ static void Y_UnloadData(void) // // Draw animated patch based on frame counter on vote screen // -void Y_DrawAnimatedVoteScreenPatch(boolean widePatch){ +static void Y_DrawAnimatedVoteScreenPatch(boolean widePatch){ char tempAnimPrefix[7]; (widePatch) ? strcpy(tempAnimPrefix, animWidePrefix) : strcpy(tempAnimPrefix, animPrefix); INT32 tempFoundAnimVoteFrames = (widePatch) ? foundAnimVoteWideFrames : foundAnimVoteFrames; -- 2.54.0 From 2bc6c77fce5ba088994aaf03e967e921883e12fd Mon Sep 17 00:00:00 2001 From: Alug Date: Sat, 30 Dec 2023 21:51:02 +0100 Subject: [PATCH 02/19] noone cares about c90 mixed declarations lmao --- src/Makefile.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Makefile.cfg b/src/Makefile.cfg index 9de48f299..04a57de0e 100644 --- a/src/Makefile.cfg +++ b/src/Makefile.cfg @@ -338,7 +338,7 @@ endif WFLAGS+=-Wfloat-equal #WFLAGS+=-Wtraditional ifdef VCHELP - WFLAGS+=-Wdeclaration-after-statement + #WFLAGS+=-Wdeclaration-after-statement WFLAGS+=-Wno-error=declaration-after-statement endif WFLAGS+=-Wundef -- 2.54.0 From 8af4a67f5e29aa95d9ef0f787c4b1fd69a3f407b Mon Sep 17 00:00:00 2001 From: Indev Date: Sun, 31 Dec 2023 01:01:03 +0300 Subject: [PATCH 03/19] More warning fixes --- src/hardware/hw_md2.c | 16 ++++++++-------- src/hardware/r_opengl/r_opengl.c | 6 +++--- src/lua_hooklib.c | 32 +++++++++++++++++++++----------- src/m_menu.c | 25 ++++++++++++------------- src/m_misc.c | 16 ++++++++-------- src/p_setup.c | 7 ++++--- src/w_wad.c | 2 +- 7 files changed, 57 insertions(+), 47 deletions(-) diff --git a/src/hardware/hw_md2.c b/src/hardware/hw_md2.c index 9cd077588..9aa7e1cce 100644 --- a/src/hardware/hw_md2.c +++ b/src/hardware/hw_md2.c @@ -1254,30 +1254,30 @@ void HWR_DrawMD2(gr_vissprite_t *spr) md2->blendgrpatch && ((GLPatch_t *)md2->blendgrpatch)->mipmap->grInfo.format && gpatch->width == ((GLPatch_t *)md2->blendgrpatch)->width && gpatch->height == ((GLPatch_t *)md2->blendgrpatch)->height) { - INT32 skinnum = TC_DEFAULT; + INT32 tcskinnum = TC_DEFAULT; if ((spr->mobj->flags & MF_BOSS) && (spr->mobj->flags2 & MF2_FRET) && (leveltime & 1)) // Bosses "flash" { if (spr->mobj->type == MT_CYBRAKDEMON) - skinnum = TC_ALLWHITE; + tcskinnum = TC_ALLWHITE; else if (spr->mobj->type == MT_METALSONIC_BATTLE) - skinnum = TC_METALSONIC; + tcskinnum = TC_METALSONIC; else - skinnum = TC_BOSS; + tcskinnum = TC_BOSS; } else if (spr->mobj->color) { if (spr->mobj->skin && spr->mobj->sprite == SPR_PLAY) { if (spr->mobj->colorized) - skinnum = TC_RAINBOW; + tcskinnum = TC_RAINBOW; else { - skinnum = (INT32)((skin_t*)( (spr->mobj->localskin) ? spr->mobj->localskin : spr->mobj->skin ) - ( (spr->mobj->skinlocal) ? localskins : skins )); + tcskinnum = (INT32)((skin_t*)( (spr->mobj->localskin) ? spr->mobj->localskin : spr->mobj->skin ) - ( (spr->mobj->skinlocal) ? localskins : skins )); } } - else skinnum = TC_DEFAULT; + else tcskinnum = TC_DEFAULT; } - HWR_GetBlendedTexture(gpatch, (GLPatch_t *)md2->blendgrpatch, skinnum, spr->colormap, (skincolors_t)spr->mobj->color); + HWR_GetBlendedTexture(gpatch, (GLPatch_t *)md2->blendgrpatch, tcskinnum, spr->colormap, (skincolors_t)spr->mobj->color); } else { diff --git a/src/hardware/r_opengl/r_opengl.c b/src/hardware/r_opengl/r_opengl.c index 580d6e320..9ae935077 100644 --- a/src/hardware/r_opengl/r_opengl.c +++ b/src/hardware/r_opengl/r_opengl.c @@ -3191,7 +3191,7 @@ static void gld_BuildSky(int row_count, int col_count) // //----------------------------------------------------------------------------- -static void RenderDome(INT32 skytexture) +static void RenderDome(INT32 skytexnum) { int i, j; int vbosize; @@ -3203,7 +3203,7 @@ static void RenderDome(INT32 skytexture) vbosize = 2 * rows * (columns * 2 + 2) + columns * 2; // Build the sky dome! Yes! - if (lasttex != skytexture) + if (lasttex != skytexnum) { // delete VBO when already exists if (gl_ext_arb_vertex_buffer_object) @@ -3212,7 +3212,7 @@ static void RenderDome(INT32 skytexture) pglDeleteBuffers(1, &vbo->id); } - lasttex = skytexture; + lasttex = skytexnum; gld_BuildSky(rows, columns); if (gl_ext_arb_vertex_buffer_object) diff --git a/src/lua_hooklib.c b/src/lua_hooklib.c index 1e6a5cb29..458dbc09a 100644 --- a/src/lua_hooklib.c +++ b/src/lua_hooklib.c @@ -476,12 +476,14 @@ void LUAh_ThinkFrame(void) // variables used by perf stats int hook_index = 0; precise_t time_taken = 0; + if (!gL || !(hooksAvailable[hook_ThinkFrame/8] & (1<<(hook_ThinkFrame%8)))) return; - + lua_pushcfunction(gL, LUA_GetErrorMessage); for (hookp = roothook; hookp; hookp = hookp->next) + { if (hookp->type == hook_ThinkFrame) { if (cv_perfstats.value == 3) @@ -506,8 +508,9 @@ void LUAh_ThinkFrame(void) hook_index++; } } - - lua_pop(gL, 1); // Pop error handler + } + + lua_pop(gL, 1); // Pop error handler } // Hook for frame (at end of tick, ie after overlays, precipitation, specials) @@ -519,13 +522,13 @@ void LUAh_PostThinkFrame(void) precise_t time_taken = 0; if (!gL || !(hooksAvailable[hook_PostThinkFrame/8] & (1<<(hook_PostThinkFrame%8)))) return; - + lua_pushcfunction(gL, LUA_GetErrorMessage); for (hookp = roothook; hookp; hookp = hookp->next) { if (hookp->type == hook_PostThinkFrame) - { + { if (cv_perfstats.value == 5) time_taken = I_GetPreciseTime(); lua_pushfstring(gL, FMT_HOOKID, hookp->id); @@ -549,6 +552,7 @@ void LUAh_PostThinkFrame(void) } } } + lua_pop(gL, 1); // Pop error handler } @@ -556,12 +560,14 @@ void LUAh_PostThinkFrame(void) void LUAh_IntermissionThinker(void) { hook_p hookp; + if (!gL || !(hooksAvailable[hook_IntermissionThinker/8] & (1<<(hook_IntermissionThinker%8)))) return; - + lua_pushcfunction(gL, LUA_GetErrorMessage); for (hookp = roothook; hookp; hookp = hookp->next) + { if (hookp->type == hook_IntermissionThinker) { lua_pushfstring(gL, FMT_HOOKID, hookp->id); @@ -573,20 +579,23 @@ void LUAh_IntermissionThinker(void) hookp->error = true; } } - - lua_pop(gL, 1); // Pop error handler + } + + lua_pop(gL, 1); // Pop error handler } // Hook for Y_VoteTicker void LUAh_VoteThinker(void) { hook_p hookp; + if (!gL || !(hooksAvailable[hook_VoteThinker/8] & (1<<(hook_VoteThinker%8)))) return; - + lua_pushcfunction(gL, LUA_GetErrorMessage); for (hookp = roothook; hookp; hookp = hookp->next) + { if (hookp->type == hook_VoteThinker) { lua_pushfstring(gL, FMT_HOOKID, hookp->id); @@ -598,8 +607,9 @@ void LUAh_VoteThinker(void) hookp->error = true; } } - - lua_pop(gL, 1); // Pop error handler + } + + lua_pop(gL, 1); // Pop error handler } diff --git a/src/m_menu.c b/src/m_menu.c index 9c57a3d36..074da4061 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -4783,11 +4783,11 @@ static void M_DrawSplitText(INT32 x, INT32 y, INT32 option, const char* str, INT if (icopy == NULL) return; - char* token = strtok(icopy, "\n"); + char* tok = strtok(icopy, "\n"); - while (token != NULL) + while (tok != NULL) { - char* line = strdup(token); + char* line = strdup(tok); if (line == NULL) return; @@ -4795,7 +4795,7 @@ static void M_DrawSplitText(INT32 x, INT32 y, INT32 option, const char* str, INT clines[num_lines] = line; num_lines++; - token = strtok(NULL, "\n"); + tok = strtok(NULL, "\n"); } free(icopy); @@ -6090,7 +6090,7 @@ static void M_AddonsOptions(INT32 choice) #define LOCATIONSTRING1 "Visit \x83SRB2.ORG/MODS\x80 to get & make addons!" #define LOCATIONSTRING2 "Visit \x88SRB2.ORG/MODS\x80 to get & make addons!" -static void M_AddonsInternal() +static void M_AddonsInternal(void) { const char *pathname = "."; @@ -11726,7 +11726,6 @@ static void M_DrawSetupMultiPlayerMenu(void) if (statdp == true) { - int i; //Background V_DrawScaledPatch(statx - 50, staty + 4, 0, W_CachePatchName("K_STATNB", PU_CACHE)); @@ -12027,22 +12026,22 @@ static void M_DrawSetupMultiPlayerMenu(void) INT32 j = -colwidth; INT16 col = setupm_fakecolor - colwidth; INT32 x = mx; - INT32 w = indexwidth; - UINT8 h; + INT32 cw = indexwidth; + UINT8 ch; while (col < 1) col += MAXSKINCOLORS-1; while (j <= colwidth) { if (!(j++)) - w = charw; + cw = charw; else - w = indexwidth; - for (h = 0; h < 16; h++) - V_DrawFill(x, my+(cv_skinselectmenu.value?176:162)+h, w, 1, colortranslations[col][h]); + cw = indexwidth; + for (ch = 0; ch < 16; ch++) + V_DrawFill(x, my+(cv_skinselectmenu.value?176:162)+ch, cw, 1, colortranslations[col][ch]); if (++col >= MAXSKINCOLORS) col -= MAXSKINCOLORS-1; - x += w; + x += cw; } } #undef indexwidth diff --git a/src/m_misc.c b/src/m_misc.c index db41f291a..39f3b46fe 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -62,11 +62,11 @@ typedef off_t off64_t; #endif #if defined(__MINGW32__) && ((__GNUC__ > 7) || (__GNUC__ == 6 && __GNUC_MINOR__ >= 3)) && (__GNUC__ < 8) -#define PRIdS "u" +#define PRIdS "%u" #elif defined(_WIN32) && !defined(__MINGW64__) -#define PRIdS "Iu" +#define PRIdS "%Iu" #else -#define PRIdS "zu" +#define PRIdS "%zu" #endif #ifdef HAVE_PNG @@ -1905,35 +1905,35 @@ TMatrix *RotateZMatrix(angle_t rad) char *sizeu1(size_t num) { static char sizeu1_buf[28]; - sprintf(sizeu1_buf, "%"PRIdS, num); + sprintf(sizeu1_buf, PRIdS, num); return sizeu1_buf; } char *sizeu2(size_t num) { static char sizeu2_buf[28]; - sprintf(sizeu2_buf, "%"PRIdS, num); + sprintf(sizeu2_buf, PRIdS, num); return sizeu2_buf; } char *sizeu3(size_t num) { static char sizeu3_buf[28]; - sprintf(sizeu3_buf, "%"PRIdS, num); + sprintf(sizeu3_buf, PRIdS, num); return sizeu3_buf; } char *sizeu4(size_t num) { static char sizeu4_buf[28]; - sprintf(sizeu4_buf, "%"PRIdS, num); + sprintf(sizeu4_buf, PRIdS, num); return sizeu4_buf; } char *sizeu5(size_t num) { static char sizeu5_buf[28]; - sprintf(sizeu5_buf, "%"PRIdS, num); + sprintf(sizeu5_buf, PRIdS, num); return sizeu5_buf; } diff --git a/src/p_setup.c b/src/p_setup.c index 40601dc5f..1bc232fad 100644 --- a/src/p_setup.c +++ b/src/p_setup.c @@ -553,17 +553,18 @@ levelflat_t *levelflats; size_t P_PrecacheLevelFlats(void) { lumpnum_t lump; - size_t i, flatmemory = 0; + size_t i, flatmem = 0; //SoM: 4/18/2000: New flat code to make use of levelflats. for (i = 0; i < numlevelflats; i++) { lump = levelflats[i].lumpnum; if (devparm) - flatmemory += W_LumpLength(lump); + flatmem += W_LumpLength(lump); R_GetFlat(lump); } - return flatmemory; + + return flatmem; } // help function for P_LoadSectors, find a flat in the active wad files, diff --git a/src/w_wad.c b/src/w_wad.c index aa90fa9f3..c4b134ec7 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -148,7 +148,7 @@ static char filenamebuf[MAX_WADPATH]; #include // Windows can't open utf-8 path so it must be converted to utf-16 -FILE* fopen_utf8(const char* filename, const char* mode) +static FILE* fopen_utf8(const char* filename, const char* mode) { static const int MY_PATH_MAX = 2048; WCHAR nameW[MY_PATH_MAX]; -- 2.54.0 From 571ea6fbc99ae46a43e683014c20b9df3e82b374 Mon Sep 17 00:00:00 2001 From: Indev Date: Sun, 31 Dec 2023 01:15:02 +0300 Subject: [PATCH 04/19] Fix 'missing braces around initializer' warning --- src/m_menu.c | 58 +++++++++++++++++++++++++--------------------------- src/m_menu.h | 14 ++++++------- 2 files changed, 35 insertions(+), 37 deletions(-) diff --git a/src/m_menu.c b/src/m_menu.c index 074da4061..1388c6c23 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -2314,7 +2314,7 @@ menu_t MISC_AddonsDef = 50, 28, 0, NULL, - NULL + {NULL} }; menu_t MISC_ReplayHutDef = @@ -2327,7 +2327,7 @@ menu_t MISC_ReplayHutDef = 30, 80, 0, M_QuitReplayHut, - NULL + {NULL} }; menu_t MISC_ReplayOptionsDef = @@ -2340,7 +2340,7 @@ menu_t MISC_ReplayOptionsDef = 27, 40, 0, NULL, - NULL + {NULL} }; menu_t MISC_ReplayStartDef = @@ -2353,7 +2353,7 @@ menu_t MISC_ReplayStartDef = 30, 90, 0, NULL, - NULL + {NULL} }; menu_t PlaybackMenuDef = { @@ -2366,7 +2366,7 @@ menu_t PlaybackMenuDef = { BASEVIDWIDTH/2 - 88, 2, 0, NULL, - NULL + {NULL} }; menu_t MAPauseDef = PAUSEMENUSTYLE(MAPauseMenu, 40, 72); @@ -2382,7 +2382,8 @@ menu_t MISC_DiscordRequestsDef = { M_DrawDiscordRequests, 0, 0, 0, - NULL + NULL, + {NULL} }; #endif @@ -2478,7 +2479,7 @@ menu_t SR_PandoraDef = 60, 40, 0, M_ExitPandorasBox, - NULL + {NULL} }; menu_t SR_MainDef = CENTERMENUSTYLE(NULL, SR_MainMenu, &MainDef, 72); @@ -2494,7 +2495,7 @@ menu_t SR_UnlockChecklistDef = 280, 185, 0, NULL, - NULL + {NULL} }; menu_t SR_MusicTestDef = @@ -2507,7 +2508,7 @@ menu_t SR_MusicTestDef = 60, 150, 0, NULL, - NULL + {NULL} }; menu_t SR_EmblemHintDef = @@ -2520,7 +2521,7 @@ menu_t SR_EmblemHintDef = 60, 150, 0, NULL, - NULL + {NULL} }; // Single Player @@ -2548,7 +2549,7 @@ menu_t SP_LevelStatsDef = 280, 185, 0, NULL, - NULL + {NULL} }; static menu_t SP_TimeAttackDef = @@ -2561,8 +2562,7 @@ static menu_t SP_TimeAttackDef = 34, 40, 0, M_QuitTimeAttackMenu, - NULL, - NULL + {NULL} }; static menu_t SP_ReplayDef = { @@ -2574,8 +2574,7 @@ static menu_t SP_ReplayDef = 34, 40, 0, NULL, - NULL, - NULL + {NULL} }; static menu_t SP_GuestReplayDef = { @@ -2587,8 +2586,7 @@ static menu_t SP_GuestReplayDef = 34, 40, 0, NULL, - NULL, - NULL + {NULL} }; static menu_t SP_GhostDef = { @@ -2600,7 +2598,7 @@ static menu_t SP_GhostDef = 34, 40, 0, NULL, - NULL + {NULL} }; /*static menu_t SP_NightsAttackDef = @@ -2676,7 +2674,7 @@ menu_t MP_MainDef = #else NULL, #endif - NULL + {NULL} }; menu_t MP_OfflineServerDef = MAPICONMENUSTYLE("M_MULTI", MP_OfflineServerMenu, &MP_MainDef); @@ -2694,7 +2692,7 @@ menu_t MP_ConnectDef = 27,24, 0, M_CancelConnect, - NULL + {NULL} }; #endif menu_t MP_PlayerSetupDef = @@ -2707,7 +2705,7 @@ menu_t MP_PlayerSetupDef = 36, 14, 0, M_QuitMultiPlayerMenu, - NULL + {NULL} }; // Options @@ -2721,7 +2719,7 @@ menu_t OP_MainDef = 60, 30, 0, NULL, - NULL + {NULL} }; menu_t OP_ControlsDef = DEFAULTMENUSTYLE("M_CONTRO", OP_ControlsMenu, &OP_MainDef, 60, 30); @@ -2742,7 +2740,7 @@ menu_t OP_JoystickSetDef = 50, 40, 0, NULL, - NULL + {NULL} }; menu_t OP_VideoOptionsDef = @@ -2755,7 +2753,7 @@ menu_t OP_VideoOptionsDef = 30, 20, 0, NULL, - NULL + {NULL} }; menu_t OP_VideoModeDef = @@ -2768,7 +2766,7 @@ menu_t OP_VideoModeDef = 48, 26, 0, NULL, - NULL + {NULL} }; menu_t OP_SoundOptionsDef = @@ -2781,7 +2779,7 @@ menu_t OP_SoundOptionsDef = 30, 20, 0, NULL, - NULL + {NULL} }; @@ -2795,7 +2793,7 @@ menu_t OP_HUDOptionsDef = 30, 20, 0, NULL, - NULL + {NULL} }; @@ -2822,7 +2820,7 @@ menu_t OP_MonitorToggleDef = 47, 30, 0, NULL, - NULL + {NULL} }; #ifdef HWRENDER @@ -2838,7 +2836,7 @@ menu_t OP_OpenGLColorDef = 60, 40, 0, NULL, - NULL + {NULL} }; #endif @@ -2871,7 +2869,7 @@ menu_t OP_ForkedBirdDef = { 30, 6, 0, NULL, - NULL + {NULL} }; menu_t OP_LocalSkinDef = DEFAULTMENUSTYLE(NULL, OP_TiltMenu, &OP_ForkedBirdDef, 30, 60); diff --git a/src/m_menu.h b/src/m_menu.h index 8d1ebb723..805f562f8 100644 --- a/src/m_menu.h +++ b/src/m_menu.h @@ -300,7 +300,7 @@ void M_PopupMasterServerConnectError(void); x, y,\ 0,\ NULL,\ - NULL\ + {NULL}\ } #define DEFAULTSCROLLSTYLE(header, source, prev, x, y)\ @@ -313,7 +313,7 @@ void M_PopupMasterServerConnectError(void); x, y,\ 0,\ NULL,\ - NULL\ + {NULL}\ } #define PAUSEMENUSTYLE(source, x, y)\ @@ -326,7 +326,7 @@ void M_PopupMasterServerConnectError(void); x, y,\ 0,\ NULL,\ - NULL\ + {NULL}\ } #define CENTERMENUSTYLE(header, source, prev, y)\ @@ -339,7 +339,7 @@ void M_PopupMasterServerConnectError(void); BASEVIDWIDTH/2, y,\ 0,\ NULL,\ - NULL\ + {NULL}\ } #define MAPICONMENUSTYLE(header, source, prev)\ @@ -352,7 +352,7 @@ void M_PopupMasterServerConnectError(void); 24,40,\ 0,\ NULL,\ - NULL\ + {NULL}\ } #define CONTROLMENUSTYLE(source, prev)\ @@ -365,7 +365,7 @@ void M_PopupMasterServerConnectError(void); 26, 40,\ 0,\ NULL,\ - NULL\ + {NULL}\ } #define IMAGEDEF(source)\ @@ -378,7 +378,7 @@ void M_PopupMasterServerConnectError(void); 0, 0,\ 0,\ NULL,\ - NULL\ + {NULL}\ } #endif //__X_MENU__ -- 2.54.0 From 82083827ff0b99b2e6661c9e08ea35dcbdb66816 Mon Sep 17 00:00:00 2001 From: Indev Date: Sun, 31 Dec 2023 01:44:41 +0300 Subject: [PATCH 05/19] Attempt to fix %zu warning --- src/m_misc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/m_misc.c b/src/m_misc.c index 39f3b46fe..2715d63d8 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -65,6 +65,8 @@ typedef off_t off64_t; #define PRIdS "%u" #elif defined(_WIN32) && !defined(__MINGW64__) #define PRIdS "%Iu" +#elif defined(__MINGW32__) && (__GNUC__ < 3) +#define PRIdS "%Zu" #else #define PRIdS "%zu" #endif -- 2.54.0 From 02b42e4dbbbc83fe41032d0237922432a1b5e5e9 Mon Sep 17 00:00:00 2001 From: Indev Date: Sun, 31 Dec 2023 01:47:31 +0300 Subject: [PATCH 06/19] Revert "Attempt to fix %zu warning" This reverts commit 82083827ff0b99b2e6661c9e08ea35dcbdb66816. --- src/m_misc.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/m_misc.c b/src/m_misc.c index 2715d63d8..39f3b46fe 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -65,8 +65,6 @@ typedef off_t off64_t; #define PRIdS "%u" #elif defined(_WIN32) && !defined(__MINGW64__) #define PRIdS "%Iu" -#elif defined(__MINGW32__) && (__GNUC__ < 3) -#define PRIdS "%Zu" #else #define PRIdS "%zu" #endif -- 2.54.0 From 78ff158cb50770cee7acaab50705e50f01e96dbe Mon Sep 17 00:00:00 2001 From: Alug Date: Sun, 31 Dec 2023 00:03:12 +0100 Subject: [PATCH 07/19] fix %zu warning with PRIuPTR X) i hope that works lul --- src/m_misc.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/m_misc.c b/src/m_misc.c index 39f3b46fe..9dcdf153b 100644 --- a/src/m_misc.c +++ b/src/m_misc.c @@ -62,11 +62,13 @@ typedef off_t off64_t; #endif #if defined(__MINGW32__) && ((__GNUC__ > 7) || (__GNUC__ == 6 && __GNUC_MINOR__ >= 3)) && (__GNUC__ < 8) -#define PRIdS "%u" +#define PRIdS "u" #elif defined(_WIN32) && !defined(__MINGW64__) -#define PRIdS "%Iu" +#define PRIdS "Iu" +#elif defined(_WIN32) && defined(__MINGW64__) +#define PRIdS PRIuPTR #else -#define PRIdS "%zu" +#define PRIdS "zu" #endif #ifdef HAVE_PNG @@ -1905,35 +1907,35 @@ TMatrix *RotateZMatrix(angle_t rad) char *sizeu1(size_t num) { static char sizeu1_buf[28]; - sprintf(sizeu1_buf, PRIdS, num); + sprintf(sizeu1_buf, "%"PRIdS, num); return sizeu1_buf; } char *sizeu2(size_t num) { static char sizeu2_buf[28]; - sprintf(sizeu2_buf, PRIdS, num); + sprintf(sizeu2_buf, "%"PRIdS, num); return sizeu2_buf; } char *sizeu3(size_t num) { static char sizeu3_buf[28]; - sprintf(sizeu3_buf, PRIdS, num); + sprintf(sizeu3_buf, "%"PRIdS, num); return sizeu3_buf; } char *sizeu4(size_t num) { static char sizeu4_buf[28]; - sprintf(sizeu4_buf, PRIdS, num); + sprintf(sizeu4_buf, "%"PRIdS, num); return sizeu4_buf; } char *sizeu5(size_t num) { static char sizeu5_buf[28]; - sprintf(sizeu5_buf, PRIdS, num); + sprintf(sizeu5_buf, "%"PRIdS, num); return sizeu5_buf; } -- 2.54.0 From b0928f36013b2989fddaa0d8861c629353975443 Mon Sep 17 00:00:00 2001 From: Alug Date: Mon, 1 Jan 2024 04:23:50 +0100 Subject: [PATCH 08/19] fix compiler error 127 seems like stuff for UPX aint even there or smth make: upx: No such file or directory make: [Makefile:610: ../bin/Mingw/Release/srb2kart-saturn.exe] Error 127 (ignored) --- src/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile b/src/Makefile index 06567753a..96cd6f413 100644 --- a/src/Makefile +++ b/src/Makefile @@ -102,6 +102,7 @@ ifeq ($(OS),Windows_NT) # all windows are Windows_NT... MINGW=1 SDL=1 WINDOWSHELL=1 + NOUPX=1 else # if you on the *nix -- 2.54.0 From 5dd7e548c0e5ba11684d7389f7fe3c1fcd70534e Mon Sep 17 00:00:00 2001 From: Alug Date: Mon, 1 Jan 2024 16:22:30 +0100 Subject: [PATCH 09/19] fix warning in discord.c --- src/discord.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/discord.c b/src/discord.c index 4e574f05e..cd7dafa8f 100644 --- a/src/discord.c +++ b/src/discord.c @@ -47,7 +47,7 @@ struct discordInfo_s discordInfo; discordRequest_t *discordRequestList = NULL; -static char self_ip[IP_SIZE]; +static char self_ip[IP_SIZE+1]; boolean drpc_init = false; -- 2.54.0 From ea6506f9f4e2a1fd320fa356f088e170d9ae8491 Mon Sep 17 00:00:00 2001 From: Indev Date: Mon, 1 Jan 2024 18:48:19 +0300 Subject: [PATCH 10/19] Remove attrpack from GLPatch_t so its alignment is same as for patch_t --- src/hardware/hw_data.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_data.h b/src/hardware/hw_data.h index 415358a35..daddc5025 100644 --- a/src/hardware/hw_data.h +++ b/src/hardware/hw_data.h @@ -111,7 +111,7 @@ struct GLPatch_s GLMipmap_t *mipmap; boolean notfound; // if the texture file was not found, mark it here (used in model texture loading) -} ATTRPACK; +}; typedef struct GLPatch_s GLPatch_t; #endif //_HWR_DATA_ -- 2.54.0 From c755a4d8b6079b22eb42261a0da3eb633c1a5a5d Mon Sep 17 00:00:00 2001 From: Indev Date: Wed, 3 Jan 2024 13:32:06 +0300 Subject: [PATCH 11/19] Not all filenames are at least 256 characters long aaaa --- src/s_sound.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/s_sound.c b/src/s_sound.c index 8c14dc7b0..b10ff9f3e 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -1430,7 +1430,7 @@ void S_LoadMusicDefs(UINT16 wadnum) } } - memcpy(def->filename, wadfiles[wadnum]->filename, 256); + strncpy(def->filename, wadfiles[wadnum]->filename, 256); def->filename[256] = '\0'; skip_lump: -- 2.54.0 From e4bef0e3f4f6132e1e4629c698ed07ab98915ccb Mon Sep 17 00:00:00 2001 From: Indev Date: Wed, 3 Jan 2024 21:39:17 +0300 Subject: [PATCH 12/19] Fix amigafilter --- src/sdl/mixer_sound.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c index 4e4714849..42668f621 100644 --- a/src/sdl/mixer_sound.c +++ b/src/sdl/mixer_sound.c @@ -1242,7 +1242,7 @@ boolean I_PlaySong(boolean looping) gme_equalizer_t eq = {GME_TREBLE, GME_BASS, 0,0,0,0,0,0,0,0}; #if defined (GME_VERSION) && GME_VERSION >= 0x000603 gme_set_autoload_playback_limit(gme, 0); -#endif +#endif gme_set_equalizer(gme, &eq); gme_start_track(gme, 0); current_track = 0; @@ -1255,17 +1255,25 @@ boolean I_PlaySong(boolean looping) if (openmpt_mhandle) { openmpt_module_select_subsong(openmpt_mhandle, 0); + #if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 openmpt_module_ctl_set_text(openmpt_mhandle, "dither", "1"); #else openmpt_module_ctl_set(openmpt_mhandle, "dither", "1"); #endif + openmpt_module_set_render_param(openmpt_mhandle, OPENMPT_MODULE_RENDER_STEREOSEPARATION_PERCENT, cv_stereosep.value); //have a feeling some might like it + #if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 - openmpt_module_ctl_set_text(openmpt_mhandle, "render.resampler.emulate_amiga_type", cv_amigatype.string); + openmpt_module_ctl_set_text(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); #else openmpt_module_ctl_set(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); #endif + +#if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 + openmpt_module_ctl_set_text(openmpt_mhandle, "render.resampler.emulate_amiga_type", cv_amigatype.string); +#endif + openmpt_module_set_render_param(openmpt_mhandle, OPENMPT_MODULE_RENDER_INTERPOLATIONFILTER_LENGTH, cv_modfilter.value); if (looping) openmpt_module_set_repeat_count(openmpt_mhandle, -1); // Always repeat -- 2.54.0 From 8b06822092b1074ccc1a2f0d3c45a7ba1129026a Mon Sep 17 00:00:00 2001 From: Indev Date: Wed, 3 Jan 2024 21:59:55 +0300 Subject: [PATCH 13/19] change set_text to set_boolean for cv_amigafilter onchange function --- src/s_sound.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/s_sound.c b/src/s_sound.c index b10ff9f3e..82ddf52b0 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -2453,7 +2453,7 @@ void AmigaFilter_OnChange(void) { if (openmpt_mhandle) #if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 - openmpt_module_ctl_set_text(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); + openmpt_module_ctl_set_boolean(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value); #else openmpt_module_ctl_set(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); #endif -- 2.54.0 From 191dfbe1bd438e7e7c2c11bd256f530cb18bbb02 Mon Sep 17 00:00:00 2001 From: Indev Date: Wed, 3 Jan 2024 22:01:36 +0300 Subject: [PATCH 14/19] forgor --- src/sdl/mixer_sound.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sdl/mixer_sound.c b/src/sdl/mixer_sound.c index 42668f621..c3b117c91 100644 --- a/src/sdl/mixer_sound.c +++ b/src/sdl/mixer_sound.c @@ -1265,7 +1265,7 @@ boolean I_PlaySong(boolean looping) openmpt_module_set_render_param(openmpt_mhandle, OPENMPT_MODULE_RENDER_STEREOSEPARATION_PERCENT, cv_stereosep.value); //have a feeling some might like it #if OPENMPT_API_VERSION_MAJOR < 1 && OPENMPT_API_VERSION_MINOR > 4 - openmpt_module_ctl_set_text(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); + openmpt_module_ctl_set_boolean(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value); #else openmpt_module_ctl_set(openmpt_mhandle, "render.resampler.emulate_amiga", cv_amigafilter.value ? "1" : "0"); #endif -- 2.54.0 From fbe0776b438959c88b6567a883b38b1bb0d97623 Mon Sep 17 00:00:00 2001 From: Alug Date: Tue, 2 Jan 2024 22:13:13 +0100 Subject: [PATCH 15/19] fix inline warnings --- src/p_saveg.c | 4 ++-- src/w_wad.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/p_saveg.c b/src/p_saveg.c index d4e9b2f5e..e8765e353 100644 --- a/src/p_saveg.c +++ b/src/p_saveg.c @@ -2487,7 +2487,7 @@ static inline void LoadLaserThinker(actionf_p1 thinker) // // Loads a lightlevel_t from a save game // -static inline void LoadLightlevelThinker(actionf_p1 thinker) +FUNCINLINE static ATTRINLINE void LoadLightlevelThinker(actionf_p1 thinker) { lightlevel_t *ht = Z_Malloc(sizeof (*ht), PU_LEVSPEC, NULL); ht->thinker.function.acp1 = thinker; @@ -3317,7 +3317,7 @@ static void P_NetArchiveMisc(void) WRITEUINT8(save_p, 0x2e); } -static inline boolean P_NetUnArchiveMisc(void) +FUNCINLINE static ATTRINLINE boolean P_NetUnArchiveMisc(void) { UINT32 pig; INT32 i; diff --git a/src/w_wad.c b/src/w_wad.c index c4b134ec7..504699848 100644 --- a/src/w_wad.c +++ b/src/w_wad.c @@ -1738,7 +1738,7 @@ void *W_CacheLumpName(const char *name, INT32 tag) // Software-only compile cache the data without conversion #ifdef HWRENDER -static inline void *W_CachePatchNumPwad(UINT16 wad, UINT16 lump, INT32 tag) +FUNCINLINE static ATTRINLINE void *W_CachePatchNumPwad(UINT16 wad, UINT16 lump, INT32 tag) { GLPatch_t *grPatch; -- 2.54.0 From 1034bde5d189d884be816dc76341bbb8b8cdd767 Mon Sep 17 00:00:00 2001 From: Alug Date: Tue, 20 Feb 2024 17:33:24 +0100 Subject: [PATCH 16/19] some fixes --- src/blua/lvm.c | 2 +- src/d_net.c | 2 +- src/g_game.c | 6 ++---- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/blua/lvm.c b/src/blua/lvm.c index 46a015c1e..c6269966c 100644 --- a/src/blua/lvm.c +++ b/src/blua/lvm.c @@ -134,7 +134,7 @@ void luaV_gettable (lua_State *L, TValue *t, TValue *key, StkId val) { void luaV_settable (lua_State *L, TValue *t, TValue *key, StkId val) { int loop; for (loop = 0; loop < MAXTAGLOOP; loop++) { - TValue *tm; + TValue *tm = NULL; if (ttistable(t)) { /* `t' is a table? */ Table *h = hvalue(t); TValue *oldval = luaH_set(L, h, key); /* do a primitive set */ diff --git a/src/d_net.c b/src/d_net.c index b0bb637c4..1b4550d35 100644 --- a/src/d_net.c +++ b/src/d_net.c @@ -1010,7 +1010,7 @@ void Command_Droprate(void) static boolean ShouldDropPacket(void) { return (packetdropquantity[netbuffer->packettype]) - || (packetdroprate != 0 && rand() < (RAND_MAX * (packetdroprate / 100.f))) || packetdroprate == 100; + || (packetdroprate != 0 && rand() < (((double)RAND_MAX) * (packetdroprate / 100.f))) || packetdroprate == 100; } #endif #endif diff --git a/src/g_game.c b/src/g_game.c index 42715ed59..3f5de19bd 100644 --- a/src/g_game.c +++ b/src/g_game.c @@ -5033,10 +5033,8 @@ void G_FreeMapSearch(mapsearchfreq_t *freq, INT32 freqc) INT32 G_FindMapByNameOrCode(const char *mapname, char **realmapnamep) { boolean usemapcode = false; - INT32 newmapnum; - + INT32 newmapnum = -1; size_t mapnamelen = strlen(mapname); - char *p; if (mapnamelen == 1) @@ -7008,7 +7006,7 @@ static void G_LoadDemoExtraFiles(UINT8 **pp) UINT8 totalfiles; char filename[MAX_WADPATH]; UINT8 md5sum[16]; - filestatus_t ncs; + filestatus_t ncs = FS_NOTFOUND; boolean toomany = false; boolean alreadyloaded; UINT8 i, j; -- 2.54.0 From 86e9b521071b855c1384d3e732840eb2319e9cdb Mon Sep 17 00:00:00 2001 From: Indev Date: Sun, 17 Mar 2024 16:14:14 +0300 Subject: [PATCH 17/19] Fix few things that broke when merging with Saturn-Next --- src/d_main.c | 2 +- src/k_kart.c | 4 ++-- src/m_menu.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/d_main.c b/src/d_main.c index 007635139..10fdd380c 100644 --- a/src/d_main.c +++ b/src/d_main.c @@ -964,7 +964,7 @@ static void D_FindAddonsToAutoload(void) const char *autoloadpath; boolean postload; - INT32 i; + INT32 i, len; boolean hasprefix = false; char wadsToAutoload[256] = ""; diff --git a/src/k_kart.c b/src/k_kart.c index 826f2019a..082520c78 100644 --- a/src/k_kart.c +++ b/src/k_kart.c @@ -608,7 +608,7 @@ UINT8 K_GetKartColorByName(const char *name) return 0; } -static UINT8 K_GetHudColor(void) +UINT8 K_GetHudColor(void) { if (cv_colorizedhud.value){ if (cv_colorizedhudcolor.value) return cv_colorizedhudcolor.value; @@ -617,7 +617,7 @@ static UINT8 K_GetHudColor(void) return ((stplyr && gamestate == GS_LEVEL) ? stplyr->skincolor : cv_playercolor.value); } -static boolean K_UseColorHud(void) +boolean K_UseColorHud(void) { return (cv_colorizedhud.value && clr_hud); } diff --git a/src/m_menu.c b/src/m_menu.c index 866fed22f..ce41ae0f7 100644 --- a/src/m_menu.c +++ b/src/m_menu.c @@ -5125,7 +5125,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_NametagTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_NametagTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_NametagTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } @@ -5135,7 +5135,7 @@ static void M_DrawGenericMenu(void) { if (!(OP_DriftGaugeTooltips[itemOn] == NULL)) { - M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_DriftGaugeTooltips[itemOn], 30, coolalphatimer); + M_DrawSplitText(BASEVIDWIDTH / 2, BASEVIDHEIGHT-50, V_ALLOWLOWERCASE|V_SNAPTOBOTTOM, OP_DriftGaugeTooltips[itemOn], coolalphatimer); if (coolalphatimer > 0 && interpTimerHackAllow) coolalphatimer--; } -- 2.54.0 From e3fb523562663743145e564a2165cf942c15a44e Mon Sep 17 00:00:00 2001 From: Indev Date: Sun, 17 Mar 2024 16:15:58 +0300 Subject: [PATCH 18/19] Fix 'cast to non-matching type' warning --- src/hardware/hw_main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 27babe7f0..d580aa4a6 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -213,7 +213,7 @@ static void CV_grpalettedepth_OnChange(void) // void HWR_SetShaderState(void) { - HWD.pfnSetSpecialState(HWD_SET_SHADERS, (INT32)HWR_UseShader()); + HWD.pfnSetSpecialState(HWD_SET_SHADERS, HWR_UseShader() ? 1 : 0); } // ========================================================================== -- 2.54.0 From 9683f3ee22bde2874bffeb252fcf7594ce6cc54b Mon Sep 17 00:00:00 2001 From: Indev Date: Sun, 17 Mar 2024 16:30:59 +0300 Subject: [PATCH 19/19] Oops we don't use that check now --- src/s_sound.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/s_sound.c b/src/s_sound.c index 4b758e8bc..06a454bdf 100644 --- a/src/s_sound.c +++ b/src/s_sound.c @@ -1995,10 +1995,8 @@ void S_ChangeMusicEx(const char *mmusic, UINT16 mflags, boolean looping, UINT32 strncpy(newmusic, mmusic, 6); -#ifdef HAVE_BLUA if(LUAh_MusicChange(music_name, newmusic, &mflags, &looping, &position, &prefadems, &fadeinms)) return; -#endif // No Music (empty string) if (newmusic[0] == 0) -- 2.54.0