Compare commits

..

15 Commits

Author SHA1 Message Date
briaguya a133be625e chore: bump version 2022-10-06 20:06:27 -04:00
aMannus 06e8a5af41 Fix navi colors in cosmetics editor (#1684)
* Fix navi colors in cosmetics editor

* Fix navi description for props
2022-10-03 20:50:05 -04:00
th-2021 f1070a2e74 set version in build.c from CmakeLists.txt version info (#1678) 2022-10-04 01:13:29 +02:00
Garrett Cox 02c0caff4f [#1567] Fix merchant message table being generated before items were loaded from save (#1674) 2022-10-03 08:50:19 +02:00
Garrett Cox 2ad0b37fa5 [#1675] Fix for business scrubs crashing on expensive scrub shuffle (#1676) 2022-10-03 08:49:53 +02:00
aMannus 6b6a352205 Rando: Fix "Scrubsanity Off" using mysterious text (#1679) 2022-10-02 20:32:05 +02:00
Ada 37ffc8b9c8 Fixes Y-Axis inversion in C Up view 2022-10-01 19:19:23 -04:00
louis d75b38d457 fix MQ forest 2022-10-01 17:55:03 -04:00
briaguya 36e40665bb fix: don't hardcode path for global.sav (#1656)
Co-authored-by: briaguya <briaguya@alice>
2022-10-01 19:48:46 +02:00
briaguya 9804035dc0 fix: match auto center option text to behavior 2022-10-01 13:46:58 -04:00
briaguya 973ec52b2a chore: increment version to bravo 2022-10-01 13:46:27 -04:00
louis d61b398f41 Fix MQ not going away after deleting file 2022-10-01 13:22:24 -04:00
briaguya af13595aae fix: disable randomizer cvar when in master quest 2022-10-01 13:13:07 -04:00
GaryOderNichts 97211093f3 Wii U: Fix overflow for GX2CopySurfaceEx (#1655)
The max amount of rects is 25, everything larger silently overwrites the stack
2022-10-01 18:06:00 +02:00
Ada 15e22349df Fixes Master Quest on Mac and Linux (#1641) 2022-09-30 20:24:59 +02:00
25 changed files with 102 additions and 49 deletions
+1 -1
View File
@@ -22,7 +22,7 @@ endif()
if (CPACK_GENERATOR MATCHES "Bundle")
set(CPACK_BUNDLE_NAME "soh")
set(CPACK_BUNDLE_PLIST "../soh/macosx/Info.plist")
set(CPACK_BUNDLE_PLIST "macosx/Info.plist")
set(CPACK_BUNDLE_ICON "macosx/soh.icns")
set(CPACK_BUNDLE_STARTUP_COMMAND "../soh/macosx/soh-macos.sh")
set(CPACK_BUNDLE_APPLE_CERT_APP "-")
+4 -5
View File
@@ -6,11 +6,10 @@ set(CMAKE_CXX_STANDARD 20 CACHE STRING "The C++ standard to use")
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
project(Ship C CXX)
set(PROJECT_VERSION_MAJOR "4")
set(PROJECT_VERSION_MINOR "0")
set(PROJECT_VERSION_PATCH "0")
project(Ship LANGUAGES C CXX
VERSION 4.0.2)
set(PROJECT_BUILD_NAME "ZHORA CHARLIE" CACHE STRING "")
set(PROJECT_TEAM "github.com/harbourmasters" CACHE STRING "")
set_property(DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT soh)
add_compile_options($<$<CXX_COMPILER_ID:MSVC>:/MP>)
@@ -738,15 +738,11 @@ static std::unordered_map<std::pair<float, float>, uint16_t, hash_pair_ff> gfx_g
}
std::unordered_map<std::pair<float, float>, uint16_t, hash_pair_ff> res;
if (!coordinates.size()) {
return res;
}
GX2Rect srcRects[32];
GX2Point dstPoints[32];
GX2Rect srcRects[25];
GX2Point dstPoints[25];
size_t num_coordinates = coordinates.size();
while (num_coordinates > 0) {
size_t numRects = 32;
size_t numRects = 25;
if (num_coordinates < numRects) {
numRects = num_coordinates;
}
@@ -755,8 +751,8 @@ static std::unordered_map<std::pair<float, float>, uint16_t, hash_pair_ff> gfx_g
// initialize rects and points
for (size_t i = 0; i < numRects; ++i) {
const auto& c = *std::next(coordinates.begin(), num_coordinates + i);
const int32_t x = (int32_t) std::clamp(c.first, 0.0f, (float) buffer->depth_buffer.surface.width - 1);
const int32_t y = (int32_t) std::clamp(c.second, 0.0f, (float) buffer->depth_buffer.surface.height - 1);
const int32_t x = (int32_t) std::clamp(c.first, 0.0f, (float) (buffer->depth_buffer.surface.width - 1));
const int32_t y = (int32_t) std::clamp(c.second, 0.0f, (float) (buffer->depth_buffer.surface.height - 1));
srcRects[i] = GX2Rect{
x,
+4
View File
@@ -25,6 +25,10 @@ while [[ ! -e "$SHIP_HOME"/oot.otr ]]; do
ROM=GC_NMQ_D;;
0227d7c0074f2d0ac935631990da8ec5914597b4)
ROM=GC_NMQ_PAL_F;;
50bebedad9e0f10746a52b07239e47fa6c284d03)
ROM=GC_MQ_D;;
079b855b943d6ad8bd1eb026c0ed169ecbdac7da)
ROM=GC_MQ_D;;
*)
if [ -n "$ZENITY" ]; then
zenity --error --timeout=10 --text="ROM hash <b>$ROMHASH</b> does not match" --title="Incorrect ROM file" --width=500 --width=200
+7 -4
View File
@@ -95,6 +95,8 @@ set(PROJECT_NAME soh)
################################################################################
# Source groups
################################################################################
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/src/boot/build.c.in ${CMAKE_BINARY_DIR}/build.c @ONLY)
set(Header_Files
"resource.h"
)
@@ -395,7 +397,7 @@ endif()
set(Source_Files__src__boot
"src/boot/assert.c"
"src/boot/boot_main.c"
"src/boot/build.c"
"${CMAKE_BINARY_DIR}/build.c"
"src/boot/idle.c"
"src/boot/is_debug.c"
"src/boot/logutils.c"
@@ -2039,6 +2041,7 @@ find_program(CURL NAMES curl DOC "Path to the curl program. Used to download fi
execute_process(COMMAND ${CURL} -sSfL https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt -o ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt OUTPUT_VARIABLE RESULT)
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/macosx/Info.plist.in ${CMAKE_BINARY_DIR}/macosx/Info.plist @ONLY)
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION ../MacOS COMPONENT ship)
elseif(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "NintendoSwitch|CafeOS")
INSTALL(FILES ${CMAKE_BINARY_DIR}/gamecontrollerdb.txt DESTINATION . COMPONENT ship)
@@ -2057,8 +2060,8 @@ if(CMAKE_SYSTEM_NAME MATCHES "NintendoSwitch")
nx_generate_nacp(Ship.nacp
NAME "Ship of Harkinian"
AUTHOR "Harbour Masters"
VERSION "4.0.0"
AUTHOR "${PROJECT_TEAM}"
VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
)
nx_create_nro(soh
@@ -2075,7 +2078,7 @@ wut_create_rpx(${PROJECT_NAME})
wut_create_wuhb(${PROJECT_NAME}
NAME "Ship of Harkinian"
SHORTNAME "SoH"
AUTHOR "Harbour Masters"
AUTHOR "${PROJECT_TEAM}"
ICON ${CMAKE_CURRENT_SOURCE_DIR}/icon.jpg
)
@@ -1,4 +1,5 @@
<Root>
<ExternalFile XmlPath="objects/object_mori_tex.xml" OutPath="objects/object_mori_tex/"/>
<File Name="object_mori_hineri1" Segment="6">
<DList Name="object_mori_hineri1_DL_0024E0" Offset="0x24E0"/>
<Collision Name="object_mori_hineri1_Col_0054B8" Offset="0x54B8"/>
@@ -1,4 +1,5 @@
<Root>
<ExternalFile XmlPath="objects/object_mori_tex.xml" OutPath="objects/object_mori_tex/"/>
<File Name="object_mori_hineri1a" Segment="6">
<DList Name="object_mori_hineri1a_DL_001980" Offset="0x1980"/>
<Collision Name="object_mori_hineri1a_Col_003490" Offset="0x3490"/>
@@ -1,4 +1,5 @@
<Root>
<ExternalFile XmlPath="objects/object_mori_tex.xml" OutPath="objects/object_mori_tex/"/>
<File Name="object_mori_hineri2" Segment="6">
<DList Name="object_mori_hineri2_DL_0020F0" Offset="0x20F0"/>
<Collision Name="object_mori_hineri2_Col_0043D0" Offset="0x43D0"/>
@@ -1,4 +1,5 @@
<Root>
<ExternalFile XmlPath="objects/object_mori_tex.xml" OutPath="objects/object_mori_tex/"/>
<File Name="object_mori_hineri2a" Segment="6">
<DList Name="object_mori_hineri2a_DL_002B70" Offset="0x2B70"/>
<Collision Name="object_mori_hineri2a_Col_006078" Offset="0x6078"/>
@@ -1,4 +1,5 @@
<Root>
<ExternalFile XmlPath="objects/object_mori_tex.xml" OutPath="objects/object_mori_tex/"/>
<File Name="object_mori_objects" Segment="6">
<Texture Name="gMoriHashiraTLUT" OutName="hashira_tlut" Format="rgba16" Width="112" Height="1" Offset="0x0000"/>
<Texture Name="gMoriHashiraTex" OutName="hashira" Format="ci8" Width="32" Height="32" Offset="0x00E0" TlutOffset="0x0000"/>
@@ -1,5 +1,30 @@
<Root>
<File Name="object_mori_tex" Segment="6">
<Blob Name="object_moriTex_Blob_000000" Size="0x9E00" Offset="0x0"/>
<File Name="object_mori_tex" Segment="8">
<Texture Name="gMoriElevatorBarTex" OutName="elevator_bar" Format="rgba16" Height="16" Width="64" Offset="0x0"/>
<Texture Name="gMoriElevatorTopTex" OutName="elevator_top" Format="rgba16" Height="32" Width="32" Offset="0x800"/>
<Texture Name="gMoriElevatorSideTex" OutName="elevator_side" Format="rgba16" Height="16" Width="16" Offset="0x1000"/>
<Texture Name="gMorieStoneWallTex" OutName="stone_wall" Format="rgba16" Height="32" Width="32" Offset="0x1200"/>
<Texture Name="gMoriKaitenkabeMetalWallTex" OutName="metal_wall" Format="rgba16" Height="32" Width="32" Offset="0x1A00"/>
<Texture Name="gMoriRakkatenjoCheckerboardTex" OutName="checkerboard" Format="rgba16" Height="32" Width="64" Offset="0x2200"/>
<Texture Name="gMoriStalfosPlatformSideTex" OutName="stalfos_platform_side" Format="rgba16" Height="32" Width="64" Offset="0x3200"/>
<Texture Name="gMoriStalfosPlatformTopTex" OutName="stalfos_platform_top" Format="rgba16" Height="32" Width="32" Offset="0x4200"/>
<Texture Name="gMoriHashiraPlatformsTex" OutName="hashira_platform" Format="rgba16" Height="32" Width="32" Offset="0x4A00"/>
<!-- This is just a guess since its unused -->
<Texture Name="gMoriWaterTex" OutName="water_tex" Format="rgba16" Height="8" Width="32" Offset="0x5200"/>
<Texture Name="gMoriHashigoLadderTex" OutName="ladder" Format="rgba16" Height="32" Width="32" Offset="0x5400"/>
<Texture Name="gForestTwistedHallwayPillarTex" OutName="twisted_hall_pillar" Format="rgba16" Height="64" Width="16" Offset="0x5C00"/>
<Texture Name="gForestTwistedHallwayWallAndFloorTex" OutName="twisted_hall_wall_and_floor" Format="rgba16" Width="32" Height="32" Offset="0x6400"/>
<Texture Name="gForestTwistedHallwayWallDesignTex" OutName="twisted_hall_design" Format="rgba16" Width="64" Height="32" Offset="0x6C00"/>
<Texture Name="gForestTwistedHallCarpetTex" OutName="twisted_hall_carpet" Format="rgba16" Width="16" Height="16" Offset="0x7C00"/>
<Texture Name="gForestTwistedHallLadderTex" OutName="twisted_hall_ladder" Format="rgba16" Height="32" Width="32" Offset="0x7E00"/>
<Texture Name="gForestTwistedHallBrickTex" OutName="twisted_hall_brick" Format="rgba16" Width="32" Height="32" Offset="0x8600"/>
<Texture Name="gMoriHashiraGateTex" OutName="hashira_gate" Format="rgba16" Width="32" Height="64" Offset="0x8E00"/>
</File>
</Root>
@@ -9,7 +9,7 @@
<key>CFBundleExecutable</key>
<string>soh</string>
<key>CFBundleGetInfoString</key>
<string>4.0.0</string>
<string>@CMAKE_PROJECT_VERSION@</string>
<key>CFBundleIconFile</key>
<string>soh.icns</string>
<key>CFBundleIdentifier</key>
@@ -22,11 +22,11 @@
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>4.0.0</string>
<string>@CMAKE_PROJECT_VERSION@</string>
<key>CFBundleSignature</key>
<string>ZOoT</string>
<key>CFBundleVersion</key>
<string>4.0.0</string>
<string>@CMAKE_PROJECT_VERSION@</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright 2022 HarbourMasters.</string>
<key>LSMinimumSystemVersion</key>
+4
View File
@@ -40,6 +40,10 @@ while [ ! -e "$DATA_SHARE/oot.otr" ]; do
export ROM=GC_NMQ_D;;
0227d7c0074f2d0ac935631990da8ec5914597b4)
export ROM=GC_NMQ_PAL_F;;
50bebedad9e0f10746a52b07239e47fa6c284d03)
export ROM=GC_MQ_D;;
079b855b943d6ad8bd1eb026c0ed169ecbdac7da)
export ROM=GC_MQ_D;;
*)
WRONGHASH="$(osascript -ss - "$ROMHASH" <<-EOF
display dialog "Incompatible ROM hash $ROMHASH" \
+5
View File
@@ -27,6 +27,11 @@ void BootCommands_Init()
CVar_RegisterS32("gHudColors", 1); //0 = N64 / 1 = NGC / 2 = Custom
CVar_RegisterS32("gInvertYAxis", 1);
CVar_RegisterS32("gTrailDuration", 4); // 4 = Default trail duration
if (ResourceMgr_IsGameMasterQuest()) {
CVar_SetS32("gRandomizer", 0);
} else {
CVar_RegisterS32("gRandomizer", 0);
}
#if defined(__SWITCH__) || defined(__WIIU__)
CVar_RegisterS32("gControlNav", 1); // always enable controller nav on switch/wii u
#endif
@@ -238,7 +238,7 @@ namespace GameControlEditor {
UIWidgets::PaddedEnhancementCheckbox("Right Stick Aiming", "gRightStickAiming");
UIWidgets::Tooltip("Allows for aiming with the rights stick when:\n-Aiming in the C-Up view\n-Aiming with weapons");
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + 5);
UIWidgets::PaddedEnhancementCheckbox("Disable Auto-Centering in First Person View", "gAutoCenterView");
UIWidgets::PaddedEnhancementCheckbox("Disable Auto-Centering in First Person View", "gDisableAutoCenterView");
UIWidgets::Tooltip("Prevents the C-Up view from auto-centering, allowing for Gyro Aiming");
}
@@ -73,8 +73,8 @@ static CosmeticsColorIndividual Navi_Npc_Inner = { "Navi NPC (Primary)", "Inner
static CosmeticsColorIndividual Navi_Npc_Outer = { "Navi NPC (Secondary)", "Outer color for Navi (when Navi fly around NPCs)", "gNavi_NPC_Outer", navi_npc_o_col, ImVec4(150, 150, 255, 255), false, false, false };
static CosmeticsColorIndividual Navi_Enemy_Inner = { "Navi Enemy (Primary)", "Inner color for Navi (when Navi fly around Enemies or Bosses)", "gNavi_Enemy_Inner", navi_enemy_i_col, ImVec4(255, 255, 0, 255), false, false, false };
static CosmeticsColorIndividual Navi_Enemy_Outer = { "Navi Enemy (Secondary)", "Outer color for Navi (when Navi fly around Enemies or Bosses)", "gNavi_Enemy_Outer", navi_enemy_o_col, ImVec4(220, 155, 0, 255), false, false, false };
static CosmeticsColorIndividual Navi_Prop_Inner = { "Navi Enemy (Primary)", "Inner color for Navi (when Navi fly around props (signs etc))", "gNavi_Prop_Inner", navi_prop_i_col, ImVec4(0, 255, 0, 255), false, false, false };
static CosmeticsColorIndividual Navi_Prop_Outer = { "Navi Enemy (Secondary)", "Outer color for Navi (when Navi fly around props (signs etc))", "gNavi_Prop_Outer", navi_prop_o_col, ImVec4(0, 255, 0, 255), false, false, false };
static CosmeticsColorIndividual Navi_Prop_Inner = { "Navi Props (Primary)", "Inner color for Navi (when Navi fly around props (signs etc))", "gNavi_Prop_Inner", navi_prop_i_col, ImVec4(0, 255, 0, 255), false, false, false };
static CosmeticsColorIndividual Navi_Prop_Outer = { "Navi Props (Secondary)", "Outer color for Navi (when Navi fly around props (signs etc))", "gNavi_Prop_Outer", navi_prop_o_col, ImVec4(0, 255, 0, 255), false, false, false };
//Keese
static CosmeticsColorIndividual Keese1_prim = { "Fire Primary color", "Affects the primary color of the Fire itself of the Keese", "gKeese1_Ef_Prim", Keese1_primcol, ImVec4(255, 255, 100, 255), true, false, false };
@@ -1040,7 +1040,7 @@ typedef struct ScrubIdentity {
RandomizerCheck randomizerCheck;
GetItemID getItemId;
int32_t itemPrice;
bool isShuffled;
uint8_t isShuffled;
} ScrubIdentity;
typedef struct ShopItemIdentity {
+2 -2
View File
@@ -117,8 +117,8 @@ namespace GameMenuBar {
CVar_SetS32("gInvertYAxis", 1);
// Right Stick Aiming
CVar_SetS32("gRightStickAiming", 0);
// Auto-Center First Person View
CVar_SetS32("gAutoCenterView", 0);
// Disable Auto-Center First Person View
CVar_SetS32("gDisableAutoCenterView", 0);
// Text Speed (1 to 5)
CVar_SetS32("gTextSpeed", 1);
+4 -1
View File
@@ -543,7 +543,10 @@ void SaveManager::SaveGlobal() {
globalBlock["zTargetSetting"] = gSaveContext.zTargetSetting;
globalBlock["language"] = gSaveContext.language;
std::ofstream output("Save/global.sav");
const std::filesystem::path sSavePath(Ship::Window::GetPathRelativeToAppDirectory("Save"));
const std::filesystem::path sGlobalPath = sSavePath / std::string("global.sav");
std::ofstream output(sGlobalPath);
output << std::setw(4) << globalBlock << std::endl;
}
-4
View File
@@ -1,4 +0,0 @@
const char gBuildVersion[] = "ZHORA ALFA (4.0.0)";
const char gBuildTeam[] = "github.com/harbourmasters";
const char gBuildDate[] = __DATE__ " " __TIME__;
const char gBuildMakeOption[] = "";
+5
View File
@@ -0,0 +1,5 @@
const char gBuildVersion[] = "@PROJECT_BUILD_NAME@ (@CMAKE_PROJECT_VERSION_MAJOR@.@CMAKE_PROJECT_VERSION_MINOR@.@CMAKE_PROJECT_VERSION_PATCH@)";
const char gBuildTeam[] = "@PROJECT_TEAM@";
const char gBuildDate[] = __DATE__ " " __TIME__;
const char gBuildMakeOption[] = "";
+17 -9
View File
@@ -335,8 +335,10 @@ void func_8002BE98(TargetContext* targetCtx, s32 actorCategory, GlobalContext* g
void func_8002BF60(TargetContext* targetCtx, Actor* actor, s32 actorCategory, GlobalContext* globalCtx) {
NaviColor* naviColor = &sNaviColorList[actorCategory];
Color_RGB8 customInnerNaviColor;
Color_RGB8 customOuterNaviColor;
if (CVar_GetS32("gUseNaviCol",0) != 1 ) {
if (!CVar_GetS32("gUseNaviCol",0)) {
if (actorCategory == ACTORCAT_PLAYER) {
naviColor->inner.r = 255; naviColor->inner.g = 255; naviColor->inner.b = 255;
naviColor->outer.r = 0; naviColor->outer.g = 0; naviColor->outer.b = 255;
@@ -355,21 +357,27 @@ void func_8002BF60(TargetContext* targetCtx, Actor* actor, s32 actorCategory, Gl
}
} else {
if (actorCategory == ACTORCAT_PLAYER) {
naviColor->inner = CVar_GetRGBA("gNavi_Idle_Inner", naviColor->inner);
naviColor->outer = CVar_GetRGBA("gNavi_Idle_Outer", naviColor->outer);
customInnerNaviColor = CVar_GetRGB("gNavi_Idle_Inner", (Color_RGB8){ 0, 0, 0 });
customOuterNaviColor = CVar_GetRGB("gNavi_Idle_Outer", (Color_RGB8){ 0, 0, 0 });
}
if (actorCategory == ACTORCAT_NPC) {
naviColor->inner = CVar_GetRGBA("gNavi_NPC_Inner", naviColor->inner);
naviColor->outer = CVar_GetRGBA("gNavi_NPC_Outer", naviColor->outer);
customInnerNaviColor = CVar_GetRGB("gNavi_NPC_Inner", (Color_RGB8){ 0, 0, 0 });
customOuterNaviColor = CVar_GetRGB("gNavi_NPC_Outer", (Color_RGB8){ 0, 0, 0 });
}
if (actorCategory == ACTORCAT_BOSS || actorCategory == ACTORCAT_ENEMY) {
naviColor->inner = CVar_GetRGBA("gNavi_Enemy_Inner", naviColor->inner);
naviColor->outer = CVar_GetRGBA("gNavi_Enemy_Outer", naviColor->outer);
customInnerNaviColor = CVar_GetRGB("gNavi_Enemy_Inner", (Color_RGB8){ 0, 0, 0 });
customOuterNaviColor = CVar_GetRGB("gNavi_Enemy_Outer", (Color_RGB8){ 0, 0, 0 });
}
if (actorCategory == ACTORCAT_PROP) {
naviColor->inner = CVar_GetRGBA("gNavi_Prop_Inner", naviColor->inner);
naviColor->outer = CVar_GetRGBA("gNavi_Prop_Outer", naviColor->outer);
customInnerNaviColor = CVar_GetRGB("gNavi_Prop_Inner", (Color_RGB8){ 0, 0, 0 });
customOuterNaviColor = CVar_GetRGB("gNavi_Prop_Outer", (Color_RGB8){ 0, 0, 0 });
}
naviColor->inner.r = customInnerNaviColor.r;
naviColor->inner.g = customInnerNaviColor.g;
naviColor->inner.b = customInnerNaviColor.b;
naviColor->outer.r = customOuterNaviColor.r;
naviColor->outer.g = customOuterNaviColor.g;
naviColor->outer.b = customOuterNaviColor.b;
}
targetCtx->naviRefPos.x = actor->focus.pos.x;
@@ -172,7 +172,7 @@ void EnDns_Init(Actor* thisx, GlobalContext* globalCtx) {
s16 respawnData = gSaveContext.respawn[RESPAWN_MODE_RETURN].data & ((1 << 8) - 1);
this->scrubIdentity = Randomizer_IdentifyScrub(globalCtx->sceneNum, this->actor.params, respawnData);
if (Randomizer_GetSettingValue(RSK_SHUFFLE_SCRUBS) == 1 || Randomizer_GetSettingValue(RSK_SHUFFLE_SCRUBS) == 3 && this->scrubIdentity.itemPrice != -1) {
if ((Randomizer_GetSettingValue(RSK_SHUFFLE_SCRUBS) == 1 || Randomizer_GetSettingValue(RSK_SHUFFLE_SCRUBS) == 3) && this->scrubIdentity.itemPrice != -1) {
this->dnsItemEntry->itemPrice = this->scrubIdentity.itemPrice;
}
@@ -11175,8 +11175,8 @@ s16 func_8084ABD8(GlobalContext* globalCtx, Player* this, s32 arg2, s16 arg3) {
s16 temp3;
if (!func_8002DD78(this) && !func_808334B4(this) && (arg2 == 0)) {
if (CVar_GetS32("gAutoCenterView", 0)) {
temp2 = sControlInput->rel.stick_y * 240.0f * (CVar_GetS32("gInvertYAxis", 1) ? -1 : 1);
if (!CVar_GetS32("gDisableAutoCenterView", 0)) {
temp2 = sControlInput->rel.stick_y * 240.0f * (CVar_GetS32("gInvertYAxis", 1) ? 1 : -1);
Math_SmoothStepToS(&this->actor.focus.rot.x, temp2, 14, 4000, 30);
temp2 = sControlInput->rel.stick_x * -16.0f * (CVar_GetS32("gInvertXAxis", 0) ? -1 : 1);
@@ -1421,7 +1421,7 @@ void FileChoose_DrawWindowContents(GameState* thisx) {
gSP1Quadrangle(POLY_OPA_DISP++, 8, 10, 11, 9, 0);
}
//Draw MQ label
if (Save_GetSaveMetaInfo(i)->isMasterQuest) {
if (Save_GetSaveMetaInfo(i)->isMasterQuest && Save_GetSaveMetaInfo(i)->valid) {
if (CVar_GetS32("gHudColors", 1) == 2 && FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i))) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, CVar_GetRGB("gCCFileChoosePrim", Background_Color).r, CVar_GetRGB("gCCFileChoosePrim", Background_Color).g, CVar_GetRGB("gCCFileChoosePrim", Background_Color).b, this->nameAlpha[i]);
} else if (!FileChoose_IsSaveCompatible(Save_GetSaveMetaInfo(i))) {
@@ -1921,8 +1921,8 @@ void FileChoose_LoadGame(GameState* thisx) {
Randomizer_LoadSettings("");
Randomizer_LoadHintLocations("");
Randomizer_LoadMerchantMessages("");
Randomizer_LoadItemLocations("", true);
Randomizer_LoadMerchantMessages("");
gSaveContext.respawn[0].entranceIndex = -1;
gSaveContext.respawnFlag = 0;