mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-25 19:02:19 -05:00
Add Scene Specific Checks to Dirt Path Fixes (#2907)
* Move from Dev to Dev-Spock * Moved to mod.h * Update GameInteractor.h
This commit is contained in:
parent
cf711d9164
commit
7962e0e6d6
@ -486,6 +486,24 @@ void RegisterBonkDamage() {
|
||||
});
|
||||
}
|
||||
|
||||
void UpdateDirtPathFixState(int32_t sceneNum) {
|
||||
switch (sceneNum) {
|
||||
case SCENE_SPOT00:
|
||||
case SCENE_SPOT04:
|
||||
case SCENE_SPOT15:
|
||||
CVarSetInteger("gDirtPathFix", CVarGetInteger("gSceneSpecificDirtPathFix", 0));
|
||||
return;
|
||||
default:
|
||||
CVarClear("gDirtPathFix");
|
||||
}
|
||||
}
|
||||
|
||||
void RegisterMenuPathFix() {
|
||||
GameInteractor::Instance->RegisterGameHook<GameInteractor::OnTransitionEnd>([](int32_t sceneNum) {
|
||||
UpdateDirtPathFixState(sceneNum);
|
||||
});
|
||||
}
|
||||
|
||||
void InitMods() {
|
||||
RegisterTTS();
|
||||
RegisterInfiniteMoney();
|
||||
@ -504,4 +522,5 @@ void InitMods() {
|
||||
RegisterRupeeDash();
|
||||
RegisterHyperBosses();
|
||||
RegisterBonkDamage();
|
||||
RegisterMenuPathFix();
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
#include <stdint.h>
|
||||
|
||||
#ifndef MODS_H
|
||||
#define MODS_H
|
||||
|
||||
@ -5,6 +7,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
void UpdateDirtPathFixState(int32_t sceneNum);
|
||||
void InitMods();
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "soh/SaveManager.h"
|
||||
#include "OTRGlobals.h"
|
||||
#include "soh/Enhancements/presets.h"
|
||||
#include "soh/Enhancements/mods.h"
|
||||
#include "soh/resource/type/Skeleton.h"
|
||||
|
||||
#ifdef ENABLE_CROWD_CONTROL
|
||||
@ -46,6 +47,8 @@ extern "C" {
|
||||
void disableBetaQuest() { isBetaQuestEnabled = false; }
|
||||
}
|
||||
|
||||
extern "C" PlayState* gPlayState;
|
||||
|
||||
enum SeqPlayers {
|
||||
/* 0 */ SEQ_BGM_MAIN,
|
||||
/* 1 */ SEQ_FANFARE,
|
||||
@ -860,7 +863,9 @@ namespace GameMenuBar {
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
UIWidgets::PaddedText("Fix Vanishing Paths", true, false);
|
||||
UIWidgets::EnhancementCombobox("gDirtPathFix", zFightingOptions, 0);
|
||||
if (UIWidgets::EnhancementCombobox("gSceneSpecificDirtPathFix", zFightingOptions, 0) && gPlayState != NULL) {
|
||||
UpdateDirtPathFixState(gPlayState->sceneNum);
|
||||
}
|
||||
UIWidgets::Tooltip("Disabled: Paths vanish more the higher the resolution (Z-fighting is based on resolution)\n"
|
||||
"Consistent: Certain paths vanish the same way in all resolutions\n"
|
||||
"No Vanish: Paths do not vanish, Link seems to sink in to some paths\n"
|
||||
|
Loading…
Reference in New Issue
Block a user