diff --git a/soh/CMakeLists.txt b/soh/CMakeLists.txt index 1a92150509..5111ab74e5 100644 --- a/soh/CMakeLists.txt +++ b/soh/CMakeLists.txt @@ -424,14 +424,13 @@ if(MSVC) if(SOH_WINDOWS_64BIT) target_compile_options(${PROJECT_NAME} PRIVATE $<$: - /w; /Od > $<$: /Oi; /Gy; - /W3 > + /W3; /bigobj; /sdl-; /permissive-; @@ -453,7 +452,7 @@ if(MSVC) /permissive-; /MP; /sdl-; - /w; + /W3; ${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT}; ${DEFAULT_CXX_EXCEPTION_HANDLING} ) diff --git a/soh/soh/ActorDB.cpp b/soh/soh/ActorDB.cpp index 70ea29675e..1455b9c509 100644 --- a/soh/soh/ActorDB.cpp +++ b/soh/soh/ActorDB.cpp @@ -482,7 +482,7 @@ ActorDB::Entry& ActorDB::AddEntry(const std::string& name, const std::string& de db.resize(index + 1); } Entry& newEntry = db.at(index); - newEntry.entry.id = index; + newEntry.entry.id = static_cast(index); assert(!newEntry.entry.valid); @@ -552,7 +552,7 @@ int ActorDB::RetrieveId(const std::string& name) { } int ActorDB::GetEntryCount() { - return db.size(); + return static_cast(db.size()); } ActorDB::Entry::Entry() { diff --git a/soh/soh/Enhancements/Cheats/Infinite/Ammo.cpp b/soh/soh/Enhancements/Cheats/Infinite/Ammo.cpp index a4fabc4251..8be70c6976 100644 --- a/soh/soh/Enhancements/Cheats/Infinite/Ammo.cpp +++ b/soh/soh/Enhancements/Cheats/Infinite/Ammo.cpp @@ -20,11 +20,11 @@ void OnGameFrameUpdateInfiniteAmmo() { return; } - AMMO(ITEM_STICK) = CUR_CAPACITY(UPG_STICKS); - AMMO(ITEM_NUT) = CUR_CAPACITY(UPG_NUTS); - AMMO(ITEM_BOMB) = CUR_CAPACITY(UPG_BOMB_BAG); - AMMO(ITEM_BOW) = CUR_CAPACITY(UPG_QUIVER); - AMMO(ITEM_SLINGSHOT) = CUR_CAPACITY(UPG_BULLET_BAG); + AMMO(ITEM_STICK) = static_cast(CUR_CAPACITY(UPG_STICKS)); + AMMO(ITEM_NUT) = static_cast(CUR_CAPACITY(UPG_NUTS)); + AMMO(ITEM_BOMB) = static_cast(CUR_CAPACITY(UPG_BOMB_BAG)); + AMMO(ITEM_BOW) = static_cast(CUR_CAPACITY(UPG_QUIVER)); + AMMO(ITEM_SLINGSHOT) = static_cast(CUR_CAPACITY(UPG_BULLET_BAG)); if (INV_CONTENT(ITEM_BOMBCHU) != ITEM_NONE) { int chuCapacity = 50; if (IS_RANDO && RAND_GET_OPTION(RSK_BOMBCHU_BAG).Is(RO_BOMBCHU_BAG_PROGRESSIVE)) { diff --git a/soh/soh/Enhancements/ExtraModes/HurtContainer.cpp b/soh/soh/Enhancements/ExtraModes/HurtContainer.cpp index ecf39ef315..35888e842c 100644 --- a/soh/soh/Enhancements/ExtraModes/HurtContainer.cpp +++ b/soh/soh/Enhancements/ExtraModes/HurtContainer.cpp @@ -30,7 +30,8 @@ static void RegisterHurtContainer() { UpdateHurtContainerModeState(); } - COND_HOOK(OnLoadGame, hurtEnabled != CVAR_HURT_CONTAINER_VALUE, [](int32_t) { UpdateHurtContainerModeState(); }); + COND_HOOK(OnLoadGame, static_cast(hurtEnabled) != CVAR_HURT_CONTAINER_VALUE, + [](int32_t) { UpdateHurtContainerModeState(); }); COND_VB_SHOULD(VB_HEARTS_INCREASE_WITH_CONTAINERS, CVAR_HURT_CONTAINER_VALUE, { *should = false; diff --git a/soh/soh/Enhancements/ExtraModes/MirroredWorld.cpp b/soh/soh/Enhancements/ExtraModes/MirroredWorld.cpp index 304046bb4a..80e42bc130 100644 --- a/soh/soh/Enhancements/ExtraModes/MirroredWorld.cpp +++ b/soh/soh/Enhancements/ExtraModes/MirroredWorld.cpp @@ -26,7 +26,7 @@ static bool MirroredWorld_IsInDungeon(int32_t sceneNum) { } static void MirroredWorld_InitRandomSeed(int32_t sceneNum, uint64_t* randState) { - uint32_t seed = + uint64_t seed = sceneNum + (IS_RANDO ? Rando::Context::GetInstance()->GetSeed() : gSaveContext.ship.stats.fileCreatedAt); ShipUtils::RandInit(seed, randState); } diff --git a/soh/soh/Enhancements/GameplayStats/BossDefeatTimestamps.cpp b/soh/soh/Enhancements/GameplayStats/BossDefeatTimestamps.cpp index 1cb05814b5..0b7cf2f765 100644 --- a/soh/soh/Enhancements/GameplayStats/BossDefeatTimestamps.cpp +++ b/soh/soh/Enhancements/GameplayStats/BossDefeatTimestamps.cpp @@ -3,9 +3,10 @@ extern "C" SaveContext gSaveContext; -#define BOSS_DEFEAT_TIMESTAMP(actorID, timestamp) \ - COND_ID_HOOK(OnBossDefeat, actorID, true, \ - [](void* refActor) { gSaveContext.ship.stats.itemTimestamp[timestamp] = GAMEPLAYSTAT_TOTAL_TIME; }); +#define BOSS_DEFEAT_TIMESTAMP(actorID, timestamp) \ + COND_ID_HOOK(OnBossDefeat, actorID, true, [](void* refActor) { \ + gSaveContext.ship.stats.itemTimestamp[timestamp] = static_cast(GAMEPLAYSTAT_TOTAL_TIME); \ + }); static void RegisterBossDefeatTimestamps() { BOSS_DEFEAT_TIMESTAMP(ACTOR_BOSS_GOMA, TIMESTAMP_DEFEAT_GOHMA); diff --git a/soh/soh/Enhancements/Graphics/RemoveSpinAttackDarkness.cpp b/soh/soh/Enhancements/Graphics/RemoveSpinAttackDarkness.cpp index 6349a7818e..7425495042 100644 --- a/soh/soh/Enhancements/Graphics/RemoveSpinAttackDarkness.cpp +++ b/soh/soh/Enhancements/Graphics/RemoveSpinAttackDarkness.cpp @@ -21,9 +21,10 @@ void Custom_EnMThunder_Update(Actor* thisx, PlayState* play) { // func_80A9F314(play, this->dimmingIntensity); blueRadius = enMThunder->spinAttackTimer; redGreen = (u32)(blueRadius * 255.0f) & 0xFF; - Lights_PointNoGlowSetInfo(&enMThunder->lightInfo, enMThunder->actor.world.pos.x, enMThunder->actor.world.pos.y, - enMThunder->actor.world.pos.z, redGreen, redGreen, (u32)(blueRadius * 100.0f), - (s32)(blueRadius * 800.0f)); + Lights_PointNoGlowSetInfo(&enMThunder->lightInfo, static_cast(enMThunder->actor.world.pos.x), + static_cast(enMThunder->actor.world.pos.y), + static_cast(enMThunder->actor.world.pos.z), redGreen, redGreen, + (u32)(blueRadius * 100.0f), (s32)(blueRadius * 800.0f)); } void OnEnMThunderInitReplaceUpdateWithCustom(void* thunder) { diff --git a/soh/soh/Enhancements/Graphics/ToTMedallions.cpp b/soh/soh/Enhancements/Graphics/ToTMedallions.cpp index e3a409196d..e6dc670821 100644 --- a/soh/soh/Enhancements/Graphics/ToTMedallions.cpp +++ b/soh/soh/Enhancements/Graphics/ToTMedallions.cpp @@ -1,6 +1,7 @@ #include "soh/Enhancements/game-interactor/GameInteractor_Hooks.h" #include "soh/ResourceManagerHelpers.h" #include "soh/ShipInit.hpp" +#include "soh/ResourceManagerHelpers.h" extern "C" { #include "align_asset_macro.h" diff --git a/soh/soh/Enhancements/TimeDisplay/TimeDisplay.cpp b/soh/soh/Enhancements/TimeDisplay/TimeDisplay.cpp index 57ef0286ab..3833562554 100644 --- a/soh/soh/Enhancements/TimeDisplay/TimeDisplay.cpp +++ b/soh/soh/Enhancements/TimeDisplay/TimeDisplay.cpp @@ -58,7 +58,7 @@ std::string convertDayTime(uint32_t dayTime) { } std::string convertNaviTime(uint32_t value) { - uint32_t totalSeconds = value * 0.05; + uint32_t totalSeconds = value / 20; uint32_t ss = totalSeconds % 60; uint32_t mm = totalSeconds / 60; return fmt::format("{:0>2}:{:0>2}", mm, ss); @@ -70,12 +70,12 @@ std::string formatHotWaterDisplay(uint32_t value) { return fmt::format("{:0>2}:{:0>2}", mm, ss); } -std::string formatTimeDisplay(uint32_t value) { - uint32_t sec = value / 10; - uint32_t hh = sec / 3600; - uint32_t mm = (sec - hh * 3600) / 60; - uint32_t ss = sec - hh * 3600 - mm * 60; - uint32_t ds = value % 10; +std::string formatTimeDisplay(uint64_t value) { + uint64_t sec = value / 10; + uint64_t hh = sec / 3600; + uint64_t mm = (sec - hh * 3600) / 60; + uint64_t ss = sec - hh * 3600 - mm * 60; + uint64_t ds = value % 10; return fmt::format("{}:{:0>2}:{:0>2}.{}", hh, mm, ss, ds); } diff --git a/soh/soh/Enhancements/Warping.cpp b/soh/soh/Enhancements/Warping.cpp index ad29a3c0c3..0a11c6e27f 100644 --- a/soh/soh/Enhancements/Warping.cpp +++ b/soh/soh/Enhancements/Warping.cpp @@ -65,8 +65,8 @@ void Warp(WarpPoint& warpPoint) { for (int buttonIndex = 0; buttonIndex < ARRAY_COUNT(gSaveContext.buttonStatus); buttonIndex++) { gSaveContext.buttonStatus[buttonIndex] = BTN_ENABLED; } - gSaveContext.forceRisingButtonAlphas = gSaveContext.unk_13E8 = gSaveContext.unk_13EA = gSaveContext.unk_13EC = - 0; + gSaveContext.unk_13E8 = gSaveContext.unk_13EA = gSaveContext.unk_13EC = 0; + gSaveContext.forceRisingButtonAlphas = 0; Audio_QueueSeqCmd(SEQ_PLAYER_BGM_MAIN << 24 | NA_BGM_STOP); gSaveContext.entranceIndex = warpPoint.entranceId; diff --git a/soh/soh/Enhancements/audio/AudioEditor.cpp b/soh/soh/Enhancements/audio/AudioEditor.cpp index ce3bc7c245..dc304eb10a 100644 --- a/soh/soh/Enhancements/audio/AudioEditor.cpp +++ b/soh/soh/Enhancements/audio/AudioEditor.cpp @@ -586,24 +586,34 @@ void AudioEditor::DrawElement() { ImGui::TableNextRow(); ImGui::TableNextColumn(); if (ImGui::BeginChild("SfxOptions", ImVec2(0, -8))) { - SohGui::mSohMenu->MenuDrawItem(lowHpAlarm, ImGui::GetContentRegionAvail().x, THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(naviCall, ImGui::GetContentRegionAvail().x, THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(enemyProx, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(lowHpAlarm, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(naviCall, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(enemyProx, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); if (!CVarGetInteger(CVAR_AUDIO("EnemyBGMDisable"), 0)) { - SohGui::mSohMenu->MenuDrawItem(leeverProx, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(leeverProx, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); } - SohGui::mSohMenu->MenuDrawItem(leadingMusic, ImGui::GetContentRegionAvail().x, THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(displaySeqName, ImGui::GetContentRegionAvail().x, THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(ovlDuration, ImGui::GetContentRegionAvail().x, THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(voicePitch, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(leadingMusic, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(displaySeqName, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(ovlDuration, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(voicePitch, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); ImGui::SameLine(); ImGui::SetCursorPosY(ImGui::GetCursorPos().y + 40.f); if (UIWidgets::Button("Reset##linkVoiceFreqMultiplier", UIWidgets::ButtonOptions().Size(ImVec2(80, 36)).Padding(ImVec2(5.0f, 0.0f)))) { CVarSetFloat(CVAR_AUDIO("LinkVoiceFreqMultiplier"), 1.0f); } - SohGui::mSohMenu->MenuDrawItem(randomAudioGenModes, ImGui::GetContentRegionAvail().x, THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(lowerOctaves, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(randomAudioGenModes, + static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(lowerOctaves, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); } ImGui::EndChild(); ImGui::EndTable(); diff --git a/soh/soh/Enhancements/boss-rush/BossRush.cpp b/soh/soh/Enhancements/boss-rush/BossRush.cpp index 170b175cb4..dde3e306c4 100644 --- a/soh/soh/Enhancements/boss-rush/BossRush.cpp +++ b/soh/soh/Enhancements/boss-rush/BossRush.cpp @@ -302,7 +302,7 @@ void FileChoose_DrawBossRushMenuWindowContents(FileChooseContext* fileChooseCont uint8_t language = (gSaveContext.language == LANGUAGE_JPN) ? LANGUAGE_ENG : gSaveContext.language; uint8_t listOffset = fileChooseContext->bossRushOffset; - uint8_t textAlpha = fileChooseContext->bossRushUIAlpha; + int16_t textAlpha = fileChooseContext->bossRushUIAlpha; // Draw arrows to indicate that the list can scroll up or down. // Arrow up @@ -351,12 +351,13 @@ void FileChoose_DrawBossRushMenuWindowContents(FileChooseContext* fileChooseCont G_TX_NOLOD); FileChoose_DrawTextRec(fileChooseContext->state.gfxCtx, fileChooseContext->stickLeftPrompt.arrowColorR, fileChooseContext->stickLeftPrompt.arrowColorG, - fileChooseContext->stickLeftPrompt.arrowColorB, textAlpha, 160, (92 + textYOffset), - 0.42f, 0, 0, -1.0f, 1.0f); + fileChooseContext->stickLeftPrompt.arrowColorB, textAlpha, 160.0f, + static_cast(92 + textYOffset), 0.42f, 0, 0, -1.0f, 1.0f); FileChoose_DrawTextRec(fileChooseContext->state.gfxCtx, fileChooseContext->stickRightPrompt.arrowColorR, fileChooseContext->stickRightPrompt.arrowColorG, - fileChooseContext->stickRightPrompt.arrowColorB, textAlpha, (171 + finalKerning), - (92 + textYOffset), 0.42f, 0, 0, 1.0f, 1.0f); + fileChooseContext->stickRightPrompt.arrowColorB, textAlpha, + static_cast(171 + finalKerning), static_cast(92 + textYOffset), 0.42f, 0, + 0, 1.0f, 1.0f); } } diff --git a/soh/soh/Enhancements/controls/SohInputEditorWindow.cpp b/soh/soh/Enhancements/controls/SohInputEditorWindow.cpp index 2cf63ddefb..f16d4b4ca4 100644 --- a/soh/soh/Enhancements/controls/SohInputEditorWindow.cpp +++ b/soh/soh/Enhancements/controls/SohInputEditorWindow.cpp @@ -80,7 +80,7 @@ void SohInputEditorWindow::UpdateElement() { Ship::Context::GetRawInstance()->GetControlDeck()->BlockGameInput(INPUT_EDITOR_WINDOW_GAME_INPUT_BLOCK_ID); // continue to block input for a third of a second after getting the mapping - mGameInputBlockTimer = ImGui::GetIO().Framerate / 3; + mGameInputBlockTimer = static_cast(ImGui::GetIO().Framerate / 3); if (mMappingInputBlockTimer != INT32_MAX) { mMappingInputBlockTimer--; @@ -101,7 +101,7 @@ void SohInputEditorWindow::UpdateElement() { } if (Ship::Context::GetRawInstance()->GetWindow()->GetGui()->GamepadNavigationEnabled()) { - mMappingInputBlockTimer = ImGui::GetIO().Framerate / 3; + mMappingInputBlockTimer = static_cast(ImGui::GetIO().Framerate / 3); } else { mMappingInputBlockTimer = INT32_MAX; } @@ -908,7 +908,7 @@ void SohInputEditorWindow::DrawRumbleSection(uint8_t port) { mRumbleMappingToTest->StopRumble(); mRumbleMappingToTest = nullptr; } else { - mRumbleTimer = ImGui::GetIO().Framerate; + mRumbleTimer = static_cast(ImGui::GetIO().Framerate); mRumbleMappingToTest = mapping; } } @@ -1102,9 +1102,9 @@ void SohInputEditorWindow::DrawLEDSection(uint8_t port) { if (ImGui::ColorEdit3("", (float*)&colorVec, ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_NoLabel)) { Color_RGB8 color; - color.r = colorVec.x * 255.0; - color.g = colorVec.y * 255.0; - color.b = colorVec.z * 255.0; + color.r = static_cast(colorVec.x * 255.0); + color.g = static_cast(colorVec.y * 255.0); + color.b = static_cast(colorVec.z * 255.0); CVarSetColor24(CVAR_SETTING("LEDPort1Color"), color); Ship::Context::GetRawInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame(); @@ -1336,8 +1336,9 @@ void SohInputEditorWindow::DrawOcarinaControlPanel() { ImGui::SetCursorPos(ImVec2(cursor.x, cursor.y + 5)); CheckboxOptions checkOpt = CheckboxOptions().Color(THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(dpadOcarina, ImGui::GetContentRegionAvail().x, THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(rightStickOcarina, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(dpadOcarina, static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(rightStickOcarina, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); CVarCheckbox("Customize Ocarina Controls", CVAR_SETTING("CustomOcarina.Enabled"), checkOpt); if (!CVarGetInteger(CVAR_SETTING("CustomOcarina.Enabled"), 0)) { @@ -1369,10 +1370,11 @@ void SohInputEditorWindow::DrawOcarinaControlPanel() { void SohInputEditorWindow::DrawCameraControlPanel() { ImVec2 cursor = ImGui::GetCursorPos(); ImGui::SetCursorPos(ImVec2(cursor.x + 5, cursor.y + 5)); - SohGui::mSohMenu->MenuDrawItem(mouseControl, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(mouseControl, static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); cursor = ImGui::GetCursorPos(); ImGui::SetCursorPos(ImVec2(cursor.x + 5, cursor.y + 5)); - SohGui::mSohMenu->MenuDrawItem(mouseAutoCapture, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(mouseAutoCapture, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); Ship::GuiWindow::BeginGroupPanel("Aiming/First-Person Camera", ImGui::GetContentRegionAvail()); CVarCheckbox("Right Stick Aiming", CVAR_SETTING("Controls.RightStickAim"), @@ -1440,7 +1442,7 @@ void SohInputEditorWindow::DrawCameraControlPanel() { ImGui::SetCursorPos(ImVec2(cursor.x + 5, cursor.y + 5)); Ship::GuiWindow::BeginGroupPanel("Third-Person Camera", ImGui::GetContentRegionAvail()); - SohGui::mSohMenu->MenuDrawItem(freeLook, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(freeLook, static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); CVarCheckbox("Invert Camera X Axis", CVAR_SETTING("FreeLook.InvertXAxis"), CheckboxOptions().Color(THEME_COLOR).Tooltip("Inverts the Camera X Axis in:\n-Free look")); CVarCheckbox( @@ -1473,8 +1475,8 @@ void SohInputEditorWindow::DrawDpadControlPanel() { ImVec2 cursor = ImGui::GetCursorPos(); ImGui::SetCursorPos(ImVec2(cursor.x + 5, cursor.y + 5)); Ship::GuiWindow::BeginGroupPanel("D-Pad Options", ImGui::GetContentRegionAvail()); - SohGui::mSohMenu->MenuDrawItem(dpadPause, ImGui::GetContentRegionAvail().x, THEME_COLOR); - SohGui::mSohMenu->MenuDrawItem(dpadText, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(dpadPause, static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(dpadText, static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); if (!CVarGetInteger(CVAR_SETTING("DPadOnPause"), 0) && !CVarGetInteger(CVAR_SETTING("DpadInText"), 0)) { ImGui::BeginDisabled(); diff --git a/soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp b/soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp index 09c4069d87..f546c9c8e9 100644 --- a/soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp +++ b/soh/soh/Enhancements/cosmetics/CosmeticsEditor.cpp @@ -1980,7 +1980,7 @@ void DrawSillyTab() { UIWidgets::Separator(true, true, 2.0f, 2.0f); - SohGui::mSohMenu->MenuDrawItem(goronNeck, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::mSohMenu->MenuDrawItem(goronNeck, static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); Reset_Option_Single("Reset##Goron_NeckLength", CVAR_COSMETIC("Goron.NeckLength")); UIWidgets::Separator(true, true, 2.0f, 2.0f); diff --git a/soh/soh/Enhancements/cosmetics/CustomLogoTitle.cpp b/soh/soh/Enhancements/cosmetics/CustomLogoTitle.cpp index 85549bf788..fb5d0cb37c 100644 --- a/soh/soh/Enhancements/cosmetics/CustomLogoTitle.cpp +++ b/soh/soh/Enhancements/cosmetics/CustomLogoTitle.cpp @@ -29,23 +29,21 @@ extern "C" void CustomLogoTitle_Draw(TitleContext* titleContext, uint8_t logoToD u16 y; u16 idx; - s32 pad1; Vec3f v3; Vec3f v1; Vec3f v2; - s32 pad2[2]; OPEN_DISPS(titleContext->state.gfxCtx); - v3.x = 69; - v3.y = 69; - v3.z = 69; - v2.x = -4949.148; - v2.y = 4002.5417; - v1.x = 0; - v1.y = 0; - v1.z = 0; - v2.z = 1119.0837; + v3.x = 69.0f; + v3.y = 69.0f; + v3.z = 69.0f; + v2.x = -4949.148f; + v2.y = 4002.5417f; + v1.x = 0.0f; + v1.y = 0.0f; + v1.z = 0.0f; + v2.z = 1119.0837f; func_8002EABC(&v1, &v2, &v3, titleContext->state.gfxCtx); gSPSetLights1(POLY_OPA_DISP++, sTitleLights); @@ -111,9 +109,10 @@ extern "C" void CustomLogoTitle_Draw(TitleContext* titleContext, uint8_t logoToD gSPDisplayList(POLY_OPA_DISP++, (Gfx*)gEffIceFragment3DL); } - Environment_FillScreen(titleContext->state.gfxCtx, 0, 0, 0, (s16)titleContext->coverAlpha, FILL_SCREEN_XLU); + Environment_FillScreen(titleContext->state.gfxCtx, 0, 0, 0, static_cast(titleContext->coverAlpha), + FILL_SCREEN_XLU); - sTitleRotY += (300 * CVarGetFloat(CVAR_COSMETIC("N64Logo.SpinSpeed"), 1.0f)); + sTitleRotY += static_cast(300 * CVarGetFloat(CVAR_COSMETIC("N64Logo.SpinSpeed"), 1.0f)); CLOSE_DISPS(titleContext->state.gfxCtx); } diff --git a/soh/soh/Enhancements/cosmetics/authenticGfxPatches.cpp b/soh/soh/Enhancements/cosmetics/authenticGfxPatches.cpp index 562b1592ac..6ef8774a62 100644 --- a/soh/soh/Enhancements/cosmetics/authenticGfxPatches.cpp +++ b/soh/soh/Enhancements/cosmetics/authenticGfxPatches.cpp @@ -100,7 +100,7 @@ void PatchArrowTipTexture() { if (!fixTexturesOOB) { // Unpatch the other texture fix for (size_t i = 4; i < 8; i++) { - int instruction = start + i; + size_t instruction = start + i; std::string unpatchName = "arrowTipTextureWithSizeFix_" + std::to_string(instruction); ResourceMgr_UnpatchGfxByName(dlist, unpatchName.c_str()); } @@ -117,13 +117,13 @@ void PatchArrowTipTexture() { ResourceMgr_UnpatchGfxByName(dlist, unpatchName2.c_str()); for (size_t i = 4; i < 8; i++) { - int instruction = start + i; + size_t instruction = start + i; std::string patchName = "arrowTipTextureWithSizeFix_" + std::to_string(instruction); if (i == 0) { - ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), instruction, gsSPNoOp()); + ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), static_cast(instruction), gsSPNoOp()); } else { - ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), instruction, + ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), static_cast(instruction), arrowTipTextureWithSizeFixGfx[i - 1]); } } @@ -148,7 +148,7 @@ void PatchDekuStickTextureOverflow() { if (!CVarGetInteger(CVAR_ENHANCEMENT("FixTexturesOOB"), 0)) { // Unpatch the other texture fix for (size_t i = 0; i < 8; i++) { - int instruction = start + i; + size_t instruction = start + i; std::string unpatchName = "dekuStickWithSizeFix_" + std::to_string(instruction); ResourceMgr_UnpatchGfxByName(dlist, unpatchName.c_str()); } @@ -165,13 +165,14 @@ void PatchDekuStickTextureOverflow() { ResourceMgr_UnpatchGfxByName(dlist, unpatchName2.c_str()); for (size_t i = 0; i < 8; i++) { - int instruction = start + i; + size_t instruction = start + i; std::string patchName = "dekuStickWithSizeFix_" + std::to_string(instruction); if (i == 0) { - ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), instruction, gsSPNoOp()); + ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), static_cast(instruction), gsSPNoOp()); } else { - ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), instruction, dekuStickTexWithSizeFixGfx[i - 1]); + ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), static_cast(instruction), + dekuStickTexWithSizeFixGfx[i - 1]); } } } @@ -198,7 +199,7 @@ void PatchFreezardTextureOverflow() { if (!fixTexturesOOB) { // Unpatch the other texture fix for (size_t i = 0; i < 8; i++) { - int instruction = start + i; + size_t instruction = start + i; std::string unpatchName = "freezardBodyTextureWithFormatFix_" + std::to_string(instruction); ResourceMgr_UnpatchGfxByName(dlist, unpatchName.c_str()); } @@ -215,13 +216,13 @@ void PatchFreezardTextureOverflow() { ResourceMgr_UnpatchGfxByName(dlist, unpatchName2.c_str()); for (size_t i = 0; i < 8; i++) { - int instruction = start + i; + size_t instruction = start + i; std::string patchName = "freezardBodyTextureWithFormatFix_" + std::to_string(instruction); if (i == 0) { - ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), instruction, gsSPNoOp()); + ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), static_cast(instruction), gsSPNoOp()); } else { - ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), instruction, + ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), static_cast(instruction), freezardBodyTextureWithFormatFixGfx[i - 1]); } } @@ -250,7 +251,7 @@ void PatchIronKnuckleTextureOverflow() { if (!fixTexturesOOB) { // Unpatch the other texture fix for (size_t i = 0; i < 8; i++) { - int instruction = start + i; + size_t instruction = start + i; std::string unpatchName = "ironKnuckleFireTexWithSizeFix_" + std::to_string(instruction); ResourceMgr_UnpatchGfxByName(dlist, unpatchName.c_str()); } @@ -267,13 +268,13 @@ void PatchIronKnuckleTextureOverflow() { ResourceMgr_UnpatchGfxByName(dlist, unpatchName2.c_str()); for (size_t i = 0; i < 8; i++) { - int instruction = start + i; + size_t instruction = start + i; std::string patchName = "ironKnuckleFireTexWithSizeFix_" + std::to_string(instruction); if (i == 0) { - ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), instruction, gsSPNoOp()); + ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), static_cast(instruction), gsSPNoOp()); } else { - ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), instruction, + ResourceMgr_PatchGfxByName(dlist, patchName.c_str(), static_cast(instruction), ironKnuckleFireTexWithFormatFixGfx[i - 1]); } } diff --git a/soh/soh/Enhancements/custom-message/CustomMessageManager.cpp b/soh/soh/Enhancements/custom-message/CustomMessageManager.cpp index cef9be452b..3c524381c6 100644 --- a/soh/soh/Enhancements/custom-message/CustomMessageManager.cpp +++ b/soh/soh/Enhancements/custom-message/CustomMessageManager.cpp @@ -119,8 +119,6 @@ extern "C" MessageTableEntry* sGerMessageEntryTablePtr; extern "C" MessageTableEntry* sFraMessageEntryTablePtr; CustomMessage CustomMessage::LoadVanillaMessageTableEntry(uint16_t textId) { - const char* foundSeg; - const char* nextSeg; MessageTableEntry* msgEntry = sNesMessageEntryTablePtr; u16 bufferId = textId; CustomMessage msg; diff --git a/soh/soh/Enhancements/debugconsole.cpp b/soh/soh/Enhancements/debugconsole.cpp index 6aabdb33a6..b7ae40d550 100644 --- a/soh/soh/Enhancements/debugconsole.cpp +++ b/soh/soh/Enhancements/debugconsole.cpp @@ -66,7 +66,7 @@ static bool ActorSpawnHandler(std::shared_ptr Console, const std: if (nameId == -1) { try { actorId = std::stoi(args[1]); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("Invalid actor ID"); return 1; } @@ -91,13 +91,13 @@ static bool ActorSpawnHandler(std::shared_ptr Console, const std: [[fallthrough]]; case 6: if (args[3][0] != ',') { - spawnPoint.pos.x = std::stoi(args[3]); + spawnPoint.pos.x = static_cast(std::stoi(args[3])); } if (args[4][0] != ',') { - spawnPoint.pos.y = std::stoi(args[4]); + spawnPoint.pos.y = static_cast(std::stoi(args[4])); } if (args[5][0] != ',') { - spawnPoint.pos.z = std::stoi(args[5]); + spawnPoint.pos.z = static_cast(std::stoi(args[5])); } } @@ -133,7 +133,7 @@ static bool SetPlayerHealthHandler(std::shared_ptr Console, const try { health = std::stoi(args[1]); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Health value must be an integer."); return 1; } @@ -172,7 +172,7 @@ static bool RupeeHandler(std::shared_ptr Console, const std::vect int rupeeAmount; try { rupeeAmount = std::stoi(args[1]); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Rupee count must be an integer."); return 1; } @@ -240,7 +240,7 @@ static bool AddAmmoHandler(std::shared_ptr Console, const std::ve try { amount = std::stoi(args[2]); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("Ammo count must be an integer"); return 1; } @@ -281,7 +281,7 @@ static bool TakeAmmoHandler(std::shared_ptr Console, const std::v try { amount = std::stoi(args[2]); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("Ammo count must be an integer"); return 1; } @@ -337,7 +337,7 @@ static bool BottleHandler(std::shared_ptr Console, const std::vec unsigned int slot; try { slot = std::stoi(args[2]); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Bottle slot must be an integer."); return 1; } @@ -354,7 +354,7 @@ static bool BottleHandler(std::shared_ptr Console, const std::vec return 1; } - gSaveContext.inventory.items[0x11 + slot] = it->second; + gSaveContext.inventory.items[0x11 + slot] = static_cast(it->second); return 0; } @@ -415,7 +415,7 @@ static bool EntranceHandler(std::shared_ptr Console, const std::v try { entrance = std::stoi(args[1], nullptr, 16); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Entrance value must be a Hex number."); return 1; } @@ -581,7 +581,7 @@ static bool StateSlotSelectHandler(std::shared_ptr Console, const try { slot = std::stoi(args[1], nullptr, 10); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] SaveState slot value must be a number."); return 1; } @@ -606,7 +606,7 @@ static bool InvisibleHandler(std::shared_ptr Console, const std:: try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Invisible value must be a number."); return 1; } @@ -633,7 +633,7 @@ static bool GiantLinkHandler(std::shared_ptr Console, const std:: try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Giant value must be a number."); return 1; } @@ -661,7 +661,7 @@ static bool MinishLinkHandler(std::shared_ptr Console, const std: try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Minish value must be a number."); return 1; } @@ -689,7 +689,7 @@ static bool AddHeartContainerHandler(std::shared_ptr Console, con try { hearts = std::stoi(args[1]); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Hearts value must be an integer."); return 1; } @@ -721,7 +721,7 @@ static bool RemoveHeartContainerHandler(std::shared_ptr Console, try { hearts = std::stoi(args[1]); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Hearts value must be an integer."); return 1; } @@ -753,9 +753,9 @@ static bool GravityHandler(std::shared_ptr Console, const std::ve GameInteractionEffect::ModifyGravity effect; try { - effect.parameters[0] = - Ship::Math::clamp(std::stoi(args[1], nullptr, 10), GI_GRAVITY_LEVEL_LIGHT, GI_GRAVITY_LEVEL_HEAVY); - } catch (std::invalid_argument const& ex) { + effect.parameters[0] = static_cast(Ship::Math::clamp( + static_cast(std::stoi(args[1], nullptr, 10)), GI_GRAVITY_LEVEL_LIGHT, GI_GRAVITY_LEVEL_HEAVY)); + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Gravity value must be a number."); return 1; } @@ -780,7 +780,7 @@ static bool NoUIHandler(std::shared_ptr Console, const std::vecto try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] No UI value must be a number."); return 1; } @@ -822,7 +822,7 @@ static bool DefenseModifierHandler(std::shared_ptr Console, const try { effect.parameters[0] = std::stoi(args[1], nullptr, 10); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Defense modifier value must be a number."); return 1; } @@ -853,7 +853,7 @@ static bool DamageHandler(std::shared_ptr Console, const std::vec } effect.parameters[0] = -value; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Damage value must be a number."); return 1; } @@ -884,7 +884,7 @@ static bool HealHandler(std::shared_ptr Console, const std::vecto } effect.parameters[0] = value; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Damage value must be a number."); return 1; } @@ -937,7 +937,7 @@ static bool NoZHandler(std::shared_ptr Console, const std::vector try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] NoZ value must be a number."); return 1; } @@ -965,7 +965,7 @@ static bool OneHitKOHandler(std::shared_ptr Console, const std::v try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] One-hit KO value must be a number."); return 1; } @@ -993,7 +993,7 @@ static bool PacifistHandler(std::shared_ptr Console, const std::v try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Pacifist value must be a number."); return 1; } @@ -1021,7 +1021,7 @@ static bool PaperLinkHandler(std::shared_ptr Console, const std:: try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Paper Link value must be a number."); return 1; } @@ -1050,7 +1050,7 @@ static bool RainstormHandler(std::shared_ptr Console, const std:: try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Rainstorm value must be a number."); return 1; } @@ -1078,7 +1078,7 @@ static bool ReverseControlsHandler(std::shared_ptr Console, const try { state = std::stoi(args[1], nullptr, 10) == 0 ? 0 : 1; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Reverse controls value must be a number."); return 1; } @@ -1107,7 +1107,7 @@ static bool UpdateRupeesHandler(std::shared_ptr Console, const st try { effect.parameters[0] = std::stoi(args[1], nullptr, 10); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Rupee value must be a number."); return 1; } @@ -1132,7 +1132,7 @@ static bool SpeedModifierHandler(std::shared_ptr Console, const s try { effect.parameters[0] = std::stoi(args[1], nullptr, 10); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Speed modifier value must be a number."); return 1; } @@ -1253,7 +1253,7 @@ static bool KnockbackHandler(std::shared_ptr Console, const std:: } effect.parameters[0] = value; - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Knockback value must be a number."); return 1; } @@ -1328,7 +1328,7 @@ static bool GenerateRandoHandler(std::shared_ptr Console, const s if (GenerateRandomizer(seed + std::to_string(value))) { return 0; } - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] seed|count value must be a number."); return 1; } @@ -1459,7 +1459,7 @@ static bool AvailableChecksProcessUndiscoveredExitsHandler(std::shared_ptr Con if (args.size() > 1) { try { startingRegion = static_cast(std::stoi(args[1])); - } catch (std::invalid_argument const& ex) { + } catch ([[maybe_unused]] std::invalid_argument const& ex) { ERROR_MESSAGE("[SOH] Region should be a number"); return 1; } diff --git a/soh/soh/Enhancements/debugger/MessageViewer.cpp b/soh/soh/Enhancements/debugger/MessageViewer.cpp index f1a9bffb1c..36766e160d 100644 --- a/soh/soh/Enhancements/debugger/MessageViewer.cpp +++ b/soh/soh/Enhancements/debugger/MessageViewer.cpp @@ -167,7 +167,7 @@ void FindMessage(PlayState* play, const uint16_t textId, const uint8_t language) messageTableEntry++; nextSeg = messageTableEntry->segment; font->msgOffset = foundSeg - seg; - font->msgLength = nextSeg - foundSeg; + font->msgLength = static_cast(nextSeg - foundSeg); } static const char* msgStaticTbl[] = { @@ -208,11 +208,11 @@ void MessageDebug_StartTextBox(const char* tableId, uint16_t textId, uint8_t lan const uintptr_t src = font->msgOffset; memcpy(font->msgBuf, reinterpret_cast(src), font->msgLength); } else { - constexpr int maxBufferSize = sizeof(font->msgBuf); + constexpr size_t maxBufferSize = sizeof(font->msgBuf); const CustomMessage messageEntry = CustomMessageManager::Instance->RetrieveMessage(tableId, textId); font->charTexBuf[0] = (messageEntry.GetTextBoxType() << 4) | messageEntry.GetTextBoxPosition(); - font->msgLength = - SohUtils::CopyStringToCharBuffer(buffer, messageEntry.GetForLanguage(language), maxBufferSize); + font->msgLength = static_cast( + SohUtils::CopyStringToCharBuffer(buffer, messageEntry.GetForLanguage(language), maxBufferSize)); msgCtx->msgLength = static_cast(font->msgLength); } msgCtx->textBoxProperties = font->charTexBuf[0]; @@ -250,8 +250,8 @@ void MessageDebug_StartTextBox(const char* tableId, uint16_t textId, uint8_t lan } msgCtx->textboxColorAlphaCurrent = 0; } - msgCtx->choiceNum = msgCtx->textUnskippable = msgCtx->textboxEndType = 0; - msgCtx->msgBufPos = msgCtx->unk_E3D0 = msgCtx->textDrawPos = 0; + msgCtx->choiceNum = msgCtx->textboxEndType = 0; + msgCtx->textUnskippable = msgCtx->msgBufPos = msgCtx->unk_E3D0 = msgCtx->textDrawPos = 0; msgCtx->talkActor = &player->actor; msgCtx->msgMode = MSGMODE_TEXT_START; msgCtx->stateTimer = 0; diff --git a/soh/soh/Enhancements/debugger/actorViewer.cpp b/soh/soh/Enhancements/debugger/actorViewer.cpp index a47a404ad1..4141bcf45b 100644 --- a/soh/soh/Enhancements/debugger/actorViewer.cpp +++ b/soh/soh/Enhancements/debugger/actorViewer.cpp @@ -614,7 +614,7 @@ void CreateActorSpecificData() { }; actorSpecificData[ACTOR_EN_SKB] = [](s16 params) -> s16 { - u8 size = params; + u8 size = static_cast(params); ImGui::InputScalar("Size", ImGuiDataType_U8, &size); return size; @@ -753,7 +753,7 @@ void CreateActorSpecificData() { piece = false; } - u8 textId = params; + u8 textId = static_cast(params); if (!piece && !fishingSign) { if (ImGui::InputScalar("Text ID", ImGuiDataType_U8, &textId)) { textId |= 0x300; diff --git a/soh/soh/Enhancements/debugger/colViewer.cpp b/soh/soh/Enhancements/debugger/colViewer.cpp index 1c6993e0d0..14a753b5ab 100644 --- a/soh/soh/Enhancements/debugger/colViewer.cpp +++ b/soh/soh/Enhancements/debugger/colViewer.cpp @@ -178,10 +178,10 @@ void CreateCylinderData() { cylinderVtx.push_back(gdSPDefVtxN(0, 128, 0, 0, 0, 0, 127, 0, 0xFF)); // Top center vertex // Create two rings of vertices for (int i = 0; i < CYL_DIVS; ++i) { - short vtx_x = floorf(0.5f + cosf(2.f * M_PI * i / CYL_DIVS) * 128.f); - short vtx_z = floorf(0.5f - sinf(2.f * M_PI * i / CYL_DIVS) * 128.f); - signed char norm_x = cosf(2.f * M_PI * i / CYL_DIVS) * 127.f; - signed char norm_z = -sinf(2.f * M_PI * i / CYL_DIVS) * 127.f; + short vtx_x = static_cast(floorf(0.5f + cosf(static_cast(2.f * M_PI * i / CYL_DIVS)) * 128.f)); + short vtx_z = static_cast(floorf(0.5f - sinf(static_cast(2.f * M_PI * i / CYL_DIVS)) * 128.f)); + signed char norm_x = static_cast(cosf(static_cast(2.f * M_PI * i / CYL_DIVS)) * 127.f); + signed char norm_z = static_cast(-sinf(static_cast(2.f * M_PI * i / CYL_DIVS)) * 127.f); cylinderVtx.push_back(gdSPDefVtxN(vtx_x, 0, vtx_z, 0, 0, norm_x, 0, norm_z, 0xFF)); cylinderVtx.push_back(gdSPDefVtxN(vtx_x, 128, vtx_z, 0, 0, norm_x, 0, norm_z, 0xFF)); } @@ -337,8 +337,6 @@ void InitGfx(std::vector& gfx, ColRenderSetting setting) { uint32_t blc1; uint32_t blc2; uint8_t alpha; - uint64_t cm; - uint32_t gm; if (setting == ColRenderTransparent) { rm = Z_CMP | IM_RD | CVG_DST_FULL | FORCE_BL; @@ -608,7 +606,9 @@ void DrawColCheckList(std::vector& dl, Collider** objects, int32_t count) { Mtx m; MtxF mt; - SkinMatrix_SetTranslate(&mt, cyl->dim.pos.x, cyl->dim.pos.y + cyl->dim.yShift, cyl->dim.pos.z); + SkinMatrix_SetTranslate(&mt, static_cast(cyl->dim.pos.x), + static_cast(cyl->dim.pos.y + cyl->dim.yShift), + static_cast(cyl->dim.pos.z)); MtxF ms; int32_t radius = cyl->dim.radius == 0 ? 1 : cyl->dim.radius; SkinMatrix_SetScale(&ms, radius / 128.0f, cyl->dim.height / 128.0f, radius / 128.0f); @@ -686,14 +686,20 @@ void DrawWaterbox(std::vector& dl, WaterBox* water, float water_max_depth = } Vec3f vtx[] = { - { water->xMin, water->ySurface, water->zMin + water->zLength }, - { water->xMin + water->xLength, water->ySurface, water->zMin + water->zLength }, - { water->xMin + water->xLength, water->ySurface, water->zMin }, - { water->xMin, water->ySurface, water->zMin }, - { water->xMin, water_max_depth, water->zMin + water->zLength }, - { water->xMin + water->xLength, water_max_depth, water->zMin + water->zLength }, - { water->xMin + water->xLength, water_max_depth, water->zMin }, - { water->xMin, water_max_depth, water->zMin }, + { static_cast(water->xMin), static_cast(water->ySurface), + static_cast(water->zMin + water->zLength) }, + { static_cast(water->xMin + water->xLength), static_cast(water->ySurface), + static_cast(water->zMin + water->zLength) }, + { static_cast(water->xMin + water->xLength), static_cast(water->ySurface), + static_cast(water->zMin) }, + { static_cast(water->xMin), static_cast(water->ySurface), static_cast(water->zMin) }, + { static_cast(water->xMin), static_cast(water_max_depth), + static_cast(water->zMin + water->zLength) }, + { static_cast(water->xMin + water->xLength), static_cast(water_max_depth), + static_cast(water->zMin + water->zLength) }, + { static_cast(water->xMin + water->xLength), static_cast(water_max_depth), + static_cast(water->zMin) }, + { static_cast(water->xMin), static_cast(water_max_depth), static_cast(water->zMin) }, }; DrawQuad(dl, vtx[0], vtx[1], vtx[2], vtx[3]); DrawQuad(dl, vtx[0], vtx[3], vtx[7], vtx[4]); @@ -738,7 +744,7 @@ template size_t ResetVector(T& vec) { size_t oldSize = vec.size(); vec.clear(); // Reserve slightly more space than last frame to account for variance (such as different amounts of bg actors) - vec.reserve(oldSize * 1.2); + vec.reserve(static_cast(oldSize * 1.2f)); return vec.capacity(); } diff --git a/soh/soh/Enhancements/debugger/debugSaveEditor.cpp b/soh/soh/Enhancements/debugger/debugSaveEditor.cpp index dfd425eea0..707b234697 100644 --- a/soh/soh/Enhancements/debugger/debugSaveEditor.cpp +++ b/soh/soh/Enhancements/debugger/debugSaveEditor.cpp @@ -310,7 +310,7 @@ void DrawInfoTab() { } gSaveContext.magicCapacity = gSaveContext.magicLevel * 0x30; // Set to get the bar drawn in the UI if (gSaveContext.magic > gSaveContext.magicCapacity) { - gSaveContext.magic = gSaveContext.magicCapacity; // Clamp magic to new max + gSaveContext.magic = static_cast(gSaveContext.magicCapacity); // Clamp magic to new max } int32_t magic = (int32_t)gSaveContext.magic; @@ -1141,7 +1141,7 @@ void DrawFlagsTab() { [&]() { if (j == 0) { for (int k = 0xF; k >= 0; k--) { - ImGui::SameLine(37.5 + ((0xF - k) * 33.8)); + ImGui::SameLine(static_cast(37.5 + ((0xF - k) * 33.8))); ImGui::Text("%X", k); } } @@ -1768,18 +1768,18 @@ void DrawPlayerTab() { ImGui::PushItemWidth(ImGui::GetFontSize() * 12); if (ImGui::BeginCombo("Sword", curSword)) { if (ImGui::Selectable("None")) { - player->currentSwordItemId = ITEM_NONE; - gSaveContext.equips.buttonItems[0] = ITEM_NONE; + player->currentSwordItemId = static_cast(ITEM_NONE); + gSaveContext.equips.buttonItems[0] = static_cast(ITEM_NONE); Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, EQUIP_VALUE_SWORD_NONE); } if (ImGui::Selectable("Kokiri Sword")) { - player->currentSwordItemId = ITEM_SWORD_KOKIRI; - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KOKIRI; + player->currentSwordItemId = static_cast(ITEM_SWORD_KOKIRI); + gSaveContext.equips.buttonItems[0] = static_cast(ITEM_SWORD_KOKIRI); Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, EQUIP_VALUE_SWORD_KOKIRI); } if (ImGui::Selectable("Master Sword")) { - player->currentSwordItemId = ITEM_SWORD_MASTER; - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_MASTER; + player->currentSwordItemId = static_cast(ITEM_SWORD_MASTER); + gSaveContext.equips.buttonItems[0] = static_cast(ITEM_SWORD_MASTER); Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, EQUIP_VALUE_SWORD_MASTER); } if (ImGui::Selectable("Biggoron's Sword")) { @@ -1787,21 +1787,21 @@ void DrawPlayerTab() { if (gSaveContext.swordHealth < 8) { gSaveContext.swordHealth = 8; } - player->currentSwordItemId = ITEM_SWORD_BGS; - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_BGS; + player->currentSwordItemId = static_cast(ITEM_SWORD_BGS); + gSaveContext.equips.buttonItems[0] = static_cast(ITEM_SWORD_BGS); } else { if (gSaveContext.swordHealth < 8) { gSaveContext.swordHealth = 8; } - player->currentSwordItemId = ITEM_SWORD_BGS; - gSaveContext.equips.buttonItems[0] = ITEM_SWORD_KNIFE; + player->currentSwordItemId = static_cast(ITEM_SWORD_BGS); + gSaveContext.equips.buttonItems[0] = static_cast(ITEM_SWORD_KNIFE); } Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, EQUIP_VALUE_SWORD_BIGGORON); } if (ImGui::Selectable("Fishing Pole")) { - player->currentSwordItemId = ITEM_FISHING_POLE; - gSaveContext.equips.buttonItems[0] = ITEM_FISHING_POLE; + player->currentSwordItemId = static_cast(ITEM_FISHING_POLE); + gSaveContext.equips.buttonItems[0] = static_cast(ITEM_FISHING_POLE); Inventory_ChangeEquipment(EQUIP_TYPE_SWORD, EQUIP_VALUE_SWORD_MASTER); } ImGui::EndCombo(); diff --git a/soh/soh/Enhancements/debugger/dlViewer.cpp b/soh/soh/Enhancements/debugger/dlViewer.cpp index 1447259c61..ad52e5c7af 100644 --- a/soh/soh/Enhancements/debugger/dlViewer.cpp +++ b/soh/soh/Enhancements/debugger/dlViewer.cpp @@ -144,7 +144,7 @@ void DLViewerWindow::DrawElement() { for (size_t i = 0; i < res->Instructions.size(); i++) { std::string id = "##CMD" + std::to_string(i); Gfx* gfx = (Gfx*)&res->Instructions[i]; - int cmd = gfx->words.w0 >> 24; + int cmd = static_cast(gfx->words.w0 >> 24); if (cmdMap.find(cmd) == cmdMap.end()) continue; @@ -330,7 +330,7 @@ void DLViewerWindow::DrawElement() { } ImGui::EndGroup(); } - } catch (const std::exception& e) { ImGui::Text("Error displaying DL instructions."); } + } catch ([[maybe_unused]] const std::exception& e) { ImGui::Text("Error displaying DL instructions."); } ImGui::PopFont(); ImGui::EndDisabled(); diff --git a/soh/soh/Enhancements/debugger/valueViewer.cpp b/soh/soh/Enhancements/debugger/valueViewer.cpp index afc83ab507..2bcb5626a8 100644 --- a/soh/soh/Enhancements/debugger/valueViewer.cpp +++ b/soh/soh/Enhancements/debugger/valueViewer.cpp @@ -94,8 +94,8 @@ extern "C" void ValueViewer_Draw(GfxPrint* printer) { void* elementValue = element.valueFn(); if (elementValue == NULL) continue; - GfxPrint_SetColor(printer, setting.color.x * 255, setting.color.y * 255, setting.color.z * 255, - setting.color.w * 255); + GfxPrint_SetColor(printer, static_cast(setting.color.x * 255), static_cast(setting.color.y * 255), + static_cast(setting.color.z * 255), static_cast(setting.color.w * 255)); GfxPrint_SetPos(printer, setting.x, setting.y); switch (element.type) { case TYPE_S8: diff --git a/soh/soh/Enhancements/game-interactor/GameInteractionEffect.cpp b/soh/soh/Enhancements/game-interactor/GameInteractionEffect.cpp index 4a772a2b49..5b7899bcd2 100644 --- a/soh/soh/Enhancements/game-interactor/GameInteractionEffect.cpp +++ b/soh/soh/Enhancements/game-interactor/GameInteractionEffect.cpp @@ -271,7 +271,7 @@ GameInteractionEffectQueryResult KnockbackPlayer::CanBeApplied() { } } void KnockbackPlayer::_Apply() { - GameInteractor::RawAction::KnockbackPlayer(parameters[0]); + GameInteractor::RawAction::KnockbackPlayer(static_cast(parameters[0])); } // MARK: - ModifyLinkSize diff --git a/soh/soh/Enhancements/gameplaystats.cpp b/soh/soh/Enhancements/gameplaystats.cpp index 6b2e1c7214..492d37611b 100644 --- a/soh/soh/Enhancements/gameplaystats.cpp +++ b/soh/soh/Enhancements/gameplaystats.cpp @@ -279,7 +279,7 @@ std::string formatHexOnlyGameplayStat(uint32_t value) { } extern "C" char* GameplayStats_GetCurrentTime() { - std::string timeString = formatTimestampGameplayStat(GAMEPLAYSTAT_TOTAL_TIME).c_str(); + std::string timeString = formatTimestampGameplayStat(static_cast(GAMEPLAYSTAT_TOTAL_TIME)).c_str(); const size_t stringLength = timeString.length(); char* timeChar = (char*)malloc(stringLength + 1); // We need to use malloc so we can free this from a C file. strcpy(timeChar, timeString.c_str()); @@ -453,10 +453,10 @@ void DrawGameplayStatsHeader() { GameplayStatsRow("Build Version:", (char*)gBuildVersion); } if (gSaveContext.ship.stats.rtaTiming) { - GameplayStatsRow("Total Time (RTA):", formatTimestampGameplayStat(GAMEPLAYSTAT_TOTAL_TIME), + GameplayStatsRow("Total Time (RTA):", formatTimestampGameplayStat(static_cast(GAMEPLAYSTAT_TOTAL_TIME)), gSaveContext.ship.stats.gameComplete ? COLOR_GREEN : COLOR_WHITE); } else { - GameplayStatsRow("Total Game Time:", formatTimestampGameplayStat(GAMEPLAYSTAT_TOTAL_TIME), + GameplayStatsRow("Total Game Time:", formatTimestampGameplayStat(static_cast(GAMEPLAYSTAT_TOTAL_TIME)), gSaveContext.ship.stats.gameComplete ? COLOR_GREEN : COLOR_WHITE); } if (CVarGetInteger(CVAR_GAMEPLAY_STATS("ShowAdditionalTimers"), 0)) { // !Only display total game time @@ -592,7 +592,7 @@ void DrawGameplayStatsCountsTab() { } void DrawGameplayStatsBreakdownTab() { - for (int i = 0; i < gSaveContext.ship.stats.tsIdx; i++) { + for (u32 i = 0; i < gSaveContext.ship.stats.tsIdx; i++) { std::string sceneName = ResolveSceneID(gSaveContext.ship.stats.sceneTimestamps[i].scene, gSaveContext.ship.stats.sceneTimestamps[i].room); std::string name; @@ -613,7 +613,7 @@ void DrawGameplayStatsBreakdownTab() { ImGui::PushStyleVar(ImGuiStyleVar_CellPadding, { 4.0f, 4.0f }); ImGui::BeginTable("gameplayStatsCounts", 1, ImGuiTableFlags_BordersOuter); ImGui::TableSetupColumn("stat", ImGuiTableColumnFlags_WidthStretch); - for (int i = 0; i < gSaveContext.ship.stats.tsIdx; i++) { + for (u32 i = 0; i < gSaveContext.ship.stats.tsIdx; i++) { TimestampInfo tsInfo = sceneTimestampDisplay[i]; bool canShow = !tsInfo.isRoom || CVarGetInteger(CVAR_GAMEPLAY_STATS("RoomBreakdown"), 0); if (tsInfo.time > 0 && strnlen(tsInfo.name, 40) > 1 && canShow) { diff --git a/soh/soh/Enhancements/item-tables/ItemTableManager.cpp b/soh/soh/Enhancements/item-tables/ItemTableManager.cpp index a98a6bddc0..07e4d8167e 100644 --- a/soh/soh/Enhancements/item-tables/ItemTableManager.cpp +++ b/soh/soh/Enhancements/item-tables/ItemTableManager.cpp @@ -17,7 +17,7 @@ bool ItemTableManager::AddItemEntry(uint16_t tableID, uint16_t getItemID, GetIte try { ItemTable* itemTable = RetrieveItemTable(tableID); return itemTable->emplace(getItemID, getItemEntry).second; - } catch (const std::out_of_range& oor) { return false; } + } catch ([[maybe_unused]] const std::out_of_range& oor) { return false; } } GetItemEntry ItemTableManager::RetrieveItemEntry(uint16_t tableID, uint16_t getItemID) { @@ -27,7 +27,7 @@ GetItemEntry ItemTableManager::RetrieveItemEntry(uint16_t tableID, uint16_t getI getItemEntry.drawItemId = getItemEntry.itemId; getItemEntry.drawModIndex = getItemEntry.modIndex; return getItemEntry; - } catch (std::out_of_range& oor) { return GET_ITEM_NONE; } + } catch ([[maybe_unused]] std::out_of_range& oor) { return GET_ITEM_NONE; } } bool ItemTableManager::ClearItemTable(uint16_t tableID) { @@ -35,7 +35,7 @@ bool ItemTableManager::ClearItemTable(uint16_t tableID) { ItemTable* itemTable = RetrieveItemTable(tableID); itemTable->clear(); return true; - } catch (const std::out_of_range& oor) { return false; } + } catch ([[maybe_unused]] const std::out_of_range& oor) { return false; } } ItemTable* ItemTableManager::RetrieveItemTable(uint16_t tableID) { diff --git a/soh/soh/Enhancements/kaleido.cpp b/soh/soh/Enhancements/kaleido.cpp index 59b0ae2fb7..f5d3e5c6d6 100644 --- a/soh/soh/Enhancements/kaleido.cpp +++ b/soh/soh/Enhancements/kaleido.cpp @@ -522,11 +522,11 @@ void KaleidoEntryOcarinaButtons::CalculateColors() { } void KaleidoEntryOcarinaButtons::Update(PlayState* play) { - mButtonCollected[0] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_A) > 0; - mButtonCollected[1] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_C_UP) > 0; - mButtonCollected[2] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_C_DOWN) > 0; - mButtonCollected[3] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_C_LEFT) > 0; - mButtonCollected[4] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_C_RIGHT) > 0; + mButtonCollected[0] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_A); + mButtonCollected[1] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_C_UP); + mButtonCollected[2] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_C_DOWN); + mButtonCollected[3] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_C_LEFT); + mButtonCollected[4] = GameInteractor::RawAction::CheckFlag(FLAG_RANDOMIZER_INF, RAND_INF_HAS_OCARINA_C_RIGHT); CalculateColors(); mAchieved = false; for (size_t i = 0; i < mButtonCollected.size(); i++) { diff --git a/soh/soh/Enhancements/nametag.cpp b/soh/soh/Enhancements/nametag.cpp index 1989b35528..7f17c96eb2 100644 --- a/soh/soh/Enhancements/nametag.cpp +++ b/soh/soh/Enhancements/nametag.cpp @@ -26,7 +26,7 @@ typedef struct { int16_t height; // Textbox height int16_t width; // Textbox width int16_t yOffset; // Addition Y offset - uint8_t noZBuffer; // Allow rendering over geometry + bool noZBuffer; // Allow rendering over geometry Mtx* mtx; // Allocated Mtx for rendering Vtx* vtx; // Allocated Vtx for rendering } NameTag; @@ -97,7 +97,7 @@ void DrawNameTag(PlayState* play, const NameTag* nameTag) { Matrix_Translate(nameTag->actor->world.pos.x, posY, nameTag->actor->world.pos.z, MTXMODE_NEW); Matrix_ReplaceRotation(&play->billboardMtxF); Matrix_Scale(scale * (sMirrorWorldActive ? -1.0f : 1.0f), -scale, 1.0f, MTXMODE_APPLY); - Matrix_Translate(-(float)nameTag->width / 2, -nameTag->height, 0, MTXMODE_APPLY); + Matrix_Translate(static_cast(-nameTag->width / 2.0f), static_cast(-nameTag->height), 0.0f, MTXMODE_APPLY); Matrix_ToMtx(nameTag->mtx, (char*)__FILE__, __LINE__); nameTagDl.push_back(gsSPMatrix(nameTag->mtx, G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW)); diff --git a/soh/soh/Enhancements/nametag.h b/soh/soh/Enhancements/nametag.h index 47908e875e..6926434276 100644 --- a/soh/soh/Enhancements/nametag.h +++ b/soh/soh/Enhancements/nametag.h @@ -10,7 +10,7 @@ typedef struct { const char* tag; // Tag identifier to filter/remove multiple tags int16_t yOffset; // Additional Y offset to apply for the name tag Color_RGBA8 textColor; // Text color override. Global color is used if alpha is 0 - uint8_t noZBuffer; // Allow rendering over geometry + bool noZBuffer; // Allow rendering over geometry } NameTagOptions; // Register required hooks for nametags on startup diff --git a/soh/soh/Enhancements/randomizer/3drando/fill.cpp b/soh/soh/Enhancements/randomizer/3drando/fill.cpp index cb15b8f70c..2ae05a475b 100644 --- a/soh/soh/Enhancements/randomizer/3drando/fill.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/fill.cpp @@ -736,7 +736,7 @@ static void PareDownPlaythrough() { } // Some spheres may now be empty, remove these - for (int i = ctx->playthroughLocations.size() - 2; i >= 0; i--) { + for (size_t i = ctx->playthroughLocations.size() - 2; i >= 0; i--) { if (ctx->playthroughLocations.at(i).size() == 0) { ctx->playthroughLocations.erase(ctx->playthroughLocations.begin() + i); } diff --git a/soh/soh/Enhancements/randomizer/ShuffleBeehives.cpp b/soh/soh/Enhancements/randomizer/ShuffleBeehives.cpp index 230773c0f2..0a0f7d820a 100644 --- a/soh/soh/Enhancements/randomizer/ShuffleBeehives.cpp +++ b/soh/soh/Enhancements/randomizer/ShuffleBeehives.cpp @@ -112,8 +112,8 @@ void ObjComb_RandomizerUpdate(void* actor) { PlayState* play = gPlayState; combActor->unk_1B2 += 0x2EE0; combActor->actionFunc(combActor, play); - combActor->actor.shape.rot.x = - Math_SinS(combActor->unk_1B2) * CLAMP_MIN(combActor->unk_1B0, 0) + combActor->actor.home.rot.x; + combActor->actor.shape.rot.x = static_cast(Math_SinS(combActor->unk_1B2) * CLAMP_MIN(combActor->unk_1B0, 0)) + + combActor->actor.home.rot.x; } void RegisterShuffleBeehives() { diff --git a/soh/soh/Enhancements/randomizer/ShuffleTrees.cpp b/soh/soh/Enhancements/randomizer/ShuffleTrees.cpp index 1d0fe2f6f8..c6a1f9816f 100644 --- a/soh/soh/Enhancements/randomizer/ShuffleTrees.cpp +++ b/soh/soh/Enhancements/randomizer/ShuffleTrees.cpp @@ -73,32 +73,32 @@ extern "C" void EnWood02_RandomizerDraw(Actor* thisx, PlayState* play) { // Change texture switch (getItemCategory) { case ITEM_CATEGORY_MAJOR: - Matrix_Scale(0.1, 0.05, 0.1, MTXMODE_APPLY); + Matrix_Scale(0.1f, 0.05f, 0.1f, MTXMODE_APPLY); Gfx_DrawDListOpa(play, (Gfx*)gSmallMajorCrateDL); break; case ITEM_CATEGORY_SKULLTULA_TOKEN: - Matrix_Scale(0.1, 0.05, 0.1, MTXMODE_APPLY); + Matrix_Scale(0.1f, 0.05f, 0.1f, MTXMODE_APPLY); Gfx_DrawDListOpa(play, (Gfx*)gSmallTokenCrateDL); break; case ITEM_CATEGORY_SMALL_KEY: - Matrix_Scale(0.1, 0.05, 0.1, MTXMODE_APPLY); + Matrix_Scale(0.1f, 0.05f, 0.1f, MTXMODE_APPLY); Gfx_DrawDListOpa(play, (Gfx*)gSmallSmallKeyCrateDL); break; case ITEM_CATEGORY_BOSS_KEY: - Matrix_Scale(0.1, 0.05, 0.1, MTXMODE_APPLY); + Matrix_Scale(0.1f, 0.05f, 0.1f, MTXMODE_APPLY); Gfx_DrawDListOpa(play, (Gfx*)gSmallBossKeyCrateDL); break; case ITEM_CATEGORY_HEALTH: - Matrix_Scale(0.1, 0.05, 0.1, MTXMODE_APPLY); + Matrix_Scale(0.1f, 0.05f, 0.1f, MTXMODE_APPLY); Gfx_DrawDListOpa(play, (Gfx*)gSmallHeartCrateDL); break; case ITEM_CATEGORY_LESSER: - Matrix_Scale(0.1, 0.05, 0.1, MTXMODE_APPLY); + Matrix_Scale(0.1f, 0.05f, 0.1f, MTXMODE_APPLY); Gfx_DrawDListOpa(play, (Gfx*)gSmallMinorCrateDL); break; case ITEM_CATEGORY_JUNK: default: - Matrix_Scale(0.04, 0.02, 0.04, MTXMODE_APPLY); + Matrix_Scale(0.04f, 0.02f, 0.04f, MTXMODE_APPLY); Gfx_DrawDListOpa(play, (Gfx*)gLargeJunkCrateDL); break; } @@ -120,7 +120,7 @@ void EnWood02_RandomizerSpawnCollectible(EnWood02* treeActor, PlayState* play) { item00->actor.velocity.y = 0.0f; item00->actor.world.pos.y += 120.0f; item00->actor.speedXZ = 2.0f; - item00->actor.world.rot.y = Rand_CenteredFloat(65536.0f); + item00->actor.world.rot.y = static_cast(Rand_CenteredFloat(65536.0f)); // clear randomizerCheck to prevent multiple bonks, // reloading area without collecting drop won't persist this treeIdentity->randomizerCheck = RC_UNKNOWN_CHECK; diff --git a/soh/soh/Enhancements/randomizer/hint.cpp b/soh/soh/Enhancements/randomizer/hint.cpp index a5954e9e02..4f692373f7 100644 --- a/soh/soh/Enhancements/randomizer/hint.cpp +++ b/soh/soh/Enhancements/randomizer/hint.cpp @@ -155,9 +155,9 @@ uint8_t GetRandomHintTextEntry(const HintText hintText) { auto ctx = Rando::Context::GetInstance(); uint8_t size = 0; if (ctx->GetOption(RSK_HINT_CLARITY).Is(RO_HINT_CLARITY_AMBIGUOUS)) { - size = hintText.GetAmbiguousSize(); + size = static_cast(hintText.GetAmbiguousSize()); } else if (ctx->GetOption(RSK_HINT_CLARITY).Is(RO_HINT_CLARITY_OBSCURE)) { - size = hintText.GetObscureSize(); + size = static_cast(hintText.GetObscureSize()); } if (size > 0) { return Random(0, size); @@ -185,7 +185,7 @@ void Hint::NamesChosen() { for (size_t c = 0; c < locations.size(); c++) { namesTemp = {}; saveNames = false; - uint8_t selection = GetRandomHintTextEntry(GetItemHintText(c)); + uint8_t selection = GetRandomHintTextEntry(GetItemHintText(static_cast(c))); if (selection > 0) { saveNames = true; } diff --git a/soh/soh/Enhancements/randomizer/hook_handlers.cpp b/soh/soh/Enhancements/randomizer/hook_handlers.cpp index f7b61b71a3..b5a18bde1a 100644 --- a/soh/soh/Enhancements/randomizer/hook_handlers.cpp +++ b/soh/soh/Enhancements/randomizer/hook_handlers.cpp @@ -2342,8 +2342,8 @@ void RandomizerOnActorInitHandler(void* actorRef) { enGe1->actionFunc = (EnGe1ActionFunc)EnGe1_SetNormalText; } else if (ge1Type == GE1_TYPE_GATE_OPERATOR && enGe1->actor.world.pos.x != -1358.0f) { // When spawning the gate operator, also spawn an extra gate operator on the wasteland side - Actor_Spawn(&gPlayState->actorCtx, gPlayState, ACTOR_EN_GE1, -1358.0f, 88.0f, -3018.0f, 0, 0x95B0, 0, - 0x0300 | GE1_TYPE_GATE_OPERATOR); + Actor_Spawn(&gPlayState->actorCtx, gPlayState, ACTOR_EN_GE1, -1358.0f, 88.0f, -3018.0f, 0, + static_cast(0x95B0), 0, 0x0300 | GE1_TYPE_GATE_OPERATOR); } } @@ -2352,8 +2352,8 @@ void RandomizerOnActorInitHandler(void* actorRef) { auto jyaBigMirror = static_cast(actorRef); jyaBigMirror->puzzleFlags |= BIGMIR_PUZZLE_COBRA1_SOLVED | BIGMIR_PUZZLE_COBRA2_SOLVED | BIGMIR_PUZZLE_BOMBIWA_DESTROYED; - jyaBigMirror->cobraInfo[0].rotY = 0x4000; - jyaBigMirror->cobraInfo[1].rotY = 0x8000; + jyaBigMirror->cobraInfo[0].rotY = static_cast(0x4000); + jyaBigMirror->cobraInfo[1].rotY = static_cast(0x8000); } if (actor->id == ACTOR_DEMO_KEKKAI && actor->params == 0) { // 0 == KEKKAI_TOWER diff --git a/soh/soh/Enhancements/randomizer/option.cpp b/soh/soh/Enhancements/randomizer/option.cpp index 5127209816..e6723da964 100644 --- a/soh/soh/Enhancements/randomizer/option.cpp +++ b/soh/soh/Enhancements/randomizer/option.cpp @@ -199,13 +199,14 @@ Option::Option(size_t key_, std::string name_, std::vector options_ if (imFlags_ & IMFLAG_LABEL_INLINE) { labelPosition = UIWidgets::LabelPositions::Near; } - widgetOptions = std::make_shared(UIWidgets::IntSliderOptions() - .DefaultValue(defaultOption) - .Tooltip(description.c_str()) - .Min(0) - .Max(options.size() - 1) - .Format(options[defaultOption].c_str()) - .LabelPosition(labelPosition)); + widgetOptions = + std::make_shared(UIWidgets::IntSliderOptions() + .DefaultValue(defaultOption) + .Tooltip(description.c_str()) + .Min(0) + .Max(static_cast(options.size() - 1)) + .Format(options[defaultOption].c_str()) + .LabelPosition(labelPosition)); break; default: break; @@ -231,7 +232,7 @@ void Option::AddWidget(WidgetPath& path) { RO_LOGIC_NO_LOGIC) { maxIndex = 7; } - sliderOpts->Max(maxIndex); + sliderOpts->Max(static_cast(maxIndex)); } }) .CVar(cvarName.c_str()) @@ -392,7 +393,7 @@ void OptionGroup::AddWidgets(WidgetPath& path) const { if (mContainerType == WidgetContainerType::TABLE) { path.column = SECTION_COLUMN_1; path.sidebarName = mName; - SohGui::mSohMenu->AddSidebarEntry("Randomizer", path.sidebarName, mSubGroups.size()); + SohGui::mSohMenu->AddSidebarEntry("Randomizer", path.sidebarName, static_cast(mSubGroups.size())); } if (mContainerType == WidgetContainerType::SECTION || mContainerType == WidgetContainerType::COLUMN) { if (!mName.empty()) { diff --git a/soh/soh/Enhancements/randomizer/randomizer.cpp b/soh/soh/Enhancements/randomizer/randomizer.cpp index 2d31757c48..6fcbda8fde 100644 --- a/soh/soh/Enhancements/randomizer/randomizer.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer.cpp @@ -69,7 +69,7 @@ bool Rando_HandleSpoilerDrop(char* filePath) { CVarSetInteger(CVAR_GENERAL("RandomizerNewFileDropped"), 1); return true; } - } catch (std::exception& e) {} + } catch ([[maybe_unused]] std::exception& e) {} return false; } diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp index 039337a551..de7b4d5792 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp @@ -2298,9 +2298,11 @@ void CheckTrackerSettingsWindow::DrawElement() { ImGui::TableHeadersRow(); ImGui::TableNextRow(); ImGui::TableNextColumn(); - SohGui::GetSohMenu()->MenuDrawItem(backgroundColorWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::GetSohMenu()->MenuDrawItem(backgroundColorWidget, + static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); - SohGui::GetSohMenu()->MenuDrawItem(windowTypeWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::GetSohMenu()->MenuDrawItem(windowTypeWidget, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); UIWidgets::CVarSliderFloat("Font Size", CVAR_TRACKER_CHECK("FontSize"), UIWidgets::FloatSliderOptions() @@ -2340,17 +2342,22 @@ void CheckTrackerSettingsWindow::DrawElement() { } } ImGui::BeginDisabled(CVarGetInteger(CVAR_SETTING("DisableChanges"), 0)); - SohGui::GetSohMenu()->MenuDrawItem(dungeonSpoilerWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::GetSohMenu()->MenuDrawItem(dungeonSpoilerWidget, + static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); ImGui::EndDisabled(); - SohGui::GetSohMenu()->MenuDrawItem(hideUnshuffledShopWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::GetSohMenu()->MenuDrawItem(hideUnshuffledShopWidget, + static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); - SohGui::GetSohMenu()->MenuDrawItem(showGSWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::GetSohMenu()->MenuDrawItem(showGSWidget, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); - SohGui::GetSohMenu()->MenuDrawItem(showLogicWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::GetSohMenu()->MenuDrawItem(showLogicWidget, static_cast(ImGui::GetContentRegionAvail().x), + THEME_COLOR); ImGui::BeginDisabled(CVarGetInteger(CVAR_SETTING("DisableChanges"), 0)); - SohGui::GetSohMenu()->MenuDrawItem(checkAvailabilityWidget, ImGui::GetContentRegionAvail().x, THEME_COLOR); + SohGui::GetSohMenu()->MenuDrawItem(checkAvailabilityWidget, + static_cast(ImGui::GetContentRegionAvail().x), THEME_COLOR); ImGui::EndDisabled(); // Filtering settings diff --git a/soh/soh/Enhancements/timesplits/TimeSplits.cpp b/soh/soh/Enhancements/timesplits/TimeSplits.cpp index 91eaa8a7a5..5d33bba7ca 100644 --- a/soh/soh/Enhancements/timesplits/TimeSplits.cpp +++ b/soh/soh/Enhancements/timesplits/TimeSplits.cpp @@ -349,7 +349,7 @@ void HandleDragAndDrop(std::vector& objectList, int targetIndex, co } void TimeSplitCompleteSplits() { - gSaveContext.ship.stats.itemTimestamp[TIMESTAMP_DEFEAT_GANON] = GAMEPLAYSTAT_TOTAL_TIME; + gSaveContext.ship.stats.itemTimestamp[TIMESTAMP_DEFEAT_GANON] = static_cast(GAMEPLAYSTAT_TOTAL_TIME); gSaveContext.ship.stats.gameComplete = true; } @@ -587,13 +587,13 @@ void TimeSplitsItemSplitEvent(uint32_t type, u8 item) { if (split.splitType == type) { if (item == split.splitID) { if (split.splitTimeStatus == SPLIT_STATUS_ACTIVE) { - split.splitTimeCurrent = GAMEPLAYSTAT_TOTAL_TIME; + split.splitTimeCurrent = static_cast(GAMEPLAYSTAT_TOTAL_TIME); split.splitTimeStatus = SPLIT_STATUS_COLLECTED; if (split.splitTimeBest > GAMEPLAYSTAT_TOTAL_TIME || split.splitTimeBest == 0) { - split.splitTimeBest = GAMEPLAYSTAT_TOTAL_TIME; + split.splitTimeBest = static_cast(GAMEPLAYSTAT_TOTAL_TIME); } if (split.splitTimePreviousBest == 0) { - split.splitTimePreviousBest = GAMEPLAYSTAT_TOTAL_TIME; + split.splitTimePreviousBest = static_cast(GAMEPLAYSTAT_TOTAL_TIME); } if (index == splitList.size() - 1) { TimeSplitCompleteSplits(); @@ -612,15 +612,15 @@ void TimeSplitsSplitBestTimeDisplay(SplitObject split) { if (split.splitTimeStatus == SPLIT_STATUS_ACTIVE) { if (GAMEPLAYSTAT_TOTAL_TIME > split.splitTimePreviousBest) { splitTimeColor = COLOR_RED; - splitBestTimeDisplay = (GAMEPLAYSTAT_TOTAL_TIME - split.splitTimePreviousBest); + splitBestTimeDisplay = (static_cast(GAMEPLAYSTAT_TOTAL_TIME) - split.splitTimePreviousBest); } if (GAMEPLAYSTAT_TOTAL_TIME == split.splitTimePreviousBest) { splitTimeColor = COLOR_WHITE; - splitBestTimeDisplay = GAMEPLAYSTAT_TOTAL_TIME; + splitBestTimeDisplay = static_cast(GAMEPLAYSTAT_TOTAL_TIME); } if (GAMEPLAYSTAT_TOTAL_TIME < split.splitTimePreviousBest) { splitTimeColor = COLOR_GREEN; - splitBestTimeDisplay = (split.splitTimePreviousBest - GAMEPLAYSTAT_TOTAL_TIME); + splitBestTimeDisplay = (split.splitTimePreviousBest - static_cast(GAMEPLAYSTAT_TOTAL_TIME)); } activeSplitHighlight = COLOR_LIGHT_BLUE; } @@ -685,7 +685,7 @@ void TimeSplitsDrawSplitsList() { ImGui::TableNextColumn(); // Current Time ImGui::Text("%s", (split.splitTimeStatus == SPLIT_STATUS_ACTIVE) - ? formatTimestampTimeSplit(GAMEPLAYSTAT_TOTAL_TIME).c_str() + ? formatTimestampTimeSplit(static_cast(GAMEPLAYSTAT_TOTAL_TIME)).c_str() : (split.splitTimeStatus == SPLIT_STATUS_COLLECTED) ? formatTimestampTimeSplit(split.splitTimeCurrent).c_str() : "--:--:-"); @@ -1016,21 +1016,21 @@ void TimeSplitWindow::InitElement() { break; } } - TimeSplitsItemSplitEvent(tempType, itemEntry.itemId); + TimeSplitsItemSplitEvent(tempType, static_cast(itemEntry.itemId)); } }); GameInteractor::Instance->RegisterGameHook( - [](int16_t contents) { TimeSplitsItemSplitEvent(SPLIT_TYPE_UPGRADE, contents); }); + [](int16_t contents) { TimeSplitsItemSplitEvent(SPLIT_TYPE_UPGRADE, static_cast(contents)); }); GameInteractor::Instance->RegisterGameHook([](void* refActor) { Actor* bossActor = (Actor*)refActor; - TimeSplitsItemSplitEvent(SPLIT_TYPE_BOSS, bossActor->id); + TimeSplitsItemSplitEvent(SPLIT_TYPE_BOSS, static_cast(bossActor->id)); }); GameInteractor::Instance->RegisterGameHook([](int16_t sceneNum) { if (gPlayState->sceneNum != SCENE_KAKARIKO_VILLAGE) { - TimeSplitsItemSplitEvent(SPLIT_TYPE_ENTRANCE, sceneNum); + TimeSplitsItemSplitEvent(SPLIT_TYPE_ENTRANCE, static_cast(sceneNum)); } }); @@ -1038,7 +1038,7 @@ void TimeSplitWindow::InitElement() { if (gPlayState->sceneNum == SCENE_KAKARIKO_VILLAGE) { Player* player = GET_PLAYER(gPlayState); if (player->fallDistance > 500 && gSaveContext.health <= 0) { - TimeSplitsItemSplitEvent(SPLIT_TYPE_MISC, gPlayState->sceneNum); + TimeSplitsItemSplitEvent(SPLIT_TYPE_MISC, static_cast(gPlayState->sceneNum)); } } }); diff --git a/soh/soh/Enhancements/tts/tts.cpp b/soh/soh/Enhancements/tts/tts.cpp index 6b31cdfb68..f0420a4e5a 100644 --- a/soh/soh/Enhancements/tts/tts.cpp +++ b/soh/soh/Enhancements/tts/tts.cpp @@ -344,7 +344,7 @@ void RegisterOnKaleidoscopeUpdateHook() { // Normalize hearts to fractional count similar to z_lifemeter int curHeartFraction = gSaveContext.health % 16; int fullHearts = gSaveContext.health / 16; - float fraction = ceilf((float)curHeartFraction / 5) * 0.25; + float fraction = ceilf(static_cast(curHeartFraction / 5.0f)) * 0.25f; float health = (float)fullHearts + fraction; snprintf(arg, sizeof(arg), "%g", health); auto translation = GetParameritizedText("health", TEXT_BANK_KALEIDO, arg); @@ -419,7 +419,7 @@ void RegisterOnKaleidoscopeUpdateHook() { // Check if item is assigned to a button for (size_t i = 0; i < ARRAY_COUNT(gSaveContext.equips.cButtonSlots); i++) { if (gSaveContext.equips.buttonItems[i + 1] == pauseCtx->cursorItem[PAUSE_ITEM]) { - assignedTo = i; + assignedTo = static_cast(i); break; } } @@ -500,7 +500,7 @@ void RegisterOnKaleidoscopeUpdateHook() { std::string key = std::to_string(pauseCtx->cursorItem[PAUSE_EQUIP]); auto itemTranslation = GetParameritizedText(key, TEXT_BANK_KALEIDO, nullptr); - uint8_t checkEquipItem = pauseCtx->namedItem; + uint16_t checkEquipItem = pauseCtx->namedItem; // BGS from kaleido reports as ITEM_HEART_PIECE_2 (122) // remap BGS and broken knife to be the BGS item for the current equip check @@ -519,7 +519,7 @@ void RegisterOnKaleidoscopeUpdateHook() { for (size_t i = 0; i < ARRAY_COUNT(gSaveContext.equips.cButtonSlots); i++) { if (gSaveContext.equips.buttonItems[i + 1] == checkEquipItem) { - assignedTo = i; + assignedTo = static_cast(i); break; } } diff --git a/soh/soh/Network/Anchor/Packets/DamagePlayer.cpp b/soh/soh/Network/Anchor/Packets/DamagePlayer.cpp index eea1e81759..7b0f05a1bd 100644 --- a/soh/soh/Network/Anchor/Packets/DamagePlayer.cpp +++ b/soh/soh/Network/Anchor/Packets/DamagePlayer.cpp @@ -51,7 +51,7 @@ void Anchor::HandlePacket_DamagePlayer(nlohmann::json payload) { if (damageEffect == DUMMY_PLAYER_HIT_RESPONSE_FIRE) { for (int i = 0; i < ARRAY_COUNT(self->bodyFlameTimers); i++) { - self->bodyFlameTimers[i] = Rand_S16Offset(0, 200); + self->bodyFlameTimers[i] = static_cast(Rand_S16Offset(0, 200)); } self->bodyIsBurning = true; } else if (damageEffect == DUMMY_PLAYER_HIT_RESPONSE_STUN) { diff --git a/soh/soh/Network/Anchor/Packets/GiveItem.cpp b/soh/soh/Network/Anchor/Packets/GiveItem.cpp index f957eef022..74caa0367e 100644 --- a/soh/soh/Network/Anchor/Packets/GiveItem.cpp +++ b/soh/soh/Network/Anchor/Packets/GiveItem.cpp @@ -65,7 +65,7 @@ void Anchor::HandlePacket_GiveItem(nlohmann::json payload) { if (getItemEntry.getItemId == GI_SWORD_BGS) { gSaveContext.bgsFlag = true; } - Item_Give(gPlayState, getItemEntry.itemId); + Item_Give(gPlayState, static_cast(getItemEntry.itemId)); } else if (getItemEntry.modIndex == MOD_RANDOMIZER) { if (getItemEntry.getItemId == RG_ICE_TRAP) { gSaveContext.ship.pendingIceTrapCount++; diff --git a/soh/soh/Network/Anchor/Packets/UpdateTeamState.cpp b/soh/soh/Network/Anchor/Packets/UpdateTeamState.cpp index d0c4a956ad..2eedaf8465 100644 --- a/soh/soh/Network/Anchor/Packets/UpdateTeamState.cpp +++ b/soh/soh/Network/Anchor/Packets/UpdateTeamState.cpp @@ -136,7 +136,8 @@ void Anchor::HandlePacket_UpdateTeamState(nlohmann::json payload) { gSaveContext.healthCapacity = loadedData.healthCapacity; gSaveContext.magicLevel = loadedData.magicLevel; - gSaveContext.magicCapacity = gSaveContext.magic = loadedData.magicCapacity; + gSaveContext.magicCapacity = loadedData.magicCapacity; + gSaveContext.magic = static_cast(loadedData.magicCapacity); gSaveContext.isMagicAcquired = loadedData.isMagicAcquired; gSaveContext.isDoubleMagicAcquired = loadedData.isDoubleMagicAcquired; gSaveContext.isDoubleDefenseAcquired = loadedData.isDoubleDefenseAcquired; diff --git a/soh/soh/Notification/Notification.cpp b/soh/soh/Notification/Notification.cpp index 03a7c03183..a0ddd5b611 100644 --- a/soh/soh/Notification/Notification.cpp +++ b/soh/soh/Notification/Notification.cpp @@ -52,7 +52,7 @@ void Window::Draw() { for (int index = 0; index < notifications.size(); ++index) { auto& notification = notifications[index]; - int inverseIndex = -ABS(index - (notifications.size() - 1)); + int inverseIndex = -ABS(index - (static_cast(notifications.size()) - 1)); ImGui::SetNextWindowViewport(vp->ID); if (notification.remainingTime < 4.0f) { diff --git a/soh/soh/OTRGlobals.cpp b/soh/soh/OTRGlobals.cpp index b52beaead3..9bd6d51a39 100644 --- a/soh/soh/OTRGlobals.cpp +++ b/soh/soh/OTRGlobals.cpp @@ -1529,7 +1529,7 @@ extern "C" void InitOTR(int argc, char* argv[]) { CVarClear(CVAR_GENERAL("LetItSnow")); } - srand(now); + srand(static_cast(now)); #ifdef ENABLE_REMOTE_CONTROL SDLNet_Init(); #endif @@ -1864,7 +1864,8 @@ ImFont* OTRGlobals::CreateFontWithSize(float size, std::string fontPath, bool is ImFontConfig fontConf; fontConf.FontDataOwnedByAtlas = false; const ImWchar* glyph_ranges = isJapaneseFont ? mImGuiIo->Fonts->GetGlyphRangesJapanese() : nullptr; - font = mImGuiIo->Fonts->AddFontFromMemoryTTF(fontData->Data, fontData->DataSize, size, &fontConf, glyph_ranges); + font = mImGuiIo->Fonts->AddFontFromMemoryTTF(fontData->Data, static_cast(fontData->DataSize), size, + &fontConf, glyph_ranges); } // FontAwesome fonts need to have their sizes reduced by 2.0f/3.0f in order to align correctly float iconFontSize = size * 2.0f / 3.0f; @@ -1983,7 +1984,7 @@ extern "C" void OTRGfxPrint(const char* str, void* printer, void (*printImpl)(vo for (const auto& c : wstr) { if (c < 0x80) { - printImpl(printer, c); + printImpl(printer, static_cast(c)); } else if (c == GFXP_HIRAGANA_CHAR) { hiraganaMode = true; } else if (c == GFXP_KATAKANA_CHAR) { @@ -2001,22 +2002,22 @@ extern "C" void OTRGfxPrint(const char* str, void* printer, void (*printImpl)(vo } else { auto it = std::find(hira1.begin(), hira1.end(), c); if (it != hira1.end()) { // hiragana block 1 - printImpl(printer, 0x86 + std::distance(hira1.begin(), it)); + printImpl(printer, static_cast(0x86 + std::distance(hira1.begin(), it))); } auto it2 = std::find(hira2.begin(), hira2.end(), c); if (it2 != hira2.end()) { // hiragana block 2 - printImpl(printer, 0xe0 + std::distance(hira2.begin(), it2)); + printImpl(printer, static_cast(0xe0 + std::distance(hira2.begin(), it2))); } auto it3 = std::find(kata1.begin(), kata1.end(), c); if (it3 != kata1.end()) { // katakana zenkaku block 1 - printImpl(printer, 0xa6 + std::distance(kata1.begin(), it3)); + printImpl(printer, static_cast(0xa6 + std::distance(kata1.begin(), it3))); } auto it4 = std::find(kata2.begin(), kata2.end(), c); if (it4 != kata2.end()) { // katakana zenkaku block 2 - printImpl(printer, 0xb1 + std::distance(kata2.begin(), it4)); + printImpl(printer, static_cast(0xb1 + std::distance(kata2.begin(), it4))); } } } @@ -2109,9 +2110,9 @@ Color_RGB8 GetColorForControllerLED() { } } } - color.r = color.r * brightness; - color.g = color.g * brightness; - color.b = color.b * brightness; + color.r = static_cast(color.r * brightness); + color.g = static_cast(color.g * brightness); + color.b = static_cast(color.b * brightness); } return color; @@ -2221,7 +2222,7 @@ extern "C" int Controller_ShouldRumble(size_t slot) { if (Ship::Context::GetRawInstance() ->GetControlDeck() ->GetConnectedPhysicalDeviceManager() - ->GetConnectedSDLGamepadsForPort(slot) + ->GetConnectedSDLGamepadsForPort(static_cast(slot)) .empty()) { return 0; } diff --git a/soh/soh/ResourceManagerHelpers.cpp b/soh/soh/ResourceManagerHelpers.cpp index 59dfa2084b..314a224376 100644 --- a/soh/soh/ResourceManagerHelpers.cpp +++ b/soh/soh/ResourceManagerHelpers.cpp @@ -21,7 +21,8 @@ extern "C" PlayState* gPlayState; extern "C" uint32_t ResourceMgr_GetNumGameVersions() { - return Ship::Context::GetRawInstance()->GetResourceManager()->GetArchiveManager()->GetGameVersions().size(); + return static_cast( + Ship::Context::GetRawInstance()->GetResourceManager()->GetArchiveManager()->GetGameVersions().size()); } extern "C" uint32_t ResourceMgr_GetGameVersion(int index) { @@ -50,6 +51,9 @@ extern "C" uint32_t ResourceMgr_GetGamePlatform(int index) { case OOT_PAL_GC_DBG2: case OOT_PAL_GC_MQ_DBG: return GAME_PLATFORM_GC; + default: + assert(false); + return GAME_PLATFORM_UNKNOWN; } } @@ -75,6 +79,9 @@ extern "C" uint32_t ResourceMgr_GetGameRegion(int index) { case OOT_PAL_GC_DBG2: case OOT_PAL_GC_MQ_DBG: return GAME_REGION_PAL; + default: + assert(false); + return GAME_REGION_UNKNOWN; } } @@ -157,7 +164,7 @@ extern "C" char** ResourceMgr_ListFiles(const char* searchMask, int* resultSize) str[lst.get()[0][i].size()] = '\0'; result[i] = str; } - *resultSize = lst->size(); + *resultSize = static_cast(lst->size()); return result; } diff --git a/soh/soh/ResourceManagerHelpers.h b/soh/soh/ResourceManagerHelpers.h index 1dfd34449d..15022c6256 100644 --- a/soh/soh/ResourceManagerHelpers.h +++ b/soh/soh/ResourceManagerHelpers.h @@ -4,9 +4,11 @@ #define GAME_REGION_NTSC 0 #define GAME_REGION_PAL 1 +#define GAME_REGION_UNKNOWN 2 #define GAME_PLATFORM_N64 0 #define GAME_PLATFORM_GC 1 +#define GAME_PLATFORM_UNKNOWN 2 #ifdef __cplusplus #include diff --git a/soh/soh/SaveManager.cpp b/soh/soh/SaveManager.cpp index b5d1246b2c..67e250a58c 100644 --- a/soh/soh/SaveManager.cpp +++ b/soh/soh/SaveManager.cpp @@ -733,7 +733,7 @@ void SaveManager::InitFileNormal() { gSaveContext.inventory.dungeonItems[dungeon] = 0; } for (int dungeon = 0; dungeon < ARRAY_COUNT(gSaveContext.inventory.dungeonKeys); dungeon++) { - gSaveContext.inventory.dungeonKeys[dungeon] = 0xFF; + gSaveContext.inventory.dungeonKeys[dungeon] = static_cast(0xFF); } gSaveContext.inventory.defenseHearts = 0; gSaveContext.inventory.gsTokens = 0; @@ -837,19 +837,22 @@ void SaveManager::InitFileDebug() { gSaveContext.deaths = 0; if (ResourceMgr_GetGameRegion(0) == GAME_REGION_PAL && gSaveContext.language != LANGUAGE_JPN) { - const static std::array sPlayerName = { 0x15, 0x12, 0x17, 0x14, 0x3E, 0x3E, 0x3E, 0x3E }; + const static std::array sPlayerName = { '\x15', '\x12', '\x17', '\x14', '\x3E', '\x3E', '\x3E', '\x3E' }; + for (int i = 0; i < ARRAY_COUNT(gSaveContext.playerName); i++) { gSaveContext.playerName[i] = sPlayerName[i]; } gSaveContext.ship.filenameLanguage = NAME_LANGUAGE_PAL; } else if (gSaveContext.language == LANGUAGE_JPN) { // Japanese - const static std::array sPlayerName = { 0x81, 0x87, 0x61, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF }; + const static std::array sPlayerName = { '\x81', '\x87', '\x61', '\xDF', '\xDF', '\xDF', '\xDF', '\xDF' }; + for (int i = 0; i < ARRAY_COUNT(gSaveContext.playerName); i++) { gSaveContext.playerName[i] = sPlayerName[i]; } gSaveContext.ship.filenameLanguage = NAME_LANGUAGE_NTSC_JPN; } else { // GAME_REGION_NTSC - const static std::array sPlayerName = { 0xB6, 0xB3, 0xB8, 0xB5, 0xDF, 0xDF, 0xDF, 0xDF }; + const static std::array sPlayerName = { '\xB6', '\xB3', '\xB8', '\xB5', '\xDF', '\xDF', '\xDF', '\xDF' }; + for (int i = 0; i < ARRAY_COUNT(gSaveContext.playerName); i++) { gSaveContext.playerName[i] = sPlayerName[i]; } @@ -957,19 +960,22 @@ void SaveManager::InitFileMaxed() { gSaveContext.deaths = 0; if (ResourceMgr_GetGameRegion(0) == GAME_REGION_PAL && gSaveContext.language != LANGUAGE_JPN) { - const static std::array sPlayerName = { 0x15, 0x12, 0x17, 0x14, 0x3E, 0x3E, 0x3E, 0x3E }; + const static std::array sPlayerName = { '\x15', '\x12', '\x17', '\x14', '\x3E', '\x3E', '\x3E', '\x3E' }; + for (int i = 0; i < ARRAY_COUNT(gSaveContext.playerName); i++) { gSaveContext.playerName[i] = sPlayerName[i]; } gSaveContext.ship.filenameLanguage = NAME_LANGUAGE_PAL; } else if (gSaveContext.language == LANGUAGE_JPN) { // Japanese - const static std::array sPlayerName = { 0x81, 0x87, 0x61, 0xDF, 0xDF, 0xDF, 0xDF, 0xDF }; + const static std::array sPlayerName = { '\x81', '\x87', '\x61', '\xDF', '\xDF', '\xDF', '\xDF', '\xDF' }; + for (int i = 0; i < ARRAY_COUNT(gSaveContext.playerName); i++) { gSaveContext.playerName[i] = sPlayerName[i]; } gSaveContext.ship.filenameLanguage = NAME_LANGUAGE_NTSC_JPN; } else { // GAME_REGION_NTSC - const static std::array sPlayerName = { 0xB6, 0xB3, 0xB8, 0xB5, 0xDF, 0xDF, 0xDF, 0xDF }; + const static std::array sPlayerName = { '\xB6', '\xB3', '\xB8', '\xB5', '\xDF', '\xDF', '\xDF', '\xDF' }; + for (int i = 0; i < ARRAY_COUNT(gSaveContext.playerName); i++) { gSaveContext.playerName[i] = sPlayerName[i]; } @@ -1321,7 +1327,7 @@ void SaveManager::LoadFile(int fileNum) { } InitMeta(fileNum); GameInteractor::Instance->ExecuteHooks(fileNum); - } catch (const std::exception& e) { + } catch ([[maybe_unused]] const std::exception& e) { input.close(); std::string newFileName = Ship::Context::GetPathRelativeToAppDirectory("Save") + @@ -1349,7 +1355,7 @@ void SaveManager::ThreadPoolWait() { bool SaveManager::SaveFile_Exist(int fileNum) { try { return std::filesystem::exists(GetFileName(fileNum)); - } catch (std::filesystem::filesystem_error const& ex) { + } catch ([[maybe_unused]] std::filesystem::filesystem_error const& ex) { SPDLOG_ERROR("Filesystem error"); return false; } diff --git a/soh/soh/SohGui/Menu.cpp b/soh/soh/SohGui/Menu.cpp index 472d479dc6..f637ecb10d 100644 --- a/soh/soh/SohGui/Menu.cpp +++ b/soh/soh/SohGui/Menu.cpp @@ -66,7 +66,7 @@ bool operator>(Color_RGBA8 const& l, Color_RGBA8 const& r) noexcept { } uint32_t GetVectorIndexOf(std::vector& vector, std::string value) { - return std::distance(vector.begin(), std::find(vector.begin(), vector.end(), value)); + return static_cast(std::distance(vector.begin(), std::find(vector.begin(), vector.end(), value))); } static bool raceDisableActive = false; @@ -93,7 +93,7 @@ void Menu::RemoveSidebarSearch() { if (curIndex > searchSidebarIndex) { curIndex--; } else if (curIndex >= menuEntries["Settings"].sidebarOrder.size()) { - curIndex = menuEntries["Settings"].sidebarOrder.size() - 1; + curIndex = static_cast(menuEntries["Settings"].sidebarOrder.size() - 1); } CVarSetString(menuEntries["Settings"].sidebarCvar, menuEntries["Settings"].sidebarOrder.at(curIndex).c_str()); } @@ -129,10 +129,10 @@ Menu::Menu(const std::string& cVar, const std::string& name, uint8_t searchSideb void Menu::InitElement() { popped = CVarGetInteger(CVAR_SETTING("Menu.Popout"), 0); - poppedSize.x = CVarGetInteger(CVAR_SETTING("Menu.PoppedWidth"), 1280); - poppedSize.y = CVarGetInteger(CVAR_SETTING("Menu.PoppedHeight"), 800); - poppedPos.x = CVarGetInteger(CVAR_SETTING("Menu.PoppedPos.x"), 0); - poppedPos.y = CVarGetInteger(CVAR_SETTING("Menu.PoppedPos.y"), 0); + poppedSize.x = static_cast(CVarGetInteger(CVAR_SETTING("Menu.PoppedWidth"), 1280)); + poppedSize.y = static_cast(CVarGetInteger(CVAR_SETTING("Menu.PoppedHeight"), 800)); + poppedPos.x = static_cast(CVarGetInteger(CVAR_SETTING("Menu.PoppedPos.x"), 0)); + poppedPos.y = static_cast(CVarGetInteger(CVAR_SETTING("Menu.PoppedPos.y"), 0)); menuThemeIndex = static_cast(CVarGetInteger(CVAR_SETTING("Menu.Theme"), defaultThemeIndex)); UpdateWindowBackendObjects(); diff --git a/soh/soh/SohGui/ResolutionEditor.cpp b/soh/soh/SohGui/ResolutionEditor.cpp index 778504c4b0..829df9f0b6 100644 --- a/soh/soh/SohGui/ResolutionEditor.cpp +++ b/soh/soh/SohGui/ResolutionEditor.cpp @@ -116,7 +116,7 @@ void ResolutionCustomWidget(WidgetInfo& info) { verticalPixelCount = pixelCountPresets[item_pixelCount]; if (showHorizontalResField) { - horizontalPixelCount = (verticalPixelCount / aspectRatioY) * aspectRatioX; + horizontalPixelCount = static_cast((verticalPixelCount / aspectRatioY) * aspectRatioX); } CVarSetInteger(CVAR_PREFIX_ADVANCED_RESOLUTION ".VerticalPixelCount", verticalPixelCount); @@ -135,8 +135,8 @@ void ResolutionCustomWidget(WidgetInfo& info) { if (horizontalPixelCount < SCREEN_WIDTH) { horizontalPixelCount = SCREEN_WIDTH; } - aspectRatioX = horizontalPixelCount; - aspectRatioY = verticalPixelCount; + aspectRatioX = static_cast(horizontalPixelCount); + aspectRatioY = static_cast(verticalPixelCount); update[UPDATE_aspectRatioX] = true; update[UPDATE_aspectRatioY] = true; } @@ -152,7 +152,7 @@ void ResolutionCustomWidget(WidgetInfo& info) { aspectRatioY = aspectRatioPresetsY[2]; update[UPDATE_aspectRatioX] = true; update[UPDATE_aspectRatioY] = true; - horizontalPixelCount = (verticalPixelCount / aspectRatioY) * aspectRatioX; + horizontalPixelCount = static_cast((verticalPixelCount / aspectRatioY) * aspectRatioX); } } } @@ -166,8 +166,8 @@ void ResolutionCustomWidget(WidgetInfo& info) { // Ignore vertical resolutions that are below the lower clamp constant. if (showHorizontalResField && !(verticalPixelCount < minVerticalPixelCount)) { item_aspectRatio = default_aspectRatio; - aspectRatioX = horizontalPixelCount; - aspectRatioY = verticalPixelCount; + aspectRatioX = static_cast(horizontalPixelCount); + aspectRatioY = static_cast(verticalPixelCount); update[UPDATE_aspectRatioX] = true; update[UPDATE_aspectRatioY] = true; } @@ -267,12 +267,12 @@ void ResolutionCustomWidget(WidgetInfo& info) { if (!showHorizontalResField && (aspectRatioX > 0.0f)) { // when turning this setting off // Refresh relevant values aspectRatioX = aspectRatioY * horizontalPixelCount / verticalPixelCount; - horizontalPixelCount = (verticalPixelCount / aspectRatioY) * aspectRatioX; + horizontalPixelCount = static_cast((verticalPixelCount / aspectRatioY) * aspectRatioX); } else { // when turning this setting on item_aspectRatio = default_aspectRatio; if (aspectRatioX > 0.0f) { // Refresh relevant values in the opposite order - horizontalPixelCount = (verticalPixelCount / aspectRatioY) * aspectRatioX; + horizontalPixelCount = static_cast((verticalPixelCount / aspectRatioY) * aspectRatioX); aspectRatioX = aspectRatioY * horizontalPixelCount / verticalPixelCount; } } @@ -459,7 +459,7 @@ void RegisterResolutionWidgets() { aspectRatioY = aspectRatioPresetsY[item_aspectRatio]; if (showHorizontalResField) { - horizontalPixelCount = (verticalPixelCount / aspectRatioY) * aspectRatioX; + horizontalPixelCount = static_cast((verticalPixelCount / aspectRatioY) * aspectRatioX); } CVarSetFloat(CVAR_PREFIX_ADVANCED_RESOLUTION ".AspectRatioX", aspectRatioX); @@ -582,7 +582,7 @@ void UpdateResolutionVars() { verticalPixelCount = CVarGetInteger(CVAR_PREFIX_ADVANCED_RESOLUTION ".VerticalPixelCount", pixelCountPresets[item_pixelCount]); // Additional settings - horizontalPixelCount = (verticalPixelCount / aspectRatioY) * aspectRatioX; + horizontalPixelCount = static_cast((verticalPixelCount / aspectRatioY) * aspectRatioX); // Disabling flags disabled_everything = !CVarGetInteger(CVAR_PREFIX_ADVANCED_RESOLUTION ".Enabled", 0); disabled_pixelCount = !CVarGetInteger(CVAR_PREFIX_ADVANCED_RESOLUTION ".VerticalResolutionToggle", 0); diff --git a/soh/soh/SohGui/UIWidgets.cpp b/soh/soh/SohGui/UIWidgets.cpp index f97e0dd566..5a9cafe62f 100644 --- a/soh/soh/SohGui/UIWidgets.cpp +++ b/soh/soh/SohGui/UIWidgets.cpp @@ -18,7 +18,7 @@ std::string WrappedText(const char* text, unsigned int charactersPerLine) { std::string newText(text); const size_t tipLength = newText.length(); int lastSpace = -1; - int currentLineLength = 0; + unsigned int currentLineLength = 0; for (unsigned int currentCharacter = 0; currentCharacter < tipLength; currentCharacter++) { if (newText[currentCharacter] == '\n') { currentLineLength = 0; @@ -930,9 +930,9 @@ bool CVarColorPicker(const char* label, const char* cvarName, Color_RGBA8 defaul .Color(themeColor) .Size(UIWidgets::Sizes::Inline))) { colorVec = GetRandomValue(); - color.r = fmin(fmax(colorVec.x * 255, 0), 255); - color.g = fmin(fmax(colorVec.y * 255, 0), 255); - color.b = fmin(fmax(colorVec.z * 255, 0), 255); + color.r = static_cast(fmin(fmax(colorVec.x * 255, 0), 255)); + color.g = static_cast(fmin(fmax(colorVec.y * 255, 0), 255)); + color.b = static_cast(fmin(fmax(colorVec.z * 255, 0), 255)); CVarSetColor(valueCVar.c_str(), color); CVarSetInteger(rainbowCVar.c_str(), 0); // On click disable rainbow mode. ShipInit::Init(rainbowCVar.c_str()); @@ -1264,7 +1264,8 @@ ImVec4 GetRandomValue(uint64_t* state) { } Color_RGBA8 RGBA8FromVec(ImVec4 vec) { - Color_RGBA8 color = { vec.x * 255, vec.y * 255, vec.z * 255, vec.w * 255 }; + Color_RGBA8 color = { static_cast(vec.x * 255), static_cast(vec.y * 255), static_cast(vec.z * 255), + static_cast(vec.w * 255) }; return color; } diff --git a/soh/soh/frame_interpolation.cpp b/soh/soh/frame_interpolation.cpp index ae2ee0efd2..6648020008 100644 --- a/soh/soh/frame_interpolation.cpp +++ b/soh/soh/frame_interpolation.cpp @@ -237,19 +237,19 @@ struct InterpolateCtx { float interpolate_angle(f32 o, f32 n) { if (o == n) return n; - o = fmodf(o, 2 * M_PI); + o = fmodf(o, static_cast(2.0f * M_PI)); if (o < 0.0f) { - o += 2 * M_PI; + o += static_cast(2.0f * M_PI); } - n = fmodf(n, 2 * M_PI); + n = fmodf(n, static_cast(2.0f * M_PI)); if (n < 0.0f) { - n += 2 * M_PI; + n += static_cast(2.0f * M_PI); } if (fabsf(o - n) > M_PI) { if (o < n) { - o += 2 * M_PI; + o += static_cast(2.0f * M_PI); } else { - n += 2 * M_PI; + n += static_cast(2.0f * M_PI); } } if (fabsf(o - n) > M_PI / 2) { @@ -729,7 +729,7 @@ static bool invert_matrix(const float m[16], float invOut[16]) { return false; } - det = 1.0 / det; + det = 1.0f / det; for (i = 0; i < 16; i++) { invOut[i] = inv[i] * det; diff --git a/soh/soh/framebuffer_effects.c b/soh/soh/framebuffer_effects.c index 0eba6b25b3..15324938c0 100644 --- a/soh/soh/framebuffer_effects.c +++ b/soh/soh/framebuffer_effects.c @@ -93,7 +93,7 @@ void FB_WriteFramebufferSliceToCPU(Gfx** gfxp, void* buffer, u8 byteSwap) { // Adjust the texture coordinates so that only a 4:3 region from the center is drawn // to the N64 resolution buffer. Currently ratios smaller than 4:3 will just stretch to fill. if (aspectRatio > fourByThree) { - int16_t adjustedWidth = OTRGetGameRenderWidth() / (aspectRatio / fourByThree); + int16_t adjustedWidth = (s16)(OTRGetGameRenderWidth() / (aspectRatio / fourByThree)); s0 = (OTRGetGameRenderWidth() - adjustedWidth) / 2; s1 -= s0; } diff --git a/soh/soh/mixer.c b/soh/soh/mixer.c index 508ae401d5..3be7111004 100644 --- a/soh/soh/mixer.c +++ b/soh/soh/mixer.c @@ -7,8 +7,10 @@ #include "mixer.h" #ifndef __clang__ +#ifndef _MSC_VER #pragma GCC optimize("unroll-loops") #endif +#endif #define ROUND_UP_64(v) (((v) + 63) & ~63) #define ROUND_UP_32(v) (((v) + 31) & ~31) @@ -516,12 +518,16 @@ void aFilterImpl(uint8_t flags, uint16_t count_or_buf, int16_t* state_or_filter) if (flags == A_INIT) { #ifndef __clang__ +#ifndef _MSC_VER #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmemset-elt-size" +#endif #endif memset(tmp, 0, 8 * sizeof(int16_t)); #ifndef __clang__ +#ifndef _MSC_VER #pragma GCC diagnostic pop +#endif #endif memset(tmp2, 0, 8 * sizeof(int16_t)); } else { @@ -623,15 +629,13 @@ static void aMixImplSSE2(uint16_t count, int16_t gain, uint16_t in_addr, uint16_ int nbytes = ROUND_UP_32(ROUND_DOWN_16(count << 4)); int16_t* in = BUF_S16(in_addr); int16_t* out = BUF_S16(out_addr); - int i; - int32_t sample; if (gain == -0x8000) { while (nbytes > 0) { for (unsigned int i = 0; i < 2; i++) { __m128i outVec = _mm_loadu_si128((__m128i*)out); __m128i inVec = _mm_loadu_si128((__m128i*)in); __m128i subsVec = _mm_subs_epi16(outVec, inVec); - _mm_storeu_si128(out, subsVec); + _mm_storeu_si128((__m128i*)out, subsVec); nbytes -= 8 * sizeof(int16_t); in += 8; out += 8; diff --git a/soh/soh/resource/importer/PathFactory.cpp b/soh/soh/resource/importer/PathFactory.cpp index 4d50c2cdec..0aa01ed43a 100644 --- a/soh/soh/resource/importer/PathFactory.cpp +++ b/soh/soh/resource/importer/PathFactory.cpp @@ -84,7 +84,7 @@ ResourceFactoryXMLPathV0::ReadResource(std::shared_ptr file, PathData pathDataEntry; // pathDataEntry.count = pointCount; - pathDataEntry.count = points.size(); + pathDataEntry.count = static_cast(points.size()); path->paths.push_back(points); pathDataEntry.points = path->paths.back().data(); @@ -94,7 +94,7 @@ ResourceFactoryXMLPathV0::ReadResource(std::shared_ptr file, pathDataElement = pathDataElement->NextSiblingElement(); } - path->numPaths = path->paths.size(); + path->numPaths = static_cast(path->paths.size()); return path; }; diff --git a/soh/soh/resource/importer/SkeletonLimbFactory.cpp b/soh/soh/resource/importer/SkeletonLimbFactory.cpp index 731892f2ac..2f08a8f987 100644 --- a/soh/soh/resource/importer/SkeletonLimbFactory.cpp +++ b/soh/soh/resource/importer/SkeletonLimbFactory.cpp @@ -172,12 +172,12 @@ ResourceFactoryBinarySkeletonLimbV0::ReadResource(std::shared_ptr fi for (size_t i = 0; i < skeletonLimb->skinLimbModifArray.size(); i++) { skeletonLimb->skinAnimLimbData.limbModifications[i].vtxCount = - skeletonLimb->skinLimbModifVertexArrays[i].size(); + static_cast(skeletonLimb->skinLimbModifVertexArrays[i].size()); skeletonLimb->skinAnimLimbData.limbModifications[i].skinVertices = skeletonLimb->skinLimbModifVertexArrays[i].data(); skeletonLimb->skinAnimLimbData.limbModifications[i].transformCount = - skeletonLimb->skinLimbModifTransformationArrays[i].size(); + static_cast(skeletonLimb->skinLimbModifTransformationArrays[i].size()); skeletonLimb->skinAnimLimbData.limbModifications[i].limbTransformations = skeletonLimb->skinLimbModifTransformationArrays[i].data(); diff --git a/soh/soh/resource/importer/scenecommand/SetActorListFactory.cpp b/soh/soh/resource/importer/scenecommand/SetActorListFactory.cpp index 5b9f851d1a..90367e9a99 100644 --- a/soh/soh/resource/importer/scenecommand/SetActorListFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetActorListFactory.cpp @@ -61,7 +61,7 @@ std::shared_ptr SetActorListFactoryXML::ReadResource(std::share child = child->NextSiblingElement(); } - setActorList->numActors = setActorList->actorList.size(); + setActorList->numActors = static_cast(setActorList->actorList.size()); return setActorList; } diff --git a/soh/soh/resource/importer/scenecommand/SetAlternateHeadersFactory.cpp b/soh/soh/resource/importer/scenecommand/SetAlternateHeadersFactory.cpp index bf339d87dd..e1446d3d93 100644 --- a/soh/soh/resource/importer/scenecommand/SetAlternateHeadersFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetAlternateHeadersFactory.cpp @@ -60,7 +60,7 @@ SetAlternateHeadersFactoryXML::ReadResource(std::shared_ptrNextSiblingElement(); } - setAlternateHeaders->numHeaders = setAlternateHeaders->headers.size(); + setAlternateHeaders->numHeaders = static_cast(setAlternateHeaders->headers.size()); return setAlternateHeaders; } diff --git a/soh/soh/resource/importer/scenecommand/SetEntranceListFactory.cpp b/soh/soh/resource/importer/scenecommand/SetEntranceListFactory.cpp index eab272b891..d0fd94821d 100644 --- a/soh/soh/resource/importer/scenecommand/SetEntranceListFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetEntranceListFactory.cpp @@ -50,7 +50,7 @@ SetEntranceListFactoryXML::ReadResource(std::shared_ptr child = child->NextSiblingElement(); } - setEntranceList->numEntrances = setEntranceList->entrances.size(); + setEntranceList->numEntrances = static_cast(setEntranceList->entrances.size()); return setEntranceList; } diff --git a/soh/soh/resource/importer/scenecommand/SetExitListFactory.cpp b/soh/soh/resource/importer/scenecommand/SetExitListFactory.cpp index a1cb515ffd..9049b098cb 100644 --- a/soh/soh/resource/importer/scenecommand/SetExitListFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetExitListFactory.cpp @@ -41,7 +41,7 @@ std::shared_ptr SetExitListFactoryXML::ReadResource(std::shared child = child->NextSiblingElement(); } - setExitList->numExits = setExitList->exits.size(); + setExitList->numExits = static_cast(setExitList->exits.size()); return setExitList; } diff --git a/soh/soh/resource/importer/scenecommand/SetLightListFactory.cpp b/soh/soh/resource/importer/scenecommand/SetLightListFactory.cpp index ebb819634a..9ba49d4b37 100644 --- a/soh/soh/resource/importer/scenecommand/SetLightListFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetLightListFactory.cpp @@ -75,7 +75,7 @@ std::shared_ptr SetLightListFactoryXML::ReadResource(std::share child = child->NextSiblingElement(); } - setLightList->numLights = setLightList->lightList.size(); + setLightList->numLights = static_cast(setLightList->lightList.size()); return setLightList; } diff --git a/soh/soh/resource/importer/scenecommand/SetObjectListFactory.cpp b/soh/soh/resource/importer/scenecommand/SetObjectListFactory.cpp index fbee15e8a3..35857a409f 100644 --- a/soh/soh/resource/importer/scenecommand/SetObjectListFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetObjectListFactory.cpp @@ -41,7 +41,7 @@ std::shared_ptr SetObjectListFactoryXML::ReadResource(std::shar child = child->NextSiblingElement(); } - setObjectList->numObjects = setObjectList->objects.size(); + setObjectList->numObjects = static_cast(setObjectList->objects.size()); return setObjectList; } diff --git a/soh/soh/resource/importer/scenecommand/SetPathwaysFactory.cpp b/soh/soh/resource/importer/scenecommand/SetPathwaysFactory.cpp index 36c42a2246..95c62199e5 100644 --- a/soh/soh/resource/importer/scenecommand/SetPathwaysFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetPathwaysFactory.cpp @@ -50,7 +50,7 @@ std::shared_ptr SetPathwaysFactoryXML::ReadResource(std::shared child = child->NextSiblingElement(); } - setPathways->numPaths = setPathways->paths.size(); + setPathways->numPaths = static_cast(setPathways->paths.size()); return setPathways; } diff --git a/soh/soh/resource/importer/scenecommand/SetRoomListFactory.cpp b/soh/soh/resource/importer/scenecommand/SetRoomListFactory.cpp index 7925a012fe..1a3dde3e0d 100644 --- a/soh/soh/resource/importer/scenecommand/SetRoomListFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetRoomListFactory.cpp @@ -57,7 +57,7 @@ std::shared_ptr SetRoomListFactoryXML::ReadResource(std::shared child = child->NextSiblingElement(); } - setRoomList->numRooms = setRoomList->rooms.size(); + setRoomList->numRooms = static_cast(setRoomList->rooms.size()); return setRoomList; } diff --git a/soh/soh/resource/importer/scenecommand/SetStartPositionListFactory.cpp b/soh/soh/resource/importer/scenecommand/SetStartPositionListFactory.cpp index d370cde2bc..d25c9aeab8 100644 --- a/soh/soh/resource/importer/scenecommand/SetStartPositionListFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetStartPositionListFactory.cpp @@ -63,7 +63,7 @@ SetStartPositionListFactoryXML::ReadResource(std::shared_ptrNextSiblingElement(); } - setStartPositionList->numStartPositions = setStartPositionList->startPositions.size(); + setStartPositionList->numStartPositions = static_cast(setStartPositionList->startPositions.size()); return setStartPositionList; } diff --git a/soh/soh/resource/importer/scenecommand/SetTransitionActorListFactory.cpp b/soh/soh/resource/importer/scenecommand/SetTransitionActorListFactory.cpp index fd028b6e31..e222fb789f 100644 --- a/soh/soh/resource/importer/scenecommand/SetTransitionActorListFactory.cpp +++ b/soh/soh/resource/importer/scenecommand/SetTransitionActorListFactory.cpp @@ -67,7 +67,7 @@ SetTransitionActorListFactoryXML::ReadResource(std::shared_ptrNextSiblingElement(); } - setTransitionActorList->numTransitionActors = setTransitionActorList->transitionActorList.size(); + setTransitionActorList->numTransitionActors = static_cast(setTransitionActorList->transitionActorList.size()); return setTransitionActorList; } diff --git a/soh/soh/z_message_OTR.cpp b/soh/soh/z_message_OTR.cpp index a693d5078f..a515f6287c 100644 --- a/soh/soh/z_message_OTR.cpp +++ b/soh/soh/z_message_OTR.cpp @@ -19,7 +19,7 @@ static void SetMessageEntry(MessageTableEntry& entry, const SOH::MessageEntry& m entry.textId = msgEntry.id; entry.typePos = (msgEntry.textboxType << 4) | msgEntry.textboxYPos; entry.segment = msgEntry.msg.c_str(); - entry.msgSize = msgEntry.msg.size(); + entry.msgSize = static_cast(msgEntry.msg.size()); } static void OTRMessage_LoadCustom(const std::string& folderPath, MessageTableEntry*& table, size_t tableSize) { diff --git a/soh/soh/z_scene_otr.cpp b/soh/soh/z_scene_otr.cpp index 2ac7b8e383..101e049a63 100644 --- a/soh/soh/z_scene_otr.cpp +++ b/soh/soh/z_scene_otr.cpp @@ -150,10 +150,8 @@ bool Scene_CommandObjectList(PlayState* play, SOH::ISceneCommand* cmd) { s32 i; s32 j; s32 k; - ObjectStatus* status2; // s16* objectEntry = SEGMENTED_TO_VIRTUAL(cmd->objectList.segment); s16* objectEntry = (s16*)cmdObj->GetRawPointer(); - void* nextPtr; k = 0; i = play->objectCtx.unk_09; @@ -248,8 +246,8 @@ bool Scene_CommandTimeSettings(PlayState* play, SOH::ISceneCommand* cmd) { SOH::SetTimeSettings* cmdTime = (SOH::SetTimeSettings*)cmd; if ((cmdTime->settings.hour != 0xFF) && (cmdTime->settings.minute != 0xFF)) { - gSaveContext.skyboxTime = gSaveContext.dayTime = - ((cmdTime->settings.hour + (cmdTime->settings.minute / 60.0f)) * 60.0f) / ((f32)(24 * 60) / 0x10000); + gSaveContext.skyboxTime = gSaveContext.dayTime = static_cast( + ((cmdTime->settings.hour + (cmdTime->settings.minute / 60.0f)) * 60.0f) / ((f32)(24 * 60) / 0x10000)); } if (cmdTime->settings.timeIncrement != 0xFF) { @@ -501,7 +499,7 @@ extern "C" s32 OTRfunc_8009728C(PlayState* play, RoomContext* roomCtx, s32 roomN if (roomNum >= play->numRooms) return 0; // UH OH - size = play->roomList[roomNum].vromEnd - play->roomList[roomNum].vromStart; + size = static_cast(play->roomList[roomNum].vromEnd - play->roomList[roomNum].vromStart); roomCtx->unk_34 = (void*)ALIGN16((uintptr_t)roomCtx->bufPtrs[roomCtx->unk_30] - ((size + 8) * roomCtx->unk_30 + 7));