From 0ea2e3879cda3166851f58ca0a342d5bfb5e5742 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Thu, 2 Aug 2018 16:42:17 +0200 Subject: Moves to the new tile format. --- Makefile | 2 +- src/asset/Makefile | 35 +- src/asset/src/generate_all_tiles.py | 55 ++ src/asset/src/generate_frontier_tiles.py | 65 ++- src/asset/tile/0/background.svg | 50 -- src/asset/tile/0/extra0.svg | 84 --- src/asset/tile/1/background.svg | 45 -- src/asset/tile/2/background.svg | 179 ------ src/asset/tile/class/0/0.svg | 59 ++ src/asset/tile/class/1/0.svg | 50 ++ src/asset/tile/class/1/extra0.svg | 84 +++ src/asset/tile/class/2/0.svg | 45 ++ src/asset/tile/class/3/0.svg | 179 ++++++ src/asset/www/svg/tile/-1.svg | 181 ------ src/asset/www/svg/tile/0.svg | 185 ------ src/asset/www/svg/tile/1.svg | 357 ------------ src/asset/www/svg/tile/10.svg | 400 ------------- src/asset/www/svg/tile/11.svg | 400 ------------- src/asset/www/svg/tile/12.svg | 571 ------------------ src/asset/www/svg/tile/13.svg | 739 ------------------------ src/asset/www/svg/tile/14.svg | 261 --------- src/asset/www/svg/tile/15.svg | 254 -------- src/asset/www/svg/tile/16.svg | 259 --------- src/asset/www/svg/tile/17.svg | 264 --------- src/asset/www/svg/tile/18.svg | 445 -------------- src/asset/www/svg/tile/19.svg | 578 ------------------ src/asset/www/svg/tile/2.svg | 663 --------------------- src/asset/www/svg/tile/20.svg | 695 ---------------------- src/asset/www/svg/tile/21.svg | 435 -------------- src/asset/www/svg/tile/22.svg | 570 ------------------ src/asset/www/svg/tile/23.svg | 433 -------------- src/asset/www/svg/tile/24.svg | 433 -------------- src/asset/www/svg/tile/25.svg | 435 -------------- src/asset/www/svg/tile/26.svg | 438 -------------- src/asset/www/svg/tile/27.svg | 612 -------------------- src/asset/www/svg/tile/28.svg | 601 ------------------- src/asset/www/svg/tile/29.svg | 538 ----------------- src/asset/www/svg/tile/3.svg | 171 ------ src/asset/www/svg/tile/30.svg | 673 --------------------- src/asset/www/svg/tile/31.svg | 576 ------------------ src/asset/www/svg/tile/32.svg | 564 ------------------ src/asset/www/svg/tile/33.svg | 702 ---------------------- src/asset/www/svg/tile/34.svg | 578 ------------------ src/asset/www/svg/tile/35.svg | 544 ----------------- src/asset/www/svg/tile/36.svg | 627 -------------------- src/asset/www/svg/tile/37.svg | 545 ----------------- src/asset/www/svg/tile/38.svg | 496 ---------------- src/asset/www/svg/tile/39.svg | 592 ------------------- src/asset/www/svg/tile/4.svg | 404 ------------- src/asset/www/svg/tile/40.svg | 540 ----------------- src/asset/www/svg/tile/41.svg | 623 -------------------- src/asset/www/svg/tile/42.svg | 582 ------------------- src/asset/www/svg/tile/43.svg | 566 ------------------ src/asset/www/svg/tile/44.svg | 536 ----------------- src/asset/www/svg/tile/5.svg | 403 ------------- src/asset/www/svg/tile/6.svg | 458 --------------- src/asset/www/svg/tile/7.svg | 404 ------------- src/asset/www/svg/tile/8.svg | 462 --------------- src/asset/www/svg/tile/9.svg | 461 --------------- src/battle/src/Comm/SetMap.elm | 39 +- src/battle/src/Constants/UI.elm | 4 +- src/battle/src/Struct/Map.elm | 4 +- src/battle/src/Struct/Tile.elm | 121 ++-- src/battle/src/Update/HandleServerReply.elm | 2 +- src/battle/src/View/Map/Tile.elm | 2 +- src/battle/src/View/SubMenu/Status/TileInfo.elm | 2 +- src/battle/www/style.css | 2 +- 67 files changed, 604 insertions(+), 22758 deletions(-) create mode 100755 src/asset/src/generate_all_tiles.py delete mode 100644 src/asset/tile/0/background.svg delete mode 100644 src/asset/tile/0/extra0.svg delete mode 100644 src/asset/tile/1/background.svg delete mode 100644 src/asset/tile/2/background.svg create mode 100644 src/asset/tile/class/0/0.svg create mode 100644 src/asset/tile/class/1/0.svg create mode 100644 src/asset/tile/class/1/extra0.svg create mode 100644 src/asset/tile/class/2/0.svg create mode 100644 src/asset/tile/class/3/0.svg delete mode 100644 src/asset/www/svg/tile/-1.svg delete mode 100644 src/asset/www/svg/tile/0.svg delete mode 100644 src/asset/www/svg/tile/1.svg delete mode 100644 src/asset/www/svg/tile/10.svg delete mode 100644 src/asset/www/svg/tile/11.svg delete mode 100644 src/asset/www/svg/tile/12.svg delete mode 100644 src/asset/www/svg/tile/13.svg delete mode 100644 src/asset/www/svg/tile/14.svg delete mode 100644 src/asset/www/svg/tile/15.svg delete mode 100644 src/asset/www/svg/tile/16.svg delete mode 100644 src/asset/www/svg/tile/17.svg delete mode 100644 src/asset/www/svg/tile/18.svg delete mode 100644 src/asset/www/svg/tile/19.svg delete mode 100644 src/asset/www/svg/tile/2.svg delete mode 100644 src/asset/www/svg/tile/20.svg delete mode 100644 src/asset/www/svg/tile/21.svg delete mode 100644 src/asset/www/svg/tile/22.svg delete mode 100644 src/asset/www/svg/tile/23.svg delete mode 100644 src/asset/www/svg/tile/24.svg delete mode 100644 src/asset/www/svg/tile/25.svg delete mode 100644 src/asset/www/svg/tile/26.svg delete mode 100644 src/asset/www/svg/tile/27.svg delete mode 100644 src/asset/www/svg/tile/28.svg delete mode 100644 src/asset/www/svg/tile/29.svg delete mode 100644 src/asset/www/svg/tile/3.svg delete mode 100644 src/asset/www/svg/tile/30.svg delete mode 100644 src/asset/www/svg/tile/31.svg delete mode 100644 src/asset/www/svg/tile/32.svg delete mode 100644 src/asset/www/svg/tile/33.svg delete mode 100644 src/asset/www/svg/tile/34.svg delete mode 100644 src/asset/www/svg/tile/35.svg delete mode 100644 src/asset/www/svg/tile/36.svg delete mode 100644 src/asset/www/svg/tile/37.svg delete mode 100644 src/asset/www/svg/tile/38.svg delete mode 100644 src/asset/www/svg/tile/39.svg delete mode 100644 src/asset/www/svg/tile/4.svg delete mode 100644 src/asset/www/svg/tile/40.svg delete mode 100644 src/asset/www/svg/tile/41.svg delete mode 100644 src/asset/www/svg/tile/42.svg delete mode 100644 src/asset/www/svg/tile/43.svg delete mode 100644 src/asset/www/svg/tile/44.svg delete mode 100644 src/asset/www/svg/tile/5.svg delete mode 100644 src/asset/www/svg/tile/6.svg delete mode 100644 src/asset/www/svg/tile/7.svg delete mode 100644 src/asset/www/svg/tile/8.svg delete mode 100644 src/asset/www/svg/tile/9.svg diff --git a/Makefile b/Makefile index 5f74e98..0770807 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ ################################################################################ ## CONFIG ###################################################################### ################################################################################ -MODULES ?= battle global asset map-editor +MODULES ?= battle global asset #map-editor SRC_DIR = ${CURDIR}/src WWW_DIR = ${CURDIR}/www diff --git a/src/asset/Makefile b/src/asset/Makefile index b02b4e9..7cf17d3 100644 --- a/src/asset/Makefile +++ b/src/asset/Makefile @@ -1,47 +1,18 @@ ################################################################################ ## CONFIG ###################################################################### ################################################################################ -NUMBER_OF_CHAR_TYPES ?= 16 - SRC_DIR ?= ${CURDIR}/src/ -TEMPLATE_DIR ?= ${CURDIR}/template -CSS_DIR ?= ${CURDIR}/www/ - -GENERATE_N_COLORS_SCRIPT ?= $(SRC_DIR)/generate_n_colors.py -GENERATE_N_ENTITIES ?= $(SRC_DIR)/generate_n_entities.py - -CHAR_STYLE_TEMPLATE ?= $(TEMPLATE_DIR)/character_icon_entry.css - -# outputs -CHAR_STYLE_CSS ?= $(CSS_DIR)/characters.css +TILE_CLASSES_DIR ?= ${CURDIR}/tile/class +TILE_FRONTIER_DIR ?= ${CURDIR}/tile/frontier +WWW_DIR ?= ${CURDIR}/www/ ################################################################################ ## MAKEFILE MAGIC ############################################################## ################################################################################ -TOTAL_NUMBER_OF_COLORS = $(NUMBER_OF_CHAR_TYPES) - #$(shell expr $(NUMBER_OF_TILE_TYPES) + $(NUMBER_OF_CHAR_TYPES)) - -SENSITIVITY_LIST = \ - Makefile \ - $(GENERATE_N_COLORS_SCRIPT)\ - $(GENERATE_N_ENTITIES) ################################################################################ ## SANITY CHECKS ############################################################### ################################################################################ -ifeq ($(wildcard $(GENERATE_N_COLORS_SCRIPT)),) -$(error\ - "Could not find script to generate N colors (GENERATE_N_COLORS_SCRIPT="\ - "$(GENERATE_N_COLORS_SCRIPT))."\ -) -endif - -ifeq ($(wildcard $(GENERATE_N_ENTITIES)),) -$(error\ - "Could not find script to generate N colors (GENERATE_N_ENTITIES="\ - "$(GENERATE_N_ENTITIES))."\ -) -endif ################################################################################ ## TARGET RULES ################################################################ diff --git a/src/asset/src/generate_all_tiles.py b/src/asset/src/generate_all_tiles.py new file mode 100755 index 0000000..07cc7f2 --- /dev/null +++ b/src/asset/src/generate_all_tiles.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python3 +import sys +import os +import shutil + +################################################################################ + +################################################################################ + +if (len(sys.argv) != 5): + print("Usage: ") + exit(-1) + +output_dir = sys.argv[1] +classes_dir = sys.argv[2] +templates_dir = sys.argv[3] +frontier_script = sys.argv[4] + +class_dirs = os.listdir(classes_dir) +template_files = os.listdir(templates_dir) +template_files_list = " ".join([ (templates_dir + "/" + e) for e in template_files]) + +for a_model in class_dirs: + a_model = classes_dir + a_model + print("A Model: " + a_model) + a_model_id = os.path.basename(a_model) + base_prefix = output_dir + "/" + a_model_id + "-" + + for b_model in class_dirs: + b_model = classes_dir + b_model + b_model_id = os.path.basename(b_model) + prefix = base_prefix + b_model_id + "-" + + if (a_model_id == b_model_id): + for variation in os.listdir(a_model): + print("---") + print("Variation: " + variation) + print("a_model: " + a_model) + print("prefix: " + prefix) + print("---") + shutil.copyfile( + a_model + "/" + variation, + prefix + variation + ) + else: + os.system( + frontier_script + + " " + output_dir + + " " + a_model_id + + " " + b_model_id + + " " + a_model + "/0.svg" + + " " + b_model + "/0.svg" + + " " + template_files_list + ) + diff --git a/src/asset/src/generate_frontier_tiles.py b/src/asset/src/generate_frontier_tiles.py index 0281a00..83bb642 100755 --- a/src/asset/src/generate_frontier_tiles.py +++ b/src/asset/src/generate_frontier_tiles.py @@ -4,8 +4,11 @@ import sys SVG_PREFIX = "{http://www.w3.org/2000/svg}" G_TAG = SVG_PREFIX + "g" - +TEMPLATE_PREFIX = "rtid-" ################################################################################ +def id_to_prefix (id_val): + return ("rmid-" + id_val + "-") + def get_xml (filename): model_root = XML.parse(filename) @@ -15,10 +18,15 @@ def get_xml (filename): return model_root -def get_model (filename): +def get_model (filename, id_prefix): model_root = get_xml(filename) - background = model_root.findall(G_TAG+"[@id='background']/*") + background = model_root.findall( + G_TAG + + "[@id='" + + id_prefix + + "background']/*" + ) if (len(background) == 0): print( @@ -28,10 +36,15 @@ def get_model (filename): ) exit(-1) - extras = model_root.findall(G_TAG+"[@id='details']/*") + extras = model_root.findall( + G_TAG + + "[@id='" + + id_prefix + + "details']/*" + ) if (len(extras) == 0): - if (model_root.find(G_TAG+"[@id='details']") == None): + if (model_root.find(G_TAG+"[@id='" + id_prefix + "details']") == None): print( "[W] Could not find 'details' layer in model file (" + filename @@ -53,14 +66,18 @@ def replace_group_by (root_node, group_name, new_content, filename): target_group.extend(new_content) ################################################################################ -if (len(sys.argv) < 3): - print("Usage: ") +if (len(sys.argv) < 6): + print("Usage: ") exit(-1) -(model_a_bg, model_a_details) = get_model(sys.argv[1]) -(model_b_bg, model_b_details) = get_model(sys.argv[2]) +output_dir = sys.argv[1] +model_a_id = sys.argv[2] +model_b_id = sys.argv[3] +(model_a_bg, model_a_details) = get_model(sys.argv[4], id_to_prefix(model_a_id)) +(model_b_bg, model_b_details) = get_model(sys.argv[5], id_to_prefix(model_b_id)) -current_arg = 3 +current_arg = 6 +variant_count = 0 while (current_arg < len(sys.argv)): filename = sys.argv[current_arg] @@ -68,13 +85,29 @@ while (current_arg < len(sys.argv)): template_root = get_xml(filename) - models_layer = template_root.find(G_TAG+"[@id='models_layer']") + models_layer = template_root.find( + G_TAG + + "[@id='" + + TEMPLATE_PREFIX + + "models_layer']" + ) if (models_layer == None): print("[F] Could not find model layer in file " + filename + ".") - replace_group_by(models_layer, "bg_a_model", model_a_bg, filename) - replace_group_by(models_layer, "bg_b_model", model_b_bg, filename) - replace_group_by(template_root, "details", model_a_details, filename) - - template_root.write("/tmp/test" + str(current_arg) + ".svg") + replace_group_by(models_layer, TEMPLATE_PREFIX + "bg_a_model", model_a_bg, filename) + replace_group_by(models_layer, TEMPLATE_PREFIX + "bg_b_model", model_b_bg, filename) + replace_group_by(template_root, TEMPLATE_PREFIX + "details", model_a_details, filename) + + template_root.write( + output_dir + + "/" + + model_a_id + + "-" + + model_b_id + + "-" + + str(variant_count) + + ".svg" + ) + + variant_count += 1 diff --git a/src/asset/tile/0/background.svg b/src/asset/tile/0/background.svg deleted file mode 100644 index e52bf84..0000000 --- a/src/asset/tile/0/background.svg +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/asset/tile/0/extra0.svg b/src/asset/tile/0/extra0.svg deleted file mode 100644 index f38967d..0000000 --- a/src/asset/tile/0/extra0.svg +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - diff --git a/src/asset/tile/1/background.svg b/src/asset/tile/1/background.svg deleted file mode 100644 index fbf26d6..0000000 --- a/src/asset/tile/1/background.svg +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/asset/tile/2/background.svg b/src/asset/tile/2/background.svg deleted file mode 100644 index 97273d3..0000000 --- a/src/asset/tile/2/background.svg +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/asset/tile/class/0/0.svg b/src/asset/tile/class/0/0.svg new file mode 100644 index 0000000..3e126bb --- /dev/null +++ b/src/asset/tile/class/0/0.svg @@ -0,0 +1,59 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/asset/tile/class/1/0.svg b/src/asset/tile/class/1/0.svg new file mode 100644 index 0000000..38e8e6e --- /dev/null +++ b/src/asset/tile/class/1/0.svg @@ -0,0 +1,50 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/asset/tile/class/1/extra0.svg b/src/asset/tile/class/1/extra0.svg new file mode 100644 index 0000000..f38967d --- /dev/null +++ b/src/asset/tile/class/1/extra0.svg @@ -0,0 +1,84 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + diff --git a/src/asset/tile/class/2/0.svg b/src/asset/tile/class/2/0.svg new file mode 100644 index 0000000..15e309c --- /dev/null +++ b/src/asset/tile/class/2/0.svg @@ -0,0 +1,45 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/asset/tile/class/3/0.svg b/src/asset/tile/class/3/0.svg new file mode 100644 index 0000000..7d237d2 --- /dev/null +++ b/src/asset/tile/class/3/0.svg @@ -0,0 +1,179 @@ + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/asset/www/svg/tile/-1.svg b/src/asset/www/svg/tile/-1.svg deleted file mode 100644 index ef31ace..0000000 --- a/src/asset/www/svg/tile/-1.svg +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - ERROR - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/0.svg b/src/asset/www/svg/tile/0.svg deleted file mode 100644 index fed479b..0000000 --- a/src/asset/www/svg/tile/0.svg +++ /dev/null @@ -1,185 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/1.svg b/src/asset/www/svg/tile/1.svg deleted file mode 100644 index 0bced02..0000000 --- a/src/asset/www/svg/tile/1.svg +++ /dev/null @@ -1,357 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/10.svg b/src/asset/www/svg/tile/10.svg deleted file mode 100644 index 6f6e62a..0000000 --- a/src/asset/www/svg/tile/10.svg +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/11.svg b/src/asset/www/svg/tile/11.svg deleted file mode 100644 index 79d1653..0000000 --- a/src/asset/www/svg/tile/11.svg +++ /dev/null @@ -1,400 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/12.svg b/src/asset/www/svg/tile/12.svg deleted file mode 100644 index 82ab3cd..0000000 --- a/src/asset/www/svg/tile/12.svg +++ /dev/null @@ -1,571 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/13.svg b/src/asset/www/svg/tile/13.svg deleted file mode 100644 index c93a659..0000000 --- a/src/asset/www/svg/tile/13.svg +++ /dev/null @@ -1,739 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/14.svg b/src/asset/www/svg/tile/14.svg deleted file mode 100644 index d0dc5e6..0000000 --- a/src/asset/www/svg/tile/14.svg +++ /dev/null @@ -1,261 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/15.svg b/src/asset/www/svg/tile/15.svg deleted file mode 100644 index 8a3f12a..0000000 --- a/src/asset/www/svg/tile/15.svg +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/16.svg b/src/asset/www/svg/tile/16.svg deleted file mode 100644 index e55104e..0000000 --- a/src/asset/www/svg/tile/16.svg +++ /dev/null @@ -1,259 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/17.svg b/src/asset/www/svg/tile/17.svg deleted file mode 100644 index 4f67d40..0000000 --- a/src/asset/www/svg/tile/17.svg +++ /dev/null @@ -1,264 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/18.svg b/src/asset/www/svg/tile/18.svg deleted file mode 100644 index deb8216..0000000 --- a/src/asset/www/svg/tile/18.svg +++ /dev/null @@ -1,445 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/19.svg b/src/asset/www/svg/tile/19.svg deleted file mode 100644 index ab6f369..0000000 --- a/src/asset/www/svg/tile/19.svg +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/2.svg b/src/asset/www/svg/tile/2.svg deleted file mode 100644 index 433c9db..0000000 --- a/src/asset/www/svg/tile/2.svg +++ /dev/null @@ -1,663 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/20.svg b/src/asset/www/svg/tile/20.svg deleted file mode 100644 index 439c76f..0000000 --- a/src/asset/www/svg/tile/20.svg +++ /dev/null @@ -1,695 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/21.svg b/src/asset/www/svg/tile/21.svg deleted file mode 100644 index 911a9cc..0000000 --- a/src/asset/www/svg/tile/21.svg +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/22.svg b/src/asset/www/svg/tile/22.svg deleted file mode 100644 index 421e5ab..0000000 --- a/src/asset/www/svg/tile/22.svg +++ /dev/null @@ -1,570 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/23.svg b/src/asset/www/svg/tile/23.svg deleted file mode 100644 index 33d6587..0000000 --- a/src/asset/www/svg/tile/23.svg +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/24.svg b/src/asset/www/svg/tile/24.svg deleted file mode 100644 index 35423c4..0000000 --- a/src/asset/www/svg/tile/24.svg +++ /dev/null @@ -1,433 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/25.svg b/src/asset/www/svg/tile/25.svg deleted file mode 100644 index 4aa1285..0000000 --- a/src/asset/www/svg/tile/25.svg +++ /dev/null @@ -1,435 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/26.svg b/src/asset/www/svg/tile/26.svg deleted file mode 100644 index e64bc08..0000000 --- a/src/asset/www/svg/tile/26.svg +++ /dev/null @@ -1,438 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/27.svg b/src/asset/www/svg/tile/27.svg deleted file mode 100644 index ca383d2..0000000 --- a/src/asset/www/svg/tile/27.svg +++ /dev/null @@ -1,612 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/28.svg b/src/asset/www/svg/tile/28.svg deleted file mode 100644 index bc887d9..0000000 --- a/src/asset/www/svg/tile/28.svg +++ /dev/null @@ -1,601 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/29.svg b/src/asset/www/svg/tile/29.svg deleted file mode 100644 index 76baaed..0000000 --- a/src/asset/www/svg/tile/29.svg +++ /dev/null @@ -1,538 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/3.svg b/src/asset/www/svg/tile/3.svg deleted file mode 100644 index d0b5db1..0000000 --- a/src/asset/www/svg/tile/3.svg +++ /dev/null @@ -1,171 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/30.svg b/src/asset/www/svg/tile/30.svg deleted file mode 100644 index 5525a78..0000000 --- a/src/asset/www/svg/tile/30.svg +++ /dev/null @@ -1,673 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/31.svg b/src/asset/www/svg/tile/31.svg deleted file mode 100644 index efd93b3..0000000 --- a/src/asset/www/svg/tile/31.svg +++ /dev/null @@ -1,576 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/32.svg b/src/asset/www/svg/tile/32.svg deleted file mode 100644 index dba9fb1..0000000 --- a/src/asset/www/svg/tile/32.svg +++ /dev/null @@ -1,564 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/33.svg b/src/asset/www/svg/tile/33.svg deleted file mode 100644 index 0b74176..0000000 --- a/src/asset/www/svg/tile/33.svg +++ /dev/null @@ -1,702 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/34.svg b/src/asset/www/svg/tile/34.svg deleted file mode 100644 index 706facc..0000000 --- a/src/asset/www/svg/tile/34.svg +++ /dev/null @@ -1,578 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/35.svg b/src/asset/www/svg/tile/35.svg deleted file mode 100644 index 5ecb0f5..0000000 --- a/src/asset/www/svg/tile/35.svg +++ /dev/null @@ -1,544 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/36.svg b/src/asset/www/svg/tile/36.svg deleted file mode 100644 index 5127fce..0000000 --- a/src/asset/www/svg/tile/36.svg +++ /dev/null @@ -1,627 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/37.svg b/src/asset/www/svg/tile/37.svg deleted file mode 100644 index 1784465..0000000 --- a/src/asset/www/svg/tile/37.svg +++ /dev/null @@ -1,545 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/38.svg b/src/asset/www/svg/tile/38.svg deleted file mode 100644 index 82331c5..0000000 --- a/src/asset/www/svg/tile/38.svg +++ /dev/null @@ -1,496 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/39.svg b/src/asset/www/svg/tile/39.svg deleted file mode 100644 index 325e3bb..0000000 --- a/src/asset/www/svg/tile/39.svg +++ /dev/null @@ -1,592 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/4.svg b/src/asset/www/svg/tile/4.svg deleted file mode 100644 index b465e0d..0000000 --- a/src/asset/www/svg/tile/4.svg +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/40.svg b/src/asset/www/svg/tile/40.svg deleted file mode 100644 index 7b33397..0000000 --- a/src/asset/www/svg/tile/40.svg +++ /dev/null @@ -1,540 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/41.svg b/src/asset/www/svg/tile/41.svg deleted file mode 100644 index 67238aa..0000000 --- a/src/asset/www/svg/tile/41.svg +++ /dev/null @@ -1,623 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/42.svg b/src/asset/www/svg/tile/42.svg deleted file mode 100644 index cd7dc54..0000000 --- a/src/asset/www/svg/tile/42.svg +++ /dev/null @@ -1,582 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/43.svg b/src/asset/www/svg/tile/43.svg deleted file mode 100644 index 4e271fe..0000000 --- a/src/asset/www/svg/tile/43.svg +++ /dev/null @@ -1,566 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/44.svg b/src/asset/www/svg/tile/44.svg deleted file mode 100644 index cc2a37b..0000000 --- a/src/asset/www/svg/tile/44.svg +++ /dev/null @@ -1,536 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/5.svg b/src/asset/www/svg/tile/5.svg deleted file mode 100644 index e0c2ae1..0000000 --- a/src/asset/www/svg/tile/5.svg +++ /dev/null @@ -1,403 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/6.svg b/src/asset/www/svg/tile/6.svg deleted file mode 100644 index 361bc43..0000000 --- a/src/asset/www/svg/tile/6.svg +++ /dev/null @@ -1,458 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/7.svg b/src/asset/www/svg/tile/7.svg deleted file mode 100644 index 850f992..0000000 --- a/src/asset/www/svg/tile/7.svg +++ /dev/null @@ -1,404 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/8.svg b/src/asset/www/svg/tile/8.svg deleted file mode 100644 index 755f95d..0000000 --- a/src/asset/www/svg/tile/8.svg +++ /dev/null @@ -1,462 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/asset/www/svg/tile/9.svg b/src/asset/www/svg/tile/9.svg deleted file mode 100644 index 4decd90..0000000 --- a/src/asset/www/svg/tile/9.svg +++ /dev/null @@ -1,461 +0,0 @@ - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/battle/src/Comm/SetMap.elm b/src/battle/src/Comm/SetMap.elm index 7bfd56f..8c58ab3 100644 --- a/src/battle/src/Comm/SetMap.elm +++ b/src/battle/src/Comm/SetMap.elm @@ -3,7 +3,9 @@ module Comm.SetMap exposing (decode) -- Elm ------------------------------------------------------------------------- import Json.Decode --- Map ------------------------------------------------------------------- +-- Map ------------------------------------------------------------------------- +import Constants.Movement + import Struct.Map import Struct.ServerReply import Struct.Tile @@ -15,21 +17,34 @@ type alias MapData = { w : Int, h : Int, - t : (List Int) + t : (List (List Int)) } -------------------------------------------------------------------------------- -- LOCAL ----------------------------------------------------------------------- -------------------------------------------------------------------------------- -deserialize_tile_instance : Int -> Int -> Int -> Struct.Tile.Instance -deserialize_tile_instance map_width index id = - (Struct.Tile.new_instance - (index % map_width) - (index // map_width) - id - -1 - -1 - ) +deserialize_tile_instance : Int -> Int -> (List Int) -> Struct.Tile.Instance +deserialize_tile_instance map_width index t = + case t of + [type_id, border_id, variant_ix] -> + (Struct.Tile.new_instance + (index % map_width) + (index // map_width) + type_id + border_id + variant_ix + Constants.Movement.cost_when_out_of_bounds + ) + + _ -> + (Struct.Tile.new_instance + (index % map_width) + (index // map_width) + 0 + 0 + 0 + Constants.Movement.cost_when_out_of_bounds + ) internal_decoder : MapData -> Struct.ServerReply.Type internal_decoder map_data = @@ -56,7 +71,7 @@ decode = (Json.Decode.field "h" Json.Decode.int) (Json.Decode.field "t" - (Json.Decode.list Json.Decode.int) + (Json.Decode.list (Json.Decode.list Json.Decode.int)) ) ) ) diff --git a/src/battle/src/Constants/UI.elm b/src/battle/src/Constants/UI.elm index 642d94c..6a0b948 100644 --- a/src/battle/src/Constants/UI.elm +++ b/src/battle/src/Constants/UI.elm @@ -3,8 +3,8 @@ module Constants.UI exposing (..) tile_size : Int tile_size = 32 -variants_per_tile : Int -variants_per_tile = 16 +local_variants_per_tile : Int +local_variants_per_tile = 16 viewer_html_id : String viewer_html_id = "map_viewer" diff --git a/src/battle/src/Struct/Map.elm b/src/battle/src/Struct/Map.elm index 9944b72..a2ddeb3 100644 --- a/src/battle/src/Struct/Map.elm +++ b/src/battle/src/Struct/Map.elm @@ -14,6 +14,8 @@ module Struct.Map exposing -- Elm ------------------------------------------------------------------------- import Array +import Dict + -- Map ------------------------------------------------------------------- import Struct.Character import Struct.Tile @@ -116,7 +118,7 @@ get_movement_cost_function bmap start_loc char_list loc = else Constants.Movement.cost_when_out_of_bounds -solve_tiles : (List Struct.Tile.Type) -> Type -> Type +solve_tiles : (Dict.Dict Int Struct.Tile.Type) -> Type -> Type solve_tiles tiles bmap = {bmap | content = (Array.map (Struct.Tile.solve_tile_instance tiles) bmap.content) diff --git a/src/battle/src/Struct/Tile.elm b/src/battle/src/Struct/Tile.elm index 550169b..0077e7f 100644 --- a/src/battle/src/Struct/Tile.elm +++ b/src/battle/src/Struct/Tile.elm @@ -8,20 +8,18 @@ module Struct.Tile exposing error_tile_instance, get_id, get_name, - get_range_minimum, - get_range_maximum, get_cost, get_instance_cost, get_location, get_icon_id, get_type_id, - get_variant_id, + get_local_variant_ix, solve_tile_instance, decoder ) -- Elm ------------------------------------------------------------------------- -import List +import Dict import Json.Decode import Json.Decode.Pipeline @@ -41,26 +39,23 @@ type alias PartiallyDecoded = { id : Int, nam : String, - ct : Int, - rmi : Int, - rma : Int + ct : Int } type alias Type = { id : Int, name : String, - crossing_cost : Int, - range_minimum : Int, - range_maximum : Int + crossing_cost : Int } type alias Instance = { location : Struct.Location.Type, - icon_id : Int, - crossing_cost : Int, - type_id : Int + type_id : Int, + border_id : Int, + variant_ix : Int, + crossing_cost : Int } -------------------------------------------------------------------------------- @@ -75,62 +70,40 @@ finish_decoding add_tile = { id = add_tile.id, name = add_tile.nam, - crossing_cost = add_tile.ct, - range_minimum = add_tile.rmi, - range_maximum = add_tile.rma + crossing_cost = add_tile.ct } -seek_tile_instance_type : Instance -> Type -> (Maybe Type) -> (Maybe Type) -seek_tile_instance_type instance candidate current_sol = - if (current_sol == Nothing) - then - let - icon_id = instance.icon_id - in - if - ( - (icon_id >= candidate.range_minimum) - && (icon_id <= candidate.range_maximum) - ) - then - (Just candidate) - else - current_sol - else - current_sol - -------------------------------------------------------------------------------- -- EXPORTED -------------------------------------------------------------------- -------------------------------------------------------------------------------- -new : Int -> String -> Int -> Int -> Int -> Type -new id name crossing_cost range_minimum range_maximum = +new : Int -> String -> Int -> Type +new id name crossing_cost = { id = id, name = name, - crossing_cost = crossing_cost, - range_minimum = range_minimum, - range_maximum = range_maximum + crossing_cost = crossing_cost } -new_instance : Int -> Int -> Int -> Int -> Int -> Instance -new_instance x y icon_id crossing_cost type_id = +new_instance : Int -> Int -> Int -> Int -> Int -> Int -> Instance +new_instance x y type_id border_id variant_ix crossing_cost = { location = {x = x, y = y}, - icon_id = icon_id, - crossing_cost = crossing_cost, - type_id = type_id + type_id = type_id, + border_id = border_id, + variant_ix = variant_ix, + crossing_cost = crossing_cost } error_tile_instance : Int -> Int -> Instance error_tile_instance x y = { location = {x = x, y = y}, - icon_id = -1, - type_id = -1, + type_id = 0, + border_id = 0, + variant_ix = 0, crossing_cost = Constants.Movement.cost_when_out_of_bounds } - get_id : Type -> Int get_id tile = tile.id @@ -143,50 +116,44 @@ get_instance_cost tile_inst = tile_inst.crossing_cost get_name : Type -> String get_name tile = tile.name -get_range_minimum : Type -> Int -get_range_minimum tile = tile.range_minimum - -get_range_maximum : Type -> Int -get_range_maximum tile = tile.range_maximum - get_location : Instance -> Struct.Location.Type get_location tile_inst = tile_inst.location get_icon_id : Instance -> String -get_icon_id tile_inst = (toString tile_inst.icon_id) +get_icon_id tile_inst = + ( + (toString tile_inst.type_id) + ++ "-" + ++ (toString tile_inst.border_id) + ++ "-" + ++ (toString tile_inst.variant_ix) + ) -get_type_id: Instance -> Int +get_type_id : Instance -> Int get_type_id tile_inst = tile_inst.type_id -get_variant_id : Instance -> Int -get_variant_id tile_inst = +get_local_variant_ix : Instance -> Int +get_local_variant_ix tile_inst = ( (noise_function tile_inst.location.x tile_inst.location.y tile_inst.crossing_cost ) - % Constants.UI.variants_per_tile + % Constants.UI.local_variants_per_tile ) -solve_tile_instance : (List Type) -> Instance -> Instance +solve_tile_instance : (Dict.Dict Int Type) -> Instance -> Instance solve_tile_instance tiles tile_instance = - let - maybe_type = - (List.foldr (seek_tile_instance_type tile_instance) Nothing tiles) - in - case maybe_type of - (Just tile) -> - {tile_instance | - type_id = tile.id, - crossing_cost = tile.crossing_cost - } - - Nothing -> - (error_tile_instance - tile_instance.location.x - tile_instance.location.y - ) + case (Dict.get tile_instance.type_id tiles) of + (Just tile) -> + {tile_instance | crossing_cost = tile.crossing_cost} + + Nothing -> + (error_tile_instance + tile_instance.location.x + tile_instance.location.y + ) decoder : (Json.Decode.Decoder Type) decoder = @@ -197,7 +164,5 @@ decoder = |> (Json.Decode.Pipeline.required "id" Json.Decode.int) |> (Json.Decode.Pipeline.required "nam" Json.Decode.string) |> (Json.Decode.Pipeline.required "ct" Json.Decode.int) - |> (Json.Decode.Pipeline.required "rmi" Json.Decode.int) - |> (Json.Decode.Pipeline.required "rma" Json.Decode.int) ) ) diff --git a/src/battle/src/Update/HandleServerReply.elm b/src/battle/src/Update/HandleServerReply.elm index 2352f67..ff6cc67 100644 --- a/src/battle/src/Update/HandleServerReply.elm +++ b/src/battle/src/Update/HandleServerReply.elm @@ -111,7 +111,7 @@ set_map map current_state = ( {model | map = - (Struct.Map.solve_tiles (Dict.values model.tiles) map) + (Struct.Map.solve_tiles model.tiles map) }, Nothing ) diff --git a/src/battle/src/View/Map/Tile.elm b/src/battle/src/View/Map/Tile.elm index 600e26d..844a277 100644 --- a/src/battle/src/View/Map/Tile.elm +++ b/src/battle/src/View/Map/Tile.elm @@ -35,7 +35,7 @@ get_html tile = (Html.Attributes.class ( "battle-tile-variant-" - ++ (toString (Struct.Tile.get_variant_id tile)) + ++ (toString (Struct.Tile.get_local_variant_ix tile)) ) ), (Html.Attributes.class "clickable"), diff --git a/src/battle/src/View/SubMenu/Status/TileInfo.elm b/src/battle/src/View/SubMenu/Status/TileInfo.elm index 7448247..2cd0a6f 100644 --- a/src/battle/src/View/SubMenu/Status/TileInfo.elm +++ b/src/battle/src/View/SubMenu/Status/TileInfo.elm @@ -28,7 +28,7 @@ get_icon tile = (Html.Attributes.class ( "battle-tile-variant-" - ++ (toString (Struct.Tile.get_variant_id tile)) + ++ (toString (Struct.Tile.get_local_variant_ix tile)) ) ), (Html.Attributes.style diff --git a/src/battle/www/style.css b/src/battle/www/style.css index 1e537b3..2a2147a 100644 --- a/src/battle/www/style.css +++ b/src/battle/www/style.css @@ -606,7 +606,7 @@ .battle-tile-variant-14 {background-position: 200% 300%;} .battle-tile-variant-15 {background-position: 300% 300%;} -.battle-tile-icon {z-index: 0; position: absolute; background-size: 300%;} +.battle-tile-icon {z-index: 0; position: absolute; background-size: 400%;} .battle-path-icon-below-markers {z-index: 1;} .battle-marker-icon {z-index: 2;} .battle-path-icon-above-markers {z-index: 3;} -- cgit v1.2.3-70-g09d2