aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/GameRules/GameRuleManager.cpp
diff options
context:
space:
mode:
authorLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
committerLoki Rautio <lokirautio@gmail.com>2026-03-04 03:56:03 -0600
commit42aec6dac53dffa6afe072560a7e1d4986112538 (patch)
tree0836426857391df1b6a83f6368a183f83ec9b104 /Minecraft.Client/Common/GameRules/GameRuleManager.cpp
parentc9d58eeac7c72f0b3038e084667b4d89a6249fce (diff)
parentef9b6fd500dfabd9463267b0dd9e29577eea8a2b (diff)
Merge branch 'main' into pr/win64-world-saves
# Conflicts: # Minecraft.Client/MinecraftServer.cpp # README.md
Diffstat (limited to 'Minecraft.Client/Common/GameRules/GameRuleManager.cpp')
-rw-r--r--Minecraft.Client/Common/GameRules/GameRuleManager.cpp50
1 files changed, 29 insertions, 21 deletions
diff --git a/Minecraft.Client/Common/GameRules/GameRuleManager.cpp b/Minecraft.Client/Common/GameRules/GameRuleManager.cpp
index 0c6a7804..6e5688cc 100644
--- a/Minecraft.Client/Common/GameRules/GameRuleManager.cpp
+++ b/Minecraft.Client/Common/GameRules/GameRuleManager.cpp
@@ -106,17 +106,14 @@ void GameRuleManager::loadGameRules(DLCPack *pack)
DWORD dSize;
byte *dData = dlcHeader->getData(dSize);
- LevelGenerationOptions *createdLevelGenerationOptions = new LevelGenerationOptions();
+ LevelGenerationOptions *createdLevelGenerationOptions = new LevelGenerationOptions(pack);
// = loadGameRules(dData, dSize); //, strings);
createdLevelGenerationOptions->setGrSource( dlcHeader );
+ createdLevelGenerationOptions->setSrc( LevelGenerationOptions::eSrc_fromDLC );
readRuleFile(createdLevelGenerationOptions, dData, dSize, strings);
- createdLevelGenerationOptions->setSrc( LevelGenerationOptions::eSrc_fromDLC );
-
-
- //createdLevelGenerationOptions->setSrc( LevelGenerationOptions::eSrc_fromDLC );
dlcHeader->lgo = createdLevelGenerationOptions;
}
@@ -128,15 +125,13 @@ void GameRuleManager::loadGameRules(DLCPack *pack)
DWORD dSize;
byte *dData = dlcFile->getData(dSize);
- LevelGenerationOptions *createdLevelGenerationOptions = new LevelGenerationOptions();
+ LevelGenerationOptions *createdLevelGenerationOptions = new LevelGenerationOptions(pack);
// = loadGameRules(dData, dSize); //, strings);
createdLevelGenerationOptions->setGrSource( new JustGrSource() );
- readRuleFile(createdLevelGenerationOptions, dData, dSize, strings);
-
createdLevelGenerationOptions->setSrc( LevelGenerationOptions::eSrc_tutorial );
-
- //createdLevelGenerationOptions->set_DLCGameRulesFile( dlcFile );
+
+ readRuleFile(createdLevelGenerationOptions, dData, dSize, strings);
createdLevelGenerationOptions->setLoadedData();
}
@@ -659,6 +654,25 @@ void GameRuleManager::loadDefaultGameRules()
#else // _XBOX
+#ifdef _WINDOWS64
+ File packedTutorialFile(L"Windows64Media\\Tutorial\\Tutorial.pck");
+ if(!packedTutorialFile.exists()) packedTutorialFile = File(L"Windows64\\Tutorial\\Tutorial.pck");
+#elif defined(__ORBIS__)
+ File packedTutorialFile(L"/app0/orbis/Tutorial/Tutorial.pck");
+#elif defined(__PSVITA__)
+ File packedTutorialFile(L"PSVita/Tutorial/Tutorial.pck");
+#elif defined(__PS3__)
+ File packedTutorialFile(L"PS3/Tutorial/Tutorial.pck");
+#else
+ File packedTutorialFile(L"Tutorial\\Tutorial.pck");
+#endif
+ if(loadGameRulesPack(&packedTutorialFile))
+ {
+ m_levelGenerators.getLevelGenerators()->at(0)->setWorldName(app.GetString(IDS_PLAY_TUTORIAL));
+ //m_levelGenerators.getLevelGenerators()->at(0)->setDefaultSaveName(L"Tutorial");
+ m_levelGenerators.getLevelGenerators()->at(0)->setDefaultSaveName(app.GetString(IDS_TUTORIALSAVENAME));
+ }
+#if 0
wstring fpTutorial = L"Tutorial.pck";
if(app.getArchiveFileSize(fpTutorial) >= 0)
{
@@ -667,25 +681,18 @@ void GameRuleManager::loadDefaultGameRules()
if ( app.m_dlcManager.readDLCDataFile(dwFilesProcessed,fpTutorial,pack,true) )
{
app.m_dlcManager.addPack(pack);
- m_levelGenerators.getLevelGenerators()->at(0)->setWorldName(app.GetString(IDS_PLAY_TUTORIAL));
- m_levelGenerators.getLevelGenerators()->at(0)->setDefaultSaveName(app.GetString(IDS_TUTORIALSAVENAME));
+ //m_levelGenerators.getLevelGenerators()->at(0)->setWorldName(app.GetString(IDS_PLAY_TUTORIAL));
+ //m_levelGenerators.getLevelGenerators()->at(0)->setDefaultSaveName(app.GetString(IDS_TUTORIALSAVENAME));
}
else delete pack;
}
- /*StringTable *strings = new StringTable(baStrings.data, baStrings.length);
- LevelGenerationOptions *lgo = new LevelGenerationOptions();
- lgo->setGrSource( new JustGrSource() );
- lgo->setSrc( LevelGenerationOptions::eSrc_tutorial );
- readRuleFile(lgo, tutorial.data, tutorial.length, strings);
- lgo->setLoadedData();*/
-
+#endif
#endif
}
bool GameRuleManager::loadGameRulesPack(File *path)
{
bool success = false;
-#ifdef _XBOX
if(path->exists())
{
DLCPack *pack = new DLCPack(L"",0xffffffff);
@@ -700,12 +707,13 @@ bool GameRuleManager::loadGameRulesPack(File *path)
delete pack;
}
}
-#endif
return success;
}
void GameRuleManager::setLevelGenerationOptions(LevelGenerationOptions *levelGen)
{
+ unloadCurrentGameRules();
+
m_currentGameRuleDefinitions = NULL;
m_currentLevelGenerationOptions = levelGen;