diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000000000000000000000000000000000000..8ad74f78d9c9b9b8f3d68772c6d5aa0cb3fe47e9
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,2 @@
+# Normalize EOL for all files that Git considers text files.
+* text=auto eol=lf
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..4709183670ac629a32ff7df40816c79c7c932daa
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+# Godot 4+ specific ignores
+.godot/
diff --git a/README.md b/README.md
index cf1d739492778265ac2f7f05c1e83702b46021d1..8b425b47b1d7d36ef54d2520e82b3c14adca761f 100644
--- a/README.md
+++ b/README.md
@@ -1,92 +1,3 @@
# museum
-
-
-## Getting started
-
-To make it easy for you to get started with GitLab, here's a list of recommended next steps.
-
-Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
-
-## Add your files
-
-- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
-- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
-
-```
-cd existing_repo
-git remote add origin https://gitlab.cci.drexel.edu/vvm33/museum.git
-git branch -M main
-git push -uf origin main
-```
-
-## Integrate with your tools
-
-- [ ] [Set up project integrations](https://gitlab.cci.drexel.edu/vvm33/museum/-/settings/integrations)
-
-## Collaborate with your team
-
-- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
-- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
-- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
-- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
-- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
-
-## Test and Deploy
-
-Use the built-in continuous integration in GitLab.
-
-- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
-- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
-- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
-- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
-- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
-
-***
-
-# Editing this README
-
-When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template.
-
-## Suggestions for a good README
-Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
-
-## Name
-Choose a self-explaining name for your project.
-
-## Description
-Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
-
-## Badges
-On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
-
-## Visuals
-Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
-
-## Installation
-Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
-
-## Usage
-Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
-
-## Support
-Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
-
-## Roadmap
-If you have ideas for releases in the future, it is a good idea to list them in the README.
-
-## Contributing
-State if you are open to contributions and what your requirements are for accepting them.
-
-For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
-
-You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
-
-## Authors and acknowledgment
-Show your appreciation to those who have contributed to the project.
-
-## License
-For open source projects, say how it is licensed.
-
-## Project status
-If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
+For HNRS 200. Live at [~vvm33/museum/](https://www.cs.drexel.edu/~vvm33/museum/)
\ No newline at end of file
diff --git a/actors/hint.tscn b/actors/hint.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..228405962cc10a73b6c74e7fa59e255a7787f459
--- /dev/null
+++ b/actors/hint.tscn
@@ -0,0 +1,19 @@
+[gd_scene load_steps=4 format=3 uid="uid://cf3gsfa3jkdlj"]
+
+[ext_resource type="Texture2D" uid="uid://ba0h7ghbw3ita" path="res://assets/misc/hint.png" id="1_a2837"]
+[ext_resource type="Script" path="res://scripts/hint.gd" id="1_k26gf"]
+
+[sub_resource type="CircleShape2D" id="CircleShape2D_ypxjl"]
+radius = 93.0
+
+[node name="hint" type="Node2D"]
+script = ExtResource("1_k26gf")
+
+[node name="sprite" type="Sprite2D" parent="."]
+scale = Vector2(0.5, 0.5)
+texture = ExtResource("1_a2837")
+
+[node name="area" type="Area2D" parent="."]
+
+[node name="collision" type="CollisionShape2D" parent="area"]
+shape = SubResource("CircleShape2D_ypxjl")
diff --git a/actors/killzone.tscn b/actors/killzone.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..b392b2098f7c37499e09f793124b9c45fc6d7e9f
--- /dev/null
+++ b/actors/killzone.tscn
@@ -0,0 +1,14 @@
+[gd_scene load_steps=3 format=3 uid="uid://bisbhn3ir5rre"]
+
+[ext_resource type="Script" path="res://scripts/killzone.gd" id="1_hmpx1"]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_cpfo1"]
+size = Vector2(96, 96)
+
+[node name="killzone" type="Area2D"]
+script = ExtResource("1_hmpx1")
+
+[node name="collision" type="CollisionShape2D" parent="."]
+shape = SubResource("RectangleShape2D_cpfo1")
+
+[connection signal="body_entered" from="." to="." method="body_entered"]
diff --git a/actors/painting.tscn b/actors/painting.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..43a6e5702dda981f04bf26341335206235db0e04
--- /dev/null
+++ b/actors/painting.tscn
@@ -0,0 +1,29 @@
+[gd_scene load_steps=5 format=3 uid="uid://d4dgmkt10u55q"]
+
+[ext_resource type="Texture2D" uid="uid://do7giahnfnpx0" path="res://assets/paintings/DEBUG.pack.png" id="1_d6p5y"]
+[ext_resource type="Script" path="res://scripts/painting.gd" id="2_6vshc"]
+[ext_resource type="Texture2D" uid="uid://ba0h7ghbw3ita" path="res://assets/misc/hint.png" id="3_uccs0"]
+
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_y4ewp"]
+radius = 112.0
+height = 1792.0
+
+[node name="painting" type="Sprite2D"]
+scale = Vector2(0.125, 0.125)
+texture = ExtResource("1_d6p5y")
+script = ExtResource("2_6vshc")
+type = 1
+
+[node name="interactable" type="Area2D" parent="."]
+
+[node name="collision" type="CollisionShape2D" parent="interactable"]
+shape = SubResource("CapsuleShape2D_y4ewp")
+
+[node name="hint" type="Sprite2D" parent="."]
+visible = false
+position = Vector2(-192, -336)
+scale = Vector2(4, 4)
+texture = ExtResource("3_uccs0")
+
+[connection signal="body_entered" from="interactable" to="." method="body_entered"]
+[connection signal="body_exited" from="interactable" to="." method="body_exited"]
diff --git a/actors/plaque.tscn b/actors/plaque.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..129b9aa81202302b49bc98b99eba854161507f83
--- /dev/null
+++ b/actors/plaque.tscn
@@ -0,0 +1,16 @@
+[gd_scene load_steps=3 format=3 uid="uid://cnpvq26op5cdj"]
+
+[ext_resource type="Script" path="res://scripts/plaque.gd" id="1_ltctv"]
+
+[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_ixs44"]
+radius = 8.0
+height = 142.0
+
+[node name="plaque" type="Area2D"]
+script = ExtResource("1_ltctv")
+
+[node name="collision" type="CollisionShape2D" parent="."]
+shape = SubResource("CapsuleShape2D_ixs44")
+
+[connection signal="body_entered" from="." to="." method="body_entered"]
+[connection signal="body_exited" from="." to="." method="body_exited"]
diff --git a/actors/player.tscn b/actors/player.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..8d31c100a63ae4f254001e29c404076aadeeac15
--- /dev/null
+++ b/actors/player.tscn
@@ -0,0 +1,18 @@
+[gd_scene load_steps=4 format=3 uid="uid://bink6mb2vvn0t"]
+
+[ext_resource type="SpriteFrames" uid="uid://cw3s66d6jkgve" path="res://components/char_placeholder.tres" id="1_3udwb"]
+[ext_resource type="Script" path="res://scripts/player.gd" id="1_4dfxi"]
+
+[sub_resource type="RectangleShape2D" id="RectangleShape2D_uu1cy"]
+size = Vector2(56, 56)
+
+[node name="player" type="CharacterBody2D"]
+scale = Vector2(0.5, 0.5)
+script = ExtResource("1_4dfxi")
+
+[node name="sprite" type="AnimatedSprite2D" parent="."]
+sprite_frames = ExtResource("1_3udwb")
+
+[node name="collision" type="CollisionShape2D" parent="."]
+position = Vector2(0, 4)
+shape = SubResource("RectangleShape2D_uu1cy")
diff --git a/assets/casey/lloyd.png b/assets/casey/lloyd.png
new file mode 100644
index 0000000000000000000000000000000000000000..d58dc80124e079b52e1349d43a5c66d4ee1d5d5f
Binary files /dev/null and b/assets/casey/lloyd.png differ
diff --git a/assets/casey/lloyd.png.import b/assets/casey/lloyd.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..9f80a3084cfb7dc8c996e6c9d47aa622eba6cf42
--- /dev/null
+++ b/assets/casey/lloyd.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://b6p22mfv7raq7"
+path="res://.godot/imported/lloyd.png-576cb70b55dfb305ab2d8051bb97815d.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/casey/lloyd.png"
+dest_files=["res://.godot/imported/lloyd.png-576cb70b55dfb305ab2d8051bb97815d.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/char/placeholder.png b/assets/char/placeholder.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0fd3b0568a566df511025ed8b93974593a10478
Binary files /dev/null and b/assets/char/placeholder.png differ
diff --git a/assets/char/placeholder.png.import b/assets/char/placeholder.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..2965e24050ef0fd3e9935950ca7c18c8fb130103
--- /dev/null
+++ b/assets/char/placeholder.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://qj61dfovrprd"
+path="res://.godot/imported/placeholder.png-03f8765d3a06a33b1e16ecaa27f98b73.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/char/placeholder.png"
+dest_files=["res://.godot/imported/placeholder.png-03f8765d3a06a33b1e16ecaa27f98b73.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/fonts/000webfont.ttf b/assets/fonts/000webfont.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..ce7636dd2b97f47c1344cad255069b9f2b589801
Binary files /dev/null and b/assets/fonts/000webfont.ttf differ
diff --git a/assets/fonts/000webfont.ttf.import b/assets/fonts/000webfont.ttf.import
new file mode 100644
index 0000000000000000000000000000000000000000..807b6337ca7f6cff8995c12694880b7b2161c6ba
--- /dev/null
+++ b/assets/fonts/000webfont.ttf.import
@@ -0,0 +1,39 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://2j0g0u4dwr5v"
+path="res://.godot/imported/000webfont.ttf-a72dd1206bb04a8eb7cb9946d1e24227.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/000webfont.ttf"
+dest_files=["res://.godot/imported/000webfont.ttf-a72dd1206bb04a8eb7cb9946d1e24227.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=0
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=false
+preload=[{
+"chars": [],
+"glyphs": [],
+"name": "New Configuration",
+"size": Vector2i(16, 0),
+"variation_embolden": 0.0
+}]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/assets/fonts/lisu_bosa.ttf b/assets/fonts/lisu_bosa.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..3955d044584d02df76ddaf7585ae94d7acce22de
Binary files /dev/null and b/assets/fonts/lisu_bosa.ttf differ
diff --git a/assets/fonts/lisu_bosa.ttf.import b/assets/fonts/lisu_bosa.ttf.import
new file mode 100644
index 0000000000000000000000000000000000000000..53bb8ecf0768b0ca44643c67d4f8364cc0d07109
--- /dev/null
+++ b/assets/fonts/lisu_bosa.ttf.import
@@ -0,0 +1,33 @@
+[remap]
+
+importer="font_data_dynamic"
+type="FontFile"
+uid="uid://c0w4l6a6qnsm6"
+path="res://.godot/imported/lisu_bosa.ttf-54006052f0a0ff71dd4c9cccf5b96b64.fontdata"
+
+[deps]
+
+source_file="res://assets/fonts/lisu_bosa.ttf"
+dest_files=["res://.godot/imported/lisu_bosa.ttf-54006052f0a0ff71dd4c9cccf5b96b64.fontdata"]
+
+[params]
+
+Rendering=null
+antialiasing=1
+generate_mipmaps=false
+multichannel_signed_distance_field=false
+msdf_pixel_range=8
+msdf_size=48
+allow_system_fallback=true
+force_autohinter=false
+hinting=1
+subpixel_positioning=1
+oversampling=0.0
+Fallbacks=null
+fallbacks=[]
+Compress=null
+compress=true
+preload=[]
+language_support={}
+script_support={}
+opentype_features={}
diff --git a/assets/kevin/arcade.png b/assets/kevin/arcade.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0a2a876d6c9d736b2af5389dc1b81691fdc5a8e
Binary files /dev/null and b/assets/kevin/arcade.png differ
diff --git a/assets/kevin/arcade.png.import b/assets/kevin/arcade.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..a62637a1b5fbbd4829da5066b9f1f2eb66283124
--- /dev/null
+++ b/assets/kevin/arcade.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://drxo6107t5p88"
+path="res://.godot/imported/arcade.png-fea70758a28754b7d5c2cf48376e4685.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/kevin/arcade.png"
+dest_files=["res://.godot/imported/arcade.png-fea70758a28754b7d5c2cf48376e4685.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/kevin/cards.png b/assets/kevin/cards.png
new file mode 100644
index 0000000000000000000000000000000000000000..95203ed6f0507da4899c6f05966d351c7c55acc4
Binary files /dev/null and b/assets/kevin/cards.png differ
diff --git a/assets/kevin/cards.png.import b/assets/kevin/cards.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..885a58ddce16b05067f0d880891f6236e4539ad6
--- /dev/null
+++ b/assets/kevin/cards.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ccx24cjbwtnu4"
+path="res://.godot/imported/cards.png-e0762e81f5664c00dadfeec8aa2a2bc1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/kevin/cards.png"
+dest_files=["res://.godot/imported/cards.png-e0762e81f5664c00dadfeec8aa2a2bc1.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/kevin/sword.png b/assets/kevin/sword.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e652bc84bfd22994963aea6f5f0abd88c95bdbb
Binary files /dev/null and b/assets/kevin/sword.png differ
diff --git a/assets/kevin/sword.png.import b/assets/kevin/sword.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..48a46965fc89bf871a5d0dbe5a0305139bac42bf
--- /dev/null
+++ b/assets/kevin/sword.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cqe2gui1t8i3p"
+path="res://.godot/imported/sword.png-ecedbc80ea225d96837b71dea9a2994c.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/kevin/sword.png"
+dest_files=["res://.godot/imported/sword.png-ecedbc80ea225d96837b71dea9a2994c.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/misc/hint.png b/assets/misc/hint.png
new file mode 100644
index 0000000000000000000000000000000000000000..44badcaebf57b22e73da57cc8db801ee1a995bf2
Binary files /dev/null and b/assets/misc/hint.png differ
diff --git a/assets/misc/hint.png.import b/assets/misc/hint.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..3f144f0fcc79b3f73a1152b6afc8c019bd02b187
--- /dev/null
+++ b/assets/misc/hint.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ba0h7ghbw3ita"
+path="res://.godot/imported/hint.png-93bde9e0ef2c31221cc139229e4d43ac.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/misc/hint.png"
+dest_files=["res://.godot/imported/hint.png-93bde9e0ef2c31221cc139229e4d43ac.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/DEBUG.pack.png b/assets/paintings/DEBUG.pack.png
new file mode 100644
index 0000000000000000000000000000000000000000..107adc6f6542f14a327dbee17f5ea0ac0ebc5c33
Binary files /dev/null and b/assets/paintings/DEBUG.pack.png differ
diff --git a/assets/paintings/DEBUG.pack.png.import b/assets/paintings/DEBUG.pack.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..fce1874660744dd236397c32d7024166717e02f3
--- /dev/null
+++ b/assets/paintings/DEBUG.pack.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://do7giahnfnpx0"
+path="res://.godot/imported/DEBUG.pack.png-595ce5717c856a06f83d486e19269a9b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/DEBUG.pack.png"
+dest_files=["res://.godot/imported/DEBUG.pack.png-595ce5717c856a06f83d486e19269a9b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/DEBUG.tower_of_heaven.png b/assets/paintings/DEBUG.tower_of_heaven.png
new file mode 100644
index 0000000000000000000000000000000000000000..00fbc3228ff85bf6b669ab3063e905cf8bee5094
Binary files /dev/null and b/assets/paintings/DEBUG.tower_of_heaven.png differ
diff --git a/assets/paintings/DEBUG.tower_of_heaven.png.import b/assets/paintings/DEBUG.tower_of_heaven.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..d22a4c3bf55f241c4cbffd7af6b40df60f626f6d
--- /dev/null
+++ b/assets/paintings/DEBUG.tower_of_heaven.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c84rej2y67i54"
+path="res://.godot/imported/DEBUG.tower_of_heaven.png-65798440c9cc68b87b454f6fa75ea7af.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/DEBUG.tower_of_heaven.png"
+dest_files=["res://.godot/imported/DEBUG.tower_of_heaven.png-65798440c9cc68b87b454f6fa75ea7af.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/aidan.png b/assets/paintings/aidan.png
new file mode 100644
index 0000000000000000000000000000000000000000..5414b46e80f16f7fe2a5dda2146f5cd29f4ff26f
Binary files /dev/null and b/assets/paintings/aidan.png differ
diff --git a/assets/paintings/aidan.png.import b/assets/paintings/aidan.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..6565ab90ff256e7b92a8c42bd65a419acf48760e
--- /dev/null
+++ b/assets/paintings/aidan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://d15hydbeqxwc8"
+path="res://.godot/imported/aidan.png-fcc558dce385c6f5b33fd9194f121a71.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/aidan.png"
+dest_files=["res://.godot/imported/aidan.png-fcc558dce385c6f5b33fd9194f121a71.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/ben.png b/assets/paintings/ben.png
new file mode 100644
index 0000000000000000000000000000000000000000..dbd42768c4787d09cb8f0e53a1b48fea96eaf528
Binary files /dev/null and b/assets/paintings/ben.png differ
diff --git a/assets/paintings/ben.png.import b/assets/paintings/ben.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..b254be00d013267a597b4351e4eb190b5a062cd5
--- /dev/null
+++ b/assets/paintings/ben.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://c5ljwfujlvtcr"
+path="res://.godot/imported/ben.png-87c75d735ba9ceaefdb500439761a267.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/ben.png"
+dest_files=["res://.godot/imported/ben.png-87c75d735ba9ceaefdb500439761a267.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/chakrika.png b/assets/paintings/chakrika.png
new file mode 100644
index 0000000000000000000000000000000000000000..90c1b243cb55f8ffff60b7d62dcff223df5a0ff4
Binary files /dev/null and b/assets/paintings/chakrika.png differ
diff --git a/assets/paintings/chakrika.png.import b/assets/paintings/chakrika.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..80f392131c295e552a16e28862313da49a848030
--- /dev/null
+++ b/assets/paintings/chakrika.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bejjeevbtx84g"
+path="res://.godot/imported/chakrika.png-e5f340b2bab9428e0b70036dcaffdb38.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/chakrika.png"
+dest_files=["res://.godot/imported/chakrika.png-e5f340b2bab9428e0b70036dcaffdb38.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/emily.png b/assets/paintings/emily.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a65682c3618f6a4539a3753dc0f421b90b98189
Binary files /dev/null and b/assets/paintings/emily.png differ
diff --git a/assets/paintings/emily.png.import b/assets/paintings/emily.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..7143448af6070c888f15a17635fe203ef239b9ba
--- /dev/null
+++ b/assets/paintings/emily.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwjlw5pkpnf65"
+path="res://.godot/imported/emily.png-92d1922e488ffc4b66992a45880f3993.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/emily.png"
+dest_files=["res://.godot/imported/emily.png-92d1922e488ffc4b66992a45880f3993.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/haig.png b/assets/paintings/haig.png
new file mode 100644
index 0000000000000000000000000000000000000000..5d66648f5528c12a8afc7a2b7997d06c9d9d1c63
Binary files /dev/null and b/assets/paintings/haig.png differ
diff --git a/assets/paintings/haig.png.import b/assets/paintings/haig.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..59dba98587333ad6b0f397d36bd7cdd5a23d2a88
--- /dev/null
+++ b/assets/paintings/haig.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cn16kufreajin"
+path="res://.godot/imported/haig.png-3eb5eda30b728711923f06ba9a09abf1.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/haig.png"
+dest_files=["res://.godot/imported/haig.png-3eb5eda30b728711923f06ba9a09abf1.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/keilani.png b/assets/paintings/keilani.png
new file mode 100644
index 0000000000000000000000000000000000000000..c0b821e6fb79ccf89897c64f81ec9c487256a336
Binary files /dev/null and b/assets/paintings/keilani.png differ
diff --git a/assets/paintings/keilani.png.import b/assets/paintings/keilani.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..1d47012a3be09b93865c2f5b18865305afde4190
--- /dev/null
+++ b/assets/paintings/keilani.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bvvnsa63uepll"
+path="res://.godot/imported/keilani.png-c5ffda2e611146bb1be308904f6fbdcf.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/keilani.png"
+dest_files=["res://.godot/imported/keilani.png-c5ffda2e611146bb1be308904f6fbdcf.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/manahil.png b/assets/paintings/manahil.png
new file mode 100644
index 0000000000000000000000000000000000000000..96c29073888849b2955161e39243667807ac3196
Binary files /dev/null and b/assets/paintings/manahil.png differ
diff --git a/assets/paintings/manahil.png.import b/assets/paintings/manahil.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..6943a08b13a3f3e055410e2626dd02c955df4543
--- /dev/null
+++ b/assets/paintings/manahil.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://k5svt0ujv4of"
+path="res://.godot/imported/manahil.png-99645a7c60a5d88120657ccf47da84c8.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/manahil.png"
+dest_files=["res://.godot/imported/manahil.png-99645a7c60a5d88120657ccf47da84c8.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/matt.png b/assets/paintings/matt.png
new file mode 100644
index 0000000000000000000000000000000000000000..1bc442d8d9b5f41777203dbdd5f8232b2d400ee1
Binary files /dev/null and b/assets/paintings/matt.png differ
diff --git a/assets/paintings/matt.png.import b/assets/paintings/matt.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..0e027d81d001a159ef1f26a136c56f7cfdd53586
--- /dev/null
+++ b/assets/paintings/matt.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://ydh58hhimqcn"
+path="res://.godot/imported/matt.png-513e7eb4d608ea2f09efb3fa862e8cad.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/matt.png"
+dest_files=["res://.godot/imported/matt.png-513e7eb4d608ea2f09efb3fa862e8cad.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/maxence.png b/assets/paintings/maxence.png
new file mode 100644
index 0000000000000000000000000000000000000000..2ab4db736a3bab510e0a157307e6156a0f43d205
Binary files /dev/null and b/assets/paintings/maxence.png differ
diff --git a/assets/paintings/maxence.png.import b/assets/paintings/maxence.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..302b3b5f756e44c3997246ae7b9ee2f7280fe99f
--- /dev/null
+++ b/assets/paintings/maxence.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bwy02g4thojvq"
+path="res://.godot/imported/maxence.png-15cf76ea20f1d6b40aa4bc08a8a9554a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/maxence.png"
+dest_files=["res://.godot/imported/maxence.png-15cf76ea20f1d6b40aa4bc08a8a9554a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/nathan.png b/assets/paintings/nathan.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ffc5ac8770f2500fce4e6553e2925bf1f4443a0
Binary files /dev/null and b/assets/paintings/nathan.png differ
diff --git a/assets/paintings/nathan.png.import b/assets/paintings/nathan.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..0d4e0e32c2940c7b4ade52111077b27c1c79f8c2
--- /dev/null
+++ b/assets/paintings/nathan.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://dc2qm2yrfqsmy"
+path="res://.godot/imported/nathan.png-8d21b4a735ea8e6eeef4f64ce18a5875.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/nathan.png"
+dest_files=["res://.godot/imported/nathan.png-8d21b4a735ea8e6eeef4f64ce18a5875.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/prakhar.png b/assets/paintings/prakhar.png
new file mode 100644
index 0000000000000000000000000000000000000000..01e1ef5f49358fcb85ec448f2e7526c4bf5adeaa
Binary files /dev/null and b/assets/paintings/prakhar.png differ
diff --git a/assets/paintings/prakhar.png.import b/assets/paintings/prakhar.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..2fee6f12ba34977482de8d063a7e74359aca054e
--- /dev/null
+++ b/assets/paintings/prakhar.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://cgb440axd6wsj"
+path="res://.godot/imported/prakhar.png-fa6242f9f16b953cb5aedbda6189232a.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/prakhar.png"
+dest_files=["res://.godot/imported/prakhar.png-fa6242f9f16b953cb5aedbda6189232a.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/paintings/suraj.png b/assets/paintings/suraj.png
new file mode 100644
index 0000000000000000000000000000000000000000..feac4035bb96786747b6250d2125dce1896de840
Binary files /dev/null and b/assets/paintings/suraj.png differ
diff --git a/assets/paintings/suraj.png.import b/assets/paintings/suraj.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..8c6de6473cf19e2bd7a65955763defec03dd9d10
--- /dev/null
+++ b/assets/paintings/suraj.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bik6tfb5377e8"
+path="res://.godot/imported/suraj.png-6c4d336f940c54a43dec13252d3a1975.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/paintings/suraj.png"
+dest_files=["res://.godot/imported/suraj.png-6c4d336f940c54a43dec13252d3a1975.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/assets/tilesets/whitespace.png b/assets/tilesets/whitespace.png
new file mode 100644
index 0000000000000000000000000000000000000000..745ccb314fcda7e6b5adbcac15efdc0eb379cb84
Binary files /dev/null and b/assets/tilesets/whitespace.png differ
diff --git a/assets/tilesets/whitespace.png.import b/assets/tilesets/whitespace.png.import
new file mode 100644
index 0000000000000000000000000000000000000000..33971e88a6387fcd35517fcf8fce020663fad5a8
--- /dev/null
+++ b/assets/tilesets/whitespace.png.import
@@ -0,0 +1,34 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://da26whk68te4r"
+path="res://.godot/imported/whitespace.png-f43e57f6a272ac8638a43ec0633633ae.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://assets/tilesets/whitespace.png"
+dest_files=["res://.godot/imported/whitespace.png-f43e57f6a272ac8638a43ec0633633ae.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
diff --git a/components/char_placeholder.tres b/components/char_placeholder.tres
new file mode 100644
index 0000000000000000000000000000000000000000..f5f159be4eeacd932f32fc9bb9c413be6eb89d2b
--- /dev/null
+++ b/components/char_placeholder.tres
@@ -0,0 +1,14 @@
+[gd_resource type="SpriteFrames" load_steps=2 format=3 uid="uid://cw3s66d6jkgve"]
+
+[ext_resource type="Texture2D" uid="uid://qj61dfovrprd" path="res://assets/char/placeholder.png" id="1_mwyo5"]
+
+[resource]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": ExtResource("1_mwyo5")
+}],
+"loop": true,
+"name": &"default",
+"speed": 5.0
+}]
diff --git a/components/easel.tscn b/components/easel.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..2be0dcc9992c4f12e22860a09f0ec1cfffcd0c24
--- /dev/null
+++ b/components/easel.tscn
@@ -0,0 +1,35 @@
+[gd_scene load_steps=3 format=3 uid="uid://ck424al1l5hed"]
+
+[ext_resource type="Script" path="res://scripts/easel.gd" id="1_npiw6"]
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_gfjdx"]
+bg_color = Color(0.0901961, 0.0901961, 0.0901961, 0.219608)
+
+[node name="easel" type="CanvasLayer"]
+script = ExtResource("1_npiw6")
+
+[node name="panel" type="Panel" parent="."]
+visible = false
+offset_left = -23.0
+offset_top = -26.0
+offset_right = 1166.0
+offset_bottom = 671.0
+theme_override_styles/panel = SubResource("StyleBoxFlat_gfjdx")
+
+[node name="margin" type="MarginContainer" parent="."]
+anchors_preset = 8
+anchor_left = 0.5
+anchor_top = 0.5
+anchor_right = 0.5
+anchor_bottom = 0.5
+offset_left = -256.0
+offset_top = -256.0
+offset_right = 256.0
+offset_bottom = 256.0
+grow_horizontal = 2
+grow_vertical = 2
+size_flags_horizontal = 4
+size_flags_vertical = 4
+
+[node name="painting" type="TextureRect" parent="margin"]
+layout_mode = 2
diff --git a/components/tex34C7.tmp b/components/tex34C7.tmp
new file mode 100644
index 0000000000000000000000000000000000000000..4f0e1b1939356a9ba7296ce957e6616549db4d3b
--- /dev/null
+++ b/components/tex34C7.tmp
@@ -0,0 +1,79 @@
+[gd_scene load_steps=4 format=3 uid="uid://fe7f727dwujs"]
+
+[ext_resource type="FontFile" uid="uid://2j0g0u4dwr5v" path="res://assets/fonts/000webfont.ttf" id="1_1f3pu"]
+[ext_resource type="Script" path="res://scripts/textbox.gd" id="1_m28pu"]
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jfrdt"]
+bg_color = Color(0.996078, 0.996078, 0.996078, 1)
+border_width_left = 4
+border_width_top = 4
+border_width_right = 4
+border_width_bottom = 4
+border_color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+corner_radius_top_left = 5
+corner_radius_top_right = 5
+corner_radius_bottom_right = 5
+corner_radius_bottom_left = 5
+
+[node name="textbox" type="CanvasLayer"]
+script = ExtResource("1_m28pu")
+
+[node name="margin" type="MarginContainer" parent="."]
+anchors_preset = 12
+anchor_top = 1.0
+anchor_right = 1.0
+anchor_bottom = 1.0
+offset_top = -218.0
+offset_bottom = 2.0
+grow_horizontal = 2
+grow_vertical = 0
+theme_override_constants/margin_left = 20
+theme_override_constants/margin_top = 0
+theme_override_constants/margin_right = 20
+theme_override_constants/margin_bottom = 20
+
+[node name="panel" type="Panel" parent="margin"]
+layout_mode = 2
+theme_override_styles/panel = SubResource("StyleBoxFlat_jfrdt")
+
+[node name="margin" type="MarginContainer" parent="margin"]
+layout_mode = 2
+theme_override_constants/margin_left = 25
+theme_override_constants/margin_top = 25
+theme_override_constants/margin_right = 25
+theme_override_constants/margin_bottom = 25
+
+[node name="container" type="HBoxContainer" parent="margin/margin"]
+layout_mode = 2
+
+[node name="start" type="RichTextLabel" parent="margin/margin/container"]
+custom_minimum_size = Vector2(30, 50)
+layout_mode = 2
+size_flags_vertical = 0
+theme_override_colors/default_color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+theme_override_fonts/normal_font = ExtResource("1_1f3pu")
+theme_override_font_sizes/normal_font_size = 30
+bbcode_enabled = true
+text = "*"
+scroll_active = false
+
+[node name="body" type="RichTextLabel" parent="margin/margin/container"]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_colors/default_color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+theme_override_fonts/normal_font = ExtResource("1_1f3pu")
+theme_override_font_sizes/normal_font_size = 40
+bbcode_enabled = true
+text = "Hello World"
+scroll_active = false
+
+[node name="end" type="RichTextLabel" parent="margin/margin/container"]
+custom_minimum_size = Vector2(30, 50)
+layout_mode = 2
+size_flags_vertical = 8
+theme_override_colors/default_color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+theme_override_fonts/normal_font = ExtResource("1_1f3pu")
+theme_override_font_sizes/normal_font_size = 50
+bbcode_enabled = true
+text = "v"
+scroll_active = false
diff --git a/components/textbox.tscn b/components/textbox.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..bf0becfaca6c812c353199e79d31235bd4f9654a
--- /dev/null
+++ b/components/textbox.tscn
@@ -0,0 +1,76 @@
+[gd_scene load_steps=4 format=3 uid="uid://fe7f727dwujs"]
+
+[ext_resource type="FontFile" uid="uid://2j0g0u4dwr5v" path="res://assets/fonts/000webfont.ttf" id="1_1f3pu"]
+[ext_resource type="Script" path="res://scripts/textbox.gd" id="1_m28pu"]
+
+[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_jfrdt"]
+bg_color = Color(0.996078, 0.996078, 0.996078, 1)
+border_width_left = 4
+border_width_top = 4
+border_width_right = 4
+border_width_bottom = 4
+border_color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+corner_radius_top_left = 5
+corner_radius_top_right = 5
+corner_radius_bottom_right = 5
+corner_radius_bottom_left = 5
+
+[node name="textbox" type="CanvasLayer"]
+script = ExtResource("1_m28pu")
+
+[node name="margin" type="MarginContainer" parent="."]
+visible = false
+anchors_preset = 10
+anchor_right = 1.0
+offset_bottom = 220.0
+grow_horizontal = 2
+theme_override_constants/margin_left = 20
+theme_override_constants/margin_top = 20
+theme_override_constants/margin_right = 20
+theme_override_constants/margin_bottom = 0
+
+[node name="panel" type="Panel" parent="margin"]
+layout_mode = 2
+theme_override_styles/panel = SubResource("StyleBoxFlat_jfrdt")
+
+[node name="margin" type="MarginContainer" parent="margin"]
+layout_mode = 2
+theme_override_constants/margin_left = 25
+theme_override_constants/margin_top = 25
+theme_override_constants/margin_right = 25
+theme_override_constants/margin_bottom = 25
+
+[node name="container" type="HBoxContainer" parent="margin/margin"]
+layout_mode = 2
+
+[node name="start" type="RichTextLabel" parent="margin/margin/container"]
+custom_minimum_size = Vector2(30, 50)
+layout_mode = 2
+size_flags_vertical = 0
+theme_override_colors/default_color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+theme_override_fonts/normal_font = ExtResource("1_1f3pu")
+theme_override_font_sizes/normal_font_size = 30
+bbcode_enabled = true
+text = "*"
+scroll_active = false
+
+[node name="body" type="RichTextLabel" parent="margin/margin/container"]
+layout_mode = 2
+size_flags_horizontal = 3
+theme_override_colors/default_color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+theme_override_fonts/normal_font = ExtResource("1_1f3pu")
+theme_override_font_sizes/normal_font_size = 40
+bbcode_enabled = true
+text = "Hello World"
+scroll_active = false
+
+[node name="end" type="RichTextLabel" parent="margin/margin/container"]
+custom_minimum_size = Vector2(30, 50)
+layout_mode = 2
+size_flags_vertical = 8
+theme_override_colors/default_color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+theme_override_fonts/normal_font = ExtResource("1_1f3pu")
+theme_override_font_sizes/normal_font_size = 50
+bbcode_enabled = true
+text = "v"
+scroll_active = false
diff --git a/components/whitespace.tres b/components/whitespace.tres
new file mode 100644
index 0000000000000000000000000000000000000000..9e3b92287b35944f46aaedbcea0c1fef9c574bfd
--- /dev/null
+++ b/components/whitespace.tres
@@ -0,0 +1,134 @@
+[gd_resource type="TileSet" load_steps=3 format=3 uid="uid://cbpepakxabcka"]
+
+[ext_resource type="Texture2D" uid="uid://da26whk68te4r" path="res://assets/tilesets/whitespace.png" id="1_tjhf3"]
+
+[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_08gk1"]
+texture = ExtResource("1_tjhf3")
+texture_region_size = Vector2i(32, 32)
+0:0/0 = 0
+0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+0:0/0/physics_layer_0/angular_velocity = 0.0
+0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+1:0/0 = 0
+1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+1:0/0/physics_layer_0/angular_velocity = 0.0
+1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+2:0/0 = 0
+2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+2:0/0/physics_layer_0/angular_velocity = 0.0
+2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+3:0/0 = 0
+3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+3:0/0/physics_layer_0/angular_velocity = 0.0
+3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+0:1/0 = 0
+0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+0:1/0/physics_layer_0/angular_velocity = 0.0
+0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+1:1/0 = 0
+1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+1:1/0/physics_layer_0/angular_velocity = 0.0
+1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+2:1/0 = 0
+2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+2:1/0/physics_layer_0/angular_velocity = 0.0
+2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+3:1/0 = 0
+3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+3:1/0/physics_layer_0/angular_velocity = 0.0
+3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+0:2/0 = 0
+0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+0:2/0/physics_layer_0/angular_velocity = 0.0
+0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+1:2/0 = 0
+1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+1:2/0/physics_layer_0/angular_velocity = 0.0
+1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+2:2/0 = 0
+2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+2:2/0/physics_layer_0/angular_velocity = 0.0
+2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+3:2/0 = 0
+3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+3:2/0/physics_layer_0/angular_velocity = 0.0
+3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+0:3/0 = 0
+0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+0:3/0/physics_layer_0/angular_velocity = 0.0
+0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+1:3/0 = 0
+1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+1:3/0/physics_layer_0/angular_velocity = 0.0
+1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+2:3/0 = 0
+2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+2:3/0/physics_layer_0/angular_velocity = 0.0
+2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+3:3/0 = 0
+3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+3:3/0/physics_layer_0/angular_velocity = 0.0
+3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+0:4/0 = 0
+0:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+0:4/0/physics_layer_0/angular_velocity = 0.0
+0:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+1:4/0 = 0
+1:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+1:4/0/physics_layer_0/angular_velocity = 0.0
+1:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+2:4/0 = 0
+2:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+2:4/0/physics_layer_0/angular_velocity = 0.0
+2:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+3:4/0 = 0
+3:4/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+3:4/0/physics_layer_0/angular_velocity = 0.0
+3:4/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+0:5/0 = 0
+0:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+0:5/0/physics_layer_0/angular_velocity = 0.0
+0:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+1:5/0 = 0
+1:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+1:5/0/physics_layer_0/angular_velocity = 0.0
+1:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+2:5/0 = 0
+2:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+2:5/0/physics_layer_0/angular_velocity = 0.0
+2:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+3:5/0 = 0
+3:5/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+3:5/0/physics_layer_0/angular_velocity = 0.0
+3:5/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+0:6/0 = 0
+0:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+0:6/0/physics_layer_0/angular_velocity = 0.0
+0:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+1:6/0 = 0
+1:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+1:6/0/physics_layer_0/angular_velocity = 0.0
+1:6/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16)
+2:6/0 = 0
+2:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+2:6/0/physics_layer_0/angular_velocity = 0.0
+3:6/0 = 0
+3:6/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+3:6/0/physics_layer_0/angular_velocity = 0.0
+0:7/0 = 0
+0:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+0:7/0/physics_layer_0/angular_velocity = 0.0
+1:7/0 = 0
+1:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+1:7/0/physics_layer_0/angular_velocity = 0.0
+2:7/0 = 0
+2:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+2:7/0/physics_layer_0/angular_velocity = 0.0
+3:7/0 = 0
+3:7/0/physics_layer_0/linear_velocity = Vector2(0, 0)
+3:7/0/physics_layer_0/angular_velocity = 0.0
+
+[resource]
+tile_size = Vector2i(32, 32)
+physics_layer_0/collision_layer = 1
+sources/0 = SubResource("TileSetAtlasSource_08gk1")
diff --git a/custom_html_shell.html b/custom_html_shell.html
new file mode 100644
index 0000000000000000000000000000000000000000..6710cb1533b81b510414c90cfc1fa9b5021fb4c2
--- /dev/null
+++ b/custom_html_shell.html
@@ -0,0 +1,245 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, user-scalable=no">
+ <title>$GODOT_PROJECT_NAME</title>
+ <style>
+body {
+ touch-action: none;
+ margin: 0;
+ border: 0 none;
+ padding: 0;
+ text-align: center;
+ background-color: black;
+}
+
+#canvas {
+ display: block;
+ margin: 0;
+ color: white;
+}
+
+#canvas:focus {
+ outline: none;
+}
+
+.godot {
+ font-family: 'Noto Sans', 'Droid Sans', Arial, sans-serif;
+ color: #e0e0e0;
+ background-color: #3b3943;
+ background-image: linear-gradient(to bottom, #403e48, #35333c);
+ border: 1px solid #45434e;
+ box-shadow: 0 0 1px 1px #2f2d35;
+}
+
+/* Status display */
+
+#status {
+ position: absolute;
+ left: 0;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ /* don't consume click events - make children visible explicitly */
+ visibility: hidden;
+}
+
+#status-progress {
+ width: 366px;
+ height: 7px;
+ background-color: #38363A;
+ border: 1px solid #444246;
+ padding: 1px;
+ box-shadow: 0 0 2px 1px #1B1C22;
+ border-radius: 2px;
+ visibility: visible;
+}
+
+@media only screen and (orientation:portrait) {
+ #status-progress {
+ width: 61.8%;
+ }
+}
+
+#status-progress-inner {
+ height: 100%;
+ width: 0;
+ box-sizing: border-box;
+ transition: width 0.5s linear;
+ background-color: #202020;
+ border: 1px solid #222223;
+ box-shadow: 0 0 1px 1px #27282E;
+ border-radius: 3px;
+}
+
+#status-indeterminate {
+ height: 42px;
+ visibility: visible;
+ position: relative;
+}
+
+#status-indeterminate > div {
+ width: 4.5px;
+ height: 0;
+ border-style: solid;
+ border-width: 9px 3px 0 3px;
+ border-color: #2b2b2b transparent transparent transparent;
+ transform-origin: center 21px;
+ position: absolute;
+}
+
+#status-indeterminate > div:nth-child(1) { transform: rotate( 22.5deg); }
+#status-indeterminate > div:nth-child(2) { transform: rotate( 67.5deg); }
+#status-indeterminate > div:nth-child(3) { transform: rotate(112.5deg); }
+#status-indeterminate > div:nth-child(4) { transform: rotate(157.5deg); }
+#status-indeterminate > div:nth-child(5) { transform: rotate(202.5deg); }
+#status-indeterminate > div:nth-child(6) { transform: rotate(247.5deg); }
+#status-indeterminate > div:nth-child(7) { transform: rotate(292.5deg); }
+#status-indeterminate > div:nth-child(8) { transform: rotate(337.5deg); }
+
+#status-notice {
+ margin: 0 100px;
+ line-height: 1.3;
+ visibility: visible;
+ padding: 4px 6px;
+ visibility: visible;
+}
+ </style>
+ $GODOT_HEAD_INCLUDE
+ </head>
+ <body>
+ <canvas id="canvas">
+ HTML5 canvas appears to be unsupported in the current browser.<br >
+ Please try updating or use a different browser.
+ </canvas>
+ <div id="status">
+ <div id="status-progress" style="display: none;" oncontextmenu="event.preventDefault();">
+ <div id ="status-progress-inner"></div>
+ </div>
+ <div id="status-indeterminate" style="display: none;" oncontextmenu="event.preventDefault();">
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ <div></div>
+ </div>
+ <div id="status-notice" class="godot" style="display: none;"></div>
+ </div>
+
+ <script src="$GODOT_URL"></script>
+ <script>
+const GODOT_CONFIG = $GODOT_CONFIG;
+const engine = new Engine(GODOT_CONFIG);
+
+(function () {
+ const INDETERMINATE_STATUS_STEP_MS = 100;
+ const statusProgress = document.getElementById('status-progress');
+ const statusProgressInner = document.getElementById('status-progress-inner');
+ const statusIndeterminate = document.getElementById('status-indeterminate');
+ const statusNotice = document.getElementById('status-notice');
+
+ let initializing = true;
+ let statusMode = 'hidden';
+
+ let animationCallbacks = [];
+ function animate(time) {
+ animationCallbacks.forEach((callback) => callback(time));
+ requestAnimationFrame(animate);
+ }
+ requestAnimationFrame(animate);
+
+ function animateStatusIndeterminate(ms) {
+ const i = Math.floor((ms / INDETERMINATE_STATUS_STEP_MS) % 8);
+ if (statusIndeterminate.children[i].style.borderTopColor === '') {
+ Array.prototype.slice.call(statusIndeterminate.children).forEach((child) => {
+ child.style.borderTopColor = '';
+ });
+ statusIndeterminate.children[i].style.borderTopColor = '#dfdfdf';
+ }
+ }
+
+ function setStatusMode(mode) {
+ if (statusMode === mode || !initializing) {
+ return;
+ }
+ [statusProgress, statusIndeterminate, statusNotice].forEach((elem) => {
+ elem.style.display = 'none';
+ });
+ animationCallbacks = animationCallbacks.filter(function (value) {
+ return (value !== animateStatusIndeterminate);
+ });
+ switch (mode) {
+ case 'progress':
+ statusProgress.style.display = 'block';
+ break;
+ case 'indeterminate':
+ statusIndeterminate.style.display = 'block';
+ animationCallbacks.push(animateStatusIndeterminate);
+ break;
+ case 'notice':
+ statusNotice.style.display = 'block';
+ break;
+ case 'hidden':
+ break;
+ default:
+ throw new Error('Invalid status mode');
+ }
+ statusMode = mode;
+ }
+
+ function setStatusNotice(text) {
+ while (statusNotice.lastChild) {
+ statusNotice.removeChild(statusNotice.lastChild);
+ }
+ const lines = text.split('\n');
+ lines.forEach((line) => {
+ statusNotice.appendChild(document.createTextNode(line));
+ statusNotice.appendChild(document.createElement('br'));
+ });
+ }
+
+ function displayFailureNotice(err) {
+ const msg = err.message || err;
+ console.error(msg);
+ setStatusNotice(msg);
+ setStatusMode('notice');
+ initializing = false;
+ }
+
+ const missing = Engine.getMissingFeatures();
+ if (missing.length !== 0) {
+ const missingMsg = 'Error\nThe following features required to run Godot projects on the Web are missing:\n';
+ displayFailureNotice(missingMsg + missing.join('\n'));
+ } else {
+ setStatusMode('indeterminate');
+ engine.startGame({
+ 'onProgress': function (current, total) {
+ if (total > 0) {
+ statusProgressInner.style.width = `${(current / total) * 100}%`;
+ setStatusMode('progress');
+ if (current === total) {
+ // wait for progress bar animation
+ setTimeout(() => {
+ setStatusMode('indeterminate');
+ }, 500);
+ }
+ } else {
+ setStatusMode('indeterminate');
+ }
+ },
+ }).then(() => {
+ setStatusMode('hidden');
+ initializing = false;
+ }, displayFailureNotice);
+ }
+}());
+ </script>
+ </body>
+</html>
diff --git a/export_presets.cfg b/export_presets.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..47f188d91a37d9a7486431e110f6ee48373a9bf0
--- /dev/null
+++ b/export_presets.cfg
@@ -0,0 +1,39 @@
+[preset.0]
+
+name="Web"
+platform="Web"
+runnable=true
+dedicated_server=false
+custom_features=""
+export_filter="all_resources"
+include_filter=""
+exclude_filter=""
+export_path="../../../../../Desktop/hnrs/index.html"
+encryption_include_filters=""
+encryption_exclude_filters=""
+encrypt_pck=false
+encrypt_directory=false
+
+[preset.0.options]
+
+custom_template/debug=""
+custom_template/release=""
+variant/extensions_support=true
+vram_texture_compression/for_desktop=true
+vram_texture_compression/for_mobile=false
+html/export_icon=false
+html/custom_html_shell=""
+html/head_include=""
+html/canvas_resize_policy=2
+html/focus_canvas_on_start=true
+html/experimental_virtual_keyboard=false
+progressive_web_app/enabled=false
+progressive_web_app/offline_page=""
+progressive_web_app/display=1
+progressive_web_app/orientation=0
+progressive_web_app/icon_144x144="res://icon.svg"
+progressive_web_app/icon_180x180="res://icon.svg"
+progressive_web_app/icon_512x512="res://icon.svg"
+progressive_web_app/background_color=Color(0.996078, 0.996078, 0.996078, 1)
+include_coi_service_worker=true
+iframe_breakout="Disabled"
diff --git a/icon.svg b/icon.svg
new file mode 100644
index 0000000000000000000000000000000000000000..99947f9eb80a3df9bac06baf06ff558c22ffd733
--- /dev/null
+++ b/icon.svg
@@ -0,0 +1,11 @@
+<svg version="1.2" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="512" height="512">
+ <title>New Project</title>
+ <defs>
+ <image width="448" height="448" id="img1" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcAAAAHAAgMAAABIS1DgAAAAAXNSR0IB2cksfwAAAAlQTFRFFrO8/v7+7e3tyWGB/QAAAMhJREFUeJztzbENADAIwDCe7JO9krUHwAB15kiOkCRJkiTp6TQHBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAjcAVZ9QCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQC94BVAYFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAInAfe5oBAIBAIBAKBQCAQOAOUJEmSJH1dAhsCfrPLeshuAAAAAElFTkSuQmCC"/>
+ <image width="448" height="448" id="img2" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcAAAAHAAgMAAABIS1DgAAAAAXNSR0IB2cksfwAAAAlQTFRFEhIS/v7+7e3t5f6f0AAAAMhJREFUeJztzbENADAIwDCe7JO9krUHwAB15kiOkCRJkiTp6TQHBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAjcAVZ9QCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQC94BVAYFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAIBAKBQCAQCAQCgUAgEAgEAoFAIBAInAfe5oBAIBAIBAKBQCAQOAOUJEmSJH1dAhsCfrPLeshuAAAAAElFTkSuQmCC"/>
+ </defs>
+ <style>
+ </style>
+ <use id="placeholder copy 2" href="#img1" x="18" y="52"/>
+ <use id="placeholder copy" href="#img2" x="32" y="32"/>
+</svg>
\ No newline at end of file
diff --git a/icon.svg.import b/icon.svg.import
new file mode 100644
index 0000000000000000000000000000000000000000..9b845f02c36a340e4537be02b0c04d32c7ef7470
--- /dev/null
+++ b/icon.svg.import
@@ -0,0 +1,37 @@
+[remap]
+
+importer="texture"
+type="CompressedTexture2D"
+uid="uid://bm4sfkaq3dpxv"
+path="res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"
+metadata={
+"vram_texture": false
+}
+
+[deps]
+
+source_file="res://icon.svg"
+dest_files=["res://.godot/imported/icon.svg-218a8f2b3041327d8a5756f3a245f83b.ctex"]
+
+[params]
+
+compress/mode=0
+compress/high_quality=false
+compress/lossy_quality=0.7
+compress/hdr_compression=1
+compress/normal_map=0
+compress/channel_pack=0
+mipmaps/generate=false
+mipmaps/limit=-1
+roughness/mode=0
+roughness/src_normal=""
+process/fix_alpha_border=true
+process/premult_alpha=false
+process/normal_map_invert_y=false
+process/hdr_as_srgb=false
+process/hdr_clamp_exposure=false
+process/size_limit=0
+detect_3d/compress_to=1
+svg/scale=1.0
+editor/scale_with_editor_scale=false
+editor/convert_colors_with_editor_theme=false
diff --git a/project.godot b/project.godot
new file mode 100644
index 0000000000000000000000000000000000000000..cf6285b58444c4e43a9d999b3430eea41494be30
--- /dev/null
+++ b/project.godot
@@ -0,0 +1,31 @@
+; Engine configuration file.
+; It's best edited using the editor UI and not directly,
+; since the parameters that go here are not all obvious.
+;
+; Format:
+; [section] ; section goes between []
+; param=value ; assign values to parameters
+
+config_version=5
+
+[application]
+
+config/name="museum"
+run/main_scene="res://scenes/intro.tscn"
+config/features=PackedStringArray("4.1", "GL Compatibility")
+config/icon="res://icon.svg"
+
+[display]
+
+window/stretch/mode="viewport"
+
+[editor_plugins]
+
+enabled=PackedStringArray("res://addons/coi_serviceworker/plugin.cfg")
+
+[rendering]
+
+textures/canvas_textures/default_texture_filter=0
+renderer/rendering_method="gl_compatibility"
+renderer/rendering_method.mobile="gl_compatibility"
+environment/defaults/default_clear_color=Color(0.996078, 0.996078, 0.996078, 1)
diff --git a/scenes/intro.tscn b/scenes/intro.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..e19ed46899830f8b4765a40c7221a6a474499fc0
--- /dev/null
+++ b/scenes/intro.tscn
@@ -0,0 +1,66 @@
+[gd_scene load_steps=11 format=3 uid="uid://dpq51grmofr5h"]
+
+[ext_resource type="Script" path="res://scripts/intro.gd" id="1_wb781"]
+[ext_resource type="PackedScene" uid="uid://fe7f727dwujs" path="res://components/textbox.tscn" id="2_piylp"]
+[ext_resource type="Texture2D" uid="uid://b6p22mfv7raq7" path="res://assets/casey/lloyd.png" id="3_13ys0"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nf6b7"]
+atlas = ExtResource("3_13ys0")
+region = Rect2(0, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_kvqxe"]
+atlas = ExtResource("3_13ys0")
+region = Rect2(64, 0, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_puogj"]
+atlas = ExtResource("3_13ys0")
+region = Rect2(0, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lt1c5"]
+atlas = ExtResource("3_13ys0")
+region = Rect2(64, 64, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4cvfg"]
+atlas = ExtResource("3_13ys0")
+region = Rect2(0, 128, 64, 64)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_75d03"]
+atlas = ExtResource("3_13ys0")
+region = Rect2(64, 128, 64, 64)
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_ei3po"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nf6b7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_kvqxe")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_puogj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lt1c5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4cvfg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_75d03")
+}],
+"loop": true,
+"name": &"default",
+"speed": 5.0
+}]
+
+[node name="intro" type="Node2D"]
+script = ExtResource("1_wb781")
+
+[node name="textbox" parent="." instance=ExtResource("2_piylp")]
+
+[node name="lloyd" type="AnimatedSprite2D" parent="."]
+position = Vector2(73, 494)
+scale = Vector2(6, 6)
+sprite_frames = SubResource("SpriteFrames_ei3po")
+frame_progress = 0.169342
diff --git a/scenes/main.tscn b/scenes/main.tscn
new file mode 100644
index 0000000000000000000000000000000000000000..3275b53714da189b06edbcc12a59d22ba59b91f8
--- /dev/null
+++ b/scenes/main.tscn
@@ -0,0 +1,2452 @@
+[gd_scene load_steps=337 format=3 uid="uid://dq0hclmv84sx"]
+
+[ext_resource type="PackedScene" uid="uid://bisbhn3ir5rre" path="res://actors/killzone.tscn" id="1_jbn22"]
+[ext_resource type="TileSet" uid="uid://cbpepakxabcka" path="res://components/whitespace.tres" id="1_vhxu0"]
+[ext_resource type="PackedScene" uid="uid://bink6mb2vvn0t" path="res://actors/player.tscn" id="2_aqp80"]
+[ext_resource type="Texture2D" uid="uid://bejjeevbtx84g" path="res://assets/paintings/chakrika.png" id="3_38sfq"]
+[ext_resource type="PackedScene" uid="uid://d4dgmkt10u55q" path="res://actors/painting.tscn" id="3_kw4jh"]
+[ext_resource type="Texture2D" uid="uid://d15hydbeqxwc8" path="res://assets/paintings/aidan.png" id="4_8fc03"]
+[ext_resource type="PackedScene" uid="uid://cnpvq26op5cdj" path="res://actors/plaque.tscn" id="4_arnng"]
+[ext_resource type="Texture2D" uid="uid://dc2qm2yrfqsmy" path="res://assets/paintings/nathan.png" id="4_uu6nr"]
+[ext_resource type="Texture2D" uid="uid://cgb440axd6wsj" path="res://assets/paintings/prakhar.png" id="5_4bw0m"]
+[ext_resource type="PackedScene" uid="uid://ck424al1l5hed" path="res://components/easel.tscn" id="5_nj6vp"]
+[ext_resource type="PackedScene" uid="uid://fe7f727dwujs" path="res://components/textbox.tscn" id="5_ylw86"]
+[ext_resource type="Texture2D" uid="uid://bwy02g4thojvq" path="res://assets/paintings/maxence.png" id="7_omuf7"]
+[ext_resource type="Texture2D" uid="uid://bvvnsa63uepll" path="res://assets/paintings/keilani.png" id="8_7xn2g"]
+[ext_resource type="Texture2D" uid="uid://c5ljwfujlvtcr" path="res://assets/paintings/ben.png" id="9_snffs"]
+[ext_resource type="Texture2D" uid="uid://k5svt0ujv4of" path="res://assets/paintings/manahil.png" id="10_hqsry"]
+[ext_resource type="Texture2D" uid="uid://cn16kufreajin" path="res://assets/paintings/haig.png" id="11_8wpcf"]
+[ext_resource type="Texture2D" uid="uid://bwjlw5pkpnf65" path="res://assets/paintings/emily.png" id="11_gok6c"]
+[ext_resource type="Texture2D" uid="uid://bik6tfb5377e8" path="res://assets/paintings/suraj.png" id="13_y255a"]
+[ext_resource type="Texture2D" uid="uid://ydh58hhimqcn" path="res://assets/paintings/matt.png" id="14_j2hmb"]
+[ext_resource type="Texture2D" uid="uid://drxo6107t5p88" path="res://assets/kevin/arcade.png" id="17_spete"]
+[ext_resource type="Script" path="res://scripts/autoplay.gd" id="18_lbep7"]
+[ext_resource type="Texture2D" uid="uid://ccx24cjbwtnu4" path="res://assets/kevin/cards.png" id="19_dm7bs"]
+[ext_resource type="Texture2D" uid="uid://cqe2gui1t8i3p" path="res://assets/kevin/sword.png" id="19_makog"]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_kld05"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_os7px"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3gmeg"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_5meth"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ipo4w"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_6oje2"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_upi8f"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0x15c"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gcvix"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_py76t"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_krdxl"]
+atlas = ExtResource("17_spete")
+region = Rect2(5600, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_axelt"]
+atlas = ExtResource("17_spete")
+region = Rect2(6160, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_memj7"]
+atlas = ExtResource("17_spete")
+region = Rect2(6720, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1cftw"]
+atlas = ExtResource("17_spete")
+region = Rect2(7280, 0, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7bsgh"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f3fa5"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0fm1e"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f22sq"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ieab8"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_p450d"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vuelj"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_55xn8"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hn6cu"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7y61d"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7te3r"]
+atlas = ExtResource("17_spete")
+region = Rect2(5600, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_fi721"]
+atlas = ExtResource("17_spete")
+region = Rect2(6160, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_demln"]
+atlas = ExtResource("17_spete")
+region = Rect2(6720, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nx3xw"]
+atlas = ExtResource("17_spete")
+region = Rect2(7280, 920, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1u7py"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_530d3"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_arad4"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vffia"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vr41o"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_w05id"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_2gjyt"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_d622v"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3u4kg"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rpg7i"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_52vx5"]
+atlas = ExtResource("17_spete")
+region = Rect2(5600, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_01xy5"]
+atlas = ExtResource("17_spete")
+region = Rect2(6160, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_fxhqr"]
+atlas = ExtResource("17_spete")
+region = Rect2(6720, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8hoic"]
+atlas = ExtResource("17_spete")
+region = Rect2(7280, 1840, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_o83jj"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_g1ycr"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xq0gg"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7s6n6"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_sm2pj"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vt4gy"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8dddd"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_v2bvr"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f5j18"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_d12ub"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1itso"]
+atlas = ExtResource("17_spete")
+region = Rect2(5600, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0rf4l"]
+atlas = ExtResource("17_spete")
+region = Rect2(6160, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_6rf3o"]
+atlas = ExtResource("17_spete")
+region = Rect2(6720, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_l3lia"]
+atlas = ExtResource("17_spete")
+region = Rect2(7280, 2760, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_r8gya"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_pbory"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ug52h"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_dnrr0"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qmdp2"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_raheg"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_dx4sm"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_weh0m"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nab4b"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_drvqt"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4sn7k"]
+atlas = ExtResource("17_spete")
+region = Rect2(5600, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_186f3"]
+atlas = ExtResource("17_spete")
+region = Rect2(6160, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_i5o7m"]
+atlas = ExtResource("17_spete")
+region = Rect2(6720, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_pltcc"]
+atlas = ExtResource("17_spete")
+region = Rect2(7280, 3680, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ch45b"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_i5s1p"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_m2mb8"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7rjip"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_sfr2k"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qrtnj"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_e31kt"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_17t08"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_k2e0j"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_krqho"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nxl68"]
+atlas = ExtResource("17_spete")
+region = Rect2(5600, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_uv0uw"]
+atlas = ExtResource("17_spete")
+region = Rect2(6160, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_s8m2a"]
+atlas = ExtResource("17_spete")
+region = Rect2(6720, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jedpf"]
+atlas = ExtResource("17_spete")
+region = Rect2(7280, 4600, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_w526v"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_x1mp4"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rnw7c"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_6mcu3"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ifnby"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8xii5"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_dkior"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_53k4p"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3r6ff"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_he3jp"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vv5bb"]
+atlas = ExtResource("17_spete")
+region = Rect2(5600, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_fi1sc"]
+atlas = ExtResource("17_spete")
+region = Rect2(6160, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mglsg"]
+atlas = ExtResource("17_spete")
+region = Rect2(6720, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_twj71"]
+atlas = ExtResource("17_spete")
+region = Rect2(7280, 5520, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_dw7g1"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0qrv7"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mw01o"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hd6v0"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0l0wn"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_a2fwp"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f48qr"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_w842q"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7nhr1"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mhbkd"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_moc86"]
+atlas = ExtResource("17_spete")
+region = Rect2(5600, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_m2upy"]
+atlas = ExtResource("17_spete")
+region = Rect2(6160, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jjeb5"]
+atlas = ExtResource("17_spete")
+region = Rect2(6720, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_txck1"]
+atlas = ExtResource("17_spete")
+region = Rect2(7280, 6440, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gou6x"]
+atlas = ExtResource("17_spete")
+region = Rect2(0, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4f1aj"]
+atlas = ExtResource("17_spete")
+region = Rect2(560, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_52sig"]
+atlas = ExtResource("17_spete")
+region = Rect2(1120, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_tkep7"]
+atlas = ExtResource("17_spete")
+region = Rect2(1680, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wgns3"]
+atlas = ExtResource("17_spete")
+region = Rect2(2240, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3r302"]
+atlas = ExtResource("17_spete")
+region = Rect2(2800, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wuu08"]
+atlas = ExtResource("17_spete")
+region = Rect2(3360, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_om5tc"]
+atlas = ExtResource("17_spete")
+region = Rect2(3920, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_a6vew"]
+atlas = ExtResource("17_spete")
+region = Rect2(4480, 7360, 560, 920)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0gymb"]
+atlas = ExtResource("17_spete")
+region = Rect2(5040, 7360, 560, 920)
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_kwh0r"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_kld05")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_os7px")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3gmeg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_5meth")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ipo4w")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_6oje2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_upi8f")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0x15c")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gcvix")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_py76t")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_krdxl")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_axelt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_memj7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1cftw")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7bsgh")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f3fa5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0fm1e")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f22sq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ieab8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_p450d")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vuelj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_55xn8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hn6cu")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7y61d")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7te3r")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_fi721")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_demln")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nx3xw")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1u7py")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_530d3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_arad4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vffia")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vr41o")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_w05id")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_2gjyt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_d622v")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3u4kg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rpg7i")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_52vx5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_01xy5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_fxhqr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8hoic")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_o83jj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_g1ycr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xq0gg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7s6n6")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_sm2pj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vt4gy")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8dddd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_v2bvr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f5j18")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_d12ub")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1itso")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0rf4l")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_6rf3o")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_l3lia")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_r8gya")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_pbory")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ug52h")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_dnrr0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qmdp2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_raheg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_dx4sm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_weh0m")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nab4b")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_drvqt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4sn7k")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_186f3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_i5o7m")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_pltcc")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ch45b")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_i5s1p")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_m2mb8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7rjip")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_sfr2k")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qrtnj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_e31kt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_17t08")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_k2e0j")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_krqho")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nxl68")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_uv0uw")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_s8m2a")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jedpf")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_w526v")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_x1mp4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rnw7c")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_6mcu3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ifnby")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8xii5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_dkior")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_53k4p")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3r6ff")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_he3jp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vv5bb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_fi1sc")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mglsg")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_twj71")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_dw7g1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0qrv7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mw01o")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hd6v0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0l0wn")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_a2fwp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f48qr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_w842q")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7nhr1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mhbkd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_moc86")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_m2upy")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jjeb5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_txck1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gou6x")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4f1aj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_52sig")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_tkep7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wgns3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3r302")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wuu08")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_om5tc")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_a6vew")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0gymb")
+}],
+"loop": true,
+"name": &"default",
+"speed": 60.0
+}]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_x8mg4"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vyijb"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_h6rl4"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_edxup"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_m40ga"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_tcxag"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3000, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_05ssk"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3600, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_w6j5f"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4200, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f2wb5"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4800, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_24uxw"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(5400, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0vdm2"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6000, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xe1dl"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nmks6"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_6s0hn"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 0, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nf5an"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_k277j"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_o3jcf"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0pod3"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8qe3k"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_anmtb"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3000, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_2w218"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3600, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_krviy"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4200, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_cpupb"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4800, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_acaa5"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(5400, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_6gxhp"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6000, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wchkb"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_sb3fb"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lk04x"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 338, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_q76tj"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_bpc6n"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_dtqgd"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_642hc"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_a0bg4"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lno8g"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3000, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nlwur"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3600, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_cxtlt"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4200, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mj3kv"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4800, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_sk5xo"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(5400, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_od0i2"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6000, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_h00me"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_awjsd"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_yodew"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 676, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_r3e64"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7suaj"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_e3p30"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_6cx1c"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ninpp"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_js724"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3000, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_u3g72"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3600, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_b7td7"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4200, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rws3n"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4800, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_t72ly"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(5400, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7v8nu"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6000, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nff3n"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xn5st"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gdi1t"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 1014, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7a0h4"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_83nks"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_raq0f"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jxtwd"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_p7kuv"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1c2hx"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3000, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_10unu"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3600, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jnkke"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4200, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ox60u"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4800, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xxb7y"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(5400, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7cnd4"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6000, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ec3sv"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_08h48"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ewtnl"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 1352, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_srxxr"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jmvdq"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xqirq"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_m5xxa"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hs5hm"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_n4hxf"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3000, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_15ioq"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3600, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7iflp"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4200, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nqm8w"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4800, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_gqb7w"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(5400, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_meblj"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6000, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_v4wwm"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_emti1"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_fbxd2"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 1690, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_h4nj7"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rrb0b"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ihnrt"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_l1o42"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mfjwl"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_u3gly"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3000, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_vncsi"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3600, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_032i1"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4200, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_labar"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4800, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_eehrl"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(5400, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_5d8bv"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6000, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qnqkj"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mosb3"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_2j5se"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 2028, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hkfa4"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_0hkho"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_pxklk"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_su6cy"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8v5vu"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mk1bo"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3000, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_tpqrd"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(3600, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mgauv"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4200, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_bmsht"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(4800, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ibpkj"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(5400, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8m57m"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6000, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qavqp"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mi1ib"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_yelrs"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 2366, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_rq4bi"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(0, 2704, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_dfv3r"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(600, 2704, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_s7yvq"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1200, 2704, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_txjkb"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(1800, 2704, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lb2fy"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(2400, 2704, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hn5b8"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(6600, 2704, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_74mou"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7200, 2704, 600, 338)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8b1vb"]
+atlas = ExtResource("19_dm7bs")
+region = Rect2(7800, 2704, 600, 338)
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_cek82"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_x8mg4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vyijb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_h6rl4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_edxup")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_m40ga")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_tcxag")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_05ssk")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_w6j5f")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f2wb5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_24uxw")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0vdm2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xe1dl")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nmks6")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_6s0hn")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nf5an")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_k277j")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_o3jcf")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0pod3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8qe3k")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_anmtb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_2w218")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_krviy")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_cpupb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_acaa5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_6gxhp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wchkb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_sb3fb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lk04x")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_q76tj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_bpc6n")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_dtqgd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_642hc")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_a0bg4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lno8g")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nlwur")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_cxtlt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mj3kv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_sk5xo")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_od0i2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_h00me")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_awjsd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_yodew")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_r3e64")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7suaj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_e3p30")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_6cx1c")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ninpp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_js724")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_u3g72")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_b7td7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rws3n")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_t72ly")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7v8nu")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nff3n")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xn5st")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gdi1t")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7a0h4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_83nks")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_raq0f")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jxtwd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_p7kuv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1c2hx")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_10unu")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jnkke")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ox60u")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xxb7y")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7cnd4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ec3sv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_08h48")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ewtnl")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_srxxr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jmvdq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xqirq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_m5xxa")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hs5hm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_n4hxf")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_15ioq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7iflp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nqm8w")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_gqb7w")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_meblj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_v4wwm")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_emti1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_fbxd2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_h4nj7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rrb0b")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ihnrt")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_l1o42")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mfjwl")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_u3gly")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_vncsi")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_032i1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_labar")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_eehrl")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_5d8bv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qnqkj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mosb3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_2j5se")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hkfa4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_0hkho")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_pxklk")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_su6cy")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8v5vu")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mk1bo")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_tpqrd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mgauv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_bmsht")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ibpkj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8m57m")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qavqp")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mi1ib")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_yelrs")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_rq4bi")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_dfv3r")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_s7yvq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_txjkb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lb2fy")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hn5b8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_74mou")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8b1vb")
+}],
+"loop": true,
+"name": &"default",
+"speed": 40.0
+}]
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_f5xm8"]
+atlas = ExtResource("19_makog")
+region = Rect2(0, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_i37ac"]
+atlas = ExtResource("19_makog")
+region = Rect2(540, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ji8mc"]
+atlas = ExtResource("19_makog")
+region = Rect2(1080, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_muqu1"]
+atlas = ExtResource("19_makog")
+region = Rect2(1620, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_tmmje"]
+atlas = ExtResource("19_makog")
+region = Rect2(2160, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_onfp1"]
+atlas = ExtResource("19_makog")
+region = Rect2(2700, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_k21e6"]
+atlas = ExtResource("19_makog")
+region = Rect2(3240, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_tm7si"]
+atlas = ExtResource("19_makog")
+region = Rect2(3780, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_cbvx4"]
+atlas = ExtResource("19_makog")
+region = Rect2(4320, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_mging"]
+atlas = ExtResource("19_makog")
+region = Rect2(4860, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_k1cl5"]
+atlas = ExtResource("19_makog")
+region = Rect2(5400, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jv5tw"]
+atlas = ExtResource("19_makog")
+region = Rect2(5940, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1cpjr"]
+atlas = ExtResource("19_makog")
+region = Rect2(6480, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jff5t"]
+atlas = ExtResource("19_makog")
+region = Rect2(7020, 0, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_aw7xq"]
+atlas = ExtResource("19_makog")
+region = Rect2(0, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_04ble"]
+atlas = ExtResource("19_makog")
+region = Rect2(540, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_jorsi"]
+atlas = ExtResource("19_makog")
+region = Rect2(1080, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_s4r4t"]
+atlas = ExtResource("19_makog")
+region = Rect2(1620, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_22u3h"]
+atlas = ExtResource("19_makog")
+region = Rect2(2160, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_j0fru"]
+atlas = ExtResource("19_makog")
+region = Rect2(2700, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_bu1aq"]
+atlas = ExtResource("19_makog")
+region = Rect2(3240, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xvv1f"]
+atlas = ExtResource("19_makog")
+region = Rect2(3780, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_dh160"]
+atlas = ExtResource("19_makog")
+region = Rect2(4320, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_evr4u"]
+atlas = ExtResource("19_makog")
+region = Rect2(4860, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_s3p4i"]
+atlas = ExtResource("19_makog")
+region = Rect2(5400, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ht0ph"]
+atlas = ExtResource("19_makog")
+region = Rect2(5940, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ovsl2"]
+atlas = ExtResource("19_makog")
+region = Rect2(6480, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_r2alo"]
+atlas = ExtResource("19_makog")
+region = Rect2(7020, 960, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_u3b37"]
+atlas = ExtResource("19_makog")
+region = Rect2(0, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_e32bj"]
+atlas = ExtResource("19_makog")
+region = Rect2(540, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_u7sls"]
+atlas = ExtResource("19_makog")
+region = Rect2(1080, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3cjx2"]
+atlas = ExtResource("19_makog")
+region = Rect2(1620, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ih0db"]
+atlas = ExtResource("19_makog")
+region = Rect2(2160, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xeivr"]
+atlas = ExtResource("19_makog")
+region = Rect2(2700, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1s2ei"]
+atlas = ExtResource("19_makog")
+region = Rect2(3240, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_cnsbj"]
+atlas = ExtResource("19_makog")
+region = Rect2(3780, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4nskd"]
+atlas = ExtResource("19_makog")
+region = Rect2(4320, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xs43g"]
+atlas = ExtResource("19_makog")
+region = Rect2(4860, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7v4h7"]
+atlas = ExtResource("19_makog")
+region = Rect2(5400, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_im0h5"]
+atlas = ExtResource("19_makog")
+region = Rect2(5940, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_ldmsj"]
+atlas = ExtResource("19_makog")
+region = Rect2(6480, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_lbkle"]
+atlas = ExtResource("19_makog")
+region = Rect2(7020, 1920, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_k1y00"]
+atlas = ExtResource("19_makog")
+region = Rect2(0, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_7h7q3"]
+atlas = ExtResource("19_makog")
+region = Rect2(540, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_c6yqv"]
+atlas = ExtResource("19_makog")
+region = Rect2(1080, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hdr63"]
+atlas = ExtResource("19_makog")
+region = Rect2(1620, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_i1umb"]
+atlas = ExtResource("19_makog")
+region = Rect2(2160, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_la3lb"]
+atlas = ExtResource("19_makog")
+region = Rect2(2700, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_adxkr"]
+atlas = ExtResource("19_makog")
+region = Rect2(3240, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_iwucj"]
+atlas = ExtResource("19_makog")
+region = Rect2(3780, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_3ujkx"]
+atlas = ExtResource("19_makog")
+region = Rect2(4320, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_4dv2s"]
+atlas = ExtResource("19_makog")
+region = Rect2(4860, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1jtjx"]
+atlas = ExtResource("19_makog")
+region = Rect2(5400, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_nb2hv"]
+atlas = ExtResource("19_makog")
+region = Rect2(5940, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_uglr6"]
+atlas = ExtResource("19_makog")
+region = Rect2(6480, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_t5u6h"]
+atlas = ExtResource("19_makog")
+region = Rect2(7020, 2880, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_8n20p"]
+atlas = ExtResource("19_makog")
+region = Rect2(0, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_a36y0"]
+atlas = ExtResource("19_makog")
+region = Rect2(540, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_uh8eh"]
+atlas = ExtResource("19_makog")
+region = Rect2(1080, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_c6a2r"]
+atlas = ExtResource("19_makog")
+region = Rect2(1620, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_xq8fe"]
+atlas = ExtResource("19_makog")
+region = Rect2(2160, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_is3ix"]
+atlas = ExtResource("19_makog")
+region = Rect2(2700, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_m5ecv"]
+atlas = ExtResource("19_makog")
+region = Rect2(3240, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_wm6ok"]
+atlas = ExtResource("19_makog")
+region = Rect2(3780, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_1uyt4"]
+atlas = ExtResource("19_makog")
+region = Rect2(4320, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_hoepb"]
+atlas = ExtResource("19_makog")
+region = Rect2(4860, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_a746e"]
+atlas = ExtResource("19_makog")
+region = Rect2(5400, 3840, 540, 960)
+
+[sub_resource type="AtlasTexture" id="AtlasTexture_qkj5c"]
+atlas = ExtResource("19_makog")
+region = Rect2(5940, 3840, 540, 960)
+
+[sub_resource type="SpriteFrames" id="SpriteFrames_tjpwd"]
+animations = [{
+"frames": [{
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_f5xm8")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_i37ac")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ji8mc")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_muqu1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_tmmje")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_onfp1")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_k21e6")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_tm7si")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_cbvx4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_mging")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_k1cl5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jv5tw")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1cpjr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jff5t")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_aw7xq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_04ble")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_jorsi")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_s4r4t")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_22u3h")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_j0fru")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_bu1aq")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xvv1f")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_dh160")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_evr4u")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_s3p4i")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ht0ph")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ovsl2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_r2alo")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_u3b37")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_e32bj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_u7sls")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3cjx2")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ih0db")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xeivr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1s2ei")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_cnsbj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4nskd")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xs43g")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7v4h7")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_im0h5")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_ldmsj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_lbkle")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_k1y00")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_7h7q3")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_c6yqv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hdr63")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_i1umb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_la3lb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_adxkr")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_iwucj")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_3ujkx")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_4dv2s")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1jtjx")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_nb2hv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_uglr6")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_t5u6h")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_8n20p")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_a36y0")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_uh8eh")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_c6a2r")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_xq8fe")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_is3ix")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_m5ecv")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_wm6ok")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_1uyt4")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_hoepb")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_a746e")
+}, {
+"duration": 1.0,
+"texture": SubResource("AtlasTexture_qkj5c")
+}],
+"loop": true,
+"name": &"default",
+"speed": 30.0
+}]
+
+[node name="main" type="Node2D"]
+
+[node name="killzones" type="Node2D" parent="."]
+
+[node name="right_submain" parent="killzones" instance=ExtResource("1_jbn22")]
+position = Vector2(911, 282)
+scale = Vector2(17.605, 1)
+
+[node name="subfun" parent="killzones" instance=ExtResource("1_jbn22")]
+position = Vector2(3398, 383)
+scale = Vector2(33.975, 1)
+
+[node name="left_submain" parent="killzones" instance=ExtResource("1_jbn22")]
+position = Vector2(-1234, 284)
+scale = Vector2(17.605, 1)
+
+[node name="subwar" parent="killzones" instance=ExtResource("1_jbn22")]
+position = Vector2(-2917, 199)
+scale = Vector2(17.605, 1)
+
+[node name="master_below" parent="killzones" instance=ExtResource("1_jbn22")]
+position = Vector2(-17, 1108)
+scale = Vector2(127.335, 1)
+
+[node name="blackspace" type="Node2D" parent="."]
+
+[node name="below" type="ColorRect" parent="blackspace"]
+offset_left = -6945.0
+offset_top = 331.0
+offset_right = 7576.0
+offset_bottom = 2707.0
+color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+
+[node name="fun" type="ColorRect" parent="blackspace"]
+offset_left = 2174.0
+offset_top = -3502.0
+offset_right = 5602.0
+offset_bottom = 2337.0
+color = Color(0.0705882, 0.0705882, 0.0705882, 1)
+
+[node name="paintings" type="Node2D" parent="."]
+
+[node name="video" type="Node2D" parent="paintings"]
+
+[node name="chakrika" parent="paintings/video" instance=ExtResource("3_kw4jh")]
+position = Vector2(576, 704)
+texture = ExtResource("3_38sfq")
+
+[node name="aidan" parent="paintings/video" instance=ExtResource("3_kw4jh")]
+position = Vector2(-928, 672)
+texture = ExtResource("4_8fc03")
+
+[node name="nathan" parent="paintings/video" instance=ExtResource("3_kw4jh")]
+position = Vector2(400, 720)
+scale = Vector2(0.0625, 0.0625)
+texture = ExtResource("4_uu6nr")
+type = 0
+
+[node name="prakhar" parent="paintings/video" instance=ExtResource("3_kw4jh")]
+position = Vector2(-560, 720)
+scale = Vector2(0.0625, 0.0625)
+texture = ExtResource("5_4bw0m")
+type = 0
+
+[node name="war" type="Node2D" parent="paintings"]
+
+[node name="maxence" parent="paintings/war" instance=ExtResource("3_kw4jh")]
+position = Vector2(-1472, -192)
+texture = ExtResource("7_omuf7")
+
+[node name="fun" type="Node2D" parent="paintings"]
+
+[node name="keilani" parent="paintings/fun" instance=ExtResource("3_kw4jh")]
+position = Vector2(496, -80)
+scale = Vector2(0.0625, 0.0625)
+texture = ExtResource("8_7xn2g")
+type = 0
+
+[node name="ben" parent="paintings/fun" instance=ExtResource("3_kw4jh")]
+position = Vector2(720, -112)
+scale = Vector2(0.0625, 0.0625)
+texture = ExtResource("9_snffs")
+type = 0
+
+[node name="manahil" parent="paintings/fun" instance=ExtResource("3_kw4jh")]
+position = Vector2(1120, -160)
+texture = ExtResource("10_hqsry")
+
+[node name="haig" parent="paintings/fun" instance=ExtResource("3_kw4jh")]
+position = Vector2(1360, -144)
+scale = Vector2(0.0625, 0.0625)
+texture = ExtResource("11_8wpcf")
+type = 0
+
+[node name="emily" parent="paintings/fun" instance=ExtResource("3_kw4jh")]
+position = Vector2(1600, -160)
+texture = ExtResource("11_gok6c")
+
+[node name="suraj" parent="paintings/fun" instance=ExtResource("3_kw4jh")]
+position = Vector2(2048, -160)
+texture = ExtResource("13_y255a")
+
+[node name="matt" parent="paintings/fun" instance=ExtResource("3_kw4jh")]
+position = Vector2(2496, -160)
+texture = ExtResource("14_j2hmb")
+
+[node name="plaques" type="Node2D" parent="."]
+
+[node name="video" type="Node2D" parent="plaques"]
+
+[node name="chakrika" parent="plaques/video" instance=ExtResource("4_arnng")]
+position = Vector2(496, 717)
+author = "Chakrika Aluri"
+tagline = "Nintendo & Mario: The History Behind One of the Most Iconic Games"
+caption = "In this image, Shigeru Miyamoto (Nintendo’s artist and developer) stands proudly with Mario and Luigi. Miyamoto was very interested in making engaging, entertaining images, so he started with small facial features, and expanded from there, eventually leading to Mario’s iconic hat and mustache. After further development, the game eventually turned into Mario and his brother, Luigi, as plumbers in New York, and their journey with fighting various creatures. By the late 80s, the American market was infatuated with Mario and the whole storyline. Miyamoto has always been focused on making Nintendo’s games engaging and entertaining for its audiences. He has focused on visual design, and making the characters interesting and complex – he wanted them to have a background that the audience could become familiar with. (He felt that it would make the games more interesting.) Miyamoto, who still holds an executive director position at Nintendo, has been able to see the company go from a small card trading business to a multimillion dollar corporation that has garnered international success."
+
+[node name="aidan" parent="plaques/video" instance=ExtResource("4_arnng")]
+position = Vector2(-848, 686)
+author = "Aidan Winters"
+caption = "Displayed left is the process of how the tower in the background of the boss battle level Fiery Frolic came to fruition. Where most other studios would have simply created a 3D rig to be inserted into the game, Studio MDHR believed that the best way to emulate the 1930s aesthetic would be to create a physical model of the tower. When they first devised to carve the tower out of wood, it proved inefficient. The studio’s physical modeler, Ali Morbi, opted to use large sheets of pink insulation foam that were textured and painted to look like stone. Despite the team’s inexperience with this form of transferring physical models to a digital software, they were able to achieve the impressive-looking result by photographing it from all angles with a green screen and a makeshift rotating camera rigging system, assembled within Morbi’s living room. "
+
+[node name="nathan" parent="plaques/video" instance=ExtResource("4_arnng")]
+position = Vector2(336, 717)
+author = "Nathan Wong"
+tagline = "Transitioning from the Era of Turn-Based to Action-Based Gaming: Final Fantasy (1987-Present)"
+caption = "The combat system of the Japanese role-playing game franchise Final Fantasy had remained command menu-based since its inception in 1987. However, since the introduction of gaming consoles that can deliver astonishing 3D graphics and a wider range of complex gameplay, the franchise leaned toward combat systems that involved real-time and a cinematic look. Final Fantasy XVI, released in 2023, was the first game in the franchise to have a complex and well-polished action combat system. But, the franchise’s veteran fans have always expressed that they want turn-based combat or ATB (all of which are command menu-based) to make a return. Clearly, the franchise’s directors and producers have not heeded this request nor seem to anticipate implementing a command menu-based combat system in future mainline Final Fantasy titles. It is so perplexing as to why the franchise’s leaders are not fulfilling their fans’ wants regarding combat when these very same leaders are known for giving their maximum effort to address their fanbase’s wants."
+
+[node name="prakhar" parent="plaques/video" instance=ExtResource("4_arnng")]
+position = Vector2(-625, 719)
+author = "Prakhar Pare"
+caption = "The first edition of RoadRash, a tabletop game revolving around vehicular combat, debuted in the early 1990s and was produced by SSI (Strategic Simulations, Inc.). This pioneering game immersed players into a post-apocalyptic world where ruthless factions clashed in high-speed battles across desolate highways. The original ruleset, a cornerstone of the game's mechanics, delved into intricate details regarding vehicle customization, combat tactics, and strategic maneuvering."
+
+[node name="war" type="Node2D" parent="plaques"]
+
+[node name="maxence_a" parent="plaques/war" instance=ExtResource("4_arnng")]
+position = Vector2(-1391, -179)
+author = "Maxence Cuperus"
+tagline = "The Campaign for North Africa "
+caption = "The box art is an actual picture taken during the North African campaign. It was taken in Lybia in 1941 and features Erwin Rommel, the commander in chief of the axis forces during the North African campaign, front and center. The rest of the box art is standard, featuring the title of the game, its publisher, and some additional details. (next paragraph) The depiction of a military leader over an image of combat is very fitting for this game. Indeed, the players’ role is to oversee logistics and tactics, rather than directly command fighting which is very similar to what Erwin Rommel would have done as commander."
+
+[node name="maxence_b" parent="plaques/war" instance=ExtResource("4_arnng")]
+position = Vector2(-1583, -183)
+author = "cont'd."
+caption = " This complete hex game map is made up of 5 separate maps which come with the game and measures around 10ft in length. In addition to the fighting space, it features reminders in the form of tables on the side as well as a turn tracker as a calendar since time of year is relevant to some rules. The size of the map alone should be an indicator that CNR is not a practical game. In addition to finding a table capable of holding such a map, the nature of the paper maps and the paper counters which will be placed on it means that this game board cannot be moved for the approximate 1500 hours it takes to complete. "
+
+[node name="maxence_c" parent="plaques/war" instance=ExtResource("4_arnng")]
+position = Vector2(-1646, -183)
+author = "cont'd."
+caption = "At its core, the ruleset focused on players creating and customizing their vehicles, meticulously selecting armaments, defensive measures, and even aesthetic enhancements to gain an edge in the chaotic confrontations that unfolded on the game board. The mechanics ingeniously integrated elements of speed, agility, and weaponry, challenging players to navigate not only the treacherous terrain but also the tactical decisions crucial for survival and dominance. The rulebook laid out guidelines for movement, combat resolution, damage allocation, and campaign play, providing a comprehensive framework for immersive gameplay sessions. While the first edition of RoadRash might have been overshadowed by more mainstream tabletop games of its time, its ruleset and supplements carved a niche for enthusiasts keen on vehicular combat and post-apocalyptic settings. Despite its rarity and limited distribution, its impact resonates within the gaming community as a testament to the creativity and innovation prevalent during the era of tabletop gaming's evolution."
+
+[node name="fun" type="Node2D" parent="plaques"]
+
+[node name="keilani" parent="plaques/fun" instance=ExtResource("4_arnng")]
+position = Vector2(430, -79)
+author = "Keilani Gomez"
+caption = "The Game of Life we all knew of growing up, playing with our colorful paper money, having a family, going to college, getting that pay day or choosing a career. To finally choosing between that adorable tiny family home or huge mansion after you retire, led us to a fun time playing with our friends and family. The game we have known and loved for years has a staple impact on board games today. The articles “Why the game of Life used to have poverty, suicide, and ruin” by Philip Edwards and the blog “Milton Bradley Makes His Fortune on Life’s Checkered Past” by Dan Nehs explore the story behind the history of the game and, more importantly, the creator of it all. The bright and colorful board game shows the ideal American Dream life that many wish for and more, that seems perfect but never used to be that way."
+
+[node name="ben" parent="plaques/fun" instance=ExtResource("4_arnng")]
+position = Vector2(784, -108)
+author = "Ben Kuoch"
+caption = "This image shows Daniel Negreanu, a professional poker player, in the middle of playing in a tournament. In this image, Daniel has made it to the final table of the tournament. Poker tournaments operate on an elimination-based system. There are multiple tables that are played at the same time until there are enough people eliminated. At the same time, in order to consistently keep eliminating players, the antes and blinds for the tournament become increasing larger as time goes by which means that players are forced to play with higher and higher stakes. Depending on the number of participants and what organization is hosting the poker tournament, prize pools can range from hundreds to millions of dollars. For large scale tournaments, everyone at the final table will always receive some part of the prize pool. However, players don’t always have to make it to the final table to the profitable."
+
+[node name="manahil" parent="plaques/fun" instance=ExtResource("4_arnng")]
+position = Vector2(1199, -144)
+author = "Manahil Chaudhry"
+caption = "The image shows the life size Pachisi board that dates back to the 16th century. More specifically, this is where Emperor Akbar had played the game, using village girls as live pieces in the game. The presence of the board in a wealthy, royal home reinstates the relevance of the game during that time period. The board itself is a large, marked square and resides in one of the great courts of the palace. Pachisi is a four player game, played using cowry shells with the colorful squares signaling where the pieces can be moved. Each player has four pieces starting in the center and the aim is to complete the course, returning the center space. Rooted in the ancient game of Pachisi, Ludo is the more well-known game within the South Asian culture, and in this paper, it serves as a prime example of the cultural exchanges that took place decades ago."
+
+[node name="haig" parent="plaques/fun" instance=ExtResource("4_arnng")]
+position = Vector2(1296, -146)
+author = "Haig Shamlian"
+caption = "This image shows all the main booklets for the original Dungeons & Dragons (OD&D). The first row contains the two boxes for the sets as well as the rules of Chainmail and one rule supplement. Gary Gygax, the co-creator of OD&D, created Chainmail first as a medieval wargame, but later used its combat rules for OD&D, referencing them in the rulebooks. The second row contains the three basic rules booklets – Men & Magic, Monsters & Treasure, and The Underworld & Wilderness Adventures - alongside a booklet of quick-reference sheets. The bottom row contains four supplements that provided new settings, adventures, player classes, and rules. Many of these revolutionized the game, such as the addition of the thief class and the introduction of weapon-based damage outputs. Others introduced classic campaign settings such as the world of Greyhawk and the Castle of Blackmoor. The mechanics and stories first written in these booklets remain core themes in modern Dungeons & Dragons as well as the fantasy gaming genre as a whole."
+
+[node name="emily" parent="plaques/fun" instance=ExtResource("4_arnng")]
+position = Vector2(1519, -144)
+author = "Emily Sze"
+tagline = "Leslie Scott and her creation "
+caption = "The game of Jenga consists of 54 wooden pieces, with players taking turns removing a block and placing it on top without causing it to fall. Jenga, a game known by many, played by many, and enjoyed by many, has a history that goes untold. The word “Jenga” derives from the Swahili language, where it means “to build,” hinting at its West African origins. While Leslie Scott is credited with the game’s creation, a similar game called Ta-Ka-Radi was played in West Africa as far back as 1978. Even before this, Leslie found inspiration living in Ghana, a country rich in wood- she recalls playing block-stacking games since her childhood. While the true origin of the game stays unknown for certainty, Jenga was inducted into the US’s National Toy Hall of Fame in 2020. Its simplicity makes it accessible to all ages and has become a classic in the game world."
+
+[node name="suraj" parent="plaques/fun" instance=ExtResource("4_arnng")]
+position = Vector2(1965, -146)
+author = "Suraj Karumsi"
+tagline = "Ruy Lopez in Spanish Court"
+caption = "This image is of Ruy Lopez playing chess in Spanish court against Leonardo di Bona. Ruy Lopez was one of the most influential chess players of all time and greatly impacted the way that the game was played. Lopez was extremely successful during the 1570s when he defeated some of the best Italian players in the world like Giovanni Leonardo Di Bona and Paolo Boi. Lopez continued to make his impact upon the chess world with the release of his book, The Art of the Game of Chess, which details his unique approach to the game and how he analyzed the game. With all of his success, Lopez was not without critics. One of which was Pedro Damiano, who he had frequent arguments with over many of the intricacies within chess. Finally, Lopez made his last and most influential mark on the game of chess with his opening, aptly named after himself, that is one of the strongest openings ever and is still used very frequently to this very day."
+
+[node name="matt" parent="plaques/fun" instance=ExtResource("4_arnng")]
+position = Vector2(2416, -141)
+author = "Matt Lipitz"
+caption = "This image is a contrast between The Game of Life (1960) and The Checkered Game of Life (1860). The Checkered Game of Life is the original version of The Game of Life. The board for the Checkered Game of life is a reddish/brown and relatively neutral theme and the squares contain virtues and vices. Some of these spaces state “crime” and “poverty.” By contrast, The Game of Life is vibrant and displays bright colors in its theme. The Game of Life’s cartoonish style and spaces with funny stories portrays complete pivot from The Checkered Game of Life. The message of the new “Game of Life” does not highlight any morals and virtues from the original. "
+
+[node name="tilemap" type="TileMap" parent="."]
+tile_set = ExtResource("1_vhxu0")
+cell_quadrant_size = 32
+format = 2
+layer_0/tile_data = PackedInt32Array(65535, 65536, 0, 131071, 65536, 1, 65536, 65536, 1, 0, 65536, 0, 131072, 65536, 1, 131073, 65536, 1, 65537, 65536, 1, 1, 65536, 0, 196609, 65536, 2, 196610, 65536, 2, 262143, 65536, 2, 196608, 65536, 2, 196607, 65536, 1, 65538, 65536, 1, 2, 65536, 0, 131074, 65536, 1, 65534, 65536, 0, 131070, 65536, 1, 196606, 65536, 1, 262142, 65536, 2, 3, 65536, 0, 65539, 65536, 1, 131075, 65536, 1, 196611, 65536, 2, 65533, 65536, 0, 131069, 65536, 1, 196605, 65536, 1, 262141, 65536, 2, 65532, 65536, 0, 131068, 65536, 1, 196604, 65536, 1, 262140, 65536, 2, 262139, 65536, 2, 196603, 65536, 1, 131067, 65536, 1, 65531, 65536, 0, 4, 65536, 0, 5, 65536, 0, 65541, 65536, 1, 131077, 65536, 1, 196613, 65536, 2, 196612, 65536, 2, 131076, 65536, 1, 65540, 65536, 1, 6, 65536, 0, 65542, 65536, 1, 131078, 65536, 1, 196614, 65536, 2, 65530, 0, 0, 131066, 0, 1, 196602, 0, 1, 262138, 0, 2, 7, 131072, 0, 65543, 131072, 1, 131079, 131072, 1, 196615, 131072, 2, 65526, 131072, 0, 131062, 131072, 1, 196598, 131072, 1, 262134, 131072, 2, 262133, 65536, 2, 196597, 65536, 1, 131061, 65536, 1, 65525, 65536, 0, 65524, 65536, 0, 65523, 65536, 0, 131059, 65536, 1, 196595, 65536, 1, 262131, 65536, 2, 262132, 65536, 2, 196596, 65536, 1, 131060, 65536, 1, 65522, 0, 0, 131058, 0, 1, 196594, 0, 1, 262130, 0, 2, 1638391, 0, 3, 1703927, 0, 4, 1703928, 65536, 4, 1769464, 65536, 4, 1769463, 0, 4, 1834999, 0, 5, 1835000, 65536, 5, 1835001, 65536, 5, 1835002, 65536, 5, 1835003, 65536, 5, 1835004, 65536, 5, 1835005, 65536, 5, 1835006, 131072, 5, 1769470, 131072, 4, 1703934, 131072, 4, 1638398, 131072, 3, 1638397, 65536, 3, 1638396, 65536, 3, 1638395, 65536, 3, 1638394, 65536, 3, 1638393, 65536, 3, 1638392, 65536, 3, 1703929, 65536, 4, 1703930, 65536, 4, 1703931, 65536, 4, 1703932, 65536, 4, 1703933, 65536, 4, 1769468, 65536, 4, 1769467, 65536, 4, 1769465, 65536, 4, 1769466, 65536, 4, 1769469, 65536, 4, 1572867, 65536, 3, 1638403, 65536, 4, 1703939, 65536, 4, 1769475, 65536, 5, 1769476, 65536, 5, 1703940, 65536, 4, 1638404, 65536, 4, 1572868, 65536, 3, 1572866, 0, 3, 1638402, 0, 4, 1703938, 0, 4, 1769474, 0, 5, 12, 0, 1, 65548, 0, 1, 131084, 0, 1, 196620, 0, 2, 196621, 65536, 2, 131085, 65536, 1, 65549, 65536, 1, 13, 65536, 1, 14, 65536, 1, 65550, 65536, 1, 131086, 65536, 1, 196622, 65536, 2, 15, 65536, 1, 65551, 65536, 1, 131087, 65536, 1, 196623, 65536, 2, 16, 131072, 1, 65552, 131072, 1, 131088, 131072, 1, 196624, 131072, 2, -65524, 0, 0, -65523, 65536, 0, -65522, 65536, 0, -65521, 65536, 0, -65520, 131072, 0, -65515, 0, 1, 21, 0, 1, 65557, 0, 1, 131093, 0, 1, 196629, 0, 2, 196630, 65536, 2, 196631, 65536, 2, 131095, 65536, 1, 65559, 65536, 1, 23, 65536, 1, 22, 65536, 1, -65514, 65536, 1, -131050, 65536, 0, -131051, 0, 0, -65513, 65536, 1, 65558, 65536, 1, 131094, 65536, 1, 131096, 65536, 1, 196632, 65536, 2, 65560, 65536, 1, 24, 65536, 1, -65512, 65536, 1, -131048, 65536, 0, -131049, 65536, 0, -65511, 131072, 1, 25, 131072, 1, 65561, 131072, 1, 131097, 131072, 1, 196633, 131072, 2, -131047, 131072, 0, -196578, 0, 0, -131042, 0, 1, -65506, 0, 1, 30, 0, 1, 65566, 0, 1, 131102, 0, 1, 196638, 0, 2, 196639, 65536, 2, 196640, 65536, 2, 131104, 65536, 1, 65567, 65536, 1, 31, 65536, 1, -65505, 65536, 1, -131041, 65536, 1, -196577, 65536, 0, -196576, 65536, 0, -131040, 65536, 1, -65504, 65536, 1, 32, 65536, 1, 65568, 65536, 1, 131103, 65536, 1, 196641, 65536, 2, 131105, 65536, 1, 65569, 65536, 1, 33, 65536, 1, -65503, 65536, 1, -131039, 65536, 1, -196575, 65536, 0, -131038, 65536, 1, -65502, 65536, 1, 34, 65536, 1, 65570, 65536, 1, 131106, 65536, 1, 196642, 65536, 2, -196574, 65536, 0, -196573, 65536, 0, -196572, 65536, 0, -196571, 65536, 0, -196570, 65536, 0, -196569, 65536, 0, -196568, 65536, 0, -196567, 65536, 0, -196566, 65536, 0, -196565, 65536, 0, -196564, 65536, 0, -196563, 65536, 0, -196562, 65536, 0, -196561, 65536, 0, -196560, 65536, 0, -196559, 65536, 0, -196558, 65536, 0, -196557, 65536, 0, -196556, 65536, 0, -196555, 65536, 0, -196554, 131072, 0, -131018, 131072, 1, -65482, 131072, 1, 54, 131072, 1, 65590, 131072, 1, 131126, 131072, 1, 196662, 131072, 2, 196661, 65536, 2, 196660, 65536, 2, 196659, 65536, 2, 196658, 65536, 2, 196657, 65536, 2, 196656, 65536, 2, 196655, 65536, 2, 196654, 65536, 2, 196653, 65536, 2, 196652, 65536, 2, 196651, 65536, 2, 196650, 65536, 2, 196649, 65536, 2, 196648, 65536, 2, 196647, 65536, 2, 196646, 65536, 2, 196645, 65536, 2, 196644, 65536, 2, 196643, 65536, 2, -131037, 65536, 1, -131036, 65536, 1, -131035, 65536, 1, -131034, 65536, 1, -131033, 65536, 1, -131032, 65536, 1, -131031, 65536, 1, -65494, 65536, 1, -65493, 65536, 1, -65492, 65536, 1, -65491, 65536, 1, -65490, 65536, 1, -65489, 65536, 1, -65488, 65536, 1, -65487, 65536, 1, -131023, 65536, 1, -131022, 65536, 1, -131021, 65536, 1, -131020, 65536, 1, -131019, 65536, 1, -131024, 65536, 1, -131025, 65536, 1, -131026, 65536, 1, -131027, 65536, 1, -131028, 65536, 1, -131029, 65536, 1, -131030, 65536, 1, -65498, 65536, 1, -65499, 65536, 1, -65500, 65536, 1, -65501, 65536, 1, -65497, 65536, 1, -65496, 65536, 1, -65495, 65536, 1, -65486, 65536, 1, -65485, 65536, 1, -65484, 65536, 1, -65483, 65536, 1, 53, 65536, 1, 65589, 65536, 1, 65588, 65536, 1, 65587, 65536, 1, 65586, 65536, 1, 65585, 65536, 1, 131120, 65536, 1, 131119, 65536, 1, 131118, 65536, 1, 131117, 65536, 1, 131116, 65536, 1, 131115, 65536, 1, 131114, 65536, 1, 131113, 65536, 1, 131112, 65536, 1, 131111, 65536, 1, 131110, 65536, 1, 65573, 65536, 1, 65572, 65536, 1, 65571, 65536, 1, 131107, 65536, 1, 131108, 65536, 1, 36, 65536, 1, 35, 65536, 1, 37, 65536, 1, 38, 65536, 1, 39, 65536, 1, 40, 65536, 1, 41, 65536, 1, 42, 65536, 1, 43, 65536, 1, 44, 65536, 1, 45, 65536, 1, 46, 65536, 1, 47, 65536, 1, 48, 65536, 1, 49, 65536, 1, 50, 65536, 1, 51, 65536, 1, 52, 65536, 1, 131125, 65536, 1, 131124, 65536, 1, 131123, 65536, 1, 131122, 65536, 1, 131121, 65536, 1, 131109, 65536, 1, 65574, 65536, 1, 65575, 65536, 1, 65576, 65536, 1, 65577, 65536, 1, 65578, 65536, 1, 65579, 65536, 1, 65580, 65536, 1, 65581, 65536, 1, 65582, 65536, 1, 65583, 65536, 1, 65584, 65536, 1, -196549, 0, 0, -131013, 0, 1, -65477, 0, 1, 59, 0, 1, 65595, 0, 1, 131131, 0, 1, 196667, 0, 2, 196668, 65536, 2, 196669, 65536, 2, 131133, 65536, 1, 65597, 65536, 1, 61, 65536, 1, -65475, 65536, 1, -131011, 65536, 1, -196547, 65536, 0, -196548, 65536, 0, -131012, 65536, 1, -65476, 65536, 1, 60, 65536, 1, 131132, 65536, 1, 65596, 65536, 1, 131134, 65536, 1, 196670, 65536, 2, 65598, 65536, 1, 62, 65536, 1, -65474, 65536, 1, -131010, 65536, 1, -196546, 65536, 0, -196545, 65536, 0, -196544, 65536, 0, -131008, 65536, 1, -65472, 65536, 1, 63, 65536, 1, 65599, 65536, 1, 131135, 65536, 1, 196671, 65536, 2, 196672, 65536, 2, 131136, 65536, 1, 65600, 65536, 1, 64, 65536, 1, -131009, 65536, 1, -65473, 65536, 1, 196673, 131072, 2, 131137, 131072, 1, 65601, 131072, 1, 65, 131072, 1, -65471, 131072, 1, -131007, 131072, 1, -196543, 131072, 0, 65517, 65536, 0, 131053, 65536, 1, 196589, 65536, 1, 262125, 65536, 2, 65518, 131072, 0, 131054, 131072, 1, 196590, 131072, 1, 262126, 131072, 2, 65516, 65536, 0, 131052, 65536, 1, 131051, 65536, 1, 196587, 65536, 1, 262123, 65536, 2, 262124, 65536, 2, 196588, 65536, 1, 65515, 65536, 0, 65514, 65536, 0, 131050, 65536, 1, 196586, 65536, 1, 262122, 65536, 2, 131049, 0, 1, 65513, 0, 0, 196585, 0, 1, 262121, 0, 2, 65507, 131072, 0, 131043, 131072, 1, 196579, 131072, 1, 262115, 131072, 2, 262114, 65536, 2, 196578, 65536, 1, 131042, 65536, 1, 65506, 65536, 0, 65505, 65536, 0, 131041, 65536, 1, 131040, 65536, 1, 196576, 65536, 1, 196577, 65536, 1, 262113, 65536, 2, 262112, 65536, 2, 65504, 65536, 1, 65503, 65536, 1, 131039, 65536, 1, 196575, 65536, 1, 262111, 65536, 2, 196574, 65536, 1, 131038, 65536, 1, 65502, 65536, 1, 262110, 65536, 2, -32, 131072, 0, -33, 65536, 0, -34, 65536, 0, -65571, 131072, 0, -65572, 65536, 0, -131110, 131072, 0, -65574, 65536, 1, -38, 65536, 1, 65498, 65536, 1, 131034, 65536, 1, 196570, 65536, 1, 262106, 65536, 2, 262107, 65536, 2, 262108, 65536, 2, 196572, 65536, 1, 196573, 65536, 1, 131037, 65536, 1, 65501, 65536, 1, 65500, 65536, 1, -36, 65536, 1, -65573, 65536, 0, -37, 65536, 1, 65499, 65536, 1, 131035, 65536, 1, 131036, 65536, 1, 262109, 65536, 2, -35, 65536, 1, 196571, 65536, 1, -131111, 65536, 0, -65575, 65536, 1, -39, 65536, 1, 65497, 65536, 1, 131033, 65536, 1, 196569, 65536, 1, 262105, 65536, 2, 262104, 65536, 2, 262103, 65536, 2, 196567, 65536, 1, 196568, 65536, 1, 131032, 65536, 1, 65496, 65536, 1, -40, 65536, 1, -65576, 65536, 1, -131112, 65536, 0, -196649, 131072, 0, -196650, 65536, 0, -196651, 65536, 0, -196652, 65536, 0, -196653, 65536, 0, -196654, 65536, 0, -196655, 65536, 0, -131119, 65536, 1, -196656, 65536, 0, -131120, 65536, 1, -65584, 65536, 1, -65585, 65536, 1, -49, 65536, 1, 65487, 65536, 1, 131023, 65536, 1, 131024, 65536, 1, 196560, 65536, 1, 262096, 65536, 2, 262095, 65536, 2, 196559, 65536, 1, -131121, 65536, 1, -196657, 65536, 0, 65488, 65536, 1, 196561, 65536, 1, 196562, 65536, 1, 262098, 65536, 2, 262099, 65536, 2, 262100, 65536, 2, 262101, 65536, 2, 262102, 65536, 2, 196566, 65536, 1, 196565, 65536, 1, 196564, 65536, 1, 131029, 65536, 1, 131030, 65536, 1, 131031, 65536, 1, 65495, 65536, 1, -41, 65536, 1, -42, 65536, 1, -65578, 65536, 1, -65577, 65536, 1, -131113, 65536, 1, 65494, 65536, 1, 65493, 65536, 1, 131028, 65536, 1, 196563, 65536, 1, 262097, 65536, 2, 131027, 65536, 1, 65492, 65536, 1, -44, 65536, 1, -43, 65536, 1, -65579, 65536, 1, -131115, 65536, 1, -131114, 65536, 1, -131116, 65536, 1, -65580, 65536, 1, -65581, 65536, 1, -65582, 65536, 1, -46, 65536, 1, -47, 65536, 1, 65489, 65536, 1, 131025, 65536, 1, 131026, 65536, 1, 65491, 65536, 1, -45, 65536, 1, -131117, 65536, 1, -131118, 65536, 1, -65583, 65536, 1, 65490, 65536, 1, -48, 65536, 1, -196658, 65536, 0, -131122, 65536, 1, -65586, 65536, 1, -50, 65536, 1, 65486, 65536, 1, 131022, 65536, 1, 196558, 65536, 1, 262094, 65536, 2, 262093, 65536, 2, 196557, 65536, 1, 131021, 65536, 1, 65485, 65536, 1, -51, 65536, 1, -65587, 65536, 1, -131123, 65536, 1, -196659, 65536, 0, -196660, 65536, 0, -196661, 65536, 0, -196662, 65536, 0, -196663, 0, 0, -131127, 0, 1, -131126, 65536, 1, -65590, 65536, 1, -54, 65536, 1, 65482, 65536, 1, 131018, 65536, 1, 196554, 65536, 1, 262090, 65536, 2, 262089, 0, 2, 196553, 0, 1, 131017, 0, 1, 65481, 0, 1, -55, 0, 1, -65591, 0, 1, -53, 65536, 1, 65483, 65536, 1, 131019, 65536, 1, 196555, 65536, 1, 262091, 65536, 2, 262092, 65536, 2, 196556, 65536, 1, 131020, 65536, 1, 65484, 65536, 1, -52, 65536, 1, -65588, 65536, 1, -65589, 65536, 1, -131125, 65536, 1, -131124, 65536, 1, -196670, 65536, 0, -131134, 65536, 1, -131133, 65536, 1, -131132, 65536, 1, -131131, 65536, 1, -131130, 131072, 1, -196666, 131072, 0, -196667, 65536, 0, -196668, 65536, 0, -196669, 65536, 0, -65596, 65536, 1, -65595, 65536, 1, -59, 65536, 2, -60, 65536, 2, -61, 65536, 2, -65597, 65536, 1, -65598, 65536, 1, -65594, 131072, 1, -58, 131072, 2, -62, 65536, 2, -63, 65536, 2, -65599, 65536, 1, -131135, 65536, 1, -196671, 65536, 0, -196672, 0, 0, -131136, 0, 1, -65600, 0, 1, -64, 0, 2, -196677, 131072, 1, -131141, 131072, 1, -131142, 65536, 1, -65605, 131072, 1, -65606, 65536, 1, -70, 65536, 2, -71, 65536, 2, -65607, 65536, 1, -131143, 65536, 1, -196679, 65536, 1, -196678, 65536, 1, -69, 131072, 2, -72, 65536, 2, -65608, 65536, 1, -131144, 65536, 1, -196680, 65536, 1, -196681, 65536, 1, -131145, 65536, 1, -65609, 65536, 1, -73, 65536, 2, -74, 65536, 2, -65610, 65536, 1, -131146, 65536, 1, -196682, 65536, 1, -262217, 65536, 0, -196683, 65536, 1, -131147, 65536, 1, -65611, 65536, 1, -75, 65536, 2, -262218, 65536, 0, -262216, 65536, 0, -262215, 65536, 0, -262214, 65536, 0, -262213, 131072, 0, -262219, 65536, 0, -262220, 65536, 0, -262221, 65536, 0, -262222, 0, 0, -196686, 0, 1, -131150, 0, 1, -65614, 0, 1, -78, 0, 2, -77, 65536, 2, -65613, 65536, 1, -131149, 65536, 1, -196685, 65536, 1, -196684, 65536, 1, -131148, 65536, 1, -65612, 65536, 1, -76, 65536, 2, 1572869, 131072, 3, 1638405, 131072, 4, 1703941, 131072, 4, 1769477, 131072, 5, 1572873, 0, 3, 1638409, 0, 4, 1638410, 65536, 4, 1703946, 65536, 4, 1769482, 65536, 5, 1769481, 0, 5, 1703945, 0, 4, 1572874, 65536, 3, 1572875, 65536, 3, 1572876, 65536, 3, 1572877, 65536, 3, 1572878, 65536, 3, 1572879, 65536, 3, 1572880, 65536, 3, 1572881, 65536, 3, 1572882, 65536, 3, 1638418, 65536, 4, 1638419, 131072, 4, 1703955, 131072, 4, 1769491, 131072, 5, 1769490, 65536, 5, 1769489, 65536, 5, 1769488, 65536, 5, 1769487, 65536, 5, 1769486, 65536, 5, 1769485, 65536, 5, 1769484, 65536, 5, 1769483, 65536, 5, 1638411, 65536, 4, 1638412, 65536, 4, 1638413, 65536, 4, 1638414, 65536, 4, 1703949, 65536, 4, 1703948, 65536, 4, 1703947, 65536, 4, 1703950, 65536, 4, 1703951, 65536, 4, 1703952, 65536, 4, 1703953, 65536, 4, 1638417, 65536, 4, 1572883, 131072, 3, 1703954, 65536, 4, 1638416, 65536, 4, 1638415, 65536, 4, 1638385, 65536, 3, 1638386, 131072, 3, 1703922, 131072, 4, 1769458, 131072, 4, 1834994, 131072, 5, 1834993, 65536, 5, 1834992, 65536, 5, 1769456, 65536, 4, 1703920, 65536, 4, 1638384, 65536, 3, 1703921, 65536, 4, 1769457, 65536, 4, 1769455, 65536, 4, 1703919, 65536, 4, 1638383, 65536, 3, 1638382, 65536, 3, 1703918, 65536, 4, 1769454, 65536, 4, 1834991, 65536, 5, 1834990, 65536, 5, 1834989, 65536, 5, 1769453, 65536, 4, 1703917, 65536, 4, 1638381, 65536, 3, 1638380, 65536, 3, 1703916, 65536, 4, 1769452, 65536, 4, 1834988, 65536, 5, 1769451, 65536, 4, 1703915, 65536, 4, 1638379, 65536, 3, 1834987, 65536, 5, 1638377, 65536, 3, 1638378, 65536, 3, 1638376, 65536, 3, 1638375, 65536, 4, 1572839, 131072, 3, 1572838, 65536, 3, 1572837, 65536, 3, 1638373, 65536, 4, 1703909, 65536, 4, 1769445, 65536, 4, 1769446, 65536, 4, 1834982, 65536, 5, 1703910, 65536, 4, 1638374, 65536, 4, 1834981, 65536, 5, 1834983, 65536, 5, 1834984, 65536, 5, 1834985, 65536, 5, 1769449, 65536, 4, 1769450, 65536, 4, 1703914, 65536, 4, 1703913, 65536, 4, 1703912, 65536, 4, 1703911, 65536, 4, 1769447, 65536, 4, 1769448, 65536, 4, 1834986, 65536, 5, 1572836, 65536, 3, 1572835, 65536, 3, 1572834, 65536, 3, 1572833, 65536, 3, 1572832, 65536, 3, 1572831, 65536, 3, 1769444, 65536, 4, 1769443, 65536, 4, 1769442, 65536, 4, 1769441, 65536, 4, 1769440, 65536, 4, 1703904, 65536, 4, 1638368, 65536, 4, 1638372, 65536, 4, 1638371, 65536, 4, 1638370, 65536, 4, 1638369, 65536, 4, 1638367, 65536, 4, 1638366, 65536, 4, 1638365, 0, 4, 1703901, 0, 4, 1769437, 0, 4, 1834973, 0, 5, 1834974, 65536, 5, 1834975, 65536, 5, 1834976, 65536, 5, 1834977, 65536, 5, 1834978, 65536, 5, 1834979, 65536, 5, 1834980, 65536, 5, 1703908, 65536, 4, 1703907, 65536, 4, 1703906, 65536, 4, 1703905, 65536, 4, 1703903, 65536, 4, 1703902, 65536, 4, 1769438, 65536, 4, 1769439, 65536, 4, 1572830, 65536, 3, 1572829, 0, 3, 1376226, 131072, 6, 1441762, 131072, 7, 1376227, 196608, 6, 1441763, 196608, 7, 1441765, 0, 7, 1507308, 0, 7, 1507310, 65536, 7, 1376273, 131072, 6, 1441809, 131072, 7, 1376274, 196608, 6, 1441810, 196608, 7, 1441807, 0, 7, 1441802, 0, 7, 1441804, 65536, 7, -393263, 131072, 6, -327727, 131072, 7, -393262, 196608, 6, -327726, 196608, 7, -327724, 0, 7, -327730, 0, 7, -327732, 0, 7, 196678, 0, 5, 131142, 0, 4, 65606, 0, 4, 70, 0, 4, -65465, 65536, 4, -131001, 65536, 4, -131002, 0, 4, -196538, 0, 3, -65466, 0, 4, -196537, 65536, 3, -196536, 65536, 3, -196535, 65536, 3, -196534, 65536, 3, -196533, 65536, 3, -196532, 65536, 3, -196531, 65536, 3, -196530, 65536, 3, -196529, 65536, 3, -196528, 65536, 3, -196527, 65536, 3, -196526, 65536, 3, -196525, 65536, 3, -196524, 65536, 3, -196523, 65536, 3, -196522, 65536, 3, -196521, 65536, 4, -130985, 65536, 4, -65449, 65536, 4, 87, 65536, 4, 65623, 65536, 4, 131159, 65536, 4, 196695, 65536, 5, 196694, 65536, 5, 196693, 65536, 5, 196692, 65536, 5, 196691, 65536, 5, 196690, 65536, 5, 196689, 65536, 5, 196688, 65536, 5, 196687, 65536, 5, 196686, 65536, 5, 196685, 65536, 5, 196684, 65536, 5, 196683, 65536, 5, 196682, 65536, 5, 196681, 65536, 5, 196680, 65536, 5, 196679, 65536, 5, 131143, 65536, 4, 65607, 65536, 4, 65608, 65536, 4, 72, 65536, 4, 71, 65536, 4, 73, 65536, 4, 74, 65536, 4, 65610, 65536, 4, 65609, 65536, 4, 131145, 65536, 4, 131146, 65536, 4, 131147, 65536, 4, 131148, 65536, 4, 131149, 65536, 4, 131150, 65536, 4, 131151, 65536, 4, 131152, 65536, 4, 131153, 65536, 4, 131154, 65536, 4, 131155, 65536, 4, 131156, 65536, 4, 131157, 65536, 4, 131158, 65536, 4, 131144, 65536, 4, -65464, 65536, 4, -131000, 65536, 4, -130999, 65536, 4, 75, 65536, 4, -65461, 65536, 4, -65462, 65536, 4, -130998, 65536, 4, -65463, 65536, 4, -130997, 65536, 4, -65460, 65536, 4, -130996, 65536, 4, 65611, 65536, 4, 76, 65536, 4, 65612, 65536, 4, 65613, 65536, 4, 77, 65536, 4, 78, 65536, 4, -65458, 65536, 4, -130994, 65536, 4, -130995, 65536, 4, -65457, 65536, 4, 65614, 65536, 4, -65459, 65536, 4, 79, 65536, 4, 65616, 65536, 4, 65615, 65536, 4, -65456, 65536, 4, -130992, 65536, 4, -130993, 65536, 4, -65455, 65536, 4, -65454, 65536, 4, -130990, 65536, 4, -130989, 65536, 4, -65452, 65536, 4, -65451, 65536, 4, -65450, 65536, 4, 86, 65536, 4, 85, 65536, 4, 65621, 65536, 4, -130986, 65536, 4, 65622, 65536, 4, 65620, 65536, 4, 65619, 65536, 4, 65618, 65536, 4, 65617, 65536, 4, -130991, 65536, 4, -65453, 65536, 4, 82, 65536, 4, 81, 65536, 4, 80, 65536, 4, 83, 65536, 4, 84, 65536, 4, -130988, 65536, 4, -130987, 65536, 4, -196520, 65536, 3, -130984, 65536, 4, -65448, 65536, 4, 88, 65536, 4, 65624, 65536, 4, 131160, 65536, 4, 196696, 65536, 5, -196519, 65536, 3, -196518, 65536, 3, -196517, 65536, 3, -196516, 65536, 3, -196515, 65536, 3, -196514, 65536, 3, -196513, 65536, 3, -196512, 65536, 3, -196511, 65536, 3, -196510, 65536, 3, -196509, 65536, 3, -196508, 65536, 3, -196507, 65536, 3, -196506, 65536, 3, -196505, 65536, 3, -196504, 65536, 3, -196503, 131072, 3, -130967, 131072, 4, -65431, 131072, 4, 105, 131072, 4, 65641, 131072, 4, 131177, 131072, 4, 196713, 131072, 5, 131176, 65536, 4, 131175, 65536, 4, 131174, 65536, 4, 131173, 65536, 4, 131172, 65536, 4, 131171, 65536, 4, 131170, 65536, 4, 131169, 65536, 4, 196704, 65536, 5, 196703, 65536, 5, 196702, 65536, 5, 196701, 65536, 5, 196700, 65536, 5, 196699, 65536, 5, 196698, 65536, 5, 196697, 65536, 5, 196712, 65536, 5, 196711, 65536, 5, 196710, 65536, 5, 196709, 65536, 5, 196708, 65536, 5, 196707, 65536, 5, 196706, 65536, 5, 196705, 65536, 5, -65441, 65536, 4, -130977, 65536, 4, -130978, 65536, 4, -130979, 65536, 4, -130980, 65536, 4, -130981, 65536, 4, -130982, 65536, 4, -130983, 65536, 4, -65447, 65536, 4, 89, 65536, 4, 65625, 65536, 4, 131161, 65536, 4, 131162, 65536, 4, 65626, 65536, 4, 90, 65536, 4, -65446, 65536, 4, -65445, 65536, 4, 91, 65536, 4, 65627, 65536, 4, 131163, 65536, 4, 131164, 65536, 4, 65628, 65536, 4, 92, 65536, 4, -65444, 65536, 4, -65443, 65536, 4, 93, 65536, 4, 65629, 65536, 4, 131165, 65536, 4, 131166, 65536, 4, 65630, 65536, 4, 94, 65536, 4, -65442, 65536, 4, 95, 65536, 4, 65631, 65536, 4, 131167, 65536, 4, 131168, 65536, 4, 65632, 65536, 4, 96, 65536, 4, -65440, 65536, 4, -130976, 65536, 4, -130975, 65536, 4, -65439, 65536, 4, 97, 65536, 4, 65633, 65536, 4, 65634, 65536, 4, 98, 65536, 4, -65438, 65536, 4, -130974, 65536, 4, -130973, 65536, 4, -65437, 65536, 4, 99, 65536, 4, 65635, 65536, 4, 65636, 65536, 4, 100, 65536, 4, -65436, 65536, 4, -130972, 65536, 4, -130971, 65536, 4, -65435, 65536, 4, 101, 65536, 4, 65637, 65536, 4, 65638, 65536, 4, 102, 65536, 4, -65434, 65536, 4, -130970, 65536, 4, -130969, 65536, 4, -65433, 65536, 4, 103, 65536, 4, 65639, 65536, 4, 65640, 65536, 4, 104, 65536, 4, -65432, 65536, 4, -130968, 65536, 4, -196593, 65536, 7, -196595, 0, 7, -262120, 0, 7, -262122, 65536, 7, -393182, 131072, 6, -327646, 131072, 7, -393181, 196608, 6, -327645, 196608, 7, -327643, 0, 7, -327640, 0, 7, -327638, 65536, 7, -393167, 131072, 6, -327631, 131072, 7, -393166, 196608, 6, -327630, 196608, 7, -327633, 0, 7, -327619, 0, 7, -393153, 131072, 6, -327617, 131072, 7, -393152, 196608, 6, -327616, 196608, 7, -393139, 131072, 6, -327603, 131072, 7, -393138, 196608, 6, -327602, 196608, 7, -327605, 0, 7, -458665, 196608, 4, -393129, 196608, 4, -327593, 196608, 4, -720809, 196608, 4, -655273, 196608, 4, -589737, 196608, 4, -982953, 196608, 3, -917417, 196608, 4, -851881, 196608, 4, -524201, 196608, 4, -786345, 196608, 4, -262057, 196608, 4)
+
+[node name="decor" type="Node2D" parent="."]
+
+[node name="arcade" type="AnimatedSprite2D" parent="decor"]
+position = Vector2(131, 724)
+scale = Vector2(0.1, 0.1)
+sprite_frames = SubResource("SpriteFrames_kwh0r")
+frame_progress = 0.251181
+script = ExtResource("18_lbep7")
+
+[node name="cards" type="AnimatedSprite2D" parent="decor"]
+position = Vector2(2656, -96)
+scale = Vector2(0.185, 0.07)
+skew = 0.986111
+sprite_frames = SubResource("SpriteFrames_cek82")
+frame_progress = 0.868654
+script = ExtResource("18_lbep7")
+
+[node name="sword" type="AnimatedSprite2D" parent="decor"]
+position = Vector2(-1933, -191)
+rotation = 1.64934
+scale = Vector2(0.1, -0.1)
+sprite_frames = SubResource("SpriteFrames_tjpwd")
+frame_progress = 0.295437
+script = ExtResource("18_lbep7")
+
+[node name="player" parent="." instance=ExtResource("2_aqp80")]
+position = Vector2(20, -30)
+
+[node name="camera" type="Camera2D" parent="player"]
+offset = Vector2(0, -60)
+zoom = Vector2(1.5, 1.5)
+position_smoothing_enabled = true
+position_smoothing_speed = 8.0
+
+[node name="textbox" parent="player" instance=ExtResource("5_ylw86")]
+
+[node name="easel" parent="player" instance=ExtResource("5_nj6vp")]
diff --git a/scripts/autoplay.gd b/scripts/autoplay.gd
new file mode 100644
index 0000000000000000000000000000000000000000..80152dc19563bb5b6182b9549af93d3a85f0a097
--- /dev/null
+++ b/scripts/autoplay.gd
@@ -0,0 +1,11 @@
+extends AnimatedSprite2D
+
+
+# Called when the node enters the scene tree for the first time.
+func _ready():
+ pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta):
+ play("default")
diff --git a/scripts/easel.gd b/scripts/easel.gd
new file mode 100644
index 0000000000000000000000000000000000000000..7d152780880237611b92cd77f9f2a634b463a155
--- /dev/null
+++ b/scripts/easel.gd
@@ -0,0 +1,19 @@
+extends CanvasLayer
+
+var hidden = true
+
+func _ready():
+ pass
+
+func set_image(new_texture):
+ $margin/painting.texture = new_texture
+
+func hide_this():
+ $panel.hide()
+ $margin.hide()
+ hidden = true
+
+func show_this():
+ $panel.show()
+ $margin.show()
+ hidden = false
diff --git a/scripts/hint.gd b/scripts/hint.gd
new file mode 100644
index 0000000000000000000000000000000000000000..58577cfc6a94db458de44778ece49eecb33c2401
--- /dev/null
+++ b/scripts/hint.gd
@@ -0,0 +1,11 @@
+extends Node2D
+
+
+# Called when the node enters the scene tree for the first time.
+func _ready():
+ pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta):
+ pass
diff --git a/scripts/intro.gd b/scripts/intro.gd
new file mode 100644
index 0000000000000000000000000000000000000000..2be5b1964346c38ce92f7f7732fce8ad9b4f7a51
--- /dev/null
+++ b/scripts/intro.gd
@@ -0,0 +1,23 @@
+extends Node2D
+
+var interaction_type = "hack" # hack: goes without saying
+var paused = "hack?" # ditto
+
+enum State { READY, READING, FINISHED } # erm...
+
+func _ready():
+ $textbox.queue_text("Hi, welcome to the Museum Exhibition of HNRS 200-009, Fall 2023. This quarter’s theme is: Gaming as History. Press SPACE to continue.")
+ $textbox.queue_text("We have 3 exhibits: War games will be to the right, Fun/Strategy Games to the left, and Video Games at the bottom of the chasm.")
+ $textbox.queue_text("In each zone, you will find images and plaques. Walk up and interact with them to find out what the images are about. ")
+ $textbox.queue_text("Use the ARROW KEYS to move and SPACE to interact.")
+ $textbox.queue_text("Enjoy the exhibition as we examine games through the lens of a historian. Have fun! :)")
+ $lloyd.play("default")
+ $textbox.current_state = State.READY
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta):
+ $lloyd.position.x += 4
+ if $textbox.queue.is_empty() and $lloyd.animation == "default":
+ await get_tree().create_timer(3.0).timeout
+ get_tree().change_scene_to_file("res://scenes/main.tscn")
diff --git a/scripts/killzone.gd b/scripts/killzone.gd
new file mode 100644
index 0000000000000000000000000000000000000000..895fc5dffbc830086d806d70094e41fb01d50dea
--- /dev/null
+++ b/scripts/killzone.gd
@@ -0,0 +1,5 @@
+extends Area2D
+
+func body_entered(body):
+ if body.name == "player":
+ body.respawn()
diff --git a/scripts/painting.gd b/scripts/painting.gd
new file mode 100644
index 0000000000000000000000000000000000000000..64687752c5e86a251bd64d8c338d359d8e414185
--- /dev/null
+++ b/scripts/painting.gd
@@ -0,0 +1,54 @@
+@tool
+
+extends Sprite2D
+
+const AMOUNT = 16
+
+@export var type: PaintingType:
+ get:
+ return type
+ set(value):
+ var image_size = get_texture().get_size()
+ var target = 64 if value == PaintingType.LARGE else 32
+ scale = Vector2(target / image_size.x, target / image_size.y)
+ type = value
+
+ # throw this in for good measure
+ var px: int = floor(position.x)
+ var py: int = floor(position.y)
+ if px % AMOUNT != 0:
+ px = px - (px % AMOUNT)
+ if py % AMOUNT != 0:
+ py = py - (py % AMOUNT)
+ position = Vector2(px, py)
+enum PaintingType { SMALL, LARGE }
+
+
+# this script does not update the image on texture change i will have to do that myself
+func _process(_delta):
+ # todo: pixelate (maybe)
+ # if so code goes here
+
+ # set position
+ var px: int = floor(position.x)
+ var py: int = floor(position.y)
+ if px % AMOUNT != 0:
+ px = px - (px % AMOUNT)
+ if py % AMOUNT != 0:
+ py = py - (py % AMOUNT)
+ position = Vector2(px, py)
+
+ # set size
+ var image_size = get_texture().get_size()
+ var target = 64 if type == PaintingType.LARGE else 32
+ scale = Vector2(target / image_size.x, target / image_size.y)
+
+
+func body_entered(body):
+ if body.name == "player":
+ body.set_interaction("painting", [get_texture()])
+
+
+func body_exited(body):
+ if body.name == "player":
+ body.set_interaction("exit", ["painting"])
diff --git a/scripts/plaque.gd b/scripts/plaque.gd
new file mode 100644
index 0000000000000000000000000000000000000000..5c22d16fb1dc832f0bfb4fce2a3ad71f2082ae17
--- /dev/null
+++ b/scripts/plaque.gd
@@ -0,0 +1,24 @@
+extends Area2D
+
+
+@export var author = ""
+@export var tagline = ""
+@export_multiline var caption = ""
+
+func _ready():
+ pass # Replace with function body.
+
+
+# Called every frame. 'delta' is the elapsed time since the previous frame.
+func _process(delta):
+ pass
+
+
+func body_entered(body):
+ if body.name == "player":
+ body.set_interaction("plaque", [author, caption])
+
+
+func body_exited(body):
+ if body.name == "player":
+ body.set_interaction("exit", ["plaque"])
diff --git a/scripts/player.gd b/scripts/player.gd
new file mode 100644
index 0000000000000000000000000000000000000000..3158daaa4bba1529516ba6adc6daa7ca9c0585cd
--- /dev/null
+++ b/scripts/player.gd
@@ -0,0 +1,109 @@
+extends CharacterBody2D
+
+const ACCELERATION = 22.0
+const MAX_SPEED = 290.0
+const JUMP_POWER = 560.0
+
+const GROUND_DECELERATION = 46.0
+const AIR_DECELERATION = 38.0
+
+const MAX_FALL_SPEED = 820.0
+const FALL_ACCELERATION = 32.0
+
+const SHORTHOP_GRAVITY_MULTIPLIER = 2.86
+const MIN_APEX = 0.4
+const COYOTE_TIME = 0.15
+
+const RESPAWN_POINT = Vector2(20, -30)
+
+var time = 0.0
+
+var ended_jump_early = false
+var frame_last_grounded = 0.0
+var frame_last_jump = 0.0
+
+var interaction_type = null
+var author
+var caption
+var painting
+
+var paused = false
+
+func _process(delta):
+ if interaction_type != "painting":
+ $easel.hide_this() # hack
+ if Input.is_action_just_pressed("ui_accept"):
+ if paused:
+ if interaction_type == "painting":
+ $easel.hide_this()
+ paused = false
+ else:
+ if interaction_type == "plaque":
+ paused = true
+ $textbox.load_block(author + "\n\n" + caption)
+ elif interaction_type == "painting":
+ paused = true
+ $easel.set_image(painting)
+ $easel.show_this()
+
+func _physics_process(delta):
+ if not paused:
+ # update time
+ time += delta
+
+ # check ground
+ if is_on_floor():
+ ended_jump_early = false
+ frame_last_grounded = time
+
+ # handle jump
+ if not Input.is_action_pressed("ui_up") and velocity.y < 0:
+ if not ended_jump_early and not is_on_floor():
+ if time - frame_last_jump > MIN_APEX:
+ ended_jump_early = true
+
+
+ # on floor or coyote usable
+ if is_on_floor() or (time < frame_last_grounded + COYOTE_TIME):
+ if Input.is_action_just_pressed("ui_up"):
+ ended_jump_early = false
+ frame_last_jump = 0
+ velocity.y = -JUMP_POWER
+
+ # handle direction
+ var direction = Input.get_axis("ui_left", "ui_right")
+
+ if direction == 0:
+ var deceleration = GROUND_DECELERATION if is_on_floor() else AIR_DECELERATION
+ velocity.x = move_toward(velocity.x, 0, deceleration)
+ else:
+ # make sure the sprite is facing the same way
+ if ($sprite.scale.x > 0) != (direction > 0):
+ $sprite.scale.x = abs($sprite.scale.x) * direction # flip sprite in direction of movement
+ velocity.x *= 0.5 # we don't want a weird icy turnaround
+ velocity.x = move_toward(velocity.x, direction * MAX_SPEED, ACCELERATION)
+
+
+ # apply gravity
+ if not is_on_floor():
+ var aerial_gravity = FALL_ACCELERATION
+ if ended_jump_early and velocity.y < 0:
+ aerial_gravity *= SHORTHOP_GRAVITY_MULTIPLIER
+ velocity.y = move_toward(velocity.y, MAX_FALL_SPEED, aerial_gravity)
+
+ move_and_slide()
+
+func respawn():
+ position = RESPAWN_POINT
+
+func set_interaction(type, data):
+ if type == "painting":
+ painting = data[0]
+ interaction_type = type
+ elif type == "plaque":
+ author = data[0]
+ caption = data[1]
+ interaction_type = type
+ else: # type == "exit"
+ if interaction_type == data[0]:
+ interaction_type = null
diff --git a/scripts/textbox.gd b/scripts/textbox.gd
new file mode 100644
index 0000000000000000000000000000000000000000..494f972b714a7298e696129926e9d875b58b3254
--- /dev/null
+++ b/scripts/textbox.gd
@@ -0,0 +1,96 @@
+extends CanvasLayer
+
+const READ_RATE = 0.05
+
+@onready var start_symbol = $margin/margin/container/start
+@onready var end_symbol = $margin/margin/container/end
+@onready var body = $margin/margin/container/body
+
+@onready var tween
+
+var current_state = State.READY
+var queue = [] # 236 char limit per line
+
+enum State { READY, READING, FINISHED }
+
+
+func _ready():
+ hide_textbox()
+
+func _process(delta):
+ match current_state:
+ State.READY:
+ if !queue.is_empty():
+ pipe_text()
+ else:
+ if get_parent().interaction_type != "painting": # hack
+ get_parent().paused = false
+ State.READING:
+ if Input.is_action_just_pressed("ui_accept"):
+ force_line_pipe()
+ change_state(State.FINISHED)
+ State.FINISHED:
+ if Input.is_action_just_pressed("ui_accept"):
+ change_state(State.READY)
+ hide_textbox()
+
+func load_block(block):
+ var chunks = []
+ var current_chunk = ""
+
+ for word in block.split(" "):
+ if current_chunk == "":
+ current_chunk = word
+ elif (current_chunk + " " + word).length() <= 220:
+ current_chunk += (" " + word)
+ else:
+ chunks.append(current_chunk)
+ current_chunk = word
+ if chunks[-1] != current_chunk:
+ chunks.append(current_chunk) # LMAO. that's what i get for asking chatgpt
+
+ queue = chunks
+ current_state = State.READY
+
+
+func queue_text(next_segment):
+ queue.push_back(next_segment)
+
+func show_textbox():
+ start_symbol.text = "*"
+ $margin.show()
+
+func hide_textbox():
+ $margin.hide()
+ body.text = ""
+ start_symbol.text = ""
+ end_symbol.text = ""
+
+func pipe_text():
+ change_state(State.READING)
+ var segment = queue.pop_front()
+ body.text = segment
+ show_textbox()
+ body.visible_ratio = 0.0
+ tween = get_tree().create_tween()
+ tween.tween_property(body, "visible_ratio", 1.0, len(segment) * READ_RATE).from(0.0).set_trans(Tween.TRANS_LINEAR).set_ease(Tween.EASE_IN_OUT)
+ tween.connect("finished", on_line_piped)
+
+func force_line_pipe():
+ tween.pause()
+ tween.custom_step(9999.9) # should be sufficient
+
+func on_line_piped():
+ end_symbol.text = "v"
+ change_state(State.FINISHED)
+ tween.kill()
+
+func change_state(new_state):
+ current_state = new_state
+ match current_state:
+ State.READY:
+ pass
+ State.READING:
+ pass
+ State.FINISHED:
+ pass