mirror of
https://github.com/OMGeeky/andors-trail.git
synced 2026-01-20 10:31:28 +01:00
Preparatory commit for the stoutford_roots_love ATCS project
This commit is contained in:
@@ -13,7 +13,8 @@
|
||||
<item>@raw/actorconditions_v0612_2</item>
|
||||
<item>@raw/actorconditions_v070</item>
|
||||
<item>@raw/actorconditions_stoutford</item>
|
||||
</array>
|
||||
<!-- <item>@raw/actorconditions_stoutford_roots_love</item>
|
||||
--> </array>
|
||||
|
||||
<array name="loadresource_items">
|
||||
<item>@raw/itemlist_money</item>
|
||||
@@ -39,7 +40,8 @@
|
||||
<item>@raw/itemlist_v070_questitems</item>
|
||||
<item>@raw/itemlist_shortcut_lodar</item>
|
||||
<item>@raw/itemlist_stoutford</item>
|
||||
<item>@raw/itemlist_pathway_fallhaven</item>
|
||||
<!-- <item>@raw/itemlist_stoutford_roots_love</item>
|
||||
--> <item>@raw/itemlist_pathway_fallhaven</item>
|
||||
</array>
|
||||
|
||||
<array name="loadresource_droplists">
|
||||
@@ -61,7 +63,8 @@
|
||||
<item>@raw/droplists_v070_mobs</item>
|
||||
<item>@raw/droplists_shortcut_lodar</item>
|
||||
<item>@raw/droplists_stoutford</item>
|
||||
<item>@raw/droplists_pathway_fallhaven</item>
|
||||
<!-- <item>@raw/droplists_stoutford_roots_love</item>
|
||||
--> <item>@raw/droplists_pathway_fallhaven</item>
|
||||
</array>
|
||||
|
||||
<array name="loadresource_quests">
|
||||
@@ -79,7 +82,8 @@
|
||||
<item>@raw/questlist_v070_misc</item>
|
||||
<item>@raw/questlist_shortcut_lodar</item>
|
||||
<item>@raw/questlist_stoutford</item>
|
||||
<item>@raw/questlist_pathway_fallhaven</item>
|
||||
<!-- <item>@raw/questlist_stoutford_roots_love</item>
|
||||
--> <item>@raw/questlist_pathway_fallhaven</item>
|
||||
<item>@raw/questlist_halvor_surprise</item>
|
||||
</array>
|
||||
|
||||
@@ -239,7 +243,8 @@
|
||||
<item>@raw/conversationlist_pathway_fallhaven</item>
|
||||
<item>@raw/conversationlist_halvor_surprise</item>
|
||||
<item>@raw/conversationlist_stoutford</item>
|
||||
</array>
|
||||
<!-- <item>@raw/conversationlist_stoutford_roots_love</item>
|
||||
--> </array>
|
||||
|
||||
<array name="loadresource_monsters">
|
||||
<item>@raw/monsterlist_crossglen_animals</item>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -263,6 +263,10 @@ public final class VisualEffectController {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
public void asyncUpdateArea(CoordRect area) {
|
||||
visualEffectFrameListeners.onAsyncAreaUpdate(area);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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<VisualEffectFrameListener> implements VisualEffectFrameListener {
|
||||
@@ -22,6 +23,10 @@ public final class VisualEffectFrameListeners extends ListOfListeners<VisualEffe
|
||||
@Override public void call(VisualEffectFrameListener listener, SpriteMoveAnimation animation) { listener.onSpriteMoveCompleted(animation); }
|
||||
};
|
||||
|
||||
private final Function1<VisualEffectFrameListener, CoordRect> onAsyncAreaUpdate = new Function1<VisualEffectFrameListener, CoordRect>() {
|
||||
@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<VisualEffe
|
||||
public void onSpriteMoveCompleted(SpriteMoveAnimation animation) {
|
||||
callAllListeners(this.onSpriteMoveCompleted, animation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onAsyncAreaUpdate(CoordRect area) {
|
||||
callAllListeners(this.onAsyncAreaUpdate, area);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public final class TileManager {
|
||||
|
||||
|
||||
public final TileCache tileCache = new TileCache();
|
||||
public final TileCollection preloadedTiles = new TileCollection(116);
|
||||
public final TileCollection preloadedTiles = new TileCollection(118);
|
||||
public TileCollection currentMapTiles;
|
||||
public TileCollection adjacentMapTiles;
|
||||
private final HashSet<Integer> preloadedTileIDs = new HashSet<Integer>();
|
||||
|
||||
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user