git repos / saland

commit 54c2056b

Poul Sander · 2020-07-13 14:02
54c2056b7dc7653077e15c02c9cd72645e47ef08 patch · browse files
parent 448d988b5db58fc44d47736e604c7c27a51f2d7d

Now saves and respawns items. At the moment this causes original items to be duplicated but that should be fixable.

Changed files

M src/saland/GameItems.cpp before
M src/saland/GameRegion.cpp before
diff --git a/src/saland/GameItems.cpp b/src/saland/GameItems.cpp index f13aedc..c60de9e 100644 --- a/src/saland/GameItems.cpp +++ b/src/saland/GameItems.cpp
@@ -29,10 +29,10 @@ const ItemDef& getItem(const std::string& itemName) {
itemDef.sprite2 = "";
itemDef.isDestructible = true;
itemDef.health = 100.0f;
+ itemDef.itemid = itemName;
if (itemName == "barrel") {
itemDef.radius = 16.0f;
itemDef.sprite = "item_barrel";
- itemDef.itemid = "barrel";
itemDef.isStatic = true;
}
if (itemName == "food_potato") {
diff --git a/src/saland/GameRegion.cpp b/src/saland/GameRegion.cpp index dfd8d24..52c3d99 100644 --- a/src/saland/GameRegion.cpp +++ b/src/saland/GameRegion.cpp
@@ -69,6 +69,7 @@ void GameRegion::SpawnItem(const ItemDef& def, float destX, float destY) {
barrel.get()->Y = destY;
barrel.get()->destructible = def.isDestructible;
barrel.get()->health = def.health;
+ barrel.get()->name = def.itemid;
placeables.push_back(barrel);
if (def.isStatic) {
@@ -156,7 +157,8 @@ void GameRegion::SaveRegion() {
sago::tiled::TileObject to;
to.isPoint = true;
to.name = m->name;
- to.type = "item";
+ to.type = "itemSpawn";
+ to.properties["itemname"].value = to.name;
to.x = m->X;
to.y = m->Y;
to.id = tog.objects.size()+1000;