From 8d4adab240159f8ab154b0ffb02342375ccdde23 Mon Sep 17 00:00:00 2001 From: Oskar Wiksten Date: Sun, 8 Dec 2013 09:36:02 +0100 Subject: [PATCH] Refactor: Remove unsued 'flags' param when writing savegames * Remove unsued 'flags' parameter in methods for storing savegames. * Refactor static constructors when reading objects from savegames so that the ctors are named "newFromParcel", to differentiate them from "readFromParcel". --- .../rpg/AndorsTrail/model/GameStatistics.java | 2 +- .../rpg/AndorsTrail/model/InterfaceData.java | 7 +++---- .../rpg/AndorsTrail/model/ModelContainer.java | 14 ++++++------- .../gpl/rpg/AndorsTrail/model/WorldData.java | 2 +- .../model/ability/ActorCondition.java | 2 +- .../rpg/AndorsTrail/model/actor/Monster.java | 20 +++++++++---------- .../rpg/AndorsTrail/model/actor/Player.java | 20 +++++++++---------- .../rpg/AndorsTrail/model/item/Inventory.java | 4 ++-- .../AndorsTrail/model/item/ItemContainer.java | 14 +++++++------ .../gpl/rpg/AndorsTrail/model/item/Loot.java | 17 ++++------------ .../AndorsTrail/model/map/MapCollection.java | 4 ++-- .../model/map/MonsterSpawnArea.java | 6 +++--- .../AndorsTrail/model/map/PredefinedMap.java | 6 +++--- .../LegacySavegameFormatReaderForMonster.java | 2 +- .../rpg/AndorsTrail/savegames/Savegames.java | 5 ++--- .../com/gpl/rpg/AndorsTrail/util/Coord.java | 2 +- .../com/gpl/rpg/AndorsTrail/util/Range.java | 2 +- 17 files changed, 60 insertions(+), 69 deletions(-) diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/GameStatistics.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/GameStatistics.java index cec5048c8..20bf2ade2 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/GameStatistics.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/GameStatistics.java @@ -163,7 +163,7 @@ public final class GameStatistics { this.spentGold = src.readInt(); } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeInt(deaths); Set > set = killedMonsters.entrySet(); dest.writeInt(set.size()); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/InterfaceData.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/InterfaceData.java index 1e7961a3a..532544b39 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/InterfaceData.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/InterfaceData.java @@ -1,6 +1,5 @@ package com.gpl.rpg.AndorsTrail.model; -import com.gpl.rpg.AndorsTrail.context.WorldContext; import com.gpl.rpg.AndorsTrail.model.actor.Monster; import com.gpl.rpg.AndorsTrail.util.Coord; @@ -22,7 +21,7 @@ public final class InterfaceData { // ====== PARCELABLE =================================================================== - public InterfaceData(DataInputStream src, WorldContext world, int fileversion) throws IOException { + public InterfaceData(DataInputStream src, int fileversion) throws IOException { this.isMainActivityVisible = src.readBoolean(); this.isInCombat = src.readBoolean(); final boolean hasSelectedPosition = src.readBoolean(); @@ -34,12 +33,12 @@ public final class InterfaceData { this.selectedTabHeroInfo = src.readUTF(); } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeBoolean(isMainActivityVisible); dest.writeBoolean(isInCombat); if (selectedPosition != null) { dest.writeBoolean(true); - selectedPosition.writeToParcel(dest, flags); + selectedPosition.writeToParcel(dest); } else { dest.writeBoolean(false); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ModelContainer.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ModelContainer.java index 114d9cdba..2d365de32 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ModelContainer.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ModelContainer.java @@ -30,9 +30,9 @@ public final class ModelContainer { // ====== PARCELABLE =================================================================== public ModelContainer(DataInputStream src, WorldContext world, ControllerContext controllers, int fileversion) throws IOException { - this.player = Player.readFromParcel(src, world, controllers, fileversion); + this.player = Player.newFromParcel(src, world, controllers, fileversion); this.currentMap = world.maps.findPredefinedMap(src.readUTF()); - this.uiSelections = new InterfaceData(src, world, fileversion); + this.uiSelections = new InterfaceData(src, fileversion); if (uiSelections.selectedPosition != null) { this.uiSelections.selectedMonster = currentMap.getMonsterAt(uiSelections.selectedPosition); } @@ -45,11 +45,11 @@ public final class ModelContainer { } } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { - player.writeToParcel(dest, flags); + public void writeToParcel(DataOutputStream dest) throws IOException { + player.writeToParcel(dest); dest.writeUTF(currentMap.name); - uiSelections.writeToParcel(dest, flags); - statistics.writeToParcel(dest, flags); - worldData.writeToParcel(dest, flags); + uiSelections.writeToParcel(dest); + statistics.writeToParcel(dest); + worldData.writeToParcel(dest); } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/WorldData.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/WorldData.java index f70be0811..f26e61a8b 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/WorldData.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/WorldData.java @@ -48,7 +48,7 @@ public final class WorldData { } } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeLong(worldTime); dest.writeInt(timers.size()); for(Map.Entry e : timers.entrySet()) { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/ActorCondition.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/ActorCondition.java index 0f4a9f83a..114933172 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/ActorCondition.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/ability/ActorCondition.java @@ -39,7 +39,7 @@ public final class ActorCondition { this.duration = src.readInt(); } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeUTF(conditionType.conditionTypeID); dest.writeInt(magnitude); dest.writeInt(duration); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Monster.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Monster.java index 786d7325d..466a713cb 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Monster.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Monster.java @@ -93,14 +93,14 @@ public final class Monster extends Actor { // ====== PARCELABLE =================================================================== - public static Monster readFromParcel(DataInputStream src, WorldContext world, int fileversion) throws IOException { + public static Monster newFromParcel(DataInputStream src, WorldContext world, int fileversion) throws IOException { String monsterTypeId = src.readUTF(); if (fileversion < 20) { monsterTypeId = monsterTypeId.replace(' ', '_').replace("\\'", "").toLowerCase(); } MonsterType monsterType = world.monsterTypes.getMonsterType(monsterTypeId); - if (fileversion < 25) return LegacySavegameFormatReaderForMonster.readFromParcel_pre_v25(src, fileversion, monsterType); + if (fileversion < 25) return LegacySavegameFormatReaderForMonster.newFromParcel_pre_v25(src, fileversion, monsterType); return new Monster(src, world, fileversion, monsterType); } @@ -141,12 +141,12 @@ public final class Monster extends Actor { this.forceAggressive = src.readBoolean(); if (fileversion >= 31) { if (src.readBoolean()) { - this.shopItems = new ItemContainer(src, world, fileversion); + this.shopItems = ItemContainer.newFromParcel(src, world, fileversion); } } } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeUTF(getMonsterTypeID()); if (attackCost == monsterType.attackCost && attackChance == monsterType.attackChance @@ -163,23 +163,23 @@ public final class Monster extends Actor { dest.writeInt(attackChance); dest.writeInt(criticalSkill); dest.writeFloat(criticalMultiplier); - damagePotential.writeToParcel(dest, flags); + damagePotential.writeToParcel(dest); dest.writeInt(blockChance); dest.writeInt(damageResistance); } - ap.writeToParcel(dest, flags); - health.writeToParcel(dest, flags); - position.writeToParcel(dest, flags); + ap.writeToParcel(dest); + health.writeToParcel(dest); + position.writeToParcel(dest); dest.writeInt(conditions.size()); for (ActorCondition c : conditions) { - c.writeToParcel(dest, flags); + c.writeToParcel(dest); } dest.writeInt(moveCost); dest.writeBoolean(forceAggressive); if (shopItems != null) { dest.writeBoolean(true); - shopItems.writeToParcel(dest, flags); + shopItems.writeToParcel(dest); } else { dest.writeBoolean(false); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Player.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Player.java index 6c3696c41..c49f88868 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Player.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/actor/Player.java @@ -260,7 +260,7 @@ public final class Player extends Actor { // ====== PARCELABLE =================================================================== - public static Player readFromParcel(DataInputStream src, WorldContext world, ControllerContext controllers, int fileversion) throws IOException { + public static Player newFromParcel(DataInputStream src, WorldContext world, ControllerContext controllers, int fileversion) throws IOException { Player player = new Player(src, world, fileversion); LegacySavegameFormatReaderForPlayer.upgradeSavegame(player, world, controllers, fileversion); return player; @@ -356,7 +356,7 @@ public final class Player extends Actor { } } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeInt(baseTraits.iconID); dest.writeInt(baseTraits.maxAP); dest.writeInt(baseTraits.maxHP); @@ -366,23 +366,23 @@ public final class Player extends Actor { dest.writeInt(baseTraits.attackChance); dest.writeInt(baseTraits.criticalSkill); dest.writeFloat(baseTraits.criticalMultiplier); - baseTraits.damagePotential.writeToParcel(dest, flags); + baseTraits.damagePotential.writeToParcel(dest); dest.writeInt(baseTraits.blockChance); dest.writeInt(baseTraits.damageResistance); dest.writeInt(baseTraits.moveCost); - ap.writeToParcel(dest, flags); - health.writeToParcel(dest, flags); - position.writeToParcel(dest, flags); + ap.writeToParcel(dest); + health.writeToParcel(dest); + position.writeToParcel(dest); dest.writeInt(conditions.size()); for (ActorCondition c : conditions) { - c.writeToParcel(dest, flags); + c.writeToParcel(dest); } - lastPosition.writeToParcel(dest, flags); - nextPosition.writeToParcel(dest, flags); + lastPosition.writeToParcel(dest); + nextPosition.writeToParcel(dest); dest.writeInt(level); dest.writeInt(totalExperience); - inventory.writeToParcel(dest, flags); + inventory.writeToParcel(dest); dest.writeInt(baseTraits.useItemCost); dest.writeInt(baseTraits.reequipCost); dest.writeInt(skillLevels.size()); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Inventory.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Inventory.java index b95a84513..a901d750d 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Inventory.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Inventory.java @@ -123,8 +123,8 @@ public final class Inventory extends ItemContainer { } @Override - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { - super.writeToParcel(dest, flags); + public void writeToParcel(DataOutputStream dest) throws IOException { + super.writeToParcel(dest); dest.writeInt(gold); dest.writeInt(NUM_WORN_SLOTS); for(int i = 0; i < NUM_WORN_SLOTS; ++i) { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemContainer.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemContainer.java index a23852a90..0ade2120c 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemContainer.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/ItemContainer.java @@ -35,7 +35,7 @@ public class ItemContainer { this.quantity = src.readInt(); } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeUTF(itemType.id); dest.writeInt(quantity); } @@ -119,11 +119,13 @@ public class ItemContainer { // ====== PARCELABLE =================================================================== - public ItemContainer(DataInputStream src, WorldContext world, int fileversion) throws IOException { - readFromParcel(src, world, fileversion); + public static ItemContainer newFromParcel(DataInputStream src, WorldContext world, int fileversion) throws IOException { + ItemContainer result = new ItemContainer(); + result.readFromParcel(src, world, fileversion); + return result; } - public void readFromParcel(DataInputStream src, WorldContext world, int fileversion) throws IOException { + protected void readFromParcel(DataInputStream src, WorldContext world, int fileversion) throws IOException { items.clear(); final int size = src.readInt(); for(int i = 0; i < size; ++i) { @@ -132,10 +134,10 @@ public class ItemContainer { } } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeInt(items.size()); for (ItemEntry e : items) { - e.writeToParcel(dest, flags); + e.writeToParcel(dest); } } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Loot.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Loot.java index 89b6de77c..441458872 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Loot.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/item/Loot.java @@ -7,7 +7,6 @@ import com.gpl.rpg.AndorsTrail.util.Coord; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; -import java.util.Collection; public final class Loot { public int exp = 0; @@ -58,14 +57,6 @@ public final class Loot { } return result; } - public static boolean hasItems(Collection lootBags) { - if (lootBags == null) return false; - if (lootBags.isEmpty()) return false; - for (Loot loot : lootBags) { - if (loot.hasItems()) return true; - } - return false; - } public void clear() { exp = 0; @@ -79,7 +70,7 @@ public final class Loot { public Loot(DataInputStream src, WorldContext world, int fileversion) throws IOException { this.exp = src.readInt(); this.gold = src.readInt(); - this.items = new ItemContainer(src, world, fileversion); + this.items = ItemContainer.newFromParcel(src, world, fileversion); if (fileversion < 23) LegacySavegameFormatReaderForItemContainer.refundUpgradedItems(this); this.position = new Coord(src, fileversion); @@ -90,11 +81,11 @@ public final class Loot { this.isVisible = src.readBoolean(); } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeInt(exp); dest.writeInt(gold); - items.writeToParcel(dest, flags); - position.writeToParcel(dest, flags); + items.writeToParcel(dest); + position.writeToParcel(dest); dest.writeBoolean(isVisible); } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/MapCollection.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/MapCollection.java index 2df6ef90e..160b83c9f 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/MapCollection.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/MapCollection.java @@ -88,7 +88,7 @@ public final class MapCollection { return false; } - public void writeToParcel(DataOutputStream dest, WorldContext world, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest, WorldContext world) throws IOException { List mapsToExport = new ArrayList(); for(PredefinedMap map : getAllMaps()) { if (shouldSaveMap(world, map)) mapsToExport.add(map); @@ -96,7 +96,7 @@ public final class MapCollection { dest.writeInt(mapsToExport.size()); for(PredefinedMap map : mapsToExport) { dest.writeUTF(map.name); - map.writeToParcel(dest, world, flags); + map.writeToParcel(dest, world); } } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/MonsterSpawnArea.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/MonsterSpawnArea.java index c57783698..fa158e0b4 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/MonsterSpawnArea.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/MonsterSpawnArea.java @@ -125,15 +125,15 @@ public final class MonsterSpawnArea { if (fileversion >= 41) isSpawning = src.readBoolean(); quantity.current = src.readInt(); for(int i = 0; i < quantity.current; ++i) { - monsters.add(Monster.readFromParcel(src, world, fileversion)); + monsters.add(Monster.newFromParcel(src, world, fileversion)); } } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeBoolean(isSpawning); dest.writeInt(monsters.size()); for (Monster m : monsters) { - m.writeToParcel(dest, flags); + m.writeToParcel(dest); } } } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/PredefinedMap.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/PredefinedMap.java index ba6ca0134..e4f9be918 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/PredefinedMap.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/model/map/PredefinedMap.java @@ -269,16 +269,16 @@ public final class PredefinedMap { return false; } - public void writeToParcel(DataOutputStream dest, WorldContext world, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest, WorldContext world) throws IOException { if (shouldSaveMapData(world)) { dest.writeBoolean(true); dest.writeInt(spawnAreas.length); for(MonsterSpawnArea a : spawnAreas) { - a.writeToParcel(dest, flags); + a.writeToParcel(dest); } dest.writeInt(groundBags.size()); for(Loot l : groundBags) { - l.writeToParcel(dest, flags); + l.writeToParcel(dest); } dest.writeLong(lastVisitTime); } else { diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/LegacySavegameFormatReaderForMonster.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/LegacySavegameFormatReaderForMonster.java index 225aca5ea..2e34a8c4d 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/LegacySavegameFormatReaderForMonster.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/LegacySavegameFormatReaderForMonster.java @@ -8,7 +8,7 @@ import java.io.DataInputStream; import java.io.IOException; public final class LegacySavegameFormatReaderForMonster { - public static Monster readFromParcel_pre_v25(DataInputStream src, int fileversion, MonsterType monsterType) throws IOException { + public static Monster newFromParcel_pre_v25(DataInputStream src, int fileversion, MonsterType monsterType) throws IOException { Monster m = new Monster(monsterType); m.position.set(new Coord(src, fileversion)); m.ap.current = src.readInt(); diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/Savegames.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/Savegames.java index a1f9b0451..25c53f83a 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/Savegames.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/savegames/Savegames.java @@ -94,10 +94,9 @@ public final class Savegames { public static void saveWorld(WorldContext world, OutputStream outStream, String displayInfo) throws IOException { DataOutputStream dest = new DataOutputStream(outStream); - final int flags = 0; FileHeader.writeToParcel(dest, world.model.player.getName(), displayInfo); - world.maps.writeToParcel(dest, world, flags); - world.model.writeToParcel(dest, flags); + world.maps.writeToParcel(dest, world); + world.model.writeToParcel(dest); dest.close(); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Coord.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Coord.java index b611ede0e..55ba445fb 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Coord.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Coord.java @@ -43,7 +43,7 @@ public final class Coord { this.y = src.readInt(); } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeInt(x); dest.writeInt(y); } diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Range.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Range.java index 5a72e16ea..fb0229ca1 100644 --- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Range.java +++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/util/Range.java @@ -95,7 +95,7 @@ public final class Range { this.current = src.readInt(); } - public void writeToParcel(DataOutputStream dest, int flags) throws IOException { + public void writeToParcel(DataOutputStream dest) throws IOException { dest.writeInt(max); dest.writeInt(current); }