diff --git a/.clang-format b/.clang-format
new file mode 100644
index 0000000..f802ebd
--- /dev/null
+++ b/.clang-format
@@ -0,0 +1,3 @@
+---
+BasedOnStyle: WebKit
+...
diff --git a/.clang_complete b/.clang_complete
new file mode 100644
index 0000000..a7b1b4e
--- /dev/null
+++ b/.clang_complete
@@ -0,0 +1,6 @@
+-Wall
+-Wextra
+-Wno-unused-parameter
+-I /usr/include/SDL2
+-I /usr/local/include/SDL2
+-I C:\INCLUDE
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..67a7860
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,12 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+indent_size = 4
+indent_style = space
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+[Makefile]
+indent_style = tab
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..5ab1b2e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.sublime-workspace
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..a612ad9
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,373 @@
+Mozilla Public License Version 2.0
+==================================
+
+1. Definitions
+--------------
+
+1.1. "Contributor"
+ means each individual or legal entity that creates, contributes to
+ the creation of, or owns Covered Software.
+
+1.2. "Contributor Version"
+ means the combination of the Contributions of others (if any) used
+ by a Contributor and that particular Contributor's Contribution.
+
+1.3. "Contribution"
+ means Covered Software of a particular Contributor.
+
+1.4. "Covered Software"
+ means Source Code Form to which the initial Contributor has attached
+ the notice in Exhibit A, the Executable Form of such Source Code
+ Form, and Modifications of such Source Code Form, in each case
+ including portions thereof.
+
+1.5. "Incompatible With Secondary Licenses"
+ means
+
+ (a) that the initial Contributor has attached the notice described
+ in Exhibit B to the Covered Software; or
+
+ (b) that the Covered Software was made available under the terms of
+ version 1.1 or earlier of the License, but not also under the
+ terms of a Secondary License.
+
+1.6. "Executable Form"
+ means any form of the work other than Source Code Form.
+
+1.7. "Larger Work"
+ means a work that combines Covered Software with other material, in
+ a separate file or files, that is not Covered Software.
+
+1.8. "License"
+ means this document.
+
+1.9. "Licensable"
+ means having the right to grant, to the maximum extent possible,
+ whether at the time of the initial grant or subsequently, any and
+ all of the rights conveyed by this License.
+
+1.10. "Modifications"
+ means any of the following:
+
+ (a) any file in Source Code Form that results from an addition to,
+ deletion from, or modification of the contents of Covered
+ Software; or
+
+ (b) any new file in Source Code Form that contains any Covered
+ Software.
+
+1.11. "Patent Claims" of a Contributor
+ means any patent claim(s), including without limitation, method,
+ process, and apparatus claims, in any patent Licensable by such
+ Contributor that would be infringed, but for the grant of the
+ License, by the making, using, selling, offering for sale, having
+ made, import, or transfer of either its Contributions or its
+ Contributor Version.
+
+1.12. "Secondary License"
+ means either the GNU General Public License, Version 2.0, the GNU
+ Lesser General Public License, Version 2.1, the GNU Affero General
+ Public License, Version 3.0, or any later versions of those
+ licenses.
+
+1.13. "Source Code Form"
+ means the form of the work preferred for making modifications.
+
+1.14. "You" (or "Your")
+ means an individual or a legal entity exercising rights under this
+ License. For legal entities, "You" includes any entity that
+ controls, is controlled by, or is under common control with You. For
+ purposes of this definition, "control" means (a) the power, direct
+ or indirect, to cause the direction or management of such entity,
+ whether by contract or otherwise, or (b) ownership of more than
+ fifty percent (50%) of the outstanding shares or beneficial
+ ownership of such entity.
+
+2. License Grants and Conditions
+--------------------------------
+
+2.1. Grants
+
+Each Contributor hereby grants You a world-wide, royalty-free,
+non-exclusive license:
+
+(a) under intellectual property rights (other than patent or trademark)
+ Licensable by such Contributor to use, reproduce, make available,
+ modify, display, perform, distribute, and otherwise exploit its
+ Contributions, either on an unmodified basis, with Modifications, or
+ as part of a Larger Work; and
+
+(b) under Patent Claims of such Contributor to make, use, sell, offer
+ for sale, have made, import, and otherwise transfer either its
+ Contributions or its Contributor Version.
+
+2.2. Effective Date
+
+The licenses granted in Section 2.1 with respect to any Contribution
+become effective for each Contribution on the date the Contributor first
+distributes such Contribution.
+
+2.3. Limitations on Grant Scope
+
+The licenses granted in this Section 2 are the only rights granted under
+this License. No additional rights or licenses will be implied from the
+distribution or licensing of Covered Software under this License.
+Notwithstanding Section 2.1(b) above, no patent license is granted by a
+Contributor:
+
+(a) for any code that a Contributor has removed from Covered Software;
+ or
+
+(b) for infringements caused by: (i) Your and any other third party's
+ modifications of Covered Software, or (ii) the combination of its
+ Contributions with other software (except as part of its Contributor
+ Version); or
+
+(c) under Patent Claims infringed by Covered Software in the absence of
+ its Contributions.
+
+This License does not grant any rights in the trademarks, service marks,
+or logos of any Contributor (except as may be necessary to comply with
+the notice requirements in Section 3.4).
+
+2.4. Subsequent Licenses
+
+No Contributor makes additional grants as a result of Your choice to
+distribute the Covered Software under a subsequent version of this
+License (see Section 10.2) or under the terms of a Secondary License (if
+permitted under the terms of Section 3.3).
+
+2.5. Representation
+
+Each Contributor represents that the Contributor believes its
+Contributions are its original creation(s) or it has sufficient rights
+to grant the rights to its Contributions conveyed by this License.
+
+2.6. Fair Use
+
+This License is not intended to limit any rights You have under
+applicable copyright doctrines of fair use, fair dealing, or other
+equivalents.
+
+2.7. Conditions
+
+Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
+in Section 2.1.
+
+3. Responsibilities
+-------------------
+
+3.1. Distribution of Source Form
+
+All distribution of Covered Software in Source Code Form, including any
+Modifications that You create or to which You contribute, must be under
+the terms of this License. You must inform recipients that the Source
+Code Form of the Covered Software is governed by the terms of this
+License, and how they can obtain a copy of this License. You may not
+attempt to alter or restrict the recipients' rights in the Source Code
+Form.
+
+3.2. Distribution of Executable Form
+
+If You distribute Covered Software in Executable Form then:
+
+(a) such Covered Software must also be made available in Source Code
+ Form, as described in Section 3.1, and You must inform recipients of
+ the Executable Form how they can obtain a copy of such Source Code
+ Form by reasonable means in a timely manner, at a charge no more
+ than the cost of distribution to the recipient; and
+
+(b) You may distribute such Executable Form under the terms of this
+ License, or sublicense it under different terms, provided that the
+ license for the Executable Form does not attempt to limit or alter
+ the recipients' rights in the Source Code Form under this License.
+
+3.3. Distribution of a Larger Work
+
+You may create and distribute a Larger Work under terms of Your choice,
+provided that You also comply with the requirements of this License for
+the Covered Software. If the Larger Work is a combination of Covered
+Software with a work governed by one or more Secondary Licenses, and the
+Covered Software is not Incompatible With Secondary Licenses, this
+License permits You to additionally distribute such Covered Software
+under the terms of such Secondary License(s), so that the recipient of
+the Larger Work may, at their option, further distribute the Covered
+Software under the terms of either this License or such Secondary
+License(s).
+
+3.4. Notices
+
+You may not remove or alter the substance of any license notices
+(including copyright notices, patent notices, disclaimers of warranty,
+or limitations of liability) contained within the Source Code Form of
+the Covered Software, except that You may alter any license notices to
+the extent required to remedy known factual inaccuracies.
+
+3.5. Application of Additional Terms
+
+You may choose to offer, and to charge a fee for, warranty, support,
+indemnity or liability obligations to one or more recipients of Covered
+Software. However, You may do so only on Your own behalf, and not on
+behalf of any Contributor. You must make it absolutely clear that any
+such warranty, support, indemnity, or liability obligation is offered by
+You alone, and You hereby agree to indemnify every Contributor for any
+liability incurred by such Contributor as a result of warranty, support,
+indemnity or liability terms You offer. You may include additional
+disclaimers of warranty and limitations of liability specific to any
+jurisdiction.
+
+4. Inability to Comply Due to Statute or Regulation
+---------------------------------------------------
+
+If it is impossible for You to comply with any of the terms of this
+License with respect to some or all of the Covered Software due to
+statute, judicial order, or regulation then You must: (a) comply with
+the terms of this License to the maximum extent possible; and (b)
+describe the limitations and the code they affect. Such description must
+be placed in a text file included with all distributions of the Covered
+Software under this License. Except to the extent prohibited by statute
+or regulation, such description must be sufficiently detailed for a
+recipient of ordinary skill to be able to understand it.
+
+5. Termination
+--------------
+
+5.1. The rights granted under this License will terminate automatically
+if You fail to comply with any of its terms. However, if You become
+compliant, then the rights granted under this License from a particular
+Contributor are reinstated (a) provisionally, unless and until such
+Contributor explicitly and finally terminates Your grants, and (b) on an
+ongoing basis, if such Contributor fails to notify You of the
+non-compliance by some reasonable means prior to 60 days after You have
+come back into compliance. Moreover, Your grants from a particular
+Contributor are reinstated on an ongoing basis if such Contributor
+notifies You of the non-compliance by some reasonable means, this is the
+first time You have received notice of non-compliance with this License
+from such Contributor, and You become compliant prior to 30 days after
+Your receipt of the notice.
+
+5.2. If You initiate litigation against any entity by asserting a patent
+infringement claim (excluding declaratory judgment actions,
+counter-claims, and cross-claims) alleging that a Contributor Version
+directly or indirectly infringes any patent, then the rights granted to
+You by any and all Contributors for the Covered Software under Section
+2.1 of this License shall terminate.
+
+5.3. In the event of termination under Sections 5.1 or 5.2 above, all
+end user license agreements (excluding distributors and resellers) which
+have been validly granted by You or Your distributors under this License
+prior to termination shall survive termination.
+
+************************************************************************
+* *
+* 6. Disclaimer of Warranty *
+* ------------------------- *
+* *
+* Covered Software is provided under this License on an "as is" *
+* basis, without warranty of any kind, either expressed, implied, or *
+* statutory, including, without limitation, warranties that the *
+* Covered Software is free of defects, merchantable, fit for a *
+* particular purpose or non-infringing. The entire risk as to the *
+* quality and performance of the Covered Software is with You. *
+* Should any Covered Software prove defective in any respect, You *
+* (not any Contributor) assume the cost of any necessary servicing, *
+* repair, or correction. This disclaimer of warranty constitutes an *
+* essential part of this License. No use of any Covered Software is *
+* authorized under this License except under this disclaimer. *
+* *
+************************************************************************
+
+************************************************************************
+* *
+* 7. Limitation of Liability *
+* -------------------------- *
+* *
+* Under no circumstances and under no legal theory, whether tort *
+* (including negligence), contract, or otherwise, shall any *
+* Contributor, or anyone who distributes Covered Software as *
+* permitted above, be liable to You for any direct, indirect, *
+* special, incidental, or consequential damages of any character *
+* including, without limitation, damages for lost profits, loss of *
+* goodwill, work stoppage, computer failure or malfunction, or any *
+* and all other commercial damages or losses, even if such party *
+* shall have been informed of the possibility of such damages. This *
+* limitation of liability shall not apply to liability for death or *
+* personal injury resulting from such party's negligence to the *
+* extent applicable law prohibits such limitation. Some *
+* jurisdictions do not allow the exclusion or limitation of *
+* incidental or consequential damages, so this exclusion and *
+* limitation may not apply to You. *
+* *
+************************************************************************
+
+8. Litigation
+-------------
+
+Any litigation relating to this License may be brought only in the
+courts of a jurisdiction where the defendant maintains its principal
+place of business and such litigation shall be governed by laws of that
+jurisdiction, without reference to its conflict-of-law provisions.
+Nothing in this Section shall prevent a party's ability to bring
+cross-claims or counter-claims.
+
+9. Miscellaneous
+----------------
+
+This License represents the complete agreement concerning the subject
+matter hereof. If any provision of this License is held to be
+unenforceable, such provision shall be reformed only to the extent
+necessary to make it enforceable. Any law or regulation which provides
+that the language of a contract shall be construed against the drafter
+shall not be used to construe this License against a Contributor.
+
+10. Versions of the License
+---------------------------
+
+10.1. New Versions
+
+Mozilla Foundation is the license steward. Except as provided in Section
+10.3, no one other than the license steward has the right to modify or
+publish new versions of this License. Each version will be given a
+distinguishing version number.
+
+10.2. Effect of New Versions
+
+You may distribute the Covered Software under the terms of the version
+of the License under which You originally received the Covered Software,
+or under the terms of any subsequent version published by the license
+steward.
+
+10.3. Modified Versions
+
+If you create software not governed by this License, and you want to
+create a new license for such software, you may create and use a
+modified version of this License if you rename the license and remove
+any references to the name of the license steward (except to note that
+such modified license differs from this License).
+
+10.4. Distributing Source Code Form that is Incompatible With Secondary
+Licenses
+
+If You choose to distribute Source Code Form that is Incompatible With
+Secondary Licenses under the terms of this version of the License, the
+notice described in Exhibit B of this License must be attached.
+
+Exhibit A - Source Code Form License Notice
+-------------------------------------------
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+If it is not possible or desirable to put the notice in a particular
+file, then You may include the notice in a location (such as a LICENSE
+file in a relevant directory) where a recipient would be likely to look
+for such a notice.
+
+You may add additional accurate notices of copyright ownership.
+
+Exhibit B - "Incompatible With Secondary Licenses" Notice
+---------------------------------------------------------
+
+ This Source Code Form is "Incompatible With Secondary Licenses", as
+ defined by the Mozilla Public License, v. 2.0.
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..2c14c4c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,39 @@
+TITLE=basque
+
+# \
+!ifndef 0 # \
+# nmake: \
+CP=copy # \
+MV=move # \
+RM=del # \
+SOURCE=source\$(TITLE).c # \
+LIBS=-I C:\INCLUDE -L C:\INCLUDE\SDL2 -l SDL2.lib -l SDL2main.lib -l SDL2_image.lib -l SDL2_mixer.lib -l SDL2_ttf.lib -Xlinker /SUBSYSTEM:WINDOWS # \
+TARGET=-o $(TITLE).exe # \
+!else
+# make:
+CP=cp -f
+MV=mv -f
+RM=rm -f
+SDL2_FLAGS=`$$(which sdl2-config) --cflags --libs`
+SOURCE=source/$(TITLE).c
+LIBS=$(SDL2_FLAGS) -l SDL2_image -l SDL2_mixer -l SDL2_ttf
+TARGET=-o $(TITLE)
+# \
+!endif
+
+FLAGS=-Wall -Wextra -std=c99
+# FLAGS=-Wall -Wextra -Wno-unused-parameter -std=c99
+RELEASE=$(CC) $(SOURCE) $(FLAGS) $(LIBS) $(TARGET)
+
+$(TITLE): source/*.c source/*.h
+ $(RELEASE)
+# Windows will automatically overwrite
+# the binary when using `nmake`, but
+# we add the clean command for
+# people who like that kind
+# of thing.
+clean:
+ $(RM) $(TITLE)
+ $(RM) $(TITLE).exe
+debug: source/*.c source/*.h
+ $(RELEASE) -g
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..85a0f68
--- /dev/null
+++ b/README.md
@@ -0,0 +1,74 @@
+# Basque
+
+Basque is a top down 2d game engine.
+
+### Basque currently requires:
+
+- SDL2
+- SDL2_image
+- SDL2_mixer
+- SDL2_ttf
+
+---
+
+#### Global keyboard shortcuts:
+
+↑: Move player North
+
+→: Move player East
+
+↓: Move player South
+
+←: Move player West
+
+q: Quit
+
+e: Toggle edit mode
+
+#### Edit mode shortcuts:
+
+l: Toggle map library
+
+Mouse button 1 (left click): Place tile
+
+Mouse button 2 (right click): Select tile
+
+---
+
+### Getting SDL2 installed:
+
+#### Linux:
+
+##### apt:
+
+```
+sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev
+```
+
+##### dnf:
+
+```
+sudo dnf install SDL2-devel SDL2_image-devel SDL2_mixer-devel SDL2_ttf-devel
+```
+
+Or whatever the equivalent package is for your distro.
+
+#### Mac:
+
+```
+brew install sdl2 sdl2_image sdl2_mixer sdl2_ttf
+```
+
+#### Windows:
+
+1. Download the latest VC development files from: https://libsdl.org
+
+2. Place the entire contents of `include` and `lib` under `C:\INCLUDE\SDL2`.
+
+3. Copy all DLLs under `lib` to `C:\Windows\System32` and `C:\Windows\SysWOW64`.
+
+4. Repeat for _SDL2_image_, _SDL2_mixer_, and _SDL2_ttf_.
+
+5. Profit.
+
+---
diff --git a/TODO.txt b/TODO.txt
new file mode 100644
index 0000000..ace7c66
--- /dev/null
+++ b/TODO.txt
@@ -0,0 +1,52 @@
+x ) Get compilation on Lin/Mac/Win working.
+x ) Get portion of sprite sheet rendering on screen.
+x ) Fix sprite animations.
+x ) Add bounds checking to keep the player from walking off the screen.
+x ) Draw background.
+x ) Add scrolling of perspective as player moves.
+x ) Generate background map from tileset.
+x ) Improve map rendering so that player position can be tied to tile in X/Y space.
+x ) Only reload `map_layout.txt` if file timestamp is newer.
+x ) Improve collision detection.
+x ) Hot load tile attributes.
+x ) Add music.
+x ) Get scrolling working (again).
+x ) Detect collision on ticks instead of on input.
+
+) Map editor!
+ x ) Find out why empty columns are not being outlined.
+ x ) Draw grid on current screen that shows each tile separated.
+ x ) Show number of all tiles.
+ x ) Allow mouse to place a tile.
+ x ) Allow mouse to clear a tile.
+ x ) Fix mouse positioning.
+ x ) Display library or reference map.
+ x ) Display map library at 0, 0 point on current window.
+ x ) Investigate seg fault after placing a few tiles.
+ x ) Improve font outline for tile labels.
+ x ) Improve border color/thickness, if not showing actual width.
+ x ) Allow a new row to be added to (and existing rows).
+ x ) Investigate tile display corruption starting at row 26 for tiles that are greater than 9.
+ x ) Bulk add tiles (this kind of already works on empty rows, but it is filled with weirdness).
+ x ) Cannot bulk fill tiles on newlines ... cannot create newlines?
+ x ) Investigate random segfaults at bounds of map.
+
+ ) Add a way to delete tiles.
+ ) Implement undo/redo functionality.
+
+x ) Add fullscreen support.
+x ) Lock file writing in the map editor, so we don't get race conditions if the user clicks too quickly.
+
+) Improve scrolling, it doesn't move at the right pace (build out a larger map to demo the issue).
+) Allow the frame rate to be capped.
+) Expand the map.
+) Decide whether to look around all tiles for collisions or to expand border attributes for tiles.
+) Add ball.
+) Add NPC.
+) Add dynamic window sizing.
+
+
+----------------------------------------------------------
+
+Maybes:
+) (Map editor) Draw border to match tile attributes?
diff --git a/assets/audio/Basque_sample_music.ogg b/assets/audio/Basque_sample_music.ogg
new file mode 100644
index 0000000..f4d5d8c
Binary files /dev/null and b/assets/audio/Basque_sample_music.ogg differ
diff --git a/assets/data/map_attributes.txt b/assets/data/map_attributes.txt
new file mode 100644
index 0000000..870a71a
--- /dev/null
+++ b/assets/data/map_attributes.txt
@@ -0,0 +1,217 @@
+// This is the top border section.
+0:
+{ 0, 0 }, { 1, 0, 0, 1 }, 0,
+
+1:
+{ *1, 0 }, { 1, 0, 0, 0 }, 0,
+
+2:
+{ *2, 0 }, { 1, 0, 0, 0 }, 0,
+
+3:
+{ *3, 0 }, { 1, 0, 0, 0 }, 0,
+
+4:
+{ *4, 0 }, { 1, 0, 0, 0 }, 0,
+
+5:
+{ *5, 0 }, { 1, 1, 0, 0 }, 0,
+
+6:
+{ *6, 0 }, { 1, 0, 0, 0 }, 0,
+
+7:
+{ *7, 0 }, { 1, 0, 0, 0 }, 0,
+
+8:
+{ *8, 0 }, { 1, 0, 0, 0 }, 0,
+
+9:
+{ *9, 0 }, { 0, 0, 1, 0 }, 0,
+
+10:
+{ *10, 0 }, { 0, 0, 1, 0 }, 0,
+
+11:
+{ *11, 0 }, { 0, 0, 1, 0 }, 0,
+
+12:
+{ 0, *1 }, { 0, 0, 0, 1 }, 0,
+
+13:
+{ *1, *1 }, { 0, 0, 0, 0 }, 0,
+
+14:
+{ *2, *1 }, { 0, 0, 2, 0 }, 0,
+
+15:
+{ *3, *1 }, { 0, 0, 0, 0 }, 0,
+
+16:
+{ *4, *1 }, { 0, 0, 0, 0 }, 0,
+
+17:
+{ *5, *1 }, { 0, 1, 0, 0 }, 0,
+
+18:
+{ *6, *1 }, { 0, 0, 0, 0 }, 0,
+
+19:
+{ *7, *1 }, { 0, 0, 0, 0 }, 0,
+
+20:
+{ *8, *1 }, { 0, 0, 0, 0 }, 0,
+
+21:
+{ *9, *1 }, { 0, 0, 0, 0 }, 0,
+
+22:
+{ *10, *1 }, { 0, 0, 0, 0 }, 0,
+
+23:
+{ *11, *1 }, { 0, 0, 0, 0 }, 0,
+
+24:
+{ 0, *2 }, { 0, 0, 0, 1 }, 0,
+
+25:
+{ *1, *2 }, { 0, 1, 0, 0 }, 0,
+
+26:
+{ *2, *2 }, { 1, 1, 1, 1 }, 0,
+
+27:
+{ *3, *2 }, { 0, 0, 0, 1 }, 0,
+
+28:
+{ *4, *2 }, { 0, 0, 0, 0 }, 0,
+
+29:
+{ *5, *2 }, { 0, 1, 0, 0 }, 0,
+
+30:
+{ *6, *2 }, { 0, 0, 0, 0 }, 0,
+
+31:
+{ *7, *2 }, { 0, 0, 0, 0 }, 0,
+
+32:
+{ *8, *2 }, { 0, 0, 0, 0 }, 0,
+
+33:
+{ *9, *2 }, { 0, 0, 0, 0 }, 0,
+
+34:
+{ *10, *2 }, { 0, 0, 0, 0 }, 0,
+
+35:
+{ *11, *2 }, { 0, 0, 0, 0 }, 0,
+
+36:
+{ 0, *3 }, { 0, 0, 0, 1 }, 0,
+
+37:
+{ *1, *3 }, { 0, 0, 0, 0 }, 0,
+
+38:
+{ *2, *3 }, { 1, 0, 0, 0 }, 0,
+
+39:
+{ *3, *3 }, { 0, 0, 0, 0 }, 0,
+
+40:
+{ *4, *3 }, { 0, 0, 0, 0 }, 0,
+
+41:
+{ *5, *3 }, { 0, 1, 0, 0 }, 0,
+
+42:
+{ *6, *3 }, { 0, 0, 0, 0 }, 0,
+
+43:
+{ *7, *3 }, { 0, 0, 0, 0 }, 0,
+
+44:
+{ *8, *3 }, { 0, 0, 0, 0 }, 0,
+
+45:
+{ *9, *3 }, { 0, 0, 0, 0 }, 0,
+
+46:
+{ *10, *3 }, { 0, 0, 0, 0 }, 0,
+
+47:
+{ *11, *3 }, { 0, 0, 0, 0 }, 0,
+
+48:
+{ 0, *4 }, { 0, 0, 1, 1 }, 0,
+
+49:
+{ *1, *4 }, { 0, 0, 1, 0 }, 0,
+
+50:
+{ *2, *4 }, { 0, 0, 1, 0 }, 0,
+
+51:
+{ *3, *4 }, { 0, 0, 1, 0 }, 0,
+
+52:
+{ *4, *4 }, { 0, 0, 1, 0 }, 0,
+
+53:
+{ *5, *4 }, { 0, 1, 1, 0 }, 0,
+
+54:
+{ *6, *4 }, { 0, 0, 1, 0 }, 0,
+
+55:
+{ *7, *4 }, { 0, 0, 1, 0 }, 0,
+
+56:
+{ *8, *4 }, { 0, 0, 1, 0 }, 0,
+
+57:
+{ *9, *4 }, { 0, 0, 1, 0 }, 0,
+
+58:
+{ *10, *4 }, { 0, 0, 1, 0 }, 0,
+
+59:
+{ *11, *4 }, { 0, 0, 0, 0 }, 0,
+
+60:
+{ 0, *5 }, { 0, 0, 0, 0 }, 0,
+
+61:
+{ *1, *5 }, { 0, 0, 0, 0 }, 0,
+
+62:
+{ *2, *5 }, { 0, 0, 0, 0 }, 0,
+
+63:
+{ *3, *5 }, { 0, 0, 0, 0 }, 0,
+
+64:
+{ *4, *5 }, { 0, 0, 0, 0 }, 0,
+
+65:
+{ *5, *5 }, { 0, 0, 0, 0 }, 0,
+
+66:
+{ *6, *5 }, { 0, 0, 0, 0 }, 0,
+
+67:
+{ *7, *5 }, { 0, 0, 0, 0 }, 0,
+
+68:
+{ *8, *5 }, { 0, 0, 0, 0 }, 0,
+
+69:
+{ *9, *5 }, { 0, 0, 0, 0 }, 0,
+
+70:
+{ *10, *5 }, { 0, 0, 0, 0 }, 0,
+
+71:
+{ *11, *5 }, { 0, 0, 0, 0 }, 0,
+
diff --git a/assets/data/map_layout.txt b/assets/data/map_layout.txt
new file mode 100644
index 0000000..f20d079
--- /dev/null
+++ b/assets/data/map_layout.txt
@@ -0,0 +1,35 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 16, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
diff --git a/assets/data/map_layout_0.txt b/assets/data/map_layout_0.txt
new file mode 100644
index 0000000..c3a2e63
--- /dev/null
+++ b/assets/data/map_layout_0.txt
@@ -0,0 +1,35 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, _, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 16, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
diff --git a/assets/data/map_layout_1.txt b/assets/data/map_layout_1.txt
new file mode 100644
index 0000000..9c5ebb2
--- /dev/null
+++ b/assets/data/map_layout_1.txt
@@ -0,0 +1,37 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 16, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
diff --git a/assets/data/map_layout_10.txt b/assets/data/map_layout_10.txt
new file mode 100644
index 0000000..bb7a987
--- /dev/null
+++ b/assets/data/map_layout_10.txt
@@ -0,0 +1,45 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 51, 52, 53
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_11.txt b/assets/data/map_layout_11.txt
new file mode 100644
index 0000000..5ac7b77
--- /dev/null
+++ b/assets/data/map_layout_11.txt
@@ -0,0 +1,46 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 51, 52, 53
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_12.txt b/assets/data/map_layout_12.txt
new file mode 100644
index 0000000..7c190bb
--- /dev/null
+++ b/assets/data/map_layout_12.txt
@@ -0,0 +1,47 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_13.txt b/assets/data/map_layout_13.txt
new file mode 100644
index 0000000..b4232e1
--- /dev/null
+++ b/assets/data/map_layout_13.txt
@@ -0,0 +1,48 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_14.txt b/assets/data/map_layout_14.txt
new file mode 100644
index 0000000..f45c306
--- /dev/null
+++ b/assets/data/map_layout_14.txt
@@ -0,0 +1,49 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_15.txt b/assets/data/map_layout_15.txt
new file mode 100644
index 0000000..b0205c1
--- /dev/null
+++ b/assets/data/map_layout_15.txt
@@ -0,0 +1,50 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_16.txt b/assets/data/map_layout_16.txt
new file mode 100644
index 0000000..78fd8d7
--- /dev/null
+++ b/assets/data/map_layout_16.txt
@@ -0,0 +1,50 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 16, 16, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_17.txt b/assets/data/map_layout_17.txt
new file mode 100644
index 0000000..4315696
--- /dev/null
+++ b/assets/data/map_layout_17.txt
@@ -0,0 +1,57 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 16, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 22, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 22, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 22, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_18.txt b/assets/data/map_layout_18.txt
new file mode 100644
index 0000000..4315696
--- /dev/null
+++ b/assets/data/map_layout_18.txt
@@ -0,0 +1,57 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 16, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 22, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 22, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 22, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_19.txt b/assets/data/map_layout_19.txt
new file mode 100644
index 0000000..d455408
--- /dev/null
+++ b/assets/data/map_layout_19.txt
@@ -0,0 +1,58 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 16, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 22, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 22, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_2.txt b/assets/data/map_layout_2.txt
new file mode 100644
index 0000000..96aafcd
--- /dev/null
+++ b/assets/data/map_layout_2.txt
@@ -0,0 +1,38 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
diff --git a/assets/data/map_layout_20.txt b/assets/data/map_layout_20.txt
new file mode 100644
index 0000000..8584008
--- /dev/null
+++ b/assets/data/map_layout_20.txt
@@ -0,0 +1,59 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 16, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 22, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_21.txt b/assets/data/map_layout_21.txt
new file mode 100644
index 0000000..8584008
--- /dev/null
+++ b/assets/data/map_layout_21.txt
@@ -0,0 +1,59 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 16, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 22, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_22.txt b/assets/data/map_layout_22.txt
new file mode 100644
index 0000000..ae78e37
--- /dev/null
+++ b/assets/data/map_layout_22.txt
@@ -0,0 +1,60 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 16, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_23.txt b/assets/data/map_layout_23.txt
new file mode 100644
index 0000000..5bfeb8e
--- /dev/null
+++ b/assets/data/map_layout_23.txt
@@ -0,0 +1,81 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_24.txt b/assets/data/map_layout_24.txt
new file mode 100644
index 0000000..39abf69
--- /dev/null
+++ b/assets/data/map_layout_24.txt
@@ -0,0 +1,82 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_25.txt b/assets/data/map_layout_25.txt
new file mode 100644
index 0000000..830c012
--- /dev/null
+++ b/assets/data/map_layout_25.txt
@@ -0,0 +1,83 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_26.txt b/assets/data/map_layout_26.txt
new file mode 100644
index 0000000..d6c0f13
--- /dev/null
+++ b/assets/data/map_layout_26.txt
@@ -0,0 +1,84 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 1, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_27.txt b/assets/data/map_layout_27.txt
new file mode 100644
index 0000000..036e72d
--- /dev/null
+++ b/assets/data/map_layout_27.txt
@@ -0,0 +1,85 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_28.txt b/assets/data/map_layout_28.txt
new file mode 100644
index 0000000..8952b84
--- /dev/null
+++ b/assets/data/map_layout_28.txt
@@ -0,0 +1,86 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_29.txt b/assets/data/map_layout_29.txt
new file mode 100644
index 0000000..3bc3c5a
--- /dev/null
+++ b/assets/data/map_layout_29.txt
@@ -0,0 +1,87 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_3.txt b/assets/data/map_layout_3.txt
new file mode 100644
index 0000000..3c8d5d5
--- /dev/null
+++ b/assets/data/map_layout_3.txt
@@ -0,0 +1,39 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
diff --git a/assets/data/map_layout_30.txt b/assets/data/map_layout_30.txt
new file mode 100644
index 0000000..ad151d0
--- /dev/null
+++ b/assets/data/map_layout_30.txt
@@ -0,0 +1,88 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_31.txt b/assets/data/map_layout_31.txt
new file mode 100644
index 0000000..ad151d0
--- /dev/null
+++ b/assets/data/map_layout_31.txt
@@ -0,0 +1,88 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_32.txt b/assets/data/map_layout_32.txt
new file mode 100644
index 0000000..3b27758
--- /dev/null
+++ b/assets/data/map_layout_32.txt
@@ -0,0 +1,89 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_33.txt b/assets/data/map_layout_33.txt
new file mode 100644
index 0000000..3b27758
--- /dev/null
+++ b/assets/data/map_layout_33.txt
@@ -0,0 +1,89 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_34.txt b/assets/data/map_layout_34.txt
new file mode 100644
index 0000000..296dbb0
--- /dev/null
+++ b/assets/data/map_layout_34.txt
@@ -0,0 +1,90 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_35.txt b/assets/data/map_layout_35.txt
new file mode 100644
index 0000000..fb0cd5e
--- /dev/null
+++ b/assets/data/map_layout_35.txt
@@ -0,0 +1,91 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_36.txt b/assets/data/map_layout_36.txt
new file mode 100644
index 0000000..fb0cd5e
--- /dev/null
+++ b/assets/data/map_layout_36.txt
@@ -0,0 +1,91 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_37.txt b/assets/data/map_layout_37.txt
new file mode 100644
index 0000000..381c582
--- /dev/null
+++ b/assets/data/map_layout_37.txt
@@ -0,0 +1,92 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_38.txt b/assets/data/map_layout_38.txt
new file mode 100644
index 0000000..6686db4
--- /dev/null
+++ b/assets/data/map_layout_38.txt
@@ -0,0 +1,92 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_39.txt b/assets/data/map_layout_39.txt
new file mode 100644
index 0000000..9cecc60
--- /dev/null
+++ b/assets/data/map_layout_39.txt
@@ -0,0 +1,93 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_4.txt b/assets/data/map_layout_4.txt
new file mode 100644
index 0000000..e2fa610
--- /dev/null
+++ b/assets/data/map_layout_4.txt
@@ -0,0 +1,40 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
+
diff --git a/assets/data/map_layout_40.txt b/assets/data/map_layout_40.txt
new file mode 100644
index 0000000..9cecc60
--- /dev/null
+++ b/assets/data/map_layout_40.txt
@@ -0,0 +1,93 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_41.txt b/assets/data/map_layout_41.txt
new file mode 100644
index 0000000..95a4f74
--- /dev/null
+++ b/assets/data/map_layout_41.txt
@@ -0,0 +1,94 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_42.txt b/assets/data/map_layout_42.txt
new file mode 100644
index 0000000..0029e19
--- /dev/null
+++ b/assets/data/map_layout_42.txt
@@ -0,0 +1,95 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_43.txt b/assets/data/map_layout_43.txt
new file mode 100644
index 0000000..eed4b21
--- /dev/null
+++ b/assets/data/map_layout_43.txt
@@ -0,0 +1,96 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_44.txt b/assets/data/map_layout_44.txt
new file mode 100644
index 0000000..6361877
--- /dev/null
+++ b/assets/data/map_layout_44.txt
@@ -0,0 +1,97 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_45.txt b/assets/data/map_layout_45.txt
new file mode 100644
index 0000000..8936300
--- /dev/null
+++ b/assets/data/map_layout_45.txt
@@ -0,0 +1,98 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_46.txt b/assets/data/map_layout_46.txt
new file mode 100644
index 0000000..1799a8e
--- /dev/null
+++ b/assets/data/map_layout_46.txt
@@ -0,0 +1,99 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_47.txt b/assets/data/map_layout_47.txt
new file mode 100644
index 0000000..3fe8a52
--- /dev/null
+++ b/assets/data/map_layout_47.txt
@@ -0,0 +1,100 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_48.txt b/assets/data/map_layout_48.txt
new file mode 100644
index 0000000..aef913b
--- /dev/null
+++ b/assets/data/map_layout_48.txt
@@ -0,0 +1,101 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_49.txt b/assets/data/map_layout_49.txt
new file mode 100644
index 0000000..19e6817
--- /dev/null
+++ b/assets/data/map_layout_49.txt
@@ -0,0 +1,102 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_5.txt b/assets/data/map_layout_5.txt
new file mode 100644
index 0000000..e2fa610
--- /dev/null
+++ b/assets/data/map_layout_5.txt
@@ -0,0 +1,40 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
+
diff --git a/assets/data/map_layout_50.txt b/assets/data/map_layout_50.txt
new file mode 100644
index 0000000..70af74a
--- /dev/null
+++ b/assets/data/map_layout_50.txt
@@ -0,0 +1,103 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_51.txt b/assets/data/map_layout_51.txt
new file mode 100644
index 0000000..f696612
--- /dev/null
+++ b/assets/data/map_layout_51.txt
@@ -0,0 +1,104 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_52.txt b/assets/data/map_layout_52.txt
new file mode 100644
index 0000000..b290954
--- /dev/null
+++ b/assets/data/map_layout_52.txt
@@ -0,0 +1,105 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_53.txt b/assets/data/map_layout_53.txt
new file mode 100644
index 0000000..cfb8274
--- /dev/null
+++ b/assets/data/map_layout_53.txt
@@ -0,0 +1,106 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_54.txt b/assets/data/map_layout_54.txt
new file mode 100644
index 0000000..4c0c1e3
--- /dev/null
+++ b/assets/data/map_layout_54.txt
@@ -0,0 +1,107 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_55.txt b/assets/data/map_layout_55.txt
new file mode 100644
index 0000000..ee45b88
--- /dev/null
+++ b/assets/data/map_layout_55.txt
@@ -0,0 +1,108 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_56.txt b/assets/data/map_layout_56.txt
new file mode 100644
index 0000000..29530e8
--- /dev/null
+++ b/assets/data/map_layout_56.txt
@@ -0,0 +1,109 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_57.txt b/assets/data/map_layout_57.txt
new file mode 100644
index 0000000..74ad403
--- /dev/null
+++ b/assets/data/map_layout_57.txt
@@ -0,0 +1,110 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_58.txt b/assets/data/map_layout_58.txt
new file mode 100644
index 0000000..74ad403
--- /dev/null
+++ b/assets/data/map_layout_58.txt
@@ -0,0 +1,110 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_59.txt b/assets/data/map_layout_59.txt
new file mode 100644
index 0000000..03282e9
--- /dev/null
+++ b/assets/data/map_layout_59.txt
@@ -0,0 +1,111 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_6.txt b/assets/data/map_layout_6.txt
new file mode 100644
index 0000000..4c2aa8c
--- /dev/null
+++ b/assets/data/map_layout_6.txt
@@ -0,0 +1,41 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_60.txt b/assets/data/map_layout_60.txt
new file mode 100644
index 0000000..07500c1
--- /dev/null
+++ b/assets/data/map_layout_60.txt
@@ -0,0 +1,112 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_61.txt b/assets/data/map_layout_61.txt
new file mode 100644
index 0000000..23cf74a
--- /dev/null
+++ b/assets/data/map_layout_61.txt
@@ -0,0 +1,113 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_62.txt b/assets/data/map_layout_62.txt
new file mode 100644
index 0000000..11d3992
--- /dev/null
+++ b/assets/data/map_layout_62.txt
@@ -0,0 +1,114 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_63.txt b/assets/data/map_layout_63.txt
new file mode 100644
index 0000000..4aaf8e5
--- /dev/null
+++ b/assets/data/map_layout_63.txt
@@ -0,0 +1,115 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_64.txt b/assets/data/map_layout_64.txt
new file mode 100644
index 0000000..db5882b
--- /dev/null
+++ b/assets/data/map_layout_64.txt
@@ -0,0 +1,116 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_65.txt b/assets/data/map_layout_65.txt
new file mode 100644
index 0000000..cce8762
--- /dev/null
+++ b/assets/data/map_layout_65.txt
@@ -0,0 +1,117 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_66.txt b/assets/data/map_layout_66.txt
new file mode 100644
index 0000000..3d194a4
--- /dev/null
+++ b/assets/data/map_layout_66.txt
@@ -0,0 +1,118 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_67.txt b/assets/data/map_layout_67.txt
new file mode 100644
index 0000000..62e94c5
--- /dev/null
+++ b/assets/data/map_layout_67.txt
@@ -0,0 +1,119 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_68.txt b/assets/data/map_layout_68.txt
new file mode 100644
index 0000000..5e480dd
--- /dev/null
+++ b/assets/data/map_layout_68.txt
@@ -0,0 +1,120 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_69.txt b/assets/data/map_layout_69.txt
new file mode 100644
index 0000000..1c2ed7e
--- /dev/null
+++ b/assets/data/map_layout_69.txt
@@ -0,0 +1,121 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, _, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_7.txt b/assets/data/map_layout_7.txt
new file mode 100644
index 0000000..9fe58b2
--- /dev/null
+++ b/assets/data/map_layout_7.txt
@@ -0,0 +1,42 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_70.txt b/assets/data/map_layout_70.txt
new file mode 100644
index 0000000..d270cca
--- /dev/null
+++ b/assets/data/map_layout_70.txt
@@ -0,0 +1,122 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_71.txt b/assets/data/map_layout_71.txt
new file mode 100644
index 0000000..d270cca
--- /dev/null
+++ b/assets/data/map_layout_71.txt
@@ -0,0 +1,122 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_72.txt b/assets/data/map_layout_72.txt
new file mode 100644
index 0000000..4b87468
--- /dev/null
+++ b/assets/data/map_layout_72.txt
@@ -0,0 +1,123 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_73.txt b/assets/data/map_layout_73.txt
new file mode 100644
index 0000000..bc225c3
--- /dev/null
+++ b/assets/data/map_layout_73.txt
@@ -0,0 +1,124 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_74.txt b/assets/data/map_layout_74.txt
new file mode 100644
index 0000000..21ccba3
--- /dev/null
+++ b/assets/data/map_layout_74.txt
@@ -0,0 +1,125 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_75.txt b/assets/data/map_layout_75.txt
new file mode 100644
index 0000000..c3bf5d3
--- /dev/null
+++ b/assets/data/map_layout_75.txt
@@ -0,0 +1,126 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_76.txt b/assets/data/map_layout_76.txt
new file mode 100644
index 0000000..c7c0a76
--- /dev/null
+++ b/assets/data/map_layout_76.txt
@@ -0,0 +1,127 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_77.txt b/assets/data/map_layout_77.txt
new file mode 100644
index 0000000..b8045c9
--- /dev/null
+++ b/assets/data/map_layout_77.txt
@@ -0,0 +1,127 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_78.txt b/assets/data/map_layout_78.txt
new file mode 100644
index 0000000..463dcf9
--- /dev/null
+++ b/assets/data/map_layout_78.txt
@@ -0,0 +1,128 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_79.txt b/assets/data/map_layout_79.txt
new file mode 100644
index 0000000..463dcf9
--- /dev/null
+++ b/assets/data/map_layout_79.txt
@@ -0,0 +1,128 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_8.txt b/assets/data/map_layout_8.txt
new file mode 100644
index 0000000..ba62453
--- /dev/null
+++ b/assets/data/map_layout_8.txt
@@ -0,0 +1,43 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 53
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_80.txt b/assets/data/map_layout_80.txt
new file mode 100644
index 0000000..2b24243
--- /dev/null
+++ b/assets/data/map_layout_80.txt
@@ -0,0 +1,129 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_81.txt b/assets/data/map_layout_81.txt
new file mode 100644
index 0000000..8739441
--- /dev/null
+++ b/assets/data/map_layout_81.txt
@@ -0,0 +1,130 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_82.txt b/assets/data/map_layout_82.txt
new file mode 100644
index 0000000..49850af
--- /dev/null
+++ b/assets/data/map_layout_82.txt
@@ -0,0 +1,131 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_83.txt b/assets/data/map_layout_83.txt
new file mode 100644
index 0000000..4f8e7b2
--- /dev/null
+++ b/assets/data/map_layout_83.txt
@@ -0,0 +1,132 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_84.txt b/assets/data/map_layout_84.txt
new file mode 100644
index 0000000..3e187ac
--- /dev/null
+++ b/assets/data/map_layout_84.txt
@@ -0,0 +1,133 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_85.txt b/assets/data/map_layout_85.txt
new file mode 100644
index 0000000..4ff20e8
--- /dev/null
+++ b/assets/data/map_layout_85.txt
@@ -0,0 +1,134 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_86.txt b/assets/data/map_layout_86.txt
new file mode 100644
index 0000000..3439ad6
--- /dev/null
+++ b/assets/data/map_layout_86.txt
@@ -0,0 +1,135 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 16, 28, 16, 16, 17, _
+ 48, 15, 16, 28, 28, 16, 37, 1, 2, 5, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_9.txt b/assets/data/map_layout_9.txt
new file mode 100644
index 0000000..5194f85
--- /dev/null
+++ b/assets/data/map_layout_9.txt
@@ -0,0 +1,44 @@
+ 0, 1, 2, 3, 4, 1, 5, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 16, 16, 16, 16, 17, _
+ 27, 16, 28, 28, 16, 16, 17, _
+ 27, 16, 28, 28, 28, 16, 17, _
+ 27, 16, 28, 16, 28, 16, 17, _
+ 48, 15, 16, 16, 28, 28, 37, 1, 2, 5, _
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 28, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 28, 16, 17
+ _, 27, 16, 16, 16, 28, 16, 16, 16, 17
+ _, 27, 16, 28, 28, 28, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 17
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, 48, 49, 15, 28, 16, 16, 16, 17
+ _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 5
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 37, 1, 1, 1, 1, 1, 1, 1, 1, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 28, 16, 16, 16, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 50, 50, 50, 50, 50, 50, 50, 15, 16, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 50, 15, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 37, 5
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 16, 17
+ _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, 12, 16, 52, 53
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/data/map_layout_99.txt b/assets/data/map_layout_99.txt
new file mode 100644
index 0000000..bd6bee9
--- /dev/null
+++ b/assets/data/map_layout_99.txt
@@ -0,0 +1,25 @@
+ 0, 1, 2, 3, 4, 1, 5
+ 27, 16, 16, 16, 16, 16, 17, _, _, _, _
+ 27, 16, 16, 16, 16, 16, 17, _, _, _, _, _, _
+ 27, 16, 28, 28, 16, 16, 17, _, _, _, _
+ 27, 16, 28, 28, 16, 16, 17, _, _, _, _
+ 27, 16, 16, 28, 16, 16, 17, _, _, _, _
+ 48, 15, 16, 16, 28, 16, 37, 1, 2, 5, _, _, _, _, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 48, 49, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 16, 16, 16, 16, 16, 16
diff --git a/assets/data/map_layout_998.txt b/assets/data/map_layout_998.txt
new file mode 100644
index 0000000..1fb33e1
--- /dev/null
+++ b/assets/data/map_layout_998.txt
@@ -0,0 +1,4 @@
+ 0, 1, 2, 3, 4, 1, 5
+ 27, 16, 16, 16, 16, 16, 17
+ 27, 16, 16, 16, 17, 16, 17
+ 17, 17, 17, 17, 17, 17, 17
diff --git a/assets/data/map_layout_999.txt b/assets/data/map_layout_999.txt
new file mode 100644
index 0000000..bd6bee9
--- /dev/null
+++ b/assets/data/map_layout_999.txt
@@ -0,0 +1,25 @@
+ 0, 1, 2, 3, 4, 1, 5
+ 27, 16, 16, 16, 16, 16, 17, _, _, _, _
+ 27, 16, 16, 16, 16, 16, 17, _, _, _, _, _, _
+ 27, 16, 28, 28, 16, 16, 17, _, _, _, _
+ 27, 16, 28, 28, 16, 16, 17, _, _, _, _
+ 27, 16, 16, 28, 16, 16, 17, _, _, _, _
+ 48, 15, 16, 16, 28, 16, 37, 1, 2, 5, _, _, _, _, _
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 28, 16, 17
+ _, 27, 16, 16, 28, 16, 16, 16, 16, 17
+ _, 27, 16, 28, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 16, 16, 16, 17
+ _, 27, 16, 16, 16, 16, 28, 16, 16, 17
+ _, 48, 15, 28, 28, 28, 28, 16, 16, 17
+ _, _, 27, 16, 16, 28, 28, 16, 16, 37, 1, 5
+ _, _, 48, 49, 50, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 27, 16, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, 48, 49, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, 48, 15, 16, 28, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, 48, 15, 16, 16, 16, 16, 16
+ _, _, _, _, _, _, _, _, _, _, _, 48, 16, 16, 16, 16, 16, 16
diff --git a/assets/data/map_library.txt b/assets/data/map_library.txt
new file mode 100644
index 0000000..83f0fcc
--- /dev/null
+++ b/assets/data/map_library.txt
@@ -0,0 +1,13 @@
+ 0, 1, 2, 3, 4, 5
+ 12, 13, 14, 15, 16, 17
+ 24, 25, 26, 27, 28, 29
+ 36, 37, 38, 39, 40, 41
+ 48, 49, 50, 51, 52, 53
+ 60, 61, 62, 63, 64, 65
+ _,
+ 6, 7, 8, 9, 10, 11
+ 18, 19, 20, 21, 22, 23
+ 30, 31, 32, 33, 34, 35
+ 42, 43, 44, 45, 46, 47
+ 54, 55, 56, 57, 58, 59
+ 66, 67, 68, 69, 70, 71
diff --git a/assets/fonts/BPtypewrite.ttf b/assets/fonts/BPtypewrite.ttf
new file mode 100644
index 0000000..0ec8d61
Binary files /dev/null and b/assets/fonts/BPtypewrite.ttf differ
diff --git a/assets/fonts/backpacker_license.pdf b/assets/fonts/backpacker_license.pdf
new file mode 100644
index 0000000..a2f44a3
Binary files /dev/null and b/assets/fonts/backpacker_license.pdf differ
diff --git a/assets/images/character.png b/assets/images/character.png
new file mode 100644
index 0000000..7844b62
Binary files /dev/null and b/assets/images/character.png differ
diff --git a/assets/images/tiles_packed.png b/assets/images/tiles_packed.png
new file mode 100644
index 0000000..de8720d
Binary files /dev/null and b/assets/images/tiles_packed.png differ
diff --git a/cloc_it.cmd b/cloc_it.cmd
new file mode 100644
index 0000000..a236f22
--- /dev/null
+++ b/cloc_it.cmd
@@ -0,0 +1 @@
+cloc --md --report-file=line_count.md source
diff --git a/line_count.md b/line_count.md
new file mode 100644
index 0000000..bfa1f1e
--- /dev/null
+++ b/line_count.md
@@ -0,0 +1,9 @@
+cloc|github.com/AlDanial/cloc v 1.84 T=0.50 s (14.0 files/s, 2662.0 lines/s)
+--- | ---
+
+Language|files|blank|comment|code
+:-------|-------:|-------:|-------:|-------:
+C/C++ Header|6|203|142|965
+C|1|5|5|11
+--------|--------|--------|--------|--------
+SUM:|7|208|147|976
diff --git a/source/basque.c b/source/basque.c
new file mode 100644
index 0000000..ed88124
--- /dev/null
+++ b/source/basque.c
@@ -0,0 +1,21 @@
+#include "initialization.h"
+
+int main(int argc, char* argv[])
+{
+ // Fake out the 'unused' parameters so that
+ // Clang does not complain. We do
+ // actually need these for
+ // Windows since SDL_main
+ // uses them.
+ (void)argc;
+ (void)argv;
+
+ memset(&app, 0, sizeof(App));
+ memset(&game, 0, sizeof(GameState));
+
+ init();
+
+ atexit(cleanup);
+
+ return 0;
+}
diff --git a/source/configuration.h b/source/configuration.h
new file mode 100644
index 0000000..5594add
--- /dev/null
+++ b/source/configuration.h
@@ -0,0 +1,52 @@
+#define GAME_TITLE "Basque"
+#define DEBUG_MODE 1
+#define SCREEN_HEIGHT 680
+#define SCREEN_WIDTH 880
+
+#define PLAYER_SPRITE_HEIGHT 28
+#define PLAYER_SPRITE_WIDTH 16
+#define PLAYER_SPRITE_ROW_HEIGHT 32
+#define PLAYER_SPRITE_COLUMN_WIDTH 16
+
+#define TILE_SPRITE_HEIGHT 16
+#define TILE_SPRITE_WIDTH 16
+#define TILE_CHAR_LIMIT 4
+
+#define SCALING 3
+
+#define TXT_EXTENSION ".txt"
+#define ASSETS_DIR "assets/"
+#define DATA_DIR ASSETS_DIR "data/"
+#define IMAGE_DIR ASSETS_DIR "images/"
+#define AUDIO_DIR ASSETS_DIR "audio/"
+#define FONT_DIR ASSETS_DIR "fonts/"
+
+#define MAP_LAYOUT_FILE_BASE DATA_DIR "map_layout"
+#define MAP_LAYOUT_FILE MAP_LAYOUT_FILE_BASE TXT_EXTENSION
+#define MAP_LAYOUT_FILE_LIMIT 99
+#define MAP_LOCK_FILE DATA_DIR "__MAP__._LOCK_"
+#define MAP_LIBRARY_FILE DATA_DIR "map_library" TXT_EXTENSION
+#define MAP_ATTRIBUTES_FILE DATA_DIR "map_attributes" TXT_EXTENSION
+#define PLAYER_IMAGE IMAGE_DIR "character.png"
+#define BACKGROUND_IMAGE IMAGE_DIR "tiles_packed.png"
+
+#define MUSIC_INTRO_FILE AUDIO_DIR "Basque_sample_music.ogg"
+#define MUSIC_VOLUME (MIX_MAX_VOLUME / 2)
+
+#define EDITOR_FONT FONT_DIR "BPtypewrite.ttf"
+#define EDITOR_FONT_SIZE 11
+#define EDITOR_FONT_OUTLINE 2
+#define EDITOR_FONT_DEST_SIZE_H 5
+#define EDITOR_FONT_DEST_SIZE_W 5
+
+#define NUMBER_OF_TILES 500
+
+#define GAME_LOOP_DELAY 20
+
+#define EMPTY_COLUMN -1
+#define END_OF_ROW -2
+
+#define PLAYER_INCREMENT 1
+#define GLOBAL_INCREMENT (PLAYER_INCREMENT * 3)
+
+#define FRAME_INTERVAL_REDUCTION 30
diff --git a/source/initialization.h b/source/initialization.h
new file mode 100644
index 0000000..b6ff938
--- /dev/null
+++ b/source/initialization.h
@@ -0,0 +1,157 @@
+#include "mechanics.h"
+
+GameState game;
+App app;
+
+void cleanup(void)
+{
+
+ if (app.renderer) {
+ SDL_DestroyRenderer(app.renderer);
+ }
+ if (app.window) {
+ SDL_DestroyWindow(app.window);
+ }
+
+ if (game.player_image) {
+ SDL_DestroyTexture(game.player_image);
+ }
+ if (game.background_image) {
+ SDL_DestroyTexture(game.background_image);
+ }
+ if (game.music) {
+ Mix_FreeMusic(game.music);
+ }
+ if (game.font) {
+ TTF_CloseFont(game.font);
+ }
+
+ IMG_Quit();
+ Mix_CloseAudio();
+ TTF_Quit();
+ SDL_Quit();
+}
+
+#define create_outlined_font(game, map_tile_str, font_outline_surface, font_surface, font_outline_color, font_color, font_rect) \
+ { \
+ \
+ font_outline_surface = TTF_RenderText_Blended(game.font_outline, map_tile_str, font_outline_color); \
+ font_surface = TTF_RenderText_Blended(game.font, map_tile_str, font_color); \
+ font_rect.x = EDITOR_FONT_OUTLINE; \
+ font_rect.y = EDITOR_FONT_OUTLINE; \
+ font_rect.w = font_surface->w; \
+ font_rect.h = font_surface->h; \
+ \
+ SDL_SetSurfaceBlendMode(font_surface, SDL_BLENDMODE_BLEND); \
+ SDL_BlitSurface(font_surface, NULL, font_outline_surface, &font_rect); \
+ }
+
+int init()
+{
+ if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO) == 0) {
+ app.window = SDL_CreateWindow(GAME_TITLE, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, (int)SCREEN_WIDTH, (int)SCREEN_HEIGHT, 0);
+
+ if (app.window != NULL) {
+ app.renderer = SDL_CreateRenderer(app.window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);
+ // app.renderer = SDL_CreateRenderer(app.window, -1, SDL_RENDERER_ACCELERATED);
+
+ if (app.renderer != NULL) {
+
+ // @TODO:
+ // It'd be nice to get the screen width dynamically, in case it changes.
+ // This will also help us handle full screen better.
+ // It's not high priority yet though.
+ // SDL_GetWindowSize(app.window, app.screen_width, app.screen_height);
+ // SDL_Log("Screen width: %i\n", app.screen_width);
+ // SDL_Log("Screen height: %i\n", app.screen_height);
+ // SDL_SetWindowFullscreen(app.window, SDL_WINDOW_FULLSCREEN);
+ // SDL_SetWindowFullscreen(app.window, SDL_WINDOW_FULLSCREEN_DESKTOP);
+ // SDL_SetWindowFullscreen(app.window, 0);
+
+ SDL_RenderSetScale(
+ app.renderer,
+ SCALING,
+ SCALING);
+ SDL_Log("Basque started with %ix scaling.", SCALING);
+ // Set initial draw color:
+ SDL_SetRenderDrawColor(app.renderer, 0, 0, 0, 0);
+
+ int flags = IMG_INIT_JPG | IMG_INIT_PNG;
+ int img_initted = IMG_Init(flags);
+ if ((img_initted & flags) != flags) {
+ SDL_LogError(SDL_LOG_CATEGORY_ERROR, "IMG_Init: %s\n", IMG_GetError());
+ }
+ if (DEBUG_MODE) {
+
+ if (TTF_Init() == 0) {
+ game.font = TTF_OpenFont(EDITOR_FONT, EDITOR_FONT_SIZE);
+ game.font_outline = TTF_OpenFont(EDITOR_FONT, EDITOR_FONT_SIZE);
+ TTF_SetFontOutline(game.font_outline, EDITOR_FONT_OUTLINE);
+
+ SDL_Color font_color = { 255, 255, 255, 255 };
+ SDL_Color font_outline_color = { 10, 10, 10, 200 };
+ SDL_Surface* font_outline_surface;
+ SDL_Surface* font_surface;
+ SDL_Rect font_rect;
+
+ char map_tile_str[TILE_CHAR_LIMIT];
+ for (int tile_index = 0; tile_index < NUMBER_OF_TILES; tile_index++) {
+ snprintf(map_tile_str, sizeof(char[TILE_CHAR_LIMIT]), "%-3i", tile_index);
+ create_outlined_font(game, map_tile_str, font_outline_surface, font_surface, font_outline_color, font_color, font_rect);
+
+ game.editor.text_surfaces[tile_index] = font_outline_surface;
+ game.editor.text_textures[tile_index] = SDL_CreateTextureFromSurface(app.renderer, game.editor.text_surfaces[tile_index]);
+ }
+
+ // Set empty column label:
+ snprintf(map_tile_str, sizeof(char[TILE_CHAR_LIMIT]), "%-3i", EMPTY_COLUMN);
+ create_outlined_font(game, map_tile_str, font_outline_surface, font_surface, font_outline_color, font_color, font_rect);
+
+ // game.editor.text_surfaces[EMPTY_COLUMN] = font_outline_surface;
+ // game.editor.text_textures[EMPTY_COLUMN] = SDL_CreateTextureFromSurface(app.renderer, game.editor.text_surfaces[EMPTY_COLUMN]);
+ game.editor.text_surfaces[NUMBER_OF_TILES + EMPTY_COLUMN] = font_outline_surface;
+ game.editor.text_textures[NUMBER_OF_TILES + EMPTY_COLUMN] = SDL_CreateTextureFromSurface(app.renderer, game.editor.text_surfaces[NUMBER_OF_TILES + EMPTY_COLUMN]);
+
+ // Set end of row label:
+ snprintf(map_tile_str, sizeof(char[TILE_CHAR_LIMIT]), "%-3i", END_OF_ROW);
+ create_outlined_font(game, map_tile_str, font_outline_surface, font_surface, font_outline_color, font_color, font_rect);
+
+ // game.editor.text_surfaces[END_OF_ROW] = font_outline_surface;
+ // game.editor.text_textures[END_OF_ROW] = SDL_CreateTextureFromSurface(app.renderer, game.editor.text_surfaces[END_OF_ROW]);
+ game.editor.text_surfaces[NUMBER_OF_TILES + END_OF_ROW] = font_outline_surface;
+ game.editor.text_textures[NUMBER_OF_TILES + END_OF_ROW] = SDL_CreateTextureFromSurface(app.renderer, game.editor.text_surfaces[NUMBER_OF_TILES + END_OF_ROW]);
+
+ SDL_FreeSurface(font_surface);
+ SDL_FreeSurface(font_outline_surface);
+ game.editor.layout_file_suffix = 0;
+ game.editor.selected_tile = EMPTY_COLUMN;
+ } else {
+ SDL_LogError(SDL_LOG_CATEGORY_ERROR, "TTF_Init: %s\n", TTF_GetError());
+ exit(2);
+ }
+ }
+
+ game.map.layout_file_base = MAP_LAYOUT_FILE_BASE;
+ game.map.layout_file = MAP_LAYOUT_FILE;
+ game.map.layout_modified_time = read_file_time(game.map.layout_file);
+ game.map.layout_modified_time = 0;
+ game.map.attributes_file = MAP_ATTRIBUTES_FILE;
+ game.map.attributes_modified_time = read_file_time(game.map.attributes_file);
+ game.map.attributes_modified_time = 0;
+
+ read_map_layout(&game);
+ read_map_attributes(&game);
+
+ prepare_scene(&app, &game);
+ generate_map(&app, &game);
+ handle_input(&app, &game);
+ }
+ }
+ } else {
+ printf("Unable to initialize SDL.\n");
+ SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Unable to initialize SDL: %s", SDL_GetError());
+ return 1;
+ }
+
+ return 0;
+}
diff --git a/source/map.h b/source/map.h
new file mode 100644
index 0000000..8355d0c
--- /dev/null
+++ b/source/map.h
@@ -0,0 +1,408 @@
+#include "types.h"
+
+enum directions {
+ NORTH = 0,
+ EAST,
+ SOUTH,
+ WEST
+};
+
+bool map_char_is_tile_info(char char_to_check)
+{
+ return char_to_check != ' ' && char_to_check != '\0' && char_to_check != '\n' && char_to_check != ',';
+}
+
+bool map_char_is_not_tile_info(char char_to_check)
+{
+ return char_to_check == ' ' || char_to_check == '\0' || char_to_check == '\n' || char_to_check == ',';
+}
+#define map_memory_alloc(game) \
+ { \
+ game->map.columns_in_row = (int*)calloc(game->map.rows, sizeof(int)); \
+ game->map.layout = (int**)calloc(game->map.rows, sizeof(int*)); \
+ for (int row = 0; row < game->map.rows; row++) { \
+ game->map.layout[row] = (int*)calloc(game->map.columns, sizeof(int)); \
+ } \
+ }
+
+void read_map_layout(GameState* game)
+{
+ game->map.layout_string = read_file(game->map.layout_file);
+ game->map.layout_string_length = strlen(game->map.layout_string);
+ int current_column = 0;
+ game->map.rows = 0;
+ game->map.columns = 0;
+
+ // @Robustness:
+ // See if there is a faster way to do this.
+ for (int i = 0; i < game->map.layout_string_length; i++) {
+ if (game->map.layout_string[i] == '\n') {
+ if (current_column > game->map.columns) {
+ game->map.columns = current_column;
+ }
+ game->map.rows++;
+ current_column = 0;
+ } else {
+ current_column++;
+ }
+ }
+ // Add one extra row:
+ game->map.rows++;
+
+ map_memory_alloc(game);
+}
+
+#define get_next_attribute(attribute, attribute_counter, tmp, tmp_counter) \
+ { \
+ attribute = (char*)calloc(1, sizeof(tmp)); \
+ attribute_counter = 0; \
+ tmp_counter++; \
+ while (tmp[tmp_counter] != ',') { \
+ attribute[attribute_counter] = tmp[tmp_counter]; \
+ attribute_counter++; \
+ tmp_counter++; \
+ } \
+ attribute[attribute_counter] = '\0'; \
+ }
+
+char* get_multiplier(char* attribute)
+{
+ char* attribute_copy = (char*)calloc(strlen(attribute), sizeof(char));
+ if (attribute_copy != NULL) {
+#if defined(__WIN32__) || defined(__WINRT__) || defined(_WIN64)
+ strcpy_s(attribute_copy, sizeof(attribute), &attribute[1]);
+#else
+ strcpy(attribute_copy, &attribute[1]);
+#endif
+
+ attribute_copy[strlen(attribute_copy)] = '\0';
+
+#if defined(__WIN32__) || defined(__WINRT__) || defined(_WIN64)
+ strcpy_s(attribute, sizeof(attribute_copy), &attribute_copy[0]);
+#else
+ strcpy(attribute, &attribute_copy[0]);
+#endif
+
+ return attribute;
+ }
+ return "";
+}
+
+void read_map_attributes(GameState* game)
+{
+ game->map.attributes_string = read_file(game->map.attributes_file);
+ game->map.attributes_string_length = strlen(game->map.attributes_string);
+ game->map.tile_attributes = (Tile_Data*)calloc(game->map.attributes_string_length, sizeof(char));
+
+ // @Robustness:
+ // See if there is a faster way to do this.
+ for (int i = 0; i < game->map.attributes_string_length; i++) {
+
+ // Make this allocate less memory,
+ // it is wasteful right now.
+ char* tmp = (char*)calloc(200, sizeof(char));
+ switch (game->map.attributes_string[i]) {
+
+ case ':': {
+ // Start of tile.
+ char tile_string[TILE_CHAR_LIMIT];
+ while (game->map.attributes_string[i] != '\n') {
+ // Allow comments to have colons too.
+ if (game->map.attributes_string[i] == '/') {
+ return;
+ }
+ i--;
+ }
+ // We don't need to read the newline character.
+ i++;
+
+ int tile_string_index = 0;
+ while (game->map.attributes_string[i] != ':') {
+ tile_string[tile_string_index] = game->map.attributes_string[i];
+ tile_string_index++;
+ i++;
+ }
+ tile_string[tile_string_index] = '\0';
+ int tile_index = atoi(tile_string);
+
+ // Advance twice here, because we are at the colon
+ // and need to also go through the newline.
+ i = i + 2;
+ int attribute_index = 0;
+
+ while (game->map.attributes_string[i] != '\n') {
+ switch (game->map.attributes_string[i]) {
+ case ' ':
+ case '{':
+ case '}': {
+ // Ignore.
+ } break;
+ default: {
+ tmp[attribute_index] = game->map.attributes_string[i];
+ attribute_index++;
+ } break;
+ }
+ i++;
+ }
+
+ tmp[attribute_index] = '\0';
+ int tmp_counter = -1;
+
+ char* attribute = (char*)calloc(8, sizeof(tmp));
+ int attribute_counter = 0;
+
+ get_next_attribute(attribute, attribute_counter, tmp, tmp_counter);
+ int multiplier = 1;
+
+ if (attribute != NULL) {
+
+ if (attribute[0] == '*') {
+ // @TODO:
+ // Use the right amount of memory.
+ attribute = get_multiplier(attribute);
+ multiplier = TILE_SPRITE_WIDTH;
+ }
+
+ game->map.tile_attributes[tile_index].clip.x = multiplier * atoi(attribute);
+ free(attribute);
+ } else {
+ game->map.tile_attributes[tile_index].clip.x = 0;
+ }
+
+ get_next_attribute(attribute, attribute_counter, tmp, tmp_counter);
+ if (attribute != NULL) {
+ multiplier = 1;
+ if (attribute[0] == '*') {
+ attribute = get_multiplier(attribute);
+ multiplier = TILE_SPRITE_HEIGHT;
+ }
+ game->map.tile_attributes[tile_index].clip.y = multiplier * atoi(attribute);
+ free(attribute);
+ } else {
+ game->map.tile_attributes[tile_index].clip.y = 0;
+ }
+
+ get_next_attribute(attribute, attribute_counter, tmp, tmp_counter);
+ if (attribute != NULL) {
+ game->map.tile_attributes[tile_index].border.north = atoi(attribute);
+ free(attribute);
+ } else {
+ game->map.tile_attributes[tile_index].border.north = 0;
+ }
+
+ get_next_attribute(attribute, attribute_counter, tmp, tmp_counter);
+ if (attribute != NULL) {
+ game->map.tile_attributes[tile_index].border.east = atoi(attribute);
+ free(attribute);
+ } else {
+ game->map.tile_attributes[tile_index].border.east = 0;
+ }
+
+ get_next_attribute(attribute, attribute_counter, tmp, tmp_counter);
+ if (attribute != NULL) {
+ game->map.tile_attributes[tile_index].border.south = atoi(attribute);
+ free(attribute);
+ } else {
+ game->map.tile_attributes[tile_index].border.south = 0;
+ }
+
+ get_next_attribute(attribute, attribute_counter, tmp, tmp_counter);
+ if (attribute != NULL) {
+ game->map.tile_attributes[tile_index].border.west = atoi(attribute);
+ free(attribute);
+ } else {
+ game->map.tile_attributes[tile_index].border.west = 0;
+ }
+
+ get_next_attribute(attribute, attribute_counter, tmp, tmp_counter);
+ if (attribute != NULL) {
+ game->map.tile_attributes[tile_index].elevation = atoi(attribute);
+ free(attribute);
+ } else {
+ game->map.tile_attributes[tile_index].elevation = 0;
+ }
+
+ free(tmp);
+ } break;
+
+ default: {
+ // Nothing to do!
+ } break;
+ }
+ }
+}
+
+#define draw_edit_grid(app, game, background, map_tile) \
+ { \
+ if (DEBUG_MODE && game->EDIT_MODE) { \
+ SDL_Rect text_clip; \
+ text_clip.x = 0; \
+ text_clip.y = 0; \
+ text_clip.h = TILE_SPRITE_HEIGHT; \
+ text_clip.w = TILE_SPRITE_WIDTH; \
+ \
+ SDL_Rect text_dest; \
+ text_dest.x = (background.x + game->scroll.x) + 2; \
+ text_dest.y = (background.y + game->scroll.y) + 2; \
+ text_dest.h = EDITOR_FONT_DEST_SIZE_H; \
+ text_dest.w = EDITOR_FONT_DEST_SIZE_W; \
+ \
+ SDL_Rect box; \
+ box.x = background.x + game->scroll.x; \
+ box.y = background.y + game->scroll.y; \
+ box.h = TILE_SPRITE_HEIGHT; \
+ box.w = TILE_SPRITE_WIDTH; \
+ \
+ SDL_SetRenderDrawColor(app->renderer, 250, 250, 250, 50); \
+ SDL_SetRenderDrawBlendMode(app->renderer, SDL_BLENDMODE_BLEND); \
+ SDL_RenderDrawRect(app->renderer, &box); \
+ if (map_tile < 0) { \
+ SDL_RenderCopy(app->renderer, game->editor.text_textures[NUMBER_OF_TILES + map_tile], &text_clip, &text_dest); \
+ } else { \
+ SDL_RenderCopy(app->renderer, game->editor.text_textures[map_tile], &text_clip, &text_dest); \
+ } \
+ \
+ SDL_SetRenderDrawColor(app->renderer, 0, 0, 0, 0); \
+ } \
+ }
+
+void generate_map(App* app, GameState* game)
+{
+ Axes background;
+
+ if (strcmp(game->map.layout_file, MAP_LIBRARY_FILE) == 0) {
+ background.x = game->player.global.x - game->player.window.x;
+ background.y = game->player.global.y - game->player.window.y;
+ } else {
+ background.x = 0;
+ background.y = 0;
+ }
+
+ char last_char = ',';
+ int current_row = 0;
+ int current_column = 0;
+
+ if (DEBUG_MODE && read_file_time(game->map.layout_file) > game->map.layout_modified_time) {
+ game->map.layout_modified_time = read_file_time(game->map.layout_file);
+ read_map_layout(game);
+ }
+ if (DEBUG_MODE && read_file_time(game->map.attributes_file) > game->map.attributes_modified_time) {
+ game->map.attributes_modified_time = read_file_time(game->map.attributes_file);
+ read_map_attributes(game);
+ }
+
+ for (int i = 0; i < game->map.layout_string_length; i++) {
+
+ // Stop if we are at the end of rows.
+ if (current_row == game->map.rows) {
+ break;
+ }
+ switch (game->map.layout_string[i]) {
+ // @Weirdness, for some reason this has to be first,
+ // otherwise underscores fall into the comma and
+ // spaces case. I should investigate that at
+ // some point.
+ case '_': {
+ draw_edit_grid(app, game, background, EMPTY_COLUMN);
+
+ // This represents a blank column:
+ background.x += TILE_SPRITE_WIDTH;
+ game->map.layout[current_row][current_column] = EMPTY_COLUMN;
+ current_column++;
+ last_char = game->map.layout_string[i];
+ } break;
+ case ',':
+ case ' ': {
+ last_char = game->map.layout_string[i];
+ } break;
+ case '\n': {
+ draw_edit_grid(app, game, background, END_OF_ROW);
+
+ // Record row data to be used for the map editor:
+ game->map.columns_in_row[current_row] = current_column;
+
+ // Y axis increases!
+ if (strcmp(game->map.layout_file, MAP_LIBRARY_FILE) == 0) {
+ background.x = game->player.global.x - game->player.window.x;
+ } else {
+ background.x = 0;
+ }
+ current_column = 0;
+ background.y += TILE_SPRITE_HEIGHT;
+ current_row++;
+
+ // Stop if we are at the end of rows.
+ if (current_row == game->map.rows) {
+ break;
+ }
+ last_char = game->map.layout_string[i];
+ } break;
+ default: {
+ // Stop if we are at the end of rows.
+ if (current_row == game->map.rows) {
+ break;
+ }
+ // Actual tiles!
+ if (map_char_is_not_tile_info(last_char)) {
+ // We skip processing unless the last char is fluff.
+ last_char = game->map.layout_string[i];
+
+ int map_tile;
+
+ // @Robustness: this feels kinda sloppy, it can probably be improved later.
+ if (map_char_is_tile_info(game->map.layout_string[i + 1])) {
+ char map_str_group[TILE_CHAR_LIMIT];
+ map_str_group[0] = game->map.layout_string[i];
+ map_str_group[1] = game->map.layout_string[i + 1];
+ if (map_char_is_tile_info(game->map.layout_string[i + 2])) {
+ map_str_group[2] = game->map.layout_string[i + 2];
+ }
+ map_str_group[3] = '\0';
+ map_tile = atoi(map_str_group);
+ } else {
+ map_tile = game->map.layout_string[i] - '0';
+ }
+
+ Axes tile;
+ tile.x = game->map.tile_attributes[map_tile].clip.x;
+ tile.y = game->map.tile_attributes[map_tile].clip.y;
+
+ SDL_Rect src;
+ src.x = background.x;
+ src.y = background.y;
+
+ SDL_Rect clip;
+
+ clip.x = tile.x;
+ clip.y = tile.y;
+ clip.h = TILE_SPRITE_HEIGHT;
+ clip.w = TILE_SPRITE_WIDTH;
+
+ SDL_Rect dest;
+
+ dest.x = background.x + game->scroll.x;
+ dest.y = background.y + game->scroll.y;
+ dest.h = TILE_SPRITE_HEIGHT;
+ dest.w = TILE_SPRITE_WIDTH;
+
+ SDL_QueryTexture(game->background_image, NULL, NULL, &src.w, &src.h);
+ SDL_RenderCopy(app->renderer, game->background_image, &clip, &dest);
+
+ draw_edit_grid(app, game, background, map_tile);
+
+ background.x += TILE_SPRITE_WIDTH;
+ game->map.layout[current_row][current_column] = map_tile;
+ current_column++;
+
+ } else {
+ break;
+ }
+ } break;
+ }
+ }
+
+ if (strcmp(game->map.layout_file, MAP_LIBRARY_FILE) == 0) {
+ background.x = game->player.global.x - game->player.window.x;
+ background.y = game->player.global.y - game->player.window.y;
+ }
+}
diff --git a/source/mechanics.h b/source/mechanics.h
new file mode 100644
index 0000000..1287b45
--- /dev/null
+++ b/source/mechanics.h
@@ -0,0 +1,558 @@
+#include "map.h"
+#include
+
+SDL_Texture* load_texture(App* app, char* file)
+{
+ SDL_Texture* texture;
+ texture = IMG_LoadTexture(app->renderer, file);
+
+ return texture;
+}
+
+void load_music(GameState* game)
+{
+ if (Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048) == 0) {
+ Mix_VolumeMusic(MUSIC_VOLUME);
+ game->music = Mix_LoadMUS(MUSIC_INTRO_FILE);
+ if (!Mix_PlayingMusic()) {
+ Mix_PlayMusic(game->music, -1);
+ }
+ } else {
+ SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Error initializing SDL_mixer: %s\n", Mix_GetError());
+ exit(1);
+ }
+}
+
+void prepare_scene(App* app, GameState* game)
+{
+ game->player_image = load_texture(app, PLAYER_IMAGE);
+ game->background_image = load_texture(app, BACKGROUND_IMAGE);
+ load_music(game);
+}
+
+void sprite_blit(App* app, SDL_Texture* texture, int x, int y, int direction)
+{
+ SDL_Rect src;
+ src.x = x;
+ src.y = y;
+
+ SDL_Rect dest;
+
+ dest.x = x;
+ dest.y = y;
+ dest.h = PLAYER_SPRITE_HEIGHT;
+ dest.w = PLAYER_SPRITE_WIDTH;
+
+ SDL_Rect clip;
+ clip.x = x;
+ clip.y = y;
+ x = abs(x % 4);
+ y = abs(y % 4);
+ switch (direction) {
+ case NORTH: {
+ clip.x = y * PLAYER_SPRITE_COLUMN_WIDTH;
+ clip.y = PLAYER_SPRITE_ROW_HEIGHT * 2;
+ } break;
+
+ case EAST: {
+ clip.x = x * PLAYER_SPRITE_COLUMN_WIDTH;
+ clip.y = PLAYER_SPRITE_ROW_HEIGHT;
+ } break;
+
+ case SOUTH: {
+ clip.x = y * PLAYER_SPRITE_COLUMN_WIDTH;
+ clip.y = 0;
+ } break;
+
+ case WEST: {
+ clip.x = x * PLAYER_SPRITE_COLUMN_WIDTH;
+ clip.y = PLAYER_SPRITE_ROW_HEIGHT * 3;
+ } break;
+ }
+
+ clip.h = PLAYER_SPRITE_HEIGHT;
+ clip.w = PLAYER_SPRITE_WIDTH;
+
+ SDL_QueryTexture(texture, NULL, NULL, &src.w, &src.h);
+
+ SDL_RenderCopy(app->renderer, texture, &clip, &dest);
+}
+
+void present_scene(App* app)
+{
+ SDL_RenderPresent(app->renderer);
+ SDL_RenderClear(app->renderer);
+}
+
+int is_below_bound(int coordinate, int sprite_dimension, int bound)
+{
+ return (coordinate + sprite_dimension) < bound;
+}
+int is_above_bound(int coordinate, int sprite_dimension, int bound)
+{
+ return (coordinate + sprite_dimension) > bound;
+}
+
+void handle_collisions(GameState* game)
+{
+ if (DEBUG_MODE && game->EDIT_MODE) {
+ game->player.can_move.north = true;
+ game->player.can_move.east = true;
+ game->player.can_move.south = true;
+ game->player.can_move.west = true;
+
+ } else {
+ game->player.can_move.north = false;
+ game->player.can_move.east = false;
+ game->player.can_move.south = false;
+ game->player.can_move.west = false;
+
+ if (is_above_bound(game->player.global.y, PLAYER_SPRITE_ROW_HEIGHT / 2, game->player.bound.north)) {
+ game->player.can_move.north = true;
+ }
+ if (is_below_bound(game->player.global.x, PLAYER_SPRITE_WIDTH, game->player.bound.east)) {
+ game->player.can_move.east = true;
+ }
+ if (is_below_bound(game->player.global.y, PLAYER_SPRITE_ROW_HEIGHT, game->player.bound.south)) {
+ game->player.can_move.south = true;
+ }
+ if (is_above_bound(game->player.global.x, 0, game->player.bound.west)) {
+ game->player.can_move.west = true;
+ }
+ }
+}
+
+void write_map_layout(GameState* game)
+{
+ // Create a lock file, while writing the map layout,
+ // and if it exists, do not try to write anything.
+ int lock_file_time = read_file_time(MAP_LOCK_FILE);
+ SDL_Log("Lock file time: %i\n", lock_file_time);
+
+ if (lock_file_time >= 0) {
+ // SDL_Log("Lock file time: %i\n", lock_file_time);
+
+ char* new_map_layout_file = (char*)calloc(strlen(game->map.layout_file) + 4, sizeof(char));
+ snprintf(new_map_layout_file, sizeof(char) * (strlen(game->map.layout_file) + 4), "%s_%i%s", game->map.layout_file_base, game->editor.layout_file_suffix, TXT_EXTENSION);
+ new_map_layout_file[strlen(new_map_layout_file)] = '\0';
+
+ FILE* new_map_layout;
+ FILE* old_map_layout;
+ FILE* map_lock;
+#if defined(__WIN32__) || defined(__WINRT__) || defined(_WIN64)
+ fopen_s(&new_map_layout, new_map_layout_file, "wb");
+ fopen_s(&old_map_layout, game->map.layout_file, "wb");
+ fopen_s(&map_lock, MAP_LOCK_FILE, "wb");
+#else
+ new_map_layout = fopen(new_map_layout_file, "wb");
+ old_map_layout = fopen(game->map.layout_file, "wb");
+ map_lock = fopen(MAP_LOCK_FILE, "wb");
+#endif
+ // @FIX:
+ // This check doesn't work.
+ // if (new_map_layout == NULL || old_map_layout == NULL) {
+ // SDL_LogError(SDL_LOG_CATEGORY_ERROR, "ERROR: File failed to open.");
+ // exit(1);
+ // }
+ char* new_map_str = (char*)calloc(game->map.rows * game->map.columns, sizeof(char));
+ int new_map_str_counter = 0;
+
+ for (int row = 0; row < game->map.rows; row++) {
+
+ if (game->map.columns_in_row[row] > game->map.columns) {
+ break;
+ }
+
+ if (game->map.columns_in_row[row] < 1) {
+ new_map_str[new_map_str_counter] = '\n';
+ new_map_str_counter++;
+ continue;
+ }
+ for (int column = 0; column < game->map.columns_in_row[row]; column++) {
+
+ char tmp[TILE_CHAR_LIMIT];
+ // Convert integer to string:
+ if (game->map.layout[row][column] == EMPTY_COLUMN) {
+ tmp[0] = ' ';
+ tmp[1] = ' ';
+ tmp[2] = '_';
+ } else {
+ snprintf(tmp, sizeof(tmp), "%3i", game->map.layout[row][column]);
+ }
+ int tmp_length = strlen(tmp);
+ tmp[tmp_length] = '\0';
+
+ for (int tmp_counter = 0; tmp_counter < tmp_length; tmp_counter++) {
+ // Not sure I need this, but it definitely breaks everything:
+ // if (new_map_str[new_map_str_counter] == '\0') {
+ // break;
+ // } else {
+ new_map_str[new_map_str_counter] = tmp[tmp_counter];
+ new_map_str_counter++;
+ // }
+ }
+
+ // Do not write a comma for the last column:
+ if ((column + 1) != game->map.columns_in_row[row]) {
+ new_map_str[new_map_str_counter] = ',';
+ new_map_str_counter++;
+ }
+ }
+ new_map_str[new_map_str_counter] = '\n';
+ new_map_str_counter++;
+ }
+ int new_map_str_length = strlen(new_map_str);
+ new_map_str[new_map_str_length] = '\0';
+ // SDL_Log("%s\n", new_map_str);
+
+ int chars_written = fwrite(new_map_str, sizeof(char), new_map_str_length, new_map_layout);
+ if (chars_written != new_map_str_length) {
+ SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Only %i chars written out of: %i\n", chars_written, new_map_str_length);
+ } else {
+ if (game->editor.layout_file_suffix == MAP_LAYOUT_FILE_LIMIT) {
+ game->editor.layout_file_suffix = 0;
+ } else {
+ game->editor.layout_file_suffix++;
+ }
+ }
+ fclose(new_map_layout);
+
+ chars_written = fwrite(new_map_str, sizeof(char), new_map_str_length, old_map_layout);
+ if (chars_written != new_map_str_length) {
+ SDL_LogError(SDL_LOG_CATEGORY_ERROR, "Only %i chars written out of: %i\n", chars_written, new_map_str_length);
+ }
+ fclose(old_map_layout);
+
+ free(new_map_str);
+ free(new_map_layout_file);
+
+ // If all was successful, remove lock file:
+ fclose(map_lock);
+ remove(MAP_LOCK_FILE);
+ } else {
+ // Do not write if there is a lock file, to avoid obliterating the map.
+ //return;
+ }
+}
+
+int next_cycle;
+
+int time_left()
+{
+ int now;
+
+ now = SDL_GetTicks();
+ // SDL_Log("now: %i\n", now);
+ // SDL_Log("next_cycle: %i\n", next_cycle);
+ if (next_cycle <= now) {
+ return 0;
+ } else {
+ return next_cycle - now;
+ }
+}
+
+void handle_input(App* app, GameState* game)
+{
+ game->done = SDL_FALSE;
+
+ game->player.window.x = 0;
+ game->player.window.y = 0;
+ game->player.global.x = 0;
+ game->player.global.y = 0;
+
+ game->player.direction = SOUTH;
+
+ int current_tile_y = 0;
+ int current_tile_x = 0;
+ int current_tile = 0;
+
+ next_cycle = SDL_GetTicks() + FRAME_INTERVAL_REDUCTION;
+
+ while (!game->done) {
+ SDL_Event event;
+
+ while (SDL_PollEvent(&event)) {
+ if (strcmp(game->map.layout_file, MAP_LAYOUT_FILE) == 0) {
+ handle_collisions(game);
+
+ // @Robustness:
+ // Need to account for the value of blank tiles, which is currently:
+ // 1693351072
+ current_tile_y = (game->player.global.y + PLAYER_SPRITE_HEIGHT) / TILE_SPRITE_HEIGHT;
+ current_tile_x = (game->player.global.x + (PLAYER_SPRITE_COLUMN_WIDTH / 2)) / TILE_SPRITE_WIDTH;
+
+ if (current_tile_y < 0) {
+ current_tile_y = 0;
+ }
+ if (current_tile_x < 0) {
+ current_tile_x = 0;
+ }
+
+ // @Robustness:
+ // Should we handle the exception case here where the current
+ // tile is not a valid tile?
+ if (game->map.layout[current_tile_y][current_tile_x] >= 0) {
+ current_tile = game->map.layout[current_tile_y][current_tile_x];
+ } else {
+ current_tile = 0;
+ }
+ } else {
+ current_tile = 0;
+ }
+ if (current_tile < 0) {
+ current_tile = 0;
+ }
+ Tile_Data current_tile_attributes = game->map.tile_attributes[current_tile];
+
+ switch (event.type) {
+ case SDL_QUIT: {
+ game->done = SDL_TRUE;
+
+ } break;
+
+ case SDL_KEYDOWN: {
+ // SDL_Log("Global x: %i\n", game->player.global.x);
+ // SDL_Log("Player x: %i\n", game->player.window.x);
+ // SDL_Log("Global y: %i\n", game->player.global.y);
+ // SDL_Log("Player y: %i\n", game->player.window.y);
+
+ switch (event.key.keysym.sym) {
+
+ case SDLK_UP: {
+ int tile_coordinate_y = current_tile_y * TILE_SPRITE_HEIGHT;
+ game->player.bound.north = 0;
+ if (current_tile_attributes.border.north > 0) {
+ game->player.bound.north = tile_coordinate_y + current_tile_attributes.border.north;
+ }
+ if (game->player.can_move.north) {
+ game->player.window.y = game->player.window.y - PLAYER_INCREMENT;
+ game->player.global.y = game->player.global.y - GLOBAL_INCREMENT;
+ }
+
+ game->player.direction = NORTH;
+ } break;
+
+ case SDLK_RIGHT: {
+ int tile_coordinate_x = (current_tile_x + 1) * TILE_SPRITE_WIDTH;
+ game->player.bound.east = SCREEN_WIDTH;
+ if (current_tile_attributes.border.east > 0) {
+ game->player.bound.east = tile_coordinate_x - current_tile_attributes.border.east;
+ }
+
+ if (game->player.can_move.east) {
+ game->player.window.x = game->player.window.x + PLAYER_INCREMENT;
+ game->player.global.x = game->player.global.x + GLOBAL_INCREMENT;
+ }
+
+ game->player.direction = EAST;
+ } break;
+
+ case SDLK_DOWN: {
+ int tile_coordinate_y = (current_tile_y + 1) * TILE_SPRITE_HEIGHT;
+ game->player.bound.south = SCREEN_HEIGHT;
+ if (current_tile_attributes.border.south > 0) {
+ game->player.bound.south = tile_coordinate_y - current_tile_attributes.border.south;
+ }
+
+ if (game->player.can_move.south) {
+ game->player.window.y = game->player.window.y + PLAYER_INCREMENT;
+ game->player.global.y = game->player.global.y + GLOBAL_INCREMENT;
+ }
+
+ game->player.direction = SOUTH;
+ } break;
+
+ case SDLK_LEFT: {
+ int tile_coordinate_x = current_tile_x * TILE_SPRITE_WIDTH;
+ game->player.bound.west = 0;
+ if (current_tile_attributes.border.west > 0) {
+ game->player.bound.west = tile_coordinate_x + current_tile_attributes.border.west;
+ }
+ if (game->player.can_move.west) {
+ game->player.window.x = game->player.window.x - PLAYER_INCREMENT;
+ game->player.global.x = game->player.global.x - GLOBAL_INCREMENT;
+ }
+
+ game->player.direction = WEST;
+ } break;
+
+ case SDLK_q: {
+ game->done = SDL_TRUE;
+ } break;
+
+ case SDLK_e: {
+ if (DEBUG_MODE) {
+ if (game->EDIT_MODE) {
+ game->EDIT_MODE = false;
+ } else {
+ game->EDIT_MODE = true;
+ }
+ }
+ } break;
+
+ case SDLK_l: {
+ if (DEBUG_MODE && game->EDIT_MODE) {
+ if (strcmp(game->map.layout_file, MAP_LIBRARY_FILE) != 0) {
+ // Load map_library.txt:
+ game->map.layout_file = MAP_LIBRARY_FILE;
+ read_map_layout(game);
+ } else {
+ game->map.layout_file = MAP_LAYOUT_FILE;
+ read_map_layout(game);
+ }
+ }
+ } break;
+ case SDLK_RETURN: {
+
+ // @TODO:
+ // Accept input of a number, which is the id
+ // of the tile you want to place on left
+ // mouse click.
+
+ // @Idea:
+ // For now, we could just use enter,
+ // to display a linearly increased
+ // example of all available tiles.
+ // Doing so, would allow us to
+ // use the right mouse button
+ // to select from all tiles.
+
+ } break;
+ }
+ } break;
+
+ case SDL_MOUSEBUTTONDOWN: {
+ if (DEBUG_MODE && game->EDIT_MODE) {
+
+ Axes mouse;
+ // @Weirdness:
+ // Player x and y is not affected by scaling, but the mouse is.
+ // Why?!
+ if (strcmp(game->map.layout_file, MAP_LIBRARY_FILE) == 0) {
+ mouse.x = event.button.x / SCALING;
+ mouse.y = event.button.y / SCALING;
+ } else {
+ mouse.x = (event.button.x / SCALING) + (game->player.global.x - game->player.window.x);
+ mouse.y = (event.button.y / SCALING) + (game->player.global.y - game->player.window.y);
+ }
+
+ // SDL_Log("Global x: %i\n", game->player.global.x);
+ // SDL_Log("Player x: %i\n", game->player.window.x);
+ // SDL_Log("Mouse x: %i\n", mouse.x);
+ // SDL_Log("Global y: %i\n", game->player.global.y);
+ // SDL_Log("Player y: %i\n", game->player.window.y);
+ // SDL_Log("Mouse y: %i\n", mouse.y);
+
+ Axes mouse_tile;
+ mouse_tile.x = mouse.x / TILE_SPRITE_WIDTH;
+ mouse_tile.y = mouse.y / TILE_SPRITE_WIDTH;
+ int selected_tile = EMPTY_COLUMN;
+
+ if (mouse_tile.y >= 0 && mouse_tile.y < game->map.rows && mouse_tile.x >= 0 && mouse_tile.x < game->map.columns) {
+ selected_tile = game->map.layout[mouse_tile.y][mouse_tile.x];
+ }
+ // @HACK:
+ // This feels kludgy, improve it.
+ if (selected_tile < 0) {
+ selected_tile = EMPTY_COLUMN;
+ }
+
+ switch (event.button.button) {
+ case SDL_BUTTON_LEFT: {
+ if (strcmp(game->map.layout_file, MAP_LAYOUT_FILE) == 0) {
+ // If we are trying to increase beyond the current
+ // allocated vertical space ...
+ if (mouse_tile.y >= game->map.rows) {
+ // If the user clicks way out in space, just add one row, not several:
+ mouse_tile.y = game->map.rows;
+ game->map.rows = mouse_tile.y;
+
+ game->map.columns_in_row[mouse_tile.y] = 0;
+
+ // while (game->map.columns_in_row[mouse_tile.y] < (mouse_tile.x + 1)) {
+ // game->map.layout[mouse_tile.y][game->map.columns_in_row[mouse_tile.y]] = game->editor.selected_tile;
+ // // Increase the number of columns in the row:
+ // game->map.columns_in_row[mouse_tile.y] = game->map.columns_in_row[mouse_tile.y] + 1;
+ // }
+ // game->map.layout[mouse_tile.y][mouse_tile.x + 1] = '\n';
+ }
+
+ // map_memory_alloc(game);
+
+ // If the row is completely empty, fill everything up to
+ // mouse_tile.x with EMPTY_COLUMN.
+ if (game->map.columns_in_row[mouse_tile.y] == 0) {
+ for (int columns_to_fill = 0; columns_to_fill < mouse_tile.x; columns_to_fill++) {
+ game->map.layout[mouse_tile.y][columns_to_fill] = EMPTY_COLUMN;
+ }
+ }
+
+ game->map.layout[mouse_tile.y][mouse_tile.x] = game->editor.selected_tile;
+ // Add a newline if this is the only column in the row ...
+ // or the last column, in the row.
+ if ((mouse_tile.x + 1) >= game->map.columns_in_row[mouse_tile.y]) {
+ // While the columns in the row are less than where the mouse clicked,
+ // fill those columns with the selected tile.
+ while (game->map.columns_in_row[mouse_tile.y] < (mouse_tile.x + 1)) {
+ game->map.layout[mouse_tile.y][game->map.columns_in_row[mouse_tile.y]] = game->editor.selected_tile;
+ game->map.columns_in_row[mouse_tile.y] = game->map.columns_in_row[mouse_tile.y] + 1;
+ }
+
+ game->map.layout[mouse_tile.y][mouse_tile.x + 1] = '\n';
+ game->map.columns_in_row[mouse_tile.y] = mouse_tile.x + 1;
+ }
+ // If this row has more columns than any other column, increase
+ // the global column count.
+ if (game->map.columns_in_row[mouse_tile.y] > game->map.columns) {
+ game->map.columns = game->map.columns_in_row[mouse_tile.y];
+ }
+ // SDL_Log("Left click: %i\n", game->map.layout[mouse_tile.y][mouse_tile.x]);
+ write_map_layout(game);
+ }
+ } break;
+ case SDL_BUTTON_RIGHT: {
+ game->editor.selected_tile = selected_tile;
+ SDL_Log("Selected tile: %i\n", selected_tile);
+ } break;
+ }
+ }
+ } break;
+ }
+
+ // @TODO:
+ // It is time to rework scrolling ...
+ //
+ // We probably want to have the player near the center of the screen
+ // at all times. Perhaps, we could do segmented scrolling, where
+ // scrolling happens once the player reaches some bounding
+ // rectangle that represents an arbitrary percentage of
+ // the screen (for example, 40%).
+ if (game->player.window.x < SCREEN_WIDTH) {
+ game->scroll.x = -(game->player.window.x * 2);
+ }
+ if (game->player.window.y < SCREEN_HEIGHT) {
+ game->scroll.y = -(game->player.window.y * 2);
+ }
+
+ generate_map(app, game);
+ if (strcmp(game->map.layout_file, MAP_LAYOUT_FILE) == 0) {
+ sprite_blit(app, game->player_image, game->player.window.x, game->player.window.y, game->player.direction);
+ }
+
+ present_scene(app);
+
+ // @Bug:
+ // This is a bit broken now.
+ // Cap frame rate:
+ // SDL_Delay(time_left());
+ // next_cycle += FRAME_INTERVAL_REDUCTION;
+
+ // SDL_Log("%i\n", time_left());
+ // SDL_Log("%i\n", next_cycle);
+
+ // Allegedly this keeps the app from running at too
+ // high of a frame rate. We also VSync.
+ SDL_Delay(GAME_LOOP_DELAY);
+ }
+ }
+}
diff --git a/source/types.h b/source/types.h
new file mode 100644
index 0000000..3cff7fd
--- /dev/null
+++ b/source/types.h
@@ -0,0 +1,96 @@
+#include "configuration.h"
+#include "utilities.h"
+#include
+#include
+#include
+
+typedef struct {
+ SDL_Renderer* renderer;
+ SDL_Window* window;
+ int* screen_width;
+ int* screen_height;
+} App;
+
+typedef struct {
+ int x;
+ int y;
+} Axes;
+
+typedef struct {
+ int north;
+ int east;
+ int south;
+ int west;
+} Directions;
+
+typedef struct {
+ Axes window;
+ Axes global;
+ Directions can_move;
+ Directions bound;
+ int direction;
+} Player;
+
+typedef struct {
+ int x;
+ int y;
+} Ball;
+
+typedef struct {
+ Axes clip;
+ // This goes North, East, South, and West
+ // (in increasing order by degree).
+ Directions border;
+
+ int elevation;
+} Tile_Data;
+
+typedef struct {
+ int rows;
+ int columns;
+ int* columns_in_row;
+
+ int** layout;
+ char* layout_file_base;
+ char* layout_file;
+ time_t layout_modified_time;
+ char* layout_string;
+ int layout_string_length;
+
+ char* attributes_file;
+ time_t attributes_modified_time;
+ char* attributes_string;
+ int attributes_string_length;
+ Tile_Data* tile_attributes;
+} Map;
+
+typedef struct {
+ SDL_Surface* text_surfaces[NUMBER_OF_TILES];
+ SDL_Texture* text_textures[NUMBER_OF_TILES];
+ int layout_file_suffix;
+ int selected_tile;
+} Editor;
+
+typedef struct {
+ Axes scroll;
+
+ SDL_bool done;
+
+ Player player;
+
+ Ball ball;
+
+ SDL_Texture* player_image;
+ SDL_Texture* background_image;
+
+ Map map;
+
+ Mix_Music* music;
+
+ TTF_Font* font;
+ TTF_Font* font_outline;
+
+ bool EDIT_MODE;
+
+ Editor editor;
+} GameState;
diff --git a/source/utilities.h b/source/utilities.h
new file mode 100644
index 0000000..4df1d53
--- /dev/null
+++ b/source/utilities.h
@@ -0,0 +1,39 @@
+#include
+#include
+#include
+#include
+#include
+#include
+
+time_t read_file_time(char* path)
+{
+ struct stat filestat;
+ stat(path, &filestat);
+
+ return filestat.st_mtime;
+}
+
+char* read_file(char* path)
+{
+ FILE* file_to_read;
+#if defined(__WIN32__) || defined(__WINRT__) || defined(_WIN64)
+ fopen_s(&file_to_read, path, "rb");
+#else
+ file_to_read = fopen(path, "rb");
+#endif
+ if (file_to_read != NULL) {
+ fseek(file_to_read, 0, SEEK_END);
+ int file_size = ftell(file_to_read);
+ fseek(file_to_read, 0, SEEK_SET);
+
+ char* file_contents = (char*)calloc(file_size, sizeof(char));
+ fread(file_contents, 1, file_size, file_to_read);
+ // Ensure that weird or random characters
+ // do not terminate this string.
+ file_contents[file_size] = '\0';
+ fclose(file_to_read);
+
+ return file_contents;
+ }
+ return "";
+}
diff --git a/win/basque.exe b/win/basque.exe
new file mode 100644
index 0000000..8812ff2
Binary files /dev/null and b/win/basque.exe differ