浏览代码

Fixed CID 1288852, CID 1243202

AlexVinS 9 年之前
父节点
当前提交
5a3854a8de
共有 2 个文件被更改,包括 9 次插入2 次删除
  1. 6 1
      lib/rmg/CRmgTemplateZone.cpp
  2. 3 1
      lib/rmg/CRmgTemplateZone.h

+ 6 - 1
lib/rmg/CRmgTemplateZone.cpp

@@ -2379,7 +2379,6 @@ ObjectInfo CRmgTemplateZone::getRandomObject(CMapGenerator* gen, CTreasurePileIn
 void CRmgTemplateZone::addAllPossibleObjects(CMapGenerator* gen)
 {
 	ObjectInfo oi;
-	oi.maxPerMap = std::numeric_limits<ui32>().max();
 
 	int numZones = gen->getZones().size();
 
@@ -2829,6 +2828,12 @@ void CRmgTemplateZone::addAllPossibleObjects(CMapGenerator* gen)
 	}
 }
 
+ObjectInfo::ObjectInfo()
+	: templ(), value(0), probability(0), maxPerZone(1)
+{
+
+}
+
 void ObjectInfo::setTemplate (si32 type, si32 subtype, ETerrainType terrainType)
 {
 	templ = VLC->objtypeh->getHandlerFor(type, subtype)->getTemplates(terrainType).front();

+ 3 - 1
lib/rmg/CRmgTemplateZone.h

@@ -85,11 +85,13 @@ struct DLL_LINKAGE ObjectInfo
 	ui32 value;
 	ui16 probability;
 	ui32 maxPerZone;
-	ui32 maxPerMap;
+	//ui32 maxPerMap; //unused
 	std::function<CGObjectInstance *()> generateObject;
 
 	void setTemplate (si32 type, si32 subtype, ETerrainType terrain);
 
+	ObjectInfo();
+
 	bool operator==(const ObjectInfo& oi) const { return (templ == oi.templ); }
 };