diff --git a/assets/fonts/Fipps-Regular.otf b/assets/fonts/Fipps-Regular.otf new file mode 100644 index 00000000..9334dad5 Binary files /dev/null and b/assets/fonts/Fipps-Regular.otf differ diff --git a/assets/fonts/PressStart2P-Regular.ttf b/assets/fonts/PressStart2P-Regular.ttf new file mode 100644 index 00000000..2442affb Binary files /dev/null and b/assets/fonts/PressStart2P-Regular.ttf differ diff --git a/assets/textures/buttons/ABtn.png b/assets/textures/buttons/ABtn.png new file mode 100644 index 00000000..c1b06571 Binary files /dev/null and b/assets/textures/buttons/ABtn.png differ diff --git a/assets/textures/buttons/BBtn.png b/assets/textures/buttons/BBtn.png new file mode 100644 index 00000000..99b1197c Binary files /dev/null and b/assets/textures/buttons/BBtn.png differ diff --git a/assets/textures/buttons/CDown.png b/assets/textures/buttons/CDown.png new file mode 100644 index 00000000..741188ea Binary files /dev/null and b/assets/textures/buttons/CDown.png differ diff --git a/assets/textures/buttons/CLeft.png b/assets/textures/buttons/CLeft.png new file mode 100644 index 00000000..5e26a206 Binary files /dev/null and b/assets/textures/buttons/CLeft.png differ diff --git a/assets/textures/buttons/CRight.png b/assets/textures/buttons/CRight.png new file mode 100644 index 00000000..9e618063 Binary files /dev/null and b/assets/textures/buttons/CRight.png differ diff --git a/assets/textures/buttons/CUp.png b/assets/textures/buttons/CUp.png new file mode 100644 index 00000000..6c0e29d2 Binary files /dev/null and b/assets/textures/buttons/CUp.png differ diff --git a/assets/textures/buttons/LBtn.png b/assets/textures/buttons/LBtn.png new file mode 100644 index 00000000..2e0a8f00 Binary files /dev/null and b/assets/textures/buttons/LBtn.png differ diff --git a/assets/textures/buttons/RBtn.png b/assets/textures/buttons/RBtn.png new file mode 100644 index 00000000..c255643c Binary files /dev/null and b/assets/textures/buttons/RBtn.png differ diff --git a/assets/textures/buttons/StartBtn.png b/assets/textures/buttons/StartBtn.png new file mode 100644 index 00000000..c3e08dc3 Binary files /dev/null and b/assets/textures/buttons/StartBtn.png differ diff --git a/assets/textures/buttons/ZBtn.png b/assets/textures/buttons/ZBtn.png new file mode 100644 index 00000000..def8d9a6 Binary files /dev/null and b/assets/textures/buttons/ZBtn.png differ diff --git a/assets/textures/icons/gIcon.png b/assets/textures/icons/gIcon.png new file mode 100644 index 00000000..4cad9d48 Binary files /dev/null and b/assets/textures/icons/gIcon.png differ diff --git a/assets/textures/virtual/gEmptyTexture.rgba32.png b/assets/textures/virtual/gEmptyTexture.rgba32.png new file mode 100644 index 00000000..eaf806b7 Binary files /dev/null and b/assets/textures/virtual/gEmptyTexture.rgba32.png differ diff --git a/libultraship b/libultraship index 91ea351a..0b486122 160000 --- a/libultraship +++ b/libultraship @@ -1 +1 @@ -Subproject commit 91ea351a475f83a2150be85e73d52e58aa3a0b94 +Subproject commit 0b486122c8711c8d124449435d4d05640e3f4a83 diff --git a/src/game/level_update.c b/src/game/level_update.c index 034a3131..19cea1ae 100644 --- a/src/game/level_update.c +++ b/src/game/level_update.c @@ -1194,7 +1194,7 @@ s32 init_level(void) { if (gMarioState->action != ACT_UNINITIALIZED) { if (save_file_exists(gCurrSaveFileNum - 1)) { set_mario_action(gMarioState, ACT_IDLE, 0); - } else { + } else if (CVarGetInteger("gDisablePeachCutscene", 0) == 0){ set_mario_action(gMarioState, ACT_INTRO_CUTSCENE, 0); val4 = TRUE; } @@ -1263,7 +1263,7 @@ s32 lvl_init_from_save_file(UNUSED s16 arg0, s32 levelNum) { #endif sWarpDest.type = WARP_TYPE_NOT_WARPING; sDelayedWarpOp = WARP_OP_NONE; - gNeverEnteredCastle = !save_file_exists(gCurrSaveFileNum - 1); + gNeverEnteredCastle = !save_file_exists(gCurrSaveFileNum - 1) || CVarGetInteger("gDisablePeachCutscene", 0) == 0; gCurrLevelNum = levelNum; gCurrCourseNum = COURSE_NONE; diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index 45e364a5..61ca11f5 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -30,9 +30,9 @@ GameEngine::GameEngine(){ if (std::filesystem::exists(cubePath)) { OTRFiles.push_back(cubePath); } - std::string sohOtrPath = LUS::Context::GetPathRelativeToAppBundle("soh.otr"); - if (std::filesystem::exists(sohOtrPath)) { - OTRFiles.push_back(sohOtrPath); + std::string sm64OtrPath = LUS::Context::GetPathRelativeToAppBundle("sm64.otr"); + if (std::filesystem::exists(sm64OtrPath)) { + OTRFiles.push_back(sm64OtrPath); } std::string patchesPath = LUS::Context::GetPathRelativeToAppDirectory("mods"); if (patchesPath.length() > 0 && std::filesystem::exists(patchesPath)) { @@ -63,7 +63,6 @@ void GameEngine::Create(){ void GameEngine::Destroy(){ GameEngine::AudioExit(); - this->context = nullptr; } bool ShouldClearTextureCacheAtEndOfFrame = false; diff --git a/src/port/ui/ImguiUI.cpp b/src/port/ui/ImguiUI.cpp index d2c58248..bbc13e4d 100644 --- a/src/port/ui/ImguiUI.cpp +++ b/src/port/ui/ImguiUI.cpp @@ -269,7 +269,7 @@ void DrawGameMenu() { if (ImGui::BeginMenu("Ghostship")) { if (ImGui::MenuItem("Reset", #ifdef __APPLE__ - "Command-R" + "Command-R" #else "Ctrl+R" #endif @@ -296,6 +296,8 @@ void DrawEnhancementsMenu() { if (ImGui::BeginMenu("Gameplay")) { UIWidgets::PaddedEnhancementCheckbox("No Level of Detail (LOD)", "gDisableLOD", true, false); UIWidgets::Tooltip("Disable Level of Detail (LOD) to avoid models using lower poly versions at a distance"); + UIWidgets::PaddedEnhancementCheckbox("Avoid playing peach cutscene", "gDisablePeachCutscene", true, false); + UIWidgets::Tooltip("Avoid playing the peach cutscene when starting a new game"); ImGui::EndMenu(); }