summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorSergeanur <s.anureev@yandex.ua>2021-02-26 10:07:32 +0100
committerSergeanur <s.anureev@yandex.ua>2021-02-26 10:07:32 +0100
commitf6910d35f702e7767e6b52d5e7b3edd80fe85f96 (patch)
tree3968c943b721813f6880765e11a8ae2ade07da23 /src/core
parentrename error strings to RELCS (diff)
parentPoliceRadio -> PolRadio (original name) (diff)
downloadre3-f6910d35f702e7767e6b52d5e7b3edd80fe85f96.tar
re3-f6910d35f702e7767e6b52d5e7b3edd80fe85f96.tar.gz
re3-f6910d35f702e7767e6b52d5e7b3edd80fe85f96.tar.bz2
re3-f6910d35f702e7767e6b52d5e7b3edd80fe85f96.tar.lz
re3-f6910d35f702e7767e6b52d5e7b3edd80fe85f96.tar.xz
re3-f6910d35f702e7767e6b52d5e7b3edd80fe85f96.tar.zst
re3-f6910d35f702e7767e6b52d5e7b3edd80fe85f96.zip
Diffstat (limited to 'src/core')
-rw-r--r--src/core/Frontend.cpp7
-rw-r--r--src/core/MenuScreensCustom.cpp37
-rw-r--r--src/core/Ropes.cpp3
-rw-r--r--src/core/config.h3
-rw-r--r--src/core/main.cpp23
-rw-r--r--src/core/main.h19
-rw-r--r--src/core/re3.cpp85
7 files changed, 126 insertions, 51 deletions
diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp
index e6419069..7b159e17 100644
--- a/src/core/Frontend.cpp
+++ b/src/core/Frontend.cpp
@@ -3114,11 +3114,10 @@ CMenuManager::LoadSettings()
#ifdef LOAD_INI_SETTINGS
if (LoadINISettings()) {
LoadINIControllerSettings();
- } else {
- // no re3.ini, create it
- SaveINISettings();
- SaveINIControllerSettings();
}
+ // if no reVC.ini, create it, or update it with new values
+ SaveINISettings();
+ SaveINIControllerSettings();
#endif
#ifdef FIX_BUGS
diff --git a/src/core/MenuScreensCustom.cpp b/src/core/MenuScreensCustom.cpp
index cdfb3c85..0534e34a 100644
--- a/src/core/MenuScreensCustom.cpp
+++ b/src/core/MenuScreensCustom.cpp
@@ -181,38 +181,6 @@ void IslandLoadingAfterChange(int8 before, int8 after) {
}
#endif
-#ifdef MORE_LANGUAGES
-void LangPolSelect(int8 action)
-{
- if (action == FEOPTION_ACTION_SELECT) {
- FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_POLISH;
- FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
- FrontEndMenuManager.InitialiseChangedLanguageSettings();
- FrontEndMenuManager.SaveSettings();
- }
-}
-
-void LangRusSelect(int8 action)
-{
- if (action == FEOPTION_ACTION_SELECT) {
- FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_RUSSIAN;
- FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
- FrontEndMenuManager.InitialiseChangedLanguageSettings();
- FrontEndMenuManager.SaveSettings();
- }
-}
-
-void LangJapSelect(int8 action)
-{
- if (action == FEOPTION_ACTION_SELECT) {
- FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_JAPANESE;
- FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
- FrontEndMenuManager.InitialiseChangedLanguageSettings();
- FrontEndMenuManager.SaveSettings();
- }
-}
-#endif
-
#ifndef MULTISAMPLING
void GraphicsGoBack() {
}
@@ -471,11 +439,6 @@ CMenuScreenCustom aScreens[] = {
MENUACTION_LANG_GER, "FEL_GER", {nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS}, 0, 0, MENUALIGN_CENTER,
MENUACTION_LANG_ITA, "FEL_ITA", {nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS}, 0, 0, MENUALIGN_CENTER,
MENUACTION_LANG_SPA, "FEL_SPA", {nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS}, 0, 0, MENUALIGN_CENTER,
-#ifdef MORE_LANGUAGES
- MENUACTION_CFO_DYNAMIC, "FEL_POL", { new CCFODynamic(nil, nil, nil, nil, LangPolSelect) }, 0, 0, MENUALIGN_CENTER,
- MENUACTION_CFO_DYNAMIC, "FEL_RUS", { new CCFODynamic(nil, nil, nil, nil, LangRusSelect) }, 0, 0, MENUALIGN_CENTER
- MENUACTION_CFO_DYNAMIC, "FEL_JAP", { new CCFODynamic(nil, nil, nil, nil, LangJapSelect) }, 0, 0, MENUALIGN_CENTER,
-#endif
MENUACTION_GOBACK, "FEDS_TB", {nil, SAVESLOT_NONE, MENUPAGE_NONE}, 0, 0, MENUALIGN_CENTER,
},
diff --git a/src/core/Ropes.cpp b/src/core/Ropes.cpp
index 52427fc3..e390a917 100644
--- a/src/core/Ropes.cpp
+++ b/src/core/Ropes.cpp
@@ -1,5 +1,6 @@
#include "common.h"
+#include "main.h"
#include "Timer.h"
#include "ModelIndices.h"
#include "Streaming.h"
@@ -91,9 +92,11 @@ void
CRopes::Render(void)
{
int i;
+ PUSH_RENDERGROUP("CRopes::Render");
for(i = 0; i < ARRAY_SIZE(aRopes); i++)
if(aRopes[i].m_bActive)
aRopes[i].Render();
+ POP_RENDERGROUP();
}
bool
diff --git a/src/core/config.h b/src/core/config.h
index 1d4bf574..9e42fb9e 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -235,7 +235,6 @@ enum Config {
// not in master builds
#define VALIDATE_SAVE_SIZE
- #define NO_MOVIES // disable intro videos
#define DEBUGMENU
#endif
@@ -254,6 +253,8 @@ enum Config {
#define LOAD_INI_SETTINGS // as the name suggests. fundamental for CUSTOM_FRONTEND_OPTIONS
#define FIX_HIGH_FPS_BUGS_ON_FRONTEND
+#define NO_MOVIES // add option to disable intro videos
+
#if defined(__LP64__) || defined(_WIN64)
#define FIX_BUGS_64 // Must have fixes to be able to run 64 bit build
#endif
diff --git a/src/core/main.cpp b/src/core/main.cpp
index 53deeb70..49c9a8e6 100644
--- a/src/core/main.cpp
+++ b/src/core/main.cpp
@@ -103,7 +103,10 @@ bool gbModelViewer;
bool gbShowTimebars;
#endif
#ifdef DRAW_GAME_VERSION_TEXT
-bool gDrawVersionText; // Our addition, we think it was always enabled on !MASTER builds
+bool gbDrawVersionText; // Our addition, we think it was always enabled on !MASTER builds
+#endif
+#ifdef NO_MOVIES
+bool gbNoMovies;
#endif
volatile int32 frameCount;
@@ -1082,7 +1085,7 @@ DisplayGameDebugText()
#ifdef DRAW_GAME_VERSION_TEXT
wchar ver[200];
- if(gDrawVersionText) // This realtime switch is our thing
+ if(gbDrawVersionText) // This realtime switch is our thing
{
#ifdef USE_OUR_VERSIONING
@@ -1277,6 +1280,7 @@ if(gbRenderEverythingBarRoads)
void
RenderScene_new(void)
{
+ PUSH_RENDERGROUP("RenderScene_new");
CClouds::Render();
DoRWRenderHorizon();
@@ -1284,6 +1288,7 @@ RenderScene_new(void)
DefinedState();
// CMattRenderer::ResetRenderStates
// moved CRenderer::RenderBoats to before transparent water
+ POP_RENDERGROUP();
}
// TODO
@@ -1291,6 +1296,7 @@ bool FredIsInFirstPersonCam(void) { return false; }
void
RenderEffects_new(void)
{
+ PUSH_RENDERGROUP("RenderEffects_new");
CShadows::RenderStaticShadows();
CShadows::RenderStoredShadows();
CSkidmarks::Render();
@@ -1334,6 +1340,7 @@ if(gbRenderFadingInEntities)
CPointLights::RenderFogEffect();
CMovingThings::Render();
CRenderer::RenderFirstPersonVehicle();
+ POP_RENDERGROUP();
}
#endif
@@ -1346,6 +1353,7 @@ RenderScene(void)
return;
}
#endif
+ PUSH_RENDERGROUP("RenderScene");
CClouds::Render();
DoRWRenderHorizon();
CRenderer::RenderRoads();
@@ -1361,11 +1369,13 @@ RenderScene(void)
RwRenderStateSet(rwRENDERSTATECULLMODE, (void*)rwCULLMODECULLNONE);
CWeather::RenderRainStreaks();
CCoronas::RenderSunReflection();
+ POP_RENDERGROUP();
}
void
RenderDebugShit(void)
{
+ PUSH_RENDERGROUP("RenderDebugShit");
//CTheScripts::RenderTheScriptDebugLines();
#ifndef FINAL
if(gbShowCollisionLines)
@@ -1374,6 +1384,7 @@ RenderDebugShit(void)
CDebug::DrawLines();
DefinedState();
#endif
+ POP_RENDERGROUP();
}
void
@@ -1385,6 +1396,7 @@ RenderEffects(void)
return;
}
#endif
+ PUSH_RENDERGROUP("RenderEffects");
CGlass::Render();
CWaterCannons::Render();
CSpecialFX::Render();
@@ -1401,11 +1413,13 @@ RenderEffects(void)
CPointLights::RenderFogEffect();
CMovingThings::Render();
CRenderer::RenderFirstPersonVehicle();
+ POP_RENDERGROUP();
}
void
Render2dStuff(void)
{
+ PUSH_RENDERGROUP("Render2dStuff");
RwRenderStateSet(rwRENDERSTATEZTESTENABLE, (void*)FALSE);
RwRenderStateSet(rwRENDERSTATEZWRITEENABLE, (void*)FALSE);
RwRenderStateSet(rwRENDERSTATEVERTEXALPHAENABLE, (void*)TRUE);
@@ -1477,6 +1491,7 @@ Render2dStuff(void)
#ifdef DEBUGMENU
DebugMenuRender();
#endif
+ POP_RENDERGROUP();
}
void
@@ -1484,7 +1499,9 @@ RenderMenus(void)
{
if (FrontEndMenuManager.m_bMenuActive)
{
+ PUSH_RENDERGROUP("RenderMenus");
FrontEndMenuManager.DrawFrontEnd();
+ POP_RENDERGROUP();
}
#ifndef MASTER
else
@@ -1495,6 +1512,7 @@ RenderMenus(void)
void
Render2dStuffAfterFade(void)
{
+ PUSH_RENDERGROUP("Render2dStuffAfterFade");
#ifndef MASTER
DisplayGameDebugText();
#endif
@@ -1505,6 +1523,7 @@ Render2dStuffAfterFade(void)
CHud::DrawAfterFade();
CFont::DrawFonts();
CCredits::Render();
+ POP_RENDERGROUP();
}
void
diff --git a/src/core/main.h b/src/core/main.h
index 8e4123ff..3fa26e78 100644
--- a/src/core/main.h
+++ b/src/core/main.h
@@ -1,5 +1,16 @@
#pragma once
+#ifndef FINAL
+// defined in RwHelpder.cpp
+void PushRendergroup(const char *name);
+void PopRendergroup(void);
+#define PUSH_RENDERGROUP(str) PushRendergroup(str)
+#define POP_RENDERGROUP() PopRendergroup()
+#else
+#define PUSH_RENDERGROUP(str)
+#define POP_RENDERGROUP()
+#endif
+
struct GlobalScene
{
RpWorld *world;
@@ -63,3 +74,11 @@ void SaveINIControllerSettings();
extern bool gbNewRenderer;
bool FredIsInFirstPersonCam(void);
#endif
+
+#ifdef DRAW_GAME_VERSION_TEXT
+extern bool gbDrawVersionText;
+#endif
+
+#ifdef NO_MOVIES
+extern bool gbNoMovies;
+#endif
diff --git a/src/core/re3.cpp b/src/core/re3.cpp
index 3d077ba1..27382c98 100644
--- a/src/core/re3.cpp
+++ b/src/core/re3.cpp
@@ -90,16 +90,51 @@ mysrand(unsigned int seed)
#ifdef CUSTOM_FRONTEND_OPTIONS
#include "frontendoption.h"
+
+
+#ifdef MORE_LANGUAGES
+void LangPolSelect(int8 action)
+{
+ if (action == FEOPTION_ACTION_SELECT) {
+ FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_POLISH;
+ FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
+ FrontEndMenuManager.InitialiseChangedLanguageSettings();
+ FrontEndMenuManager.SaveSettings();
+ }
+}
+
+void LangRusSelect(int8 action)
+{
+ if (action == FEOPTION_ACTION_SELECT) {
+ FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_RUSSIAN;
+ FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
+ FrontEndMenuManager.InitialiseChangedLanguageSettings();
+ FrontEndMenuManager.SaveSettings();
+ }
+}
+
+void LangJapSelect(int8 action)
+{
+ if (action == FEOPTION_ACTION_SELECT) {
+ FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_JAPANESE;
+ FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
+ FrontEndMenuManager.InitialiseChangedLanguageSettings();
+ FrontEndMenuManager.SaveSettings();
+ }
+}
+#endif
+
void
CustomFrontendOptionsPopulate(void)
{
// Moved to an array in MenuScreensCustom.cpp, but APIs are still available. see frontendoption.h
+ int fd;
// These work only if we have neo folder, so they're dynamically added
#ifdef EXTENDED_PIPELINES
const char *pipelineNames[] = { "FED_PSP", "FED_PS2","FED_MOB" };
const char *off_on[] = { "FEM_OFF", "FEM_ON" };
- int fd = CFileMgr::OpenFile("neo/neo.txd","r");
+ fd = CFileMgr::OpenFile("neo/neo.txd","r");
if (fd) {
#ifdef GRAPHICS_MENU_OPTIONS
FrontendOptionSetCursor(MENUPAGE_GRAPHICS_SETTINGS, -3, false);
@@ -117,6 +152,38 @@ CustomFrontendOptionsPopulate(void)
CFileMgr::CloseFile(fd);
}
#endif
+ // Add outsourced language translations, if files are found
+#ifdef MORE_LANGUAGES
+ int fd2;
+ FrontendOptionSetCursor(MENUPAGE_LANGUAGE_SETTINGS, 5, false);
+#if 0
+ if (fd = CFileMgr::OpenFile("text/polish.gxt")) {
+ if (fd2 = CFileMgr::OpenFile("models/fonts_p.txd")) {
+ FrontendOptionAddDynamic("FEL_POL", 0, 0, MENUALIGN_CENTER, nil, nil, LangPolSelect, nil, nil);
+ CFileMgr::CloseFile(fd2);
+ }
+ CFileMgr::CloseFile(fd);
+ }
+#endif
+
+ if (fd = CFileMgr::OpenFile("text/russian.gxt")) {
+ if (fd2 = CFileMgr::OpenFile("models/fonts_r.txd")) {
+ FrontendOptionAddDynamic("FEL_RUS", 0, 0, MENUALIGN_CENTER, nil, nil, LangRusSelect, nil, nil);
+ CFileMgr::CloseFile(fd2);
+ }
+ CFileMgr::CloseFile(fd);
+ }
+
+#if 0
+ if (fd = CFileMgr::OpenFile("text/japanese.gxt")) {
+ if (fd2 = CFileMgr::OpenFile("models/fonts_j.txd")) {
+ FrontendOptionAddDynamic("FEL_JAP", 0, 0, MENUALIGN_CENTER, nil, nil, LangJapSelect, nil, nil);
+ CFileMgr::CloseFile(fd2);
+ }
+ CFileMgr::CloseFile(fd);
+ }
+#endif
+#endif
}
#endif
@@ -466,8 +533,10 @@ bool LoadINISettings()
ReadIniIfExists("Draw", "FixSprites", &CDraw::ms_bFixSprites);
#endif
#ifdef DRAW_GAME_VERSION_TEXT
- extern bool gDrawVersionText;
- ReadIniIfExists("General", "DrawVersionText", &gDrawVersionText);
+ ReadIniIfExists("General", "DrawVersionText", &gbDrawVersionText);
+#endif
+#ifdef NO_MOVIES
+ ReadIniIfExists("General", "NoMovies", &gbNoMovies);
#endif
#ifdef CUSTOM_FRONTEND_OPTIONS
@@ -563,8 +632,10 @@ void SaveINISettings()
StoreIni("Draw", "FixSprites", CDraw::ms_bFixSprites);
#endif
#ifdef DRAW_GAME_VERSION_TEXT
- extern bool gDrawVersionText;
- StoreIni("General", "DrawVersionText", gDrawVersionText);
+ StoreIni("General", "DrawVersionText", gbDrawVersionText);
+#endif
+#ifdef NO_MOVIES
+ StoreIni("General", "NoMovies", gbNoMovies);
#endif
#ifdef CUSTOM_FRONTEND_OPTIONS
for (int i = 0; i < MENUPAGES; i++) {
@@ -993,14 +1064,14 @@ extern bool gbRenderDebugEnvMap;
#ifdef DRAW_GAME_VERSION_TEXT
- extern bool gDrawVersionText;
- DebugMenuAddVarBool8("Debug", "Version Text", &gDrawVersionText, nil);
+ DebugMenuAddVarBool8("Debug", "Version Text", &gbDrawVersionText, nil);
#endif
DebugMenuAddVarBool8("Debug", "Show DebugStuffInRelease", &gbDebugStuffInRelease, nil);
#ifdef TIMEBARS
DebugMenuAddVarBool8("Debug", "Show Timebars", &gbShowTimebars, nil);
#endif
#ifndef FINAL
+ DebugMenuAddVarBool8("Debug", "Use debug render groups", &bDebugRenderGroups, nil);
DebugMenuAddVarBool8("Debug", "Print Memory Usage", &gbPrintMemoryUsage, nil);
#ifdef USE_CUSTOM_ALLOCATOR
DebugMenuAddCmd("Debug", "Parse Heap", ParseHeap);