Fixed large monster issuem introduced with content reordering, but

solved by adding more flexibility and removing the "size" field in
monsters.
This commit is contained in:
Zukero
2017-01-20 15:04:17 +01:00
parent ac2c4d7313
commit 322e176be9
7 changed files with 167 additions and 157 deletions

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="smalltext">10sp</dimen>
<!-- <dimen name="smalltext_buttonheight">35sp</dimen> -->
<dimen name="smalltext_buttonheight">35sp</dimen>
<dimen name="titletext">20sp</dimen>
<dimen name="healthbar_height">12sp</dimen>

View File

@@ -37,8 +37,8 @@ public final class DynamicTileLoader {
currentTileStoreIndex = tileCache.getMaxTileID();
}
public void prepareTileset(int resourceId, String tilesetName, Size numTiles, Size destinationTileSize) {
ResourceFileTileset b = new ResourceFileTileset(resourceId, tilesetName, numTiles, destinationTileSize);
public void prepareTileset(int resourceId, String tilesetName, Size gridDimensions, Size spriteDimensionsInTiles, int tileSize) {
ResourceFileTileset b = new ResourceFileTileset(resourceId, tilesetName, gridDimensions, spriteDimensionsInTiles, tileSize);
ResourceFileTilesetLoadList loadList = new ResourceFileTilesetLoadList(b);
preparedTilesetsByResourceId.put(resourceId, loadList);
preparedTilesetsByResourceName.put(tilesetName, loadList);
@@ -75,6 +75,10 @@ public final class DynamicTileLoader {
ResourceFileTilesetLoadList b = getTilesetBitmap(tilesetName);
return b.tileset.destinationTileSize;
}
public Size getTilesetTileSize(String tilesetName) {
ResourceFileTilesetLoadList b = getTilesetBitmap(tilesetName);
return b.tileset.spriteDimensionsInTiles;
}
private int prepareTileID(ResourceFileTilesetLoadList tileset, int localID) {
int tileID = tileset.tileIDsToLoadPerLocalID.get(localID);

View File

@@ -218,161 +218,159 @@ public final class ResourceLoader {
}
private static void prepareTilesets(DynamicTileLoader loader, int mTileSize) {
final Size dst_sz1x1 = new Size(mTileSize, mTileSize);
final Size dst_sz2x2 = new Size(mTileSize*2, mTileSize*2);
final Size dst_sz2x3 = new Size(mTileSize*2, mTileSize*3);
final Size defaultTileSize = dst_sz1x1;
final Size src_sz1x1 = new Size(1, 1);
final Size src_sz2x1 = new Size(2, 1);
final Size src_sz3x1 = new Size(3, 1);
final Size src_sz6x1 = new Size(6, 1);
final Size src_sz7x1 = new Size(7, 1);
final Size src_sz20x12 = new Size(20, 12);
final Size src_mapTileSize = new Size(16, 8);
final Size sz1x1 = new Size(1, 1);
final Size sz2x1 = new Size(2, 1);
final Size sz2x2 = new Size(2, 2);
final Size sz2x3 = new Size(2, 3);
final Size sz3x1 = new Size(3, 1);
final Size sz6x1 = new Size(6, 1);
final Size sz7x1 = new Size(7, 1);
final Size sz20x12 = new Size(20, 12);
final Size mapTileSize = new Size(16, 8);
loader.prepareTileset(R.drawable.char_hero, "char_hero", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.char_hero, "char_hero", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.ui_selections, "ui_selections", new Size(5, 1), defaultTileSize);
loader.prepareTileset(R.drawable.ui_quickslots, "ui_quickslots", src_sz2x1, defaultTileSize);
loader.prepareTileset(R.drawable.ui_icon_equipment, "ui_icon_equipment", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.ui_splatters1, "ui_splatters1", new Size(8, 2), defaultTileSize);
loader.prepareTileset(R.drawable.ui_selections, "ui_selections", new Size(5, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.ui_quickslots, "ui_quickslots", sz2x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.ui_icon_equipment, "ui_icon_equipment", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.ui_splatters1, "ui_splatters1", new Size(8, 2), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.actorconditions_1, "actorconditions_1", new Size(14, 8), defaultTileSize);
loader.prepareTileset(R.drawable.actorconditions_2, "actorconditions_2", src_sz3x1, defaultTileSize);
loader.prepareTileset(R.drawable.actorconditions_1, "actorconditions_1", new Size(14, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.actorconditions_2, "actorconditions_2", sz3x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_armours, "items_armours", new Size(14, 3), defaultTileSize);
loader.prepareTileset(R.drawable.items_weapons, "items_weapons", new Size(14, 6), defaultTileSize);
loader.prepareTileset(R.drawable.items_jewelry, "items_jewelry", new Size(14, 1), defaultTileSize);
loader.prepareTileset(R.drawable.items_consumables, "items_consumables", new Size(14, 5), defaultTileSize);
loader.prepareTileset(R.drawable.items_books, "items_books", new Size(11, 1), defaultTileSize);
loader.prepareTileset(R.drawable.items_misc, "items_misc", new Size(14, 4), defaultTileSize);
loader.prepareTileset(R.drawable.items_misc_2, "items_misc_2", src_sz20x12, defaultTileSize);
loader.prepareTileset(R.drawable.items_misc_3, "items_misc_3", src_sz20x12, defaultTileSize);
loader.prepareTileset(R.drawable.items_misc_4, "items_misc_4", new Size(20, 4), defaultTileSize);
loader.prepareTileset(R.drawable.items_misc_5, "items_misc_5", new Size(9, 5), defaultTileSize);
loader.prepareTileset(R.drawable.items_misc_6, "items_misc_6", new Size(9, 4), defaultTileSize);
loader.prepareTileset(R.drawable.items_reterski_1, "items_reterski_1", new Size(3, 10), defaultTileSize);
loader.prepareTileset(R.drawable.items_tometik1, "items_tometik1", new Size(6, 10), defaultTileSize);
loader.prepareTileset(R.drawable.items_tometik2, "items_tometik2", new Size(10, 10), defaultTileSize);
loader.prepareTileset(R.drawable.items_tometik3, "items_tometik3", new Size(8, 6), defaultTileSize);
loader.prepareTileset(R.drawable.items_necklaces_1, "items_necklaces_1", new Size(10, 3), defaultTileSize);
loader.prepareTileset(R.drawable.items_weapons_2, "items_weapons_2", new Size(7, 1), defaultTileSize);
loader.prepareTileset(R.drawable.items_weapons_3, "items_weapons_3", new Size(13, 5), defaultTileSize);
loader.prepareTileset(R.drawable.items_armours_2, "items_armours_2", src_sz7x1, defaultTileSize);
loader.prepareTileset(R.drawable.items_armours_3, "items_armours_3", new Size(10, 4), defaultTileSize);
loader.prepareTileset(R.drawable.items_rings_1, "items_rings_1", new Size(10, 3), defaultTileSize);
loader.prepareTileset(R.drawable.items_armours, "items_armours", new Size(14, 3), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_weapons, "items_weapons", new Size(14, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_jewelry, "items_jewelry", new Size(14, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_consumables, "items_consumables", new Size(14, 5), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_books, "items_books", new Size(11, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_misc, "items_misc", new Size(14, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_misc_2, "items_misc_2", sz20x12, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_misc_3, "items_misc_3", sz20x12, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_misc_4, "items_misc_4", new Size(20, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_misc_5, "items_misc_5", new Size(9, 5), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_misc_6, "items_misc_6", new Size(9, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_reterski_1, "items_reterski_1", new Size(3, 10), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_tometik1, "items_tometik1", new Size(6, 10), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_tometik2, "items_tometik2", new Size(10, 10), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_tometik3, "items_tometik3", new Size(8, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_necklaces_1, "items_necklaces_1", new Size(10, 3), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_weapons_2, "items_weapons_2", new Size(7, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_weapons_3, "items_weapons_3", new Size(13, 5), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_armours_2, "items_armours_2", sz7x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_armours_3, "items_armours_3", new Size(10, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.items_rings_1, "items_rings_1", new Size(10, 3), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_armor1, "monsters_armor1", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_cyclops, "monsters_cyclops", src_sz1x1, dst_sz2x3);
loader.prepareTileset(R.drawable.monsters_demon1, "monsters_demon1", src_sz1x1, dst_sz2x2);
loader.prepareTileset(R.drawable.monsters_demon2, "monsters_demon2", src_sz1x1, dst_sz2x2);
loader.prepareTileset(R.drawable.monsters_dogs, "monsters_dogs", src_sz7x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_eye1, "monsters_eye1", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_eye2, "monsters_eye2", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_eye3, "monsters_eye3", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_eye4, "monsters_eye4", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_ghost1, "monsters_ghost1", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_hydra1, "monsters_hydra1", src_sz1x1, dst_sz2x2);
loader.prepareTileset(R.drawable.monsters_insects, "monsters_insects", src_sz6x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_karvis1, "monsters_karvis1", src_sz2x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_karvis2, "monsters_karvis2", new Size(9, 1), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_ld1, "monsters_ld1", new Size(20, 12), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_ld2, "monsters_ld2", new Size(20, 12), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_liches, "monsters_liches", new Size(4, 1), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_mage, "monsters_mage", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_mage2, "monsters_mage2", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_man1, "monsters_man1", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_men, "monsters_men", new Size(9, 1), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_men2, "monsters_men2", new Size(10, 1), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_misc, "monsters_misc", new Size(12, 1), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_rats, "monsters_rats", new Size(5, 1), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_redshrike1, "monsters_redshrike1", src_sz7x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles1, "monsters_rltiles1", new Size(20, 8), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles2, "monsters_rltiles2", new Size(20, 9), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles3, "monsters_rltiles3", new Size(10, 3), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles4, "monsters_rltiles4", new Size(12, 4), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_rogue1, "monsters_rogue1", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_skeleton1, "monsters_skeleton1", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_skeleton2, "monsters_skeleton2", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_snakes, "monsters_snakes", src_sz6x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik1, "monsters_tometik1", new Size(10, 9), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik2, "monsters_tometik2", new Size(8, 10), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik3, "monsters_tometik3", new Size(6, 13), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik4, "monsters_tometik4", new Size(6, 13), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik5, "monsters_tometik5", new Size(6, 16), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik6, "monsters_tometik6", new Size(7, 6), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik7, "monsters_tometik7", new Size(8, 11), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik8, "monsters_tometik8", new Size(7, 9), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik9, "monsters_tometik9", new Size(8, 8), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_tometik10, "monsters_tometik10", new Size(6, 13), defaultTileSize);
loader.prepareTileset(R.drawable.monsters_wraiths, "monsters_wraiths", src_sz3x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_zombie1, "monsters_zombie1", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_zombie2, "monsters_zombie2", src_sz1x1, defaultTileSize);
loader.prepareTileset(R.drawable.monsters_armor1, "monsters_armor1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_cyclops, "monsters_cyclops", sz1x1, sz2x3, mTileSize);
loader.prepareTileset(R.drawable.monsters_demon1, "monsters_demon1", sz1x1, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_demon2, "monsters_demon2", sz1x1, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_dogs, "monsters_dogs", sz7x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_eye1, "monsters_eye1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_eye2, "monsters_eye2", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_eye3, "monsters_eye3", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_eye4, "monsters_eye4", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_ghost1, "monsters_ghost1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_hydra1, "monsters_hydra1", sz1x1, sz2x2, mTileSize);
loader.prepareTileset(R.drawable.monsters_insects, "monsters_insects", sz6x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_karvis1, "monsters_karvis1", sz2x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_karvis2, "monsters_karvis2", new Size(9, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_ld1, "monsters_ld1", new Size(20, 12), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_ld2, "monsters_ld2", new Size(20, 12), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_liches, "monsters_liches", new Size(4, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_mage, "monsters_mage", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_mage2, "monsters_mage2", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_man1, "monsters_man1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_men, "monsters_men", new Size(9, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_men2, "monsters_men2", new Size(10, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_misc, "monsters_misc", new Size(12, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_rats, "monsters_rats", new Size(5, 1), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_redshrike1, "monsters_redshrike1", sz7x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles1, "monsters_rltiles1", new Size(20, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles2, "monsters_rltiles2", new Size(20, 9), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles3, "monsters_rltiles3", new Size(10, 3), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_rltiles4, "monsters_rltiles4", new Size(12, 4), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_rogue1, "monsters_rogue1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_skeleton1, "monsters_skeleton1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_skeleton2, "monsters_skeleton2", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_snakes, "monsters_snakes", sz6x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik1, "monsters_tometik1", new Size(10, 9), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik2, "monsters_tometik2", new Size(8, 10), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik3, "monsters_tometik3", new Size(6, 13), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik4, "monsters_tometik4", new Size(6, 13), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik5, "monsters_tometik5", new Size(6, 16), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik6, "monsters_tometik6", new Size(7, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik7, "monsters_tometik7", new Size(8, 11), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik8, "monsters_tometik8", new Size(7, 9), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik9, "monsters_tometik9", new Size(8, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_tometik10, "monsters_tometik10", new Size(6, 13), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_wraiths, "monsters_wraiths", sz3x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_zombie1, "monsters_zombie1", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.monsters_zombie2, "monsters_zombie2", sz1x1, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_bed_1, "map_bed_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_border_1, "map_border_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_bridge_1, "map_bridge_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_bridge_2, "map_bridge_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_broken_1, "map_broken_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_cavewall_1, "map_cavewall_1", new Size(18, 6), defaultTileSize);
loader.prepareTileset(R.drawable.map_cavewall_2, "map_cavewall_2", new Size(18, 6), defaultTileSize);
loader.prepareTileset(R.drawable.map_cavewall_3, "map_cavewall_3", new Size(18, 6), defaultTileSize);
loader.prepareTileset(R.drawable.map_cavewall_4, "map_cavewall_4", new Size(18, 6), defaultTileSize);
loader.prepareTileset(R.drawable.map_chair_table_1, "map_chair_table_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_chair_table_2, "map_chair_table_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_crate_1, "map_crate_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_cupboard_1, "map_cupboard_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_curtain_1, "map_curtain_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_entrance_1, "map_entrance_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_entrance_2, "map_entrance_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_fence_1, "map_fence_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_fence_2, "map_fence_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_fence_3, "map_fence_3", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_fence_4, "map_fence_4", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_ground_1, "map_ground_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_ground_2, "map_ground_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_ground_3, "map_ground_3", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_ground_4, "map_ground_4", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_ground_5, "map_ground_5", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_ground_6, "map_ground_6", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_ground_7, "map_ground_7", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_ground_8, "map_ground_8", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_house_1, "map_house_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_house_2, "map_house_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_indoor_1, "map_indoor_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_indoor_2, "map_indoor_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_kitchen_1, "map_kitchen_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_outdoor_1, "map_outdoor_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_pillar_1, "map_pillar_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_pillar_2, "map_pillar_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_plant_1, "map_plant_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_plant_2, "map_plant_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_rock_1, "map_rock_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_rock_2, "map_rock_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_roof_1, "map_roof_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_roof_2, "map_roof_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_roof_3, "map_roof_3", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_shop_1, "map_shop_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_sign_ladder_1, "map_sign_ladder_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_table_1, "map_table_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_trail_1, "map_trail_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_transition_1, "map_transition_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_transition_2, "map_transition_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_transition_3, "map_transition_3", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_transition_4, "map_transition_4", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_transition_5, "map_transition_5", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_tree_1, "map_tree_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_tree_2, "map_tree_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_wall_1, "map_wall_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_wall_2, "map_wall_2", new Size(15, 8), defaultTileSize);
loader.prepareTileset(R.drawable.map_wall_3, "map_wall_3", new Size(15, 8), defaultTileSize);
loader.prepareTileset(R.drawable.map_wall_4, "map_wall_4", new Size(15, 8), defaultTileSize);
loader.prepareTileset(R.drawable.map_window_1, "map_window_1", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_window_2, "map_window_2", src_mapTileSize, defaultTileSize);
loader.prepareTileset(R.drawable.map_bed_1, "map_bed_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_border_1, "map_border_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_bridge_1, "map_bridge_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_bridge_2, "map_bridge_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_broken_1, "map_broken_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_1, "map_cavewall_1", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_2, "map_cavewall_2", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_3, "map_cavewall_3", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cavewall_4, "map_cavewall_4", new Size(18, 6), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_chair_table_1, "map_chair_table_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_chair_table_2, "map_chair_table_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_crate_1, "map_crate_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_cupboard_1, "map_cupboard_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_curtain_1, "map_curtain_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_entrance_1, "map_entrance_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_entrance_2, "map_entrance_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_fence_1, "map_fence_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_fence_2, "map_fence_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_fence_3, "map_fence_3", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_fence_4, "map_fence_4", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_1, "map_ground_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_2, "map_ground_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_3, "map_ground_3", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_4, "map_ground_4", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_5, "map_ground_5", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_6, "map_ground_6", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_7, "map_ground_7", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_ground_8, "map_ground_8", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_house_1, "map_house_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_house_2, "map_house_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_indoor_1, "map_indoor_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_indoor_2, "map_indoor_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_kitchen_1, "map_kitchen_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_outdoor_1, "map_outdoor_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_pillar_1, "map_pillar_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_pillar_2, "map_pillar_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_plant_1, "map_plant_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_plant_2, "map_plant_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_rock_1, "map_rock_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_rock_2, "map_rock_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_roof_1, "map_roof_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_roof_2, "map_roof_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_roof_3, "map_roof_3", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_shop_1, "map_shop_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_sign_ladder_1, "map_sign_ladder_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_table_1, "map_table_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_trail_1, "map_trail_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_1, "map_transition_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_2, "map_transition_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_3, "map_transition_3", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_4, "map_transition_4", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_transition_5, "map_transition_5", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_tree_1, "map_tree_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_tree_2, "map_tree_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_wall_1, "map_wall_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_wall_2, "map_wall_2", new Size(15, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_wall_3, "map_wall_3", new Size(15, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_wall_4, "map_wall_4", new Size(15, 8), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_window_1, "map_window_1", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.map_window_2, "map_window_2", mapTileSize, sz1x1, mTileSize);
loader.prepareTileset(R.drawable.effect_blood4, "effect_blood4", new Size(7, 2), defaultTileSize);
loader.prepareTileset(R.drawable.effect_heal2, "effect_heal2", new Size(8, 2), defaultTileSize);
loader.prepareTileset(R.drawable.effect_poison1, "effect_poison1", new Size(8, 2), defaultTileSize);
loader.prepareTileset(R.drawable.effect_miss1, "effect_miss1", new Size(8, 2), defaultTileSize);
loader.prepareTileset(R.drawable.effect_blood4, "effect_blood4", new Size(7, 2), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.effect_heal2, "effect_heal2", new Size(8, 2), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.effect_poison1, "effect_poison1", new Size(8, 2), sz1x1, mTileSize);
loader.prepareTileset(R.drawable.effect_miss1, "effect_miss1", new Size(8, 2), sz1x1, mTileSize);
}
}

View File

@@ -63,7 +63,7 @@ public final class MonsterTypeParser extends JsonCollectionParserFor<MonsterType
, o.optString(JsonFieldNames.Monster.faction, null)
, MonsterType.MonsterClass.fromString(o.optString(JsonFieldNames.Monster.monsterClass, null), MonsterType.MonsterClass.humanoid)
, MonsterType.AggressionType.fromString(o.optString(JsonFieldNames.Monster.movementAggressionType, null), MonsterType.AggressionType.none)
, ResourceParserUtils.parseSize(o.optString(JsonFieldNames.Monster.size, null), size1x1) //TODO: This could be loaded from the tileset size instead.
, ResourceParserUtils.parseTilesetTileSize(tileLoader, o.optString(JsonFieldNames.Monster.iconID, null), size1x1)
, ResourceParserUtils.parseImageID(tileLoader, o.getString(JsonFieldNames.Monster.iconID))
, maxAP
, maxHP

View File

@@ -18,6 +18,13 @@ public final class ResourceParserUtils {
String[] parts = s.split(":");
return tileLoader.prepareTileID(parts[0], Integer.parseInt(parts[1]));
}
public static Size parseTilesetTileSize(DynamicTileLoader tileLoader, String s, final Size defaultSize) {
if (s == null || s.length() <= 0) return defaultSize;
String[] parts = s.split(":");
L.log(s+"-"+tileLoader.getTilesetTileSize(parts[0]).toString());
return tileLoader.getTilesetTileSize(parts[0]);
}
private static final Size size1x1 = new Size(1, 1);
public static Size parseSize(String s, final Size defaultSize) {

View File

@@ -105,7 +105,6 @@ public final class JsonFieldNames {
public static final String iconID = "iconID";
public static final String name = "name";
public static final String spawnGroup = "spawnGroup";
public static final String size = "size";
public static final String monsterClass = "monsterClass";
public static final String movementAggressionType = "movementAggressionType";
public static final String unique = "unique";

View File

@@ -7,16 +7,18 @@ import com.gpl.rpg.AndorsTrail.util.Size;
public final class ResourceFileTileset {
public final int resourceID;
public final String tilesetName;
public final Size spriteDimensionsInTiles;
public final Size destinationTileSize;
public final Size numTiles;
public Size sourceTileSize;
public Matrix scale;
public ResourceFileTileset(int resourceID, String tilesetName, Size numTiles, Size destinationTileSize) {
public ResourceFileTileset(int resourceID, String tilesetName, Size gridDimensions, Size spriteDimensionsInTiles, int tileSize) {
this.resourceID = resourceID;
this.tilesetName = tilesetName;
this.destinationTileSize = destinationTileSize;
this.numTiles = numTiles;
this.spriteDimensionsInTiles = spriteDimensionsInTiles;
this.destinationTileSize = new Size(tileSize * spriteDimensionsInTiles.width, tileSize * spriteDimensionsInTiles.height);
this.numTiles = gridDimensions;
}
@Override public int hashCode() { return resourceID; }