diff --git a/src/com/gpl/rpg/atcontentstudio/model/gamedata/ActorCondition.java b/src/com/gpl/rpg/atcontentstudio/model/gamedata/ActorCondition.java index cc2b344..fd979f5 100644 --- a/src/com/gpl/rpg/atcontentstudio/model/gamedata/ActorCondition.java +++ b/src/com/gpl/rpg/atcontentstudio/model/gamedata/ActorCondition.java @@ -214,6 +214,9 @@ public class ActorCondition extends JSONElement { } if (this.icon_id != null) { String spritesheetId = this.icon_id.split(":")[0]; + if (getProject().getSpritesheet(spritesheetId) == null) { + System.out.println(this.id); + } getProject().getSpritesheet(spritesheetId).addBacklink(this); } diff --git a/src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java b/src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java index f1b9871..6027745 100644 --- a/src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java +++ b/src/com/gpl/rpg/atcontentstudio/model/maps/KeyArea.java @@ -89,6 +89,9 @@ public class KeyArea extends MapObject { if (requirement.required_value != null) { tmxObject.getProperties().setProperty("requireValue", requirement.required_value.toString()); } + if (requirement.negated != null) { + tmxObject.getProperties().setProperty("requireNegation", Boolean.toString(requirement.negated)); + } } } } diff --git a/src/com/gpl/rpg/atcontentstudio/model/maps/ReplaceArea.java b/src/com/gpl/rpg/atcontentstudio/model/maps/ReplaceArea.java index 3dd2423..81e963e 100644 --- a/src/com/gpl/rpg/atcontentstudio/model/maps/ReplaceArea.java +++ b/src/com/gpl/rpg/atcontentstudio/model/maps/ReplaceArea.java @@ -17,13 +17,13 @@ public class ReplaceArea extends MapObject { public List replacements = null; public ReplaceArea(tiled.core.MapObject obj) { -// String requireType = obj.getProperties().getProperty("requireType"); + String requireType = obj.getProperties().getProperty("requireType"); String requireId = obj.getProperties().getProperty("requireId"); String requireValue = obj.getProperties().getProperty("requireValue"); if (requireId == null) { String[] fields = obj.getName().split(":"); if (fields.length == 2) { -// requireType = Requirement.RequirementType.questProgress.toString(); + requireType = Requirement.RequirementType.questProgress.toString(); requireValue = fields[1]; requireId = fields[0]; oldSchoolRequirement = true; @@ -34,9 +34,7 @@ public class ReplaceArea extends MapObject { }*/ } requirement = new Requirement(); - //Replace areas only support questProgress requirements ATM - //requirement.type = Requirement.RequirementType.valueOf(requireType); - requirement.type = Requirement.RequirementType.questProgress; + if (requireType != null) requirement.type = Requirement.RequirementType.valueOf(requireType); requirement.required_obj_id = requireId; if (requireValue != null) requirement.required_value = Integer.parseInt(requireValue); requirement.state = GameDataElement.State.parsed; @@ -104,6 +102,9 @@ public class ReplaceArea extends MapObject { if (requirement.required_value != null) { tmxObject.getProperties().setProperty("requireValue", requirement.required_value.toString()); } + if (requirement.negated != null) { + tmxObject.getProperties().setProperty("requireNegation", Boolean.toString(requirement.negated)); + } } } } diff --git a/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java b/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java index ad40235..35d245c 100644 --- a/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java +++ b/src/com/gpl/rpg/atcontentstudio/ui/map/TMXMapEditor.java @@ -563,9 +563,8 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe }); pane.add(tACPane, JideBoxLayout.FIX); } else if (selected instanceof ReplaceArea) { - //Replace areas only use questProgress requirements ATM - //requirementTypeCombo = addEnumValueBox(pane, "Requirement type: ", Requirement.RequirementType.values(), ((ReplaceArea)selected).requirement.type, ((TMXMap)target).writable, listener); areaField = addTextField(pane, "Area ID: ", ((ReplaceArea)selected).name, ((TMXMap)target).writable, listener); + requirementTypeCombo = addEnumValueBox(pane, "Requirement type: ", Requirement.RequirementType.values(), ((ReplaceArea)selected).requirement.type, ((TMXMap)target).writable, listener); requirementParamsPane = new JPanel(); requirementParamsPane.setLayout(new JideBoxLayout(requirementParamsPane, JideBoxLayout.PAGE_AXIS, 6)); pane.add(requirementParamsPane, JideBoxLayout.FIX); @@ -1975,6 +1974,11 @@ public class TMXMapEditor extends Editor implements TMXMap.MapChangedOnDiskListe area.requirement.changeType((Requirement.RequirementType)requirementTypeCombo.getSelectedItem()); updateRequirementParamsPane(requirementParamsPane, area.requirement, this); if (area.oldSchoolRequirement) area.updateNameFromRequirementChange(); + } else if (selectedMapObject instanceof ReplaceArea) { + ReplaceArea area = (ReplaceArea) selectedMapObject; + area.requirement.changeType((Requirement.RequirementType)requirementTypeCombo.getSelectedItem()); + updateRequirementParamsPane(requirementParamsPane, area.requirement, this); + if (area.oldSchoolRequirement) area.updateNameFromRequirementChange(); } } else if (source == requirementObj) { if (selectedMapObject instanceof KeyArea) {