summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXinerki <simasadves@gmail.com>2020-05-21 12:06:09 +0200
committerXinerki <simasadves@gmail.com>2020-05-21 12:06:09 +0200
commitb4060a4789e8f079a86fc106b8a17ea66de23f8d (patch)
treef5157964e68f43f147af1b7da462bf823e4ec0e6
parentapproach separation differently (diff)
downloadre3-b4060a4789e8f079a86fc106b8a17ea66de23f8d.tar
re3-b4060a4789e8f079a86fc106b8a17ea66de23f8d.tar.gz
re3-b4060a4789e8f079a86fc106b8a17ea66de23f8d.tar.bz2
re3-b4060a4789e8f079a86fc106b8a17ea66de23f8d.tar.lz
re3-b4060a4789e8f079a86fc106b8a17ea66de23f8d.tar.xz
re3-b4060a4789e8f079a86fc106b8a17ea66de23f8d.tar.zst
re3-b4060a4789e8f079a86fc106b8a17ea66de23f8d.zip
-rw-r--r--src/core/Cam.cpp2
-rw-r--r--src/core/Frontend.cpp13
-rw-r--r--src/core/Frontend.h5
-rw-r--r--src/core/MenuScreens.h3
4 files changed, 21 insertions, 2 deletions
diff --git a/src/core/Cam.cpp b/src/core/Cam.cpp
index afa153f9..e81031c2 100644
--- a/src/core/Cam.cpp
+++ b/src/core/Cam.cpp
@@ -29,7 +29,7 @@ bool PrintDebugCode = false;
int16 DebugCamMode;
#ifdef FREE_CAM
-bool CCamera::bFreeCam = true;
+bool CCamera::bFreeCam;
int nPreviousMode = -1;
#endif
diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp
index dd840bdc..77eab0a0 100644
--- a/src/core/Frontend.cpp
+++ b/src/core/Frontend.cpp
@@ -3115,6 +3115,9 @@ CMenuManager::LoadSettings()
CFileMgr::Read(fileHandle, m_PrefsSkinFile, 256);
CFileMgr::Read(fileHandle, (char*)&m_ControlMethod, 1);
CFileMgr::Read(fileHandle, (char*)&m_PrefsLanguage, 1);
+#ifdef FREE_CAM
+ CFileMgr::Read(fileHandle, (char*)&TheCamera.bFreeCam, 1);
+#endif
}
}
@@ -3205,6 +3208,9 @@ CMenuManager::SaveSettings()
CFileMgr::Write(fileHandle, m_PrefsSkinFile, 256);
CFileMgr::Write(fileHandle, (char*)&m_ControlMethod, 1);
CFileMgr::Write(fileHandle, (char*)&m_PrefsLanguage, 1);
+#ifdef FREE_CAM
+ CFileMgr::Write(fileHandle, (char*)&TheCamera.bFreeCam, 1);
+#endif
}
CFileMgr::CloseFile(fileHandle);
@@ -4952,6 +4958,13 @@ CMenuManager::ProcessOnOffMenuOptions()
DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SUCCESS, 0);
SaveSettings();
break;
+#ifdef FREE_CAM
+ case MENUACTION_FREECAM:
+ TheCamera.bFreeCam = !TheCamera.bFreeCam;
+ DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SUCCESS, 0);
+ SaveSettings();
+ break;
+#endif
}
}
diff --git a/src/core/Frontend.h b/src/core/Frontend.h
index 114ea6ba..30ae0bb4 100644
--- a/src/core/Frontend.h
+++ b/src/core/Frontend.h
@@ -380,7 +380,10 @@ enum eMenuAction
MENUACTION_LANG_JAP,
#endif
#ifdef IMPROVED_VIDEOMODE
- MENUACTION_SCREENMODE
+ MENUACTION_SCREENMODE,
+#endif
+#ifdef FREE_CAM
+ MENUACTION_FREECAM
#endif
};
diff --git a/src/core/MenuScreens.h b/src/core/MenuScreens.h
index 6c2ebdb8..c6708580 100644
--- a/src/core/MenuScreens.h
+++ b/src/core/MenuScreens.h
@@ -284,6 +284,9 @@ const CMenuScreen aScreens[] = {
// MENUPAGE_CONTROLLER_PC = 35
{ "FET_CTL", 1, MENUPAGE_OPTIONS, MENUPAGE_OPTIONS, 0, 0,
MENUACTION_CTRLMETHOD, "FET_CME", SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC,
+#ifdef FREE_CAM
+ MENUACTION_FREECAM, "FREECAM", SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC,
+#endif
MENUACTION_CHANGEMENU, "FET_RDK", SAVESLOT_NONE, MENUPAGE_KEYBOARD_CONTROLS,
MENUACTION_CHANGEMENU, "FET_AMS", SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS,
MENUACTION_RESTOREDEF, "FET_DEF", SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC,