summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--koopatlas.yaml4
-rw-r--r--src/koopatlas/core.cpp9
-rw-r--r--src/koopatlas/core.h2
3 files changed, 14 insertions, 1 deletions
diff --git a/koopatlas.yaml b/koopatlas.yaml
index 377e9eb..3cf2aab 100644
--- a/koopatlas.yaml
+++ b/koopatlas.yaml
@@ -93,6 +93,10 @@ hooks:
addr_pal: 0x800696CC
data: '38600020'
+ - name: DisableQuickSave
+ type: nop_insn
+ area_pal: 0x8077AA7C
+
- name: StarMarioOnMaps
type: patch
addr_pal: 0x800D52F0
diff --git a/src/koopatlas/core.cpp b/src/koopatlas/core.cpp
index 9666e53..4cf1768 100644
--- a/src/koopatlas/core.cpp
+++ b/src/koopatlas/core.cpp
@@ -27,12 +27,14 @@ CREATE_STATE_E(dScKoopatlas_c, SaveWindowClose);
CREATE_STATE_E(dScKoopatlas_c, SaveDo);
CREATE_STATE_E(dScKoopatlas_c, SaveEndWindow);
CREATE_STATE_E(dScKoopatlas_c, SaveEndCloseWait);
+#ifdef QUICK_SAVE
CREATE_STATE_E(dScKoopatlas_c, QuickSaveOpen);
CREATE_STATE_E(dScKoopatlas_c, QuickSaveSelect);
CREATE_STATE_E(dScKoopatlas_c, QuickSaveWindowClose);
CREATE_STATE_E(dScKoopatlas_c, QuickSaveDo);
CREATE_STATE_E(dScKoopatlas_c, QuickSaveEndWindow);
CREATE_STATE_E(dScKoopatlas_c, QuickSaveEndCloseWait);
+#endif
CREATE_STATE_E(dScKoopatlas_c, SaveError);
dScKoopatlas_c *dScKoopatlas_c::build() {
@@ -561,18 +563,21 @@ void dScKoopatlas_c::executeState_CSMenu() {
case 2:
// Save or Quick Save
MapReport("Save or Quick Save was pressed\n");
+#ifdef QUICK_SAVE
if (GetSaveFile()->GetBlock(-1)->bitfield & 2) {
+#endif
state.setState(&StateID_SaveOpen);
yesNoWindow->type = 1;
yesNoWindow->visible = true;
+#ifdef QUICK_SAVE
} else {
state.setState(&StateID_QuickSaveOpen);
yesNoWindow->type = 15;
yesNoWindow->visible = 1;
}
-
+#endif
break;
case 3:
@@ -853,6 +858,7 @@ void dScKoopatlas_c::executeState_SaveEndCloseWait() {
}
+#ifdef QUICK_SAVE
/**********************************************************************/
// STATE_QuickSaveOpen : Waiting for the "Save?" YesNoWindow to open
void dScKoopatlas_c::executeState_QuickSaveOpen() {
@@ -956,6 +962,7 @@ void dScKoopatlas_c::executeState_QuickSaveEndCloseWait() {
}
}
+#endif
void dScKoopatlas_c::executeState_SaveError() { }
diff --git a/src/koopatlas/core.h b/src/koopatlas/core.h
index f314b82..9970baf 100644
--- a/src/koopatlas/core.h
+++ b/src/koopatlas/core.h
@@ -75,12 +75,14 @@ class dScKoopatlas_c : public dScene_c {
DECLARE_STATE(SaveDo);
DECLARE_STATE(SaveEndWindow);
DECLARE_STATE(SaveEndCloseWait);
+#ifdef QUICK_SAVE
DECLARE_STATE(QuickSaveOpen);
DECLARE_STATE(QuickSaveSelect);
DECLARE_STATE(QuickSaveWindowClose);
DECLARE_STATE(QuickSaveDo);
DECLARE_STATE(QuickSaveEndWindow);
DECLARE_STATE(QuickSaveEndCloseWait);
+#endif
DECLARE_STATE(SaveError);
void *csMenu;