aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Common/GameRules/GameRuleManager.cpp
diff options
context:
space:
mode:
authordaoge <3523206925@qq.com>2026-03-03 03:04:10 +0800
committerGitHub <noreply@github.com>2026-03-03 03:04:10 +0800
commitb3feddfef372618c8a9d7a0abcaf18cfad866c18 (patch)
tree267761c3bb39241ba5c347bfbe2254d06686e287 /Minecraft.Client/Common/GameRules/GameRuleManager.cpp
parent84c31a2331f7a0ec85b9d438992e244f60e5020f (diff)
feat: TU19 (Dec 2014) Features & Content (#155)
* try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki <lokirautio@gmail.com>
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;