diff --git a/source/exhumed/src/exhumed.cpp b/source/exhumed/src/exhumed.cpp index d59bff940..5110fee57 100644 --- a/source/exhumed/src/exhumed.cpp +++ b/source/exhumed/src/exhumed.cpp @@ -3424,7 +3424,7 @@ int Query(short nLines, short nKeys, ...) } for (i = 0; i < nKeys; i++) { - keys[i] = va_arg(args, char); + keys[i] = (char)va_arg(args, int); } va_end(args); diff --git a/source/exhumed/src/gun.cpp b/source/exhumed/src/gun.cpp index 302d8429d..8dc22f6d7 100644 --- a/source/exhumed/src/gun.cpp +++ b/source/exhumed/src/gun.cpp @@ -833,10 +833,9 @@ loc_flag: short thetargetthin = sPlayerInput[nPlayer].nTarget; - assert(sprite[sPlayerInput[nPlayer].nTarget].sectnum < kMaxSectors); - if (sPlayerInput[nPlayer].nTarget >= 0) { + assert(sprite[sPlayerInput[nPlayer].nTarget].sectnum < kMaxSectors); var_50 = sPlayerInput[nPlayer].nTarget + 10000; } diff --git a/source/exhumed/src/object.cpp b/source/exhumed/src/object.cpp index c56cf3021..07cf213ec 100644 --- a/source/exhumed/src/object.cpp +++ b/source/exhumed/src/object.cpp @@ -799,7 +799,7 @@ int BuildWallFace(short nChannel, short nWall, short nCount, ...) int i = WallFace[WallFaceCount].field_4; WallFace[WallFaceCount].field_4++; - WallFace[WallFaceCount].field_6[i] = va_arg(piclist, short); + WallFace[WallFaceCount].field_6[i] = (short)va_arg(piclist, int); } va_end(piclist); diff --git a/source/exhumed/src/player.cpp b/source/exhumed/src/player.cpp index 8bf2ce4a0..5ef407d21 100644 --- a/source/exhumed/src/player.cpp +++ b/source/exhumed/src/player.cpp @@ -1011,7 +1011,17 @@ void PlayAlert(const char *str) void DoKenTest() { int nPlayerSprite = PlayerList[0].nSprite; // CHECKME + if ((unsigned int)nPlayerSprite >= kMaxSprites) + { + initprintf("DoKenTest: (unsigned int)nPlayerSprite >= kMaxSprites)\n"); + return; + } int nSector = sprite[nPlayerSprite].sectnum; + if ((unsigned int)nSector >= kMaxSectors) + { + initprintf("DoKenTest: (unsigned int)nSector >= kMaxSectors\n"); + return; + } for (int i = headspritesect[nSector]; ; i = nextspritesect[i]) {