diff --git a/AndorsTrail/res/values/loadresources.xml b/AndorsTrail/res/values/loadresources.xml
index ae949b870..50d26abad 100644
--- a/AndorsTrail/res/values/loadresources.xml
+++ b/AndorsTrail/res/values/loadresources.xml
@@ -13,7 +13,8 @@
- @raw/actorconditions_v0612_2
- @raw/actorconditions_v070
- @raw/actorconditions_stoutford
-
+
- @raw/itemlist_money
@@ -39,7 +40,8 @@
- @raw/itemlist_v070_questitems
- @raw/itemlist_shortcut_lodar
- @raw/itemlist_stoutford
- - @raw/itemlist_pathway_fallhaven
+ - @raw/itemlist_pathway_fallhaven
@@ -61,7 +63,8 @@
- @raw/droplists_v070_mobs
- @raw/droplists_shortcut_lodar
- @raw/droplists_stoutford
- - @raw/droplists_pathway_fallhaven
+ - @raw/droplists_pathway_fallhaven
@@ -79,7 +82,8 @@
- @raw/questlist_v070_misc
- @raw/questlist_shortcut_lodar
- @raw/questlist_stoutford
- - @raw/questlist_pathway_fallhaven
+ - @raw/questlist_pathway_fallhaven
- @raw/questlist_halvor_surprise
@@ -239,7 +243,8 @@
- @raw/conversationlist_pathway_fallhaven
- @raw/conversationlist_halvor_surprise
- @raw/conversationlist_stoutford
-
+
- @raw/monsterlist_crossglen_animals
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java
index 65dc3c6bc..86ef2b4d8 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/AndorsTrailApplication.java
@@ -18,7 +18,7 @@ public final class AndorsTrailApplication extends Application {
public static final boolean DEVELOPMENT_FORCE_STARTNEWGAME = false;
public static final boolean DEVELOPMENT_FORCE_CONTINUEGAME = false;
public static final boolean DEVELOPMENT_DEBUGBUTTONS = true;
- public static final boolean DEVELOPMENT_FASTSPEED = false;
+ public static final boolean DEVELOPMENT_FASTSPEED = true;
public static final boolean DEVELOPMENT_VALIDATEDATA = true;
public static final boolean DEVELOPMENT_DEBUGMESSAGES = true;
public static final boolean DEVELOPMENT_INCOMPATIBLE_SAVEGAMES = DEVELOPMENT_DEBUGRESOURCES || DEVELOPMENT_DEBUGBUTTONS || DEVELOPMENT_FASTSPEED;
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/DebugInterface.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/DebugInterface.java
index 45d86e2ea..eb4b2bc0f 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/DebugInterface.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/activity/DebugInterface.java
@@ -11,6 +11,7 @@ import com.gpl.rpg.AndorsTrail.AndorsTrailApplication;
import com.gpl.rpg.AndorsTrail.R;
import com.gpl.rpg.AndorsTrail.context.ControllerContext;
import com.gpl.rpg.AndorsTrail.context.WorldContext;
+import com.gpl.rpg.AndorsTrail.model.item.ItemType;
import com.gpl.rpg.AndorsTrail.model.map.PredefinedMap;
public final class DebugInterface {
@@ -46,25 +47,16 @@ public final class DebugInterface {
showToast(mainActivity, "DEBUG: damagePotential=1", Toast.LENGTH_SHORT);
}
})*/
- /*,new DebugButton("items", new OnClickListener() {
+ ,new DebugButton("items", new OnClickListener() {
@Override
public void onClick(View arg0) {
- world.model.player.inventory.addItem(world.itemTypes.getItemType("elytharan_redeemer"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("ring_shadow0"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("shadow_slayer"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("pot_blind_rage"), 10);
- world.model.player.inventory.addItem(world.itemTypes.getItemType("clouded_rage"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("pot_fatigue_restore"), 20);
- world.model.player.inventory.addItem(world.itemTypes.getItemType("quickdagger1"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("bonemeal_potion"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("calomyran_secrets"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("tail_caverat"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("bwm_leather_cap"));
- world.model.player.inventory.addItem(world.itemTypes.getItemType("chaosreaper"));
-
+ for (ItemType item : world.itemTypes.UNITTEST_getAllItemTypes().values()) {
+ world.model.player.inventory.addItem(item, 10);
+ }
+ world.model.player.inventory.gold += 50000;
showToast(mainActivity, "DEBUG: added items", Toast.LENGTH_SHORT);
}
- })*/
+ })
/*,new DebugButton("prim", new OnClickListener() {
@Override
public void onClick(View arg0) {
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ConversationController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ConversationController.java
index b6dc38241..4c8db6a69 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ConversationController.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/ConversationController.java
@@ -144,15 +144,16 @@ public final class ConversationController {
controllers.mapController.activateMapObjectGroup(map, mapObjectGroupID);
}
- private void spawnAll(String mapName, String monsterTypeSpawnGroup) {
+ private void spawnAll(String mapName, String areaId) {
PredefinedMap map = findMapForScriptEffect(mapName);
LayeredTileMap tileMap = null;
if (map == world.model.currentMap) {
tileMap = world.model.currentTileMap;
}
for (MonsterSpawnArea area : map.spawnAreas) {
- if (!area.areaID.equals(monsterTypeSpawnGroup)) continue;
+ if (!area.areaID.equals(areaId)) continue;
controllers.monsterSpawnController.activateSpawnArea(map, tileMap, area, true);
+ controllers.effectController.asyncUpdateArea(area.area);
}
}
@@ -161,6 +162,7 @@ public final class ConversationController {
for (MonsterSpawnArea area : map.spawnAreas) {
if (!area.areaID.equals(areaID)) continue;
controllers.monsterSpawnController.deactivateSpawnArea(area, removeAllMonsters);
+ if (removeAllMonsters) controllers.effectController.asyncUpdateArea(area.area);
}
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/VisualEffectController.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/VisualEffectController.java
index e7e67dd2f..9777a42c4 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/VisualEffectController.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/VisualEffectController.java
@@ -263,6 +263,10 @@ public final class VisualEffectController {
return -1;
}
}
+
+ public void asyncUpdateArea(CoordRect area) {
+ visualEffectFrameListeners.onAsyncAreaUpdate(area);
+ }
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/listeners/VisualEffectFrameListener.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/listeners/VisualEffectFrameListener.java
index c794c8624..8c8d6bbce 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/listeners/VisualEffectFrameListener.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/listeners/VisualEffectFrameListener.java
@@ -2,10 +2,12 @@ package com.gpl.rpg.AndorsTrail.controller.listeners;
import com.gpl.rpg.AndorsTrail.controller.VisualEffectController.SpriteMoveAnimation;
import com.gpl.rpg.AndorsTrail.controller.VisualEffectController.VisualEffectAnimation;
+import com.gpl.rpg.AndorsTrail.util.CoordRect;
public interface VisualEffectFrameListener {
void onNewAnimationFrame(VisualEffectAnimation animation, int tileID, int textYOffset);
void onAnimationCompleted(VisualEffectAnimation animation);
void onNewSpriteMoveFrame(SpriteMoveAnimation animation);
void onSpriteMoveCompleted(SpriteMoveAnimation animation);
+ void onAsyncAreaUpdate(CoordRect area);
}
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/listeners/VisualEffectFrameListeners.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/listeners/VisualEffectFrameListeners.java
index 48a756c0e..4abe7d0f5 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/listeners/VisualEffectFrameListeners.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/controller/listeners/VisualEffectFrameListeners.java
@@ -2,6 +2,7 @@ package com.gpl.rpg.AndorsTrail.controller.listeners;
import com.gpl.rpg.AndorsTrail.controller.VisualEffectController.SpriteMoveAnimation;
import com.gpl.rpg.AndorsTrail.controller.VisualEffectController.VisualEffectAnimation;
+import com.gpl.rpg.AndorsTrail.util.CoordRect;
import com.gpl.rpg.AndorsTrail.util.ListOfListeners;
public final class VisualEffectFrameListeners extends ListOfListeners implements VisualEffectFrameListener {
@@ -22,6 +23,10 @@ public final class VisualEffectFrameListeners extends ListOfListeners onAsyncAreaUpdate = new Function1() {
+ @Override public void call(VisualEffectFrameListener listener, CoordRect area) { listener.onAsyncAreaUpdate(area); }
+ };
+
@Override
public void onNewAnimationFrame(VisualEffectAnimation animation, int tileID, int textYOffset) {
callAllListeners(this.onNewAnimationFrame, animation, tileID, textYOffset);
@@ -41,4 +46,9 @@ public final class VisualEffectFrameListeners extends ListOfListeners preloadedTileIDs = new HashSet();
diff --git a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/MainView.java b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/MainView.java
index c632ae72d..58b8dc3f4 100644
--- a/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/MainView.java
+++ b/AndorsTrail/src/com/gpl/rpg/AndorsTrail/view/MainView.java
@@ -210,7 +210,7 @@ public final class MainView extends SurfaceView
SurfaceChanged, MapChanged, PlayerMoved, MapScrolling, FilterAnimation
}
private static enum RedrawAreaDebugReason {
- MonsterMoved, MonsterKilled, EffectCompleted
+ MonsterMoved, MonsterKilled, EffectCompleted, AsyncRequest
}
private static enum RedrawTileDebugReason {
SelectionRemoved, SelectionAdded, Bag
@@ -852,6 +852,11 @@ public final class MainView extends SurfaceView
public void onSpriteMoveCompleted(SpriteMoveAnimation animation) {
redrawArea(CoordRect.getBoundingRect(animation.origin, animation.destination, animation.actor.tileSize), RedrawAreaDebugReason.EffectCompleted);
}
+
+ @Override
+ public void onAsyncAreaUpdate(CoordRect area) {
+ redrawArea(area, RedrawAreaDebugReason.AsyncRequest);
+ }
@Override
public void onNewTick() {