mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	Mod system improvement Part I : Fix content losing after deserialization
This commit is contained in:
		| @@ -610,7 +610,7 @@ void CModInfo::loadLocalData(const JsonNode & data) | ||||
| 		validation = validated ? PASSED : FAILED; | ||||
| } | ||||
|  | ||||
| CModHandler::CModHandler() | ||||
| CModHandler::CModHandler() : content(std::make_shared<CContentHandler>()) | ||||
| { | ||||
|     modules.COMMANDERS = false; | ||||
|     modules.STACK_ARTIFACT = false; | ||||
| @@ -955,7 +955,7 @@ void CModHandler::load() | ||||
|  | ||||
| 	logMod->info("\tInitializing content handler: %d ms", timer.getDiff()); | ||||
|  | ||||
| 	content.init(); | ||||
| 	content->init(); | ||||
|  | ||||
| 	for(const TModID & modName : activeMods) | ||||
| 	{ | ||||
| @@ -965,16 +965,16 @@ void CModHandler::load() | ||||
|  | ||||
| 	// first - load virtual "core" mod that contains all data | ||||
| 	// TODO? move all data into real mods? RoE, AB, SoD, WoG | ||||
| 	content.preloadData(coreMod); | ||||
| 	content->preloadData(coreMod); | ||||
| 	for(const TModID & modName : activeMods) | ||||
| 		content.preloadData(allMods[modName]); | ||||
| 		content->preloadData(allMods[modName]); | ||||
| 	logMod->info("\tParsing mod data: %d ms", timer.getDiff()); | ||||
|  | ||||
| 	content.load(coreMod); | ||||
| 	content->load(coreMod); | ||||
| 	for(const TModID & modName : activeMods) | ||||
| 		content.load(allMods[modName]); | ||||
| 		content->load(allMods[modName]); | ||||
|  | ||||
| 	content.loadCustom(); | ||||
| 	content->loadCustom(); | ||||
|  | ||||
| 	logMod->info("\tLoading mod data: %d ms", timer.getDiff()); | ||||
|  | ||||
| @@ -984,7 +984,7 @@ void CModHandler::load() | ||||
| 	identifiers.finalize(); | ||||
| 	logMod->info("\tResolving identifiers: %d ms", timer.getDiff()); | ||||
|  | ||||
| 	content.afterLoadFinalization(); | ||||
| 	content->afterLoadFinalization(); | ||||
| 	logMod->info("\tHandlers post-load finalization: %d ms ", timer.getDiff()); | ||||
| 	logMod->info("\tAll game content loaded in %d ms", totalTime.getDiff()); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user