From 04a94f70f7cb7c05353438577752c6da01e532d5 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Mon, 9 Oct 2023 16:57:13 +0200 Subject: [PATCH] replace sprintf with snprintf. --- source/games/blood/src/player.cpp | 30 +-- source/games/duke/src/gamevar.cpp | 390 +++++++++++++++--------------- source/games/exhumed/src/cd.cpp | 4 +- source/games/sw/src/game.h | 2 +- source/games/sw/src/inv.cpp | 5 +- source/games/sw/src/player.cpp | 40 +-- source/games/sw/src/sounds.cpp | 2 +- source/games/sw/src/sprite.cpp | 38 +-- 8 files changed, 257 insertions(+), 254 deletions(-) diff --git a/source/games/blood/src/player.cpp b/source/games/blood/src/player.cpp index 0e7deb1e4..0b21ca7f9 100644 --- a/source/games/blood/src/player.cpp +++ b/source/games/blood/src/player.cpp @@ -1063,7 +1063,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) pPlayer->hasFlag |= 1; pPlayer->ctfFlagState[0] = itemactor; trTriggerSprite(itemactor, kCmdOff); - sprintf(buffer, "%s stole Blue Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s stole Blue Flag", PlayerName(pPlayer->pnum)); sndStartSample(8007, 255, 2, 0); viewSetMessage(buffer); } @@ -1075,7 +1075,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) pPlayer->hasFlag &= ~1; pPlayer->ctfFlagState[0] = nullptr; trTriggerSprite(itemactor, kCmdOn); - sprintf(buffer, "%s returned Blue Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s returned Blue Flag", PlayerName(pPlayer->pnum)); sndStartSample(8003, 255, 2, 0); viewSetMessage(buffer); } @@ -1086,7 +1086,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) team_score[pPlayer->teamId] += 10; team_ticker[pPlayer->teamId] += 240; evSendGame(81, kCmdOn); - sprintf(buffer, "%s captured Red Flag!", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s captured Red Flag!", PlayerName(pPlayer->pnum)); sndStartSample(8001, 255, 2, 0); viewSetMessage(buffer); } @@ -1100,7 +1100,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) pPlayer->hasFlag |= 2; pPlayer->ctfFlagState[1] = itemactor; trTriggerSprite(itemactor, kCmdOff); - sprintf(buffer, "%s stole Red Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s stole Red Flag", PlayerName(pPlayer->pnum)); sndStartSample(8006, 255, 2, 0); viewSetMessage(buffer); } @@ -1112,7 +1112,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) pPlayer->hasFlag &= ~2; pPlayer->ctfFlagState[1] = nullptr; trTriggerSprite(itemactor, kCmdOn); - sprintf(buffer, "%s returned Red Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s returned Red Flag", PlayerName(pPlayer->pnum)); sndStartSample(8002, 255, 2, 0); viewSetMessage(buffer); } @@ -1123,7 +1123,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) team_score[pPlayer->teamId] += 10; team_ticker[pPlayer->teamId] += 240; evSendGame(80, kCmdOn); - sprintf(buffer, "%s captured Blue Flag!", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s captured Blue Flag!", PlayerName(pPlayer->pnum)); sndStartSample(8000, 255, 2, 0); viewSetMessage(buffer); } @@ -1140,7 +1140,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) pPlayer->hasFlag &= ~1; pPlayer->ctfFlagState[0] = nullptr; trTriggerSprite(itemactor->GetOwner(), kCmdOn); - sprintf(buffer, "%s returned Blue Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s returned Blue Flag", PlayerName(pPlayer->pnum)); sndStartSample(8003, 255, 2, 0); viewSetMessage(buffer); break; @@ -1149,7 +1149,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) pPlayer->ctfFlagState[0] = itemactor->GetOwner(); if (enemyTeam) { - sprintf(buffer, "%s stole Blue Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s stole Blue Flag", PlayerName(pPlayer->pnum)); sndStartSample(8007, 255, 2, 0); viewSetMessage(buffer); } @@ -1164,7 +1164,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) pPlayer->hasFlag &= ~2; pPlayer->ctfFlagState[1] = nullptr; trTriggerSprite(itemactor->GetOwner(), kCmdOn); - sprintf(buffer, "%s returned Red Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s returned Red Flag", PlayerName(pPlayer->pnum)); sndStartSample(8002, 255, 2, 0); viewSetMessage(buffer); break; @@ -1173,7 +1173,7 @@ bool PickupItem(DBloodPlayer* pPlayer, DBloodActor* itemactor) pPlayer->ctfFlagState[1] = itemactor->GetOwner(); if (enemyTeam) { - sprintf(buffer, "%s stole Red Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s stole Red Flag", PlayerName(pPlayer->pnum)); sndStartSample(8006, 255, 2, 0); viewSetMessage(buffer); } @@ -1926,7 +1926,7 @@ void playerFrag(DBloodPlayer* pKiller, DBloodPlayer* pVictim) } else { - sprintf(buffer, gSuicide[nMessage].message, PlayerName(nVictim)); + snprintf(buffer, sizeof(buffer), gSuicide[nMessage].message, PlayerName(nVictim)); } } else @@ -1949,7 +1949,7 @@ void playerFrag(DBloodPlayer* pKiller, DBloodPlayer* pVictim) int nMessage = Random(25); int nSound = gVictory[nMessage].Kills; const char* pzMessage = gVictory[nMessage].message; - sprintf(buffer, pzMessage, PlayerName(nKiller), PlayerName(nVictim)); + snprintf(buffer, sizeof(buffer), pzMessage, PlayerName(nKiller), PlayerName(nVictim)); if (gGameOptions.nGameType > 0 && nSound >= 0 && pKiller->pnum == myconnectindex) sndStartSample(nSound, 255, 2, 0); } @@ -2032,7 +2032,7 @@ void flagDropped(DBloodPlayer* pPlayer, int a2) actor = actDropObject(playeractor, kItemFlagA); if (actor) actor->SetOwner(pPlayer->ctfFlagState[0]); gBlueFlagDropped = true; - sprintf(buffer, "%s dropped Blue Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s dropped Blue Flag", PlayerName(pPlayer->pnum)); sndStartSample(8005, 255, 2, 0); viewSetMessage(buffer); break; @@ -2041,7 +2041,7 @@ void flagDropped(DBloodPlayer* pPlayer, int a2) actor = actDropObject(playeractor, kItemFlagB); if (actor) actor->SetOwner(pPlayer->ctfFlagState[1]); gRedFlagDropped = true; - sprintf(buffer, "%s dropped Red Flag", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s dropped Red Flag", PlayerName(pPlayer->pnum)); sndStartSample(8004, 255, 2, 0); viewSetMessage(buffer); break; @@ -2315,7 +2315,7 @@ void PlayerSurvive(DBloodActor* actor) viewSetMessage(GStrings("TXT_LIVEAGAIM")); else { - sprintf(buffer, "%s lives again!", PlayerName(pPlayer->pnum)); + snprintf(buffer, sizeof(buffer), "%s lives again!", PlayerName(pPlayer->pnum)); viewSetMessage(buffer); } pPlayer->newWeapon = kWeapPitchFork; diff --git a/source/games/duke/src/gamevar.cpp b/source/games/duke/src/gamevar.cpp index 06483cfcb..87ae4d39e 100644 --- a/source/games/duke/src/gamevar.cpp +++ b/source/games/duke/src/gamevar.cpp @@ -550,52 +550,52 @@ void InitGameVarPointers(void) for (i = 0; i < 12/*MAX_WEAPONS*/; i++) // Setup only exists for the original 12 weapons. { - sprintf(aszBuf, "WEAPON%d_CLIP", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", i); i_aplWeaponClip[i] = GetGameValuePtr(aszBuf); if (i_aplWeaponClip[i] < 0) { I_FatalError("ERROR: NULL Weapon\n"); } - sprintf(aszBuf, "WEAPON%d_RELOAD", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", i); i_aplWeaponReload[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", i); i_aplWeaponFireDelay[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", i); i_aplWeaponTotalTime[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", i); i_aplWeaponHoldDelay[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_FLAGS", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", i); i_aplWeaponFlags[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_SHOOTS", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", i); i_aplWeaponShoots[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", i); i_aplWeaponSpawnTime[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_SPAWN", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", i); i_aplWeaponSpawn[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", i); i_aplWeaponShotsPerBurst[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", i); i_aplWeaponWorksLike[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", i); i_aplWeaponInitialSound[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", i); i_aplWeaponFireSound[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", i); i_aplWeaponSound2Time[i] = GetGameValuePtr(aszBuf); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", i); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", i); i_aplWeaponSound2Sound[i] = GetGameValuePtr(aszBuf); } @@ -618,563 +618,563 @@ void AddSystemVars() char aszBuf[64]; if (isWW2GI()) { - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", KNEE_WEAPON); AddGameVar(aszBuf, KNEE_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", KNEE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", KNEE_WEAPON); AddGameVar(aszBuf, 30, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", KNEE_WEAPON); AddGameVar(aszBuf, 7, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", KNEE_WEAPON); AddGameVar(aszBuf, 14, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", KNEE_WEAPON); AddGameVar(aszBuf, 14, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", KNEE_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_NOVISIBLE | WEAPON_FLAG_AUTOMATIC | WEAPON_FLAG_RANDOMRESTART, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", KNEE_WEAPON); AddGameVar(aszBuf, DukeMeleeAttackClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", KNEE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", KNEE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", KNEE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", KNEE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", KNEE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", KNEE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", KNEE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", KNEE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", PISTOL_WEAPON); AddGameVar(aszBuf, PISTOL_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", PISTOL_WEAPON); AddGameVar(aszBuf, 12, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", PISTOL_WEAPON); AddGameVar(aszBuf, 30, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", PISTOL_WEAPON); AddGameVar(aszBuf, 2, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", PISTOL_WEAPON); AddGameVar(aszBuf, 5, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", PISTOL_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", PISTOL_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_AUTOMATIC | WEAPON_FLAG_HOLSTER_CLEARS_CLIP, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", PISTOL_WEAPON); AddGameVar(aszBuf, DukeShotSparkClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", PISTOL_WEAPON); AddGameVar(aszBuf, 2, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", PISTOL_WEAPON); AddGameVar(aszBuf, DukeShellClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", PISTOL_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", PISTOL_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", PISTOL_WEAPON); AddGameVar(aszBuf, PISTOL_FIRE, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", PISTOL_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", PISTOL_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", PISTOL_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", SHOTGUN_WEAPON); AddGameVar(aszBuf, SHOTGUN_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", SHOTGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", SHOTGUN_WEAPON); AddGameVar(aszBuf, 13, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", SHOTGUN_WEAPON); AddGameVar(aszBuf, 4, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", SHOTGUN_WEAPON); AddGameVar(aszBuf, 31, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", SHOTGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", SHOTGUN_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_CHECKATRELOAD, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", SHOTGUN_WEAPON); AddGameVar(aszBuf, DukeShotgunShotClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", SHOTGUN_WEAPON); AddGameVar(aszBuf, 24, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", SHOTGUN_WEAPON); AddGameVar(aszBuf, DukeShotgunShellClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", SHOTGUN_WEAPON); AddGameVar(aszBuf, 7, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", SHOTGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", SHOTGUN_WEAPON); AddGameVar(aszBuf, SHOTGUN_FIRE, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", SHOTGUN_WEAPON); AddGameVar(aszBuf, 15, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", SHOTGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", SHOTGUN_WEAPON); AddGameVar(aszBuf, SHOTGUN_COCK, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", CHAINGUN_WEAPON); AddGameVar(aszBuf, CHAINGUN_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", CHAINGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", CHAINGUN_WEAPON); AddGameVar(aszBuf, 30, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", CHAINGUN_WEAPON); AddGameVar(aszBuf, 1, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", CHAINGUN_WEAPON); AddGameVar(aszBuf, 10, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", CHAINGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", CHAINGUN_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_AUTOMATIC | WEAPON_FLAG_FIREEVERYTHIRD | WEAPON_FLAG_AMMOPERSHOT, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", CHAINGUN_WEAPON); AddGameVar(aszBuf, DukeChaingunShotClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", CHAINGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", CHAINGUN_WEAPON); AddGameVar(aszBuf, DukeShellClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", CHAINGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", CHAINGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", CHAINGUN_WEAPON); AddGameVar(aszBuf, CHAINGUN_FIRE, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", CHAINGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", CHAINGUN_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", CHAINGUN_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", RPG_WEAPON); AddGameVar(aszBuf, RPG_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", RPG_WEAPON); AddGameVar(aszBuf, 30, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", RPG_WEAPON); AddGameVar(aszBuf, 4, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", RPG_WEAPON); AddGameVar(aszBuf, 20, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", RPG_WEAPON); AddGameVar(aszBuf, DukeRPGClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", RPG_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", RPG_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", HANDBOMB_WEAPON); AddGameVar(aszBuf, HANDBOMB_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", HANDBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", HANDBOMB_WEAPON); AddGameVar(aszBuf, 30, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", HANDBOMB_WEAPON); AddGameVar(aszBuf, 6, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", HANDBOMB_WEAPON); AddGameVar(aszBuf, 19, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", HANDBOMB_WEAPON); AddGameVar(aszBuf, 12, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", HANDBOMB_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_THROWIT, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", HANDBOMB_WEAPON); AddGameVar(aszBuf, DukePipeBombClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", HANDBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", HANDBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", HANDBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", HANDBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", HANDBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", HANDBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", HANDBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", HANDBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", SHRINKER_WEAPON); AddGameVar(aszBuf, SHRINKER_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", SHRINKER_WEAPON); AddGameVar(aszBuf, 3, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", SHRINKER_WEAPON); AddGameVar(aszBuf, 12, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", SHRINKER_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_GLOWS, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", SHRINKER_WEAPON); AddGameVar(aszBuf, DukeShrinkerClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", SHRINKER_WEAPON); AddGameVar(aszBuf, SHRINKER_FIRE, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", SHRINKER_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", SHRINKER_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", DEVISTATOR_WEAPON); AddGameVar(aszBuf, DEVISTATOR_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 30, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 2, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 5, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 5, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", DEVISTATOR_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_FIREEVERYOTHER, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", DEVISTATOR_WEAPON); AddGameVar(aszBuf, DukeRPGClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", DEVISTATOR_WEAPON); AddGameVar(aszBuf, CAT_FIRE, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", DEVISTATOR_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", DEVISTATOR_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", TRIPBOMB_WEAPON); AddGameVar(aszBuf, TRIPBOMB_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 30, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 3, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 16, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", TRIPBOMB_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_STANDSTILL, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", TRIPBOMB_WEAPON); AddGameVar(aszBuf, DukeHandHoldingLaserClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", TRIPBOMB_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", TRIPBOMB_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", FREEZE_WEAPON); AddGameVar(aszBuf, FREEZE_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", FREEZE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", FREEZE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", FREEZE_WEAPON); AddGameVar(aszBuf, 3, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", FREEZE_WEAPON); AddGameVar(aszBuf, 5, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", FREEZE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", FREEZE_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_FIREEVERYOTHER, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", FREEZE_WEAPON); AddGameVar(aszBuf, DukeFreezeBlastClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", FREEZE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", FREEZE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", FREEZE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", FREEZE_WEAPON); AddGameVar(aszBuf, CAT_FIRE, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", FREEZE_WEAPON); AddGameVar(aszBuf, CAT_FIRE, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", FREEZE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", FREEZE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", FREEZE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); ///////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", HANDREMOTE_WEAPON); AddGameVar(aszBuf, HANDREMOTE_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 10, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 2, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 10, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", HANDREMOTE_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_BOMB_TRIGGER | WEAPON_FLAG_NOVISIBLE, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", HANDREMOTE_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", HANDREMOTE_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); /////////////////////////////////////////////////////// - sprintf(aszBuf, "WEAPON%d_WORKSLIKE", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_WORKSLIKE", GROW_WEAPON); AddGameVar(aszBuf, GROW_WEAPON, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_CLIP", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_CLIP", GROW_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_RELOAD", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_RELOAD", GROW_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIREDELAY", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIREDELAY", GROW_WEAPON); AddGameVar(aszBuf, 2, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_TOTALTIME", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_TOTALTIME", GROW_WEAPON); AddGameVar(aszBuf, 5, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_HOLDDELAY", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_HOLDDELAY", GROW_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FLAGS", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FLAGS", GROW_WEAPON); AddGameVar(aszBuf, WEAPON_FLAG_GLOWS, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOOTS", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOOTS", GROW_WEAPON); AddGameVar(aszBuf, DukeGrowSparkClass->ActorInfo()->TypeNum, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWNTIME", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWNTIME", GROW_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SPAWN", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SPAWN", GROW_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SHOTSPERBURST", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SHOTSPERBURST", GROW_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_INITIALSOUND", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_INITIALSOUND", GROW_WEAPON); AddGameVar(aszBuf, EXPANDERSHOOT, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_FIRESOUND", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_FIRESOUND", GROW_WEAPON); AddGameVar(aszBuf, EXPANDERSHOOT, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2TIME", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2TIME", GROW_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); - sprintf(aszBuf, "WEAPON%d_SOUND2SOUND", GROW_WEAPON); + snprintf(aszBuf, sizeof(aszBuf), "WEAPON%d_SOUND2SOUND", GROW_WEAPON); AddGameVar(aszBuf, 0, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); } AddGameVar("GRENADE_LIFETIME", NAM_GRENADE_LIFETIME, GAMEVAR_FLAG_PERPLAYER | GAMEVAR_FLAG_SYSTEM); diff --git a/source/games/exhumed/src/cd.cpp b/source/games/exhumed/src/cd.cpp index d49935889..953bffc91 100644 --- a/source/games/exhumed/src/cd.cpp +++ b/source/games/exhumed/src/cd.cpp @@ -46,11 +46,11 @@ bool playCDtrack(int nTrack, bool bLoop) char filename[128]; // try ogg vorbis now from root directory. - sprintf(filename, "exhumed%02d.ogg", nTrack); + snprintf(filename, sizeof(filename), "exhumed%02d.ogg", nTrack); if (!Mus_Play(filename, bLoop)) { // try ogg vorbis now from GOG MUSIC subdirectory. - sprintf(filename, "track%02d.ogg", nTrack); + snprintf(filename, sizeof(filename), "track%02d.ogg", nTrack); Mus_Play(filename, bLoop); } return true; diff --git a/source/games/sw/src/game.h b/source/games/sw/src/game.h index 68f64bf11..4b3ee699c 100644 --- a/source/games/sw/src/game.h +++ b/source/games/sw/src/game.h @@ -1526,7 +1526,7 @@ extern bool NewGame; extern uint8_t CommPlayers; extern bool CommEnabled; extern int LastFrameTics; -extern char ds[]; +extern char ds[645]; extern short Skill; extern int GodMode; diff --git a/source/games/sw/src/inv.cpp b/source/games/sw/src/inv.cpp index 9856fc23d..a32ed13f7 100644 --- a/source/games/sw/src/inv.cpp +++ b/source/games/sw/src/inv.cpp @@ -461,8 +461,9 @@ void InventoryKeys(DSWPlayer* pp) } else { - sprintf(ds,"No %s",InventoryData[pp->InventoryNum].Name); - PutStringInfo(pp,ds); // DONT have message + // this needs to be fixed for localization! + FStringf ds("No %s",InventoryData[pp->InventoryNum].Name); + PutStringInfo(pp,ds.GetChars()); // DONT have message } } } diff --git a/source/games/sw/src/player.cpp b/source/games/sw/src/player.cpp index fa286733f..a57ba896c 100644 --- a/source/games/sw/src/player.cpp +++ b/source/games/sw/src/player.cpp @@ -4843,6 +4843,8 @@ const char *SuicideNote[MAX_SUICIDE] = "did everyone a favor and offed himself." }; +// currently unused, if MP ever becomes workable all this needs to be made localization friendly. +// The texts are already translated for most languages. char *KilledPlayerMessage(DSWPlayer* pp, DSWPlayer* killer) { const int MAX_KILL_NOTES = 16; @@ -4852,59 +4854,59 @@ char *KilledPlayerMessage(DSWPlayer* pp, DSWPlayer* killer) if (pp->HitBy == killer->GetActor()) { - sprintf(ds,"%s was killed by %s.",p1,p2); + snprintf(ds, sizeof(ds),"%s was killed by %s.",p1,p2); return ds; } else switch (rnd) { case 0: - sprintf(ds,"%s was wasted by %s's %s.",p1,p2,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s was wasted by %s's %s.",p1,p2,DeathString(pp->HitBy)); return ds; case 1: - sprintf(ds,"%s got his ass kicked by %s's %s.",p1,p2,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s got his ass kicked by %s's %s.",p1,p2,DeathString(pp->HitBy)); return ds; case 2: - sprintf(ds,"%s bows down before the mighty power of %s.",p1,p2); + snprintf(ds, sizeof(ds),"%s bows down before the mighty power of %s.",p1,p2); return ds; case 3: - sprintf(ds,"%s was killed by %s's %s.",p1,p2,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s was killed by %s's %s.",p1,p2,DeathString(pp->HitBy)); return ds; case 4: - sprintf(ds,"%s got slapped down hard by %s's %s.",p1,p2,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s got slapped down hard by %s's %s.",p1,p2,DeathString(pp->HitBy)); return ds; case 5: - sprintf(ds,"%s got on his knees before %s.",p1,p2); + snprintf(ds, sizeof(ds),"%s got on his knees before %s.",p1,p2); return ds; case 6: - sprintf(ds,"%s was totally out classed by %s's %s.",p1,p2,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s was totally out classed by %s's %s.",p1,p2,DeathString(pp->HitBy)); return ds; case 7: - sprintf(ds,"%s got chewed apart by %s's %s.",p1,p2,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s got chewed apart by %s's %s.",p1,p2,DeathString(pp->HitBy)); return ds; case 8: - sprintf(ds,"%s was retired by %s's %s.",p1,p2,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s was retired by %s's %s.",p1,p2,DeathString(pp->HitBy)); return ds; case 9: - sprintf(ds,"%s was greased by %s's %s.",p1,p2,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s was greased by %s's %s.",p1,p2,DeathString(pp->HitBy)); return ds; case 10: - sprintf(ds,"%s was humbled lower than dirt by %s.",p1,p2); + snprintf(ds, sizeof(ds),"%s was humbled lower than dirt by %s.",p1,p2); return ds; case 11: - sprintf(ds,"%s beats %s like a red headed step child.",p2,p1); + snprintf(ds, sizeof(ds),"%s beats %s like a red headed step child.",p2,p1); return ds; case 12: - sprintf(ds,"%s begs for mercy as %s terminates him with extreme prejudice.",p1,p2); + snprintf(ds, sizeof(ds),"%s begs for mercy as %s terminates him with extreme prejudice.",p1,p2); return ds; case 13: - sprintf(ds,"%s falls before the superior skills of %s.",p1,p2); + snprintf(ds, sizeof(ds),"%s falls before the superior skills of %s.",p1,p2); return ds; case 14: - sprintf(ds,"%s gives %s a beating he'll never forget.",p2,p1); + snprintf(ds, sizeof(ds),"%s gives %s a beating he'll never forget.",p2,p1); return ds; case 15: - sprintf(ds,"%s puts the Smack Dab on %s with his %s.",p2,p1,DeathString(pp->HitBy)); + snprintf(ds, sizeof(ds),"%s puts the Smack Dab on %s with his %s.",p2,p1,DeathString(pp->HitBy)); return ds; } return nullptr; @@ -4925,14 +4927,14 @@ void DoPlayerDeathMessage(DSWPlayer* pp, DSWPlayer* killer) if (pp == killer && pp == getPlayer(myconnectindex)) { - sprintf(ds,"%s %s",pp->PlayerName,SuicideNote[StdRandomRange(MAX_SUICIDE)]); + snprintf(ds, sizeof(ds),"%s %s",pp->PlayerName,SuicideNote[StdRandomRange(MAX_SUICIDE)]); SEND_OK = true; } else // I am being killed if (killer == getPlayer(myconnectindex)) { - sprintf(ds,"%s",KilledPlayerMessage(pp,killer)); + snprintf(ds, sizeof(ds),"%s",KilledPlayerMessage(pp,killer)); SEND_OK = true; } diff --git a/source/games/sw/src/sounds.cpp b/source/games/sw/src/sounds.cpp index 3317ea017..a0192801d 100644 --- a/source/games/sw/src/sounds.cpp +++ b/source/games/sw/src/sounds.cpp @@ -198,7 +198,7 @@ void InitAmbient(int num, DSWActor* actor) { if (num != -1) // skip message for -1 to allow using it for silencing buggy ambient sound sprites (there is one in SW level 9.) { - sprintf(ds, "Invalid or out of range ambient sound number %d\n", num); + snprintf(ds, sizeof(ds), "Invalid or out of range ambient sound number %d\n", num); PutStringInfo(getPlayer(screenpeek), ds); } return; diff --git a/source/games/sw/src/sprite.cpp b/source/games/sw/src/sprite.cpp index ac1788fd7..019b84edf 100644 --- a/source/games/sw/src/sprite.cpp +++ b/source/games/sw/src/sprite.cpp @@ -5349,7 +5349,7 @@ KeyMain: if (pp->WpnAmmo[WPN_MINE] >= DamageData[WPN_MINE].max_ammo) break; - //sprintf(ds,"Sticky Bombs"); + //snprintf(ds, sizeof(ds),"Sticky Bombs"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNSTICKY)); PlayerUpdateAmmo(pp, WPN_MINE, DamageData[WPN_MINE].weapon_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5378,7 +5378,7 @@ KeyMain: if (pp->Flags & (PF_TWO_UZI) && pp->WpnAmmo[WPN_UZI] >= DamageData[WPN_UZI].max_ammo) break; - //sprintf(ds,"UZI Submachine Gun"); + //snprintf(ds, sizeof(ds),"UZI Submachine Gun"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNUZI)); // pp->WpnAmmo[WPN_UZI] += 50; PlayerUpdateAmmo(pp, WPN_UZI, DamageData[WPN_UZI].weapon_pickup); @@ -5416,7 +5416,7 @@ KeyMain: case ICON_LG_UZI_AMMO: if (pp->WpnAmmo[WPN_UZI] >= DamageData[WPN_UZI].max_ammo) break; - //sprintf(ds,"UZI Clip"); + //snprintf(ds, sizeof(ds),"UZI Clip"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_AMMOUZI)); PlayerUpdateAmmo(pp, WPN_UZI, DamageData[WPN_UZI].ammo_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5434,7 +5434,7 @@ KeyMain: if (pp->WpnFlags & (BIT(WPN_MICRO)) && pp->WpnAmmo[WPN_MICRO] >= DamageData[WPN_MICRO].max_ammo) break; - //sprintf(ds,"Missile Launcher"); + //snprintf(ds, sizeof(ds),"Missile Launcher"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNLAUNCH)); // pp->WpnAmmo[WPN_MICRO] += 5; PlayerUpdateAmmo(pp, WPN_MICRO, DamageData[WPN_MICRO].weapon_pickup); @@ -5457,7 +5457,7 @@ KeyMain: case ICON_MICRO_BATTERY: if (pp->WpnAmmo[WPN_MICRO] >= DamageData[WPN_MICRO].max_ammo) break; - //sprintf(ds,"Missiles"); + //snprintf(ds, sizeof(ds),"Missiles"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_AMMOLAUNCH)); PlayerUpdateAmmo(pp, WPN_MICRO, DamageData[WPN_MICRO].ammo_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5469,7 +5469,7 @@ KeyMain: case ICON_NUKE: if (pp->WpnRocketNuke != 1) { - //sprintf(ds,"Nuclear Warhead"); + //snprintf(ds, sizeof(ds),"Nuclear Warhead"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNNUKE)); pp->WpnRocketNuke =uint8_t(DamageData[DMG_NUCLEAR_EXP].weapon_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5501,7 +5501,7 @@ KeyMain: if (pp->WpnFlags & (BIT(WPN_GRENADE)) && pp->WpnAmmo[WPN_GRENADE] >= DamageData[WPN_GRENADE].max_ammo) break; - //sprintf(ds,"Grenade Launcher"); + //snprintf(ds, sizeof(ds),"Grenade Launcher"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNGRENADE)); // pp->WpnAmmo[WPN_GRENADE] += 6; PlayerUpdateAmmo(pp, WPN_GRENADE, DamageData[WPN_GRENADE].weapon_pickup); @@ -5526,7 +5526,7 @@ KeyMain: case ICON_LG_GRENADE: if (pp->WpnAmmo[WPN_GRENADE] >= DamageData[WPN_GRENADE].max_ammo) break; - //sprintf(ds,"Grenade Shells"); + //snprintf(ds, sizeof(ds),"Grenade Shells"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_AMMOGRENADE)); PlayerUpdateAmmo(pp, WPN_GRENADE, DamageData[WPN_GRENADE].ammo_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5551,7 +5551,7 @@ KeyMain: break; case ICON_LG_ROCKET: - sprintf(ds,"20 Missiles"); + snprintf(ds, sizeof(ds),"20 Missiles"); PutStringInfo(Player+pnum, ds); PlayerUpdateAmmo(pp, WPN_ROCKET, 20); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5571,7 +5571,7 @@ KeyMain: if (pp->WpnFlags & (BIT(WPN_RAIL)) && pp->WpnAmmo[WPN_RAIL] >= DamageData[WPN_RAIL].max_ammo) break; - //sprintf(ds,"Rail Gun"); + //snprintf(ds, sizeof(ds),"Rail Gun"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNRAILGUN)); PlayerUpdateAmmo(pp, WPN_RAIL, DamageData[WPN_RAIL].weapon_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5602,7 +5602,7 @@ KeyMain: if (pp->WpnAmmo[WPN_RAIL] >= DamageData[WPN_RAIL].max_ammo) break; - //sprintf(ds,"Rail Gun Rods"); + //snprintf(ds, sizeof(ds),"Rail Gun Rods"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_AMMORAILGUN)); PlayerUpdateAmmo(pp, WPN_RAIL, DamageData[WPN_RAIL].ammo_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5619,7 +5619,7 @@ KeyMain: if (pp->WpnFlags & (BIT(WPN_SHOTGUN)) && pp->WpnAmmo[WPN_SHOTGUN] >= DamageData[WPN_SHOTGUN].max_ammo) break; - //sprintf(ds,"Riot Gun"); + //snprintf(ds, sizeof(ds),"Riot Gun"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNRIOT)); // pp->WpnAmmo[WPN_SHOTGUN] += 10; PlayerUpdateAmmo(pp, WPN_SHOTGUN, DamageData[WPN_SHOTGUN].weapon_pickup); @@ -5642,7 +5642,7 @@ KeyMain: case ICON_LG_SHOTSHELL: if (pp->WpnAmmo[WPN_SHOTGUN] >= DamageData[WPN_SHOTGUN].max_ammo) break; - //sprintf(ds,"Shotshells"); + //snprintf(ds, sizeof(ds),"Shotshells"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_AMMORIOT)); PlayerUpdateAmmo(pp, WPN_SHOTGUN, DamageData[WPN_SHOTGUN].ammo_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash on item pickup @@ -5655,7 +5655,7 @@ KeyMain: case ICON_AUTORIOT: if (pp->WpnShotgunAuto != 50) { - sprintf(ds,"Riot Gun TurboDrive, +50 12-Gauge Slugs"); + snprintf(ds, sizeof(ds),"Riot Gun TurboDrive, +50 12-Gauge Slugs"); PutStringInfo(Player+pnum, ds); pp->WpnShotgunAuto = 50; SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5686,7 +5686,7 @@ KeyMain: if (pp->WpnFlags & (BIT(WPN_HOTHEAD)) && pp->WpnAmmo[WPN_HOTHEAD] >= DamageData[WPN_HOTHEAD].max_ammo) break; - //sprintf(ds,"Guardian Head"); + //snprintf(ds, sizeof(ds),"Guardian Head"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNHEAD)); PlayerUpdateAmmo(pp, WPN_HOTHEAD, DamageData[WPN_HOTHEAD].weapon_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5712,7 +5712,7 @@ KeyMain: if (pp->WpnAmmo[WPN_HOTHEAD] >= DamageData[WPN_HOTHEAD].max_ammo) break; - //sprintf(ds,"Firebursts"); + //snprintf(ds, sizeof(ds),"Firebursts"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_AMMOHEAD)); PlayerUpdateAmmo(pp, WPN_HOTHEAD, DamageData[WPN_HOTHEAD].ammo_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5731,7 +5731,7 @@ KeyMain: if (pp->WpnFlags & (BIT(WPN_HEART)) && pp->WpnAmmo[WPN_HEART] >= DamageData[WPN_HEART].max_ammo) break; - //sprintf(ds,"Ripper Heart"); + //snprintf(ds, sizeof(ds),"Ripper Heart"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_WPNRIPPER)); PlayerUpdateAmmo(pp, WPN_HEART, DamageData[WPN_HEART].weapon_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5759,7 +5759,7 @@ KeyMain: if (pp->WpnAmmo[WPN_HEART] >= DamageData[WPN_HEART].max_ammo) break; - //sprintf(ds,"Deathcoils"); + //snprintf(ds, sizeof(ds),"Deathcoils"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_AMMORIPPER)); PlayerUpdateAmmo(pp, WPN_HEART, DamageData[WPN_HEART].ammo_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup @@ -5771,7 +5771,7 @@ KeyMain: case ICON_HEAT_CARD: if (pp->WpnRocketHeat != 5) { - //sprintf(ds,"Heat Seeker Card"); + //snprintf(ds, sizeof(ds),"Heat Seeker Card"); PutStringInfo(pp, quoteMgr.GetQuote(QUOTE_AMMONUKE)); pp->WpnRocketHeat = uint8_t(DamageData[DMG_NUCLEAR_EXP].ammo_pickup); SetFadeAmt(pp,ITEMFLASHAMT,ITEMFLASHCLR); // Flash blue on item pickup