From 20faadcbf59fee0c216590bd4372a268a2594783 Mon Sep 17 00:00:00 2001
From: Treeki <treeki@gmail.com>
Date: Thu, 28 Feb 2013 05:45:45 +0100
Subject: disable quick save

---
 koopatlas.yaml         | 4 ++++
 src/koopatlas/core.cpp | 9 ++++++++-
 src/koopatlas/core.h   | 2 ++
 3 files changed, 14 insertions(+), 1 deletion(-)

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;
-- 
cgit v1.2.3