mirror of
				https://github.com/vcmi/vcmi.git
				synced 2025-10-31 00:07:39 +02:00 
			
		
		
		
	Added stubs for some Map objects serialization
This commit is contained in:
		| @@ -107,7 +107,7 @@ void CArmedInstance::updateMoraleBonusFromArmy() | ||||
| 			undeadModifier = new Bonus(Bonus::PERMANENT, Bonus::MORALE, Bonus::ARMY, -1, UNDEAD_MODIFIER_ID, VLC->generaltexth->arraytxt[116]); | ||||
| 			undeadModifier->description = undeadModifier->description.substr(0, undeadModifier->description.size()-2);//trim value | ||||
| 			addNewBonus(undeadModifier); | ||||
| 		}			 | ||||
| 		} | ||||
| 	} | ||||
| 	else if(undeadModifier) | ||||
| 		removeBonus(undeadModifier); | ||||
| @@ -131,3 +131,13 @@ CBonusSystemNode * CArmedInstance::whatShouldBeAttached() | ||||
| { | ||||
| 	return this; | ||||
| } | ||||
|  | ||||
| void CArmedInstance::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CArmedInstance::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -40,4 +40,7 @@ public: | ||||
| 		h & static_cast<CBonusSystemNode&>(*this); | ||||
| 		h & static_cast<CCreatureSet&>(*this); | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|   | ||||
| @@ -103,16 +103,16 @@ std::string CGCreature::getHoverText(const CGHeroInstance * hero) const | ||||
| { | ||||
| 	std::string hoverName; | ||||
| 	if(hero->hasVisions(this, 0)) | ||||
| 	{		 | ||||
| 	{ | ||||
| 		MetaString ms; | ||||
| 		ms << stacks.begin()->second->count; | ||||
| 		ms << " " ; | ||||
| 		ms.addTxt(MetaString::CRE_PL_NAMES,subID); | ||||
| 		 | ||||
|  | ||||
| 		ms << "\n"; | ||||
| 		 | ||||
|  | ||||
| 		int decision = takenAction(hero, true); | ||||
| 		 | ||||
|  | ||||
| 		switch (decision) | ||||
| 		{ | ||||
| 		case FIGHT: | ||||
| @@ -123,19 +123,19 @@ std::string CGCreature::getHoverText(const CGHeroInstance * hero) const | ||||
| 			break; | ||||
| 		case JOIN_FOR_FREE: | ||||
| 			ms.addTxt(MetaString::GENERAL_TXT,243); | ||||
| 			break;					 | ||||
| 			break; | ||||
| 		default: //decision = cost in gold | ||||
| 			VLC->generaltexth->allTexts[244]; | ||||
| 			ms << boost::to_string(boost::format(VLC->generaltexth->allTexts[244]) % decision);			 | ||||
| 			ms << boost::to_string(boost::format(VLC->generaltexth->allTexts[244]) % decision); | ||||
| 			break; | ||||
| 		}		 | ||||
| 		} | ||||
|  | ||||
| 		ms.toString(hoverName);		 | ||||
| 		ms.toString(hoverName); | ||||
| 	} | ||||
| 	else | ||||
| 	{ | ||||
| 		hoverName = getHoverText(hero->tempOwner);	 | ||||
| 	}	 | ||||
| 		hoverName = getHoverText(hero->tempOwner); | ||||
| 	} | ||||
|  | ||||
| 	const JsonNode & texts = VLC->generaltexth->localizedTexts["adventureMap"]["monsterThreat"]; | ||||
|  | ||||
| @@ -557,6 +557,17 @@ int CGCreature::getNumberOfStacks(const CGHeroInstance *hero) const | ||||
| 	return split; | ||||
| } | ||||
|  | ||||
| void CGCreature::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGCreature::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| //CGMine | ||||
| void CGMine::onHeroVisit( const CGHeroInstance * h ) const | ||||
| { | ||||
| 	int relations = cb->gameState()->getPlayerRelations(h->tempOwner, tempOwner); | ||||
| @@ -693,6 +704,17 @@ void CGMine::blockingDialogAnswered(const CGHeroInstance *hero, ui32 answer) con | ||||
| 		cb->startBattleI(hero, this); | ||||
| } | ||||
|  | ||||
| void CGMine::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGMine::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
| std::string CGResource::getHoverText(PlayerColor player) const | ||||
| { | ||||
| 	return VLC->generaltexth->restypes[subID]; | ||||
| @@ -777,6 +799,17 @@ void CGResource::blockingDialogAnswered(const CGHeroInstance *hero, ui32 answer) | ||||
| 		cb->startBattleI(hero, this); | ||||
| } | ||||
|  | ||||
| void CGResource::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGResource::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
| CGTeleport::CGTeleport() : | ||||
| 	type(UNKNOWN), channel(TeleportChannelID()) | ||||
| { | ||||
| @@ -1223,6 +1256,16 @@ void CGArtifact::blockingDialogAnswered(const CGHeroInstance *hero, ui32 answer) | ||||
| 		cb->startBattleI(hero, this); | ||||
| } | ||||
|  | ||||
| void CGArtifact::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGArtifact::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGWitchHut::initObj() | ||||
| { | ||||
| 	if (allowedAbilities.empty()) //this can happen for RMG. regular maps load abilities from map file | ||||
| @@ -1280,6 +1323,17 @@ std::string CGWitchHut::getHoverText(const CGHeroInstance * hero) const | ||||
| 	return hoverName; | ||||
| } | ||||
|  | ||||
| void CGWitchHut::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGWitchHut::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
| void CGMagicWell::onHeroVisit( const CGHeroInstance * h ) const | ||||
| { | ||||
| 	int message; | ||||
| @@ -1419,6 +1473,17 @@ std::string CGShrine::getHoverText(const CGHeroInstance * hero) const | ||||
| 	return hoverName; | ||||
| } | ||||
|  | ||||
| void CGShrine::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGShrine::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
| void CGSignBottle::initObj() | ||||
| { | ||||
| 	//if no text is set than we pick random from the predefined ones | ||||
| @@ -1445,11 +1510,15 @@ void CGSignBottle::onHeroVisit( const CGHeroInstance * h ) const | ||||
| 		cb->removeObject(this); | ||||
| } | ||||
|  | ||||
| //TODO: remove | ||||
| //void CGScholar::giveAnyBonus( const CGHeroInstance * h ) const | ||||
| //{ | ||||
| // | ||||
| //} | ||||
| void CGSignBottle::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGSignBottle::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGScholar::onHeroVisit( const CGHeroInstance * h ) const | ||||
| { | ||||
| @@ -1524,6 +1593,16 @@ void CGScholar::initObj() | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void CGScholar::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGScholar::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGGarrison::onHeroVisit (const CGHeroInstance *h) const | ||||
| { | ||||
| 	int ally = cb->gameState()->getPlayerRelations(h->tempOwner, tempOwner); | ||||
| @@ -1560,6 +1639,16 @@ void CGGarrison::battleFinished(const CGHeroInstance *hero, const BattleResult & | ||||
| 		onHeroVisit(hero); | ||||
| } | ||||
|  | ||||
| void CGGarrison::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGGarrison::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGMagi::initObj() | ||||
| { | ||||
| 	if (ID == Obj::EYE_OF_MAGI) | ||||
| @@ -1674,7 +1763,7 @@ void CGShipyard::getOutOffsets( std::vector<int3> &offsets ) const | ||||
| 		int3(-3,0,0), int3(1,0,0), //AB | ||||
| 		int3(-3,1,0), int3(1,1,0), int3(-2,1,0), int3(0,1,0), int3(-1,1,0), //CDEFG | ||||
| 		int3(-3,-1,0), int3(1,-1,0), int3(-2,-1,0), int3(0,-1,0), int3(-1,-1,0) //HIJKL | ||||
| 	};  | ||||
| 	}; | ||||
| } | ||||
|  | ||||
| void CGShipyard::onHeroVisit( const CGHeroInstance * h ) const | ||||
| @@ -1696,6 +1785,17 @@ void CGShipyard::onHeroVisit( const CGHeroInstance * h ) const | ||||
| 	} | ||||
| } | ||||
|  | ||||
| void CGShipyard::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGShipyard::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
| void CCartographer::onHeroVisit( const CGHeroInstance * h ) const | ||||
| { | ||||
| 	//if player has not bought map of this subtype yet and underground exist for stalagmite cartographer | ||||
| @@ -1860,3 +1960,13 @@ void CGLighthouse::giveBonusTo( PlayerColor player ) const | ||||
| 	gb.bonus.sid = id.getNum(); | ||||
| 	cb->sendAndApply(&gb); | ||||
| } | ||||
|  | ||||
| void CGLighthouse::writeJsonOptions(JsonNode& json) const | ||||
| { | ||||
|  | ||||
| } | ||||
|  | ||||
| void CGLighthouse::readJsonOptions(const JsonNode& json) | ||||
| { | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -82,6 +82,9 @@ public: | ||||
| 	} | ||||
| protected: | ||||
| 	void setPropertyDer(ui8 what, ui32 val) override; | ||||
|  | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| private: | ||||
|  | ||||
| 	void fight(const CGHeroInstance *h) const; | ||||
| @@ -107,6 +110,9 @@ public: | ||||
| 		h & static_cast<CGObjectInstance&>(*this); | ||||
| 		h & message; | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| class DLL_LINKAGE CGWitchHut : public CPlayersVisited | ||||
| @@ -124,6 +130,9 @@ public: | ||||
| 		h & static_cast<CPlayersVisited&>(*this); | ||||
| 		h & allowedAbilities & ability; | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| class DLL_LINKAGE CGScholar : public CGObjectInstance | ||||
| @@ -133,7 +142,6 @@ public: | ||||
| 	EBonusType bonusType; | ||||
| 	ui16 bonusID; //ID of skill/spell | ||||
|  | ||||
| //	void giveAnyBonus(const CGHeroInstance * h) const; //TODO: remove | ||||
| 	CGScholar() : bonusType(EBonusType::RANDOM){}; | ||||
| 	void onHeroVisit(const CGHeroInstance * h) const override; | ||||
| 	void initObj() override; | ||||
| @@ -142,6 +150,9 @@ public: | ||||
| 		h & static_cast<CGObjectInstance&>(*this); | ||||
| 		h & bonusType & bonusID; | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| class DLL_LINKAGE CGGarrison : public CArmedInstance | ||||
| @@ -158,6 +169,9 @@ public: | ||||
| 		h & static_cast<CArmedInstance&>(*this); | ||||
| 		h & removableUnits; | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| class DLL_LINKAGE CGArtifact : public CArmedInstance | ||||
| @@ -182,6 +196,9 @@ public: | ||||
| 		h & static_cast<CArmedInstance&>(*this); | ||||
| 		h & message & storedArtifact; | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| class DLL_LINKAGE CGResource : public CArmedInstance | ||||
| @@ -204,6 +221,9 @@ public: | ||||
| 		h & static_cast<CArmedInstance&>(*this); | ||||
| 		h & amount & message; | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| class DLL_LINKAGE CGShrine : public CPlayersVisited | ||||
| @@ -220,6 +240,9 @@ public: | ||||
| 		h & static_cast<CPlayersVisited&>(*this);; | ||||
| 		h & spell; | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| class DLL_LINKAGE CGMine : public CArmedInstance | ||||
| @@ -247,6 +270,9 @@ public: | ||||
| 		h & producedResource & producedQuantity; | ||||
| 	} | ||||
| 	ui32 defaultResProduction(); | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| struct DLL_LINKAGE TeleportChannel | ||||
| @@ -411,6 +437,9 @@ public: | ||||
| 		h & static_cast<CGObjectInstance&>(*this); | ||||
| 		h & static_cast<IShipyard&>(*this); | ||||
| 	} | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|  | ||||
| class DLL_LINKAGE CGMagi : public CGObjectInstance | ||||
| @@ -477,4 +506,7 @@ public: | ||||
| 		h & static_cast<CGObjectInstance&>(*this); | ||||
| 	} | ||||
| 	void giveBonusTo( PlayerColor player ) const; | ||||
| protected: | ||||
| 	void writeJsonOptions(JsonNode & json) const override; | ||||
| 	void readJsonOptions(const JsonNode & json) override; | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user