mirror of
https://github.com/HarbourMasters/Shipwright
synced 2026-05-25 07:32:48 -04:00
Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| a133be625e | |||
| 06e8a5af41 | |||
| f1070a2e74 | |||
| 02c0caff4f | |||
| 2ad0b37fa5 | |||
| 6b6a352205 | |||
| 37ffc8b9c8 | |||
| d75b38d457 | |||
| 36e40665bb | |||
| 9804035dc0 | |||
| 973ec52b2a | |||
| d61b398f41 | |||
| af13595aae | |||
| 97211093f3 | |||
| 15e22349df |
@@ -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
@@ -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,
|
||||
|
||||
@@ -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
@@ -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>
|
||||
@@ -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" \
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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[] = "";
|
||||
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user