diff --git a/ASSET-LICENSE b/ASSET_LICENSE similarity index 100% rename from ASSET-LICENSE rename to ASSET_LICENSE diff --git a/README.md b/README.md index 23b5fbf..c0f3ba3 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Dress Up Zack -![](screenshot.gif)Tony's Dress Up is a re-imagining of my first (and only) Flash game series, ZC's Dress Up that was developed back in 2007. Both this and the originals are heavily inspired by The Sims 2: Body Shop in their own unique ways. +Tony's Dress Up is a re-imagining of my first (and only) Flash game series, ZC's Dress Up that was developed back in 2007. Both this and the originals are heavily inspired by The Sims 2: Body Shop in their own unique ways. ## License diff --git a/fonts/RobotLight.res b/fonts/RobotLight.res new file mode 100755 index 0000000..573a3a0 Binary files /dev/null and b/fonts/RobotLight.res differ diff --git a/fonts/montserrat/Montserrat-ExtraBold.otf b/fonts/montserrat/Montserrat-ExtraBold.otf new file mode 100755 index 0000000..d572750 Binary files /dev/null and b/fonts/montserrat/Montserrat-ExtraBold.otf differ diff --git a/fonts/montserrat/Montserrat-ExtraBold.otf.import b/fonts/montserrat/Montserrat-ExtraBold.otf.import new file mode 100644 index 0000000..fbd4a7e --- /dev/null +++ b/fonts/montserrat/Montserrat-ExtraBold.otf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://dscofh82dioro" +path="res://.godot/imported/Montserrat-ExtraBold.otf-0253e1572b8e0b2dc0797a62338eaacf.fontdata" + +[deps] + +source_file="res://fonts/montserrat/Montserrat-ExtraBold.otf" +dest_files=["res://.godot/imported/Montserrat-ExtraBold.otf-0253e1572b8e0b2dc0797a62338eaacf.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/fonts/montserrat_extra_bold_16.tres b/fonts/montserrat_extra_bold_16.tres new file mode 100755 index 0000000..d5a2ce4 --- /dev/null +++ b/fonts/montserrat_extra_bold_16.tres @@ -0,0 +1,8 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://fonts/montserrat/Montserrat-ExtraBold.otf" type="DynamicFontData" id=1] + +[resource] +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) diff --git a/fonts/montserrat_extra_bold_24.tres b/fonts/montserrat_extra_bold_24.tres new file mode 100755 index 0000000..abe38e1 --- /dev/null +++ b/fonts/montserrat_extra_bold_24.tres @@ -0,0 +1,9 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://fonts/montserrat/Montserrat-ExtraBold.otf" type="DynamicFontData" id=1] + +[resource] +size = 32 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) diff --git a/fonts/montserrat_extra_bold_32.tres b/fonts/montserrat_extra_bold_32.tres new file mode 100755 index 0000000..da82d19 --- /dev/null +++ b/fonts/montserrat_extra_bold_32.tres @@ -0,0 +1,9 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://fonts/montserrat/montserrat/Montserrat-ExtraBold.otf" type="DynamicFontData" id=1] + +[resource] +size = 32 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) diff --git a/fonts/montserrat_extra_bold_48.tres b/fonts/montserrat_extra_bold_48.tres new file mode 100755 index 0000000..25617b7 --- /dev/null +++ b/fonts/montserrat_extra_bold_48.tres @@ -0,0 +1,13 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://fonts/montserrat/Montserrat-ExtraBold.otf" type="DynamicFontData" id=1] + + +[resource] + +size = 48 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) +_sections_unfolded = [ "Settings" ] + diff --git a/fonts/montserrat_extra_bold_62.tres b/fonts/montserrat_extra_bold_62.tres new file mode 100755 index 0000000..f1fa875 --- /dev/null +++ b/fonts/montserrat_extra_bold_62.tres @@ -0,0 +1,13 @@ +[gd_resource type="DynamicFont" load_steps=2 format=2] + +[ext_resource path="res://fonts/montserrat/Montserrat-ExtraBold.otf" type="DynamicFontData" id=1] + + +[resource] + +size = 62 +use_mipmaps = true +use_filter = true +font_data = ExtResource( 1 ) +_sections_unfolded = [ "Settings" ] + diff --git a/fonts/roboto/LICENSE.txt b/fonts/roboto/LICENSE.txt new file mode 100755 index 0000000..d645695 --- /dev/null +++ b/fonts/roboto/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/fonts/roboto/Roboto-Light.ttf b/fonts/roboto/Roboto-Light.ttf new file mode 100755 index 0000000..94c6bcc Binary files /dev/null and b/fonts/roboto/Roboto-Light.ttf differ diff --git a/fonts/roboto/Roboto-Light.ttf.import b/fonts/roboto/Roboto-Light.ttf.import new file mode 100644 index 0000000..3322d0f --- /dev/null +++ b/fonts/roboto/Roboto-Light.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://c27ym2a3hw84i" +path="res://.godot/imported/Roboto-Light.ttf-4966415f14875f0d53846bd103a9c332.fontdata" + +[deps] + +source_file="res://fonts/roboto/Roboto-Light.ttf" +dest_files=["res://.godot/imported/Roboto-Light.ttf-4966415f14875f0d53846bd103a9c332.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/fonts/roboto/Roboto-Medium.ttf b/fonts/roboto/Roboto-Medium.ttf new file mode 100755 index 0000000..39c63d7 Binary files /dev/null and b/fonts/roboto/Roboto-Medium.ttf differ diff --git a/fonts/roboto/Roboto-Medium.ttf.import b/fonts/roboto/Roboto-Medium.ttf.import new file mode 100644 index 0000000..10c8b8e --- /dev/null +++ b/fonts/roboto/Roboto-Medium.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://cmmlq15tk1v8p" +path="res://.godot/imported/Roboto-Medium.ttf-84087e010095b03d60df198177373c42.fontdata" + +[deps] + +source_file="res://fonts/roboto/Roboto-Medium.ttf" +dest_files=["res://.godot/imported/Roboto-Medium.ttf-84087e010095b03d60df198177373c42.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/fonts/roboto/Roboto-Thin.ttf b/fonts/roboto/Roboto-Thin.ttf new file mode 100755 index 0000000..d695550 Binary files /dev/null and b/fonts/roboto/Roboto-Thin.ttf differ diff --git a/fonts/roboto/Roboto-Thin.ttf.import b/fonts/roboto/Roboto-Thin.ttf.import new file mode 100644 index 0000000..5a92c19 --- /dev/null +++ b/fonts/roboto/Roboto-Thin.ttf.import @@ -0,0 +1,33 @@ +[remap] + +importer="font_data_dynamic" +type="FontFile" +uid="uid://1xwa6v57sya4" +path="res://.godot/imported/Roboto-Thin.ttf-b3cb29e0a40d9b8a641e0416d437de81.fontdata" + +[deps] + +source_file="res://fonts/roboto/Roboto-Thin.ttf" +dest_files=["res://.godot/imported/Roboto-Thin.ttf-b3cb29e0a40d9b8a641e0416d437de81.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/project.godot b/project.godot index 892762c..f90ac99 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="Dress Up Zack" -config/version="1.3.100a" +config/version="1" run/main_scene="res://scenes/game.tscn" config/use_custom_user_dir=true config/features=PackedStringArray("4.2") @@ -89,6 +89,7 @@ ui_pause={ click={ "deadzone": 0.5, "events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":1,"canceled":false,"pressed":false,"double_click":false,"script":null) +, Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":0,"position":Vector2(0, 0),"global_position":Vector2(0, 0),"factor":1.0,"button_index":2,"canceled":false,"pressed":false,"double_click":false,"script":null) ] } diff --git a/resources/Game.theme b/resources/Game.theme index cf24b30..6d7147b 100644 Binary files a/resources/Game.theme and b/resources/Game.theme differ diff --git a/resources/KBlueBtnDisabled.tres b/resources/KBlueBtnDisabled.tres old mode 100644 new mode 100755 index 794ab2f..a1f38b0 --- a/resources/KBlueBtnDisabled.tres +++ b/resources/KBlueBtnDisabled.tres @@ -1,6 +1,6 @@ [gd_resource type="StyleBoxTexture" load_steps=2 format=2] -[ext_resource path="res://sprites/ui/blue_button10.png" type="Texture2D" id=1] +[ext_resource path="res://sprites/ui/blue_button10.png" type="Texture" id=1] [resource] texture = ExtResource( 1 ) diff --git a/resources/KBlueBtnNormal.tres b/resources/KBlueBtnNormal.tres old mode 100644 new mode 100755 index 5dbc926..b2bc587 --- a/resources/KBlueBtnNormal.tres +++ b/resources/KBlueBtnNormal.tres @@ -1,6 +1,6 @@ [gd_resource type="StyleBoxTexture" load_steps=2 format=2] -[ext_resource path="res://sprites/ui/blue_button03.png" type="Texture2D" id=1] +[ext_resource path="res://sprites/ui/blue_button03.png" type="Texture" id=1] [resource] texture = ExtResource( 1 ) diff --git a/resources/KBlueBtnPressed.tres b/resources/KBlueBtnPressed.tres old mode 100644 new mode 100755 index 7fa3a7a..2804f31 --- a/resources/KBlueBtnPressed.tres +++ b/resources/KBlueBtnPressed.tres @@ -1,6 +1,6 @@ [gd_resource type="StyleBoxTexture" load_steps=2 format=2] -[ext_resource path="res://sprites/ui/blue_button00.png" type="Texture2D" id=1] +[ext_resource path="res://sprites/ui/blue_button00.png" type="Texture" id=1] [resource] texture = ExtResource( 1 ) diff --git a/resources/KGreyPanel.tres b/resources/KGreyPanel.tres index 2a692d9..de1596f 100644 --- a/resources/KGreyPanel.tres +++ b/resources/KGreyPanel.tres @@ -1,11 +1,7 @@ -[gd_resource type="StyleBoxTexture" load_steps=2 format=2] +[gd_resource type="StyleBoxTexture" load_steps=2 format=3 uid="uid://x0jwd3gc6sxi"] -[ext_resource path="res://sprites/ui/grey_panel.png" type="Texture2D" id=1] +[ext_resource type="Texture2D" uid="uid://cnuqli38s16o7" path="res://sprites/ui/grey_panel.png" id="1"] [resource] -texture = ExtResource( 1 ) -region_rect = Rect2( 0, 0, 100, 100 ) -margin_left = 5.0 -margin_right = 5.0 -margin_top = 5.0 -margin_bottom = 10.0 +texture = ExtResource("1") +region_rect = Rect2(0, 0, 100, 100) diff --git a/resources/character.tres b/resources/character.tres old mode 100644 new mode 100755 index 20af6e3..a61bf7c --- a/resources/character.tres +++ b/resources/character.tres @@ -1,3 +1,6 @@ -[gd_resource type="Resource" format=2] +[gd_resource type="Resource" load_steps=2 format=2] + +[ext_resource path="res://scripts/character.gd" type="Script" id=1] [resource] +script = ExtResource( 1 ) diff --git a/scenes/character.tscn b/scenes/character.tscn index 2d8cc3e..1bcff02 100644 --- a/scenes/character.tscn +++ b/scenes/character.tscn @@ -1,10 +1,12 @@ -[gd_scene load_steps=32 format=3 uid="uid://detf8uwimqp3v"] +[gd_scene load_steps=30 format=3 uid="uid://detf8uwimqp3v"] +[ext_resource type="Script" path="res://scripts/character.gd" id="1_k1mtq"] [ext_resource type="Texture2D" uid="uid://cddou4chwo8h2" path="res://sprites/character/tail/tail0.svg" id="2"] +[ext_resource type="Texture2D" uid="uid://dxpvahpmr14ty" path="res://sprites/character/character_base.png" id="2_p4oam"] [ext_resource type="Texture2D" uid="uid://cnd3v8cerplqq" path="res://sprites/character/tail/tail1.svg" id="3"] [ext_resource type="Texture2D" uid="uid://djv0p7rxujbd4" path="res://sprites/character/tail/tail2.svg" id="4"] -[ext_resource type="Texture2D" uid="uid://cardxswmgbmbv" path="res://sprites/clothes/owo_censor.svg" id="5"] [ext_resource type="Texture2D" uid="uid://dnwdyi2d46hsm" path="res://sprites/character/eyes/eyes1.png" id="6"] +[ext_resource type="Texture2D" uid="uid://cardxswmgbmbv" path="res://sprites/clothes/owo_censor.svg" id="6_w0l5s"] [ext_resource type="Texture2D" uid="uid://cbr37emgh11is" path="res://sprites/character/eyes/eyes2.png" id="7"] [ext_resource type="Script" path="res://scripts/clothing.gd" id="7_58p8d"] [ext_resource type="Texture2D" uid="uid://ceifal0sxn0r7" path="res://sprites/character/eyes/eyes3.png" id="8"] @@ -23,10 +25,6 @@ [ext_resource type="Texture2D" uid="uid://b8nfuuiqedapi" path="res://sprites/character/mouth/mouth9.png" id="21"] [ext_resource type="Texture2D" uid="uid://ce3wk6a1dajrm" path="res://sprites/character/mouth/mouth10.png" id="22"] [ext_resource type="Texture2D" uid="uid://2wrx272o3gsa" path="res://sprites/character/mouth/mouth12.png" id="23"] -[ext_resource type="AudioStream" uid="uid://5jaaocj1kh" path="res://sounds/select_006.ogg" id="24"] -[ext_resource type="Texture2D" uid="uid://blvwt6d80bq5x" path="res://sprites/character/character_base_top.svg" id="25"] -[ext_resource type="Texture2D" uid="uid://cp4oe0dv4st1w" path="res://sprites/clothes/blank_top.png" id="26"] -[ext_resource type="Texture2D" uid="uid://cpf6yh6fqqxy1" path="res://sprites/character/character_base_head.svg" id="27"] [ext_resource type="Texture2D" uid="uid://bw7u6fgygd8t" path="res://sprites/character/mouth/mouth11.png" id="28"] [sub_resource type="SpriteFrames" id="1"] @@ -121,52 +119,34 @@ animations = [{ [node name="Character" type="Node2D"] position = Vector2(-19, -92) +script = ExtResource("1_k1mtq") -[node name="Click" type="AudioStreamPlayer" parent="."] -stream = ExtResource("24") - -[node name="Body" type="Node2D" parent="."] - -[node name="Tail" type="AnimatedSprite2D" parent="Body"] +[node name="Tail" type="AnimatedSprite2D" parent="."] position = Vector2(-33.7592, 99.4079) scale = Vector2(0.927713, 1) sprite_frames = SubResource("1") frame_progress = 0.642539 metadata/_edit_lock_ = true -[node name="Bottom" type="TextureRect" parent="Body"] -offset_left = -54.0 -offset_top = 132.0 -offset_right = 57.0 -offset_bottom = 257.0 -texture = ExtResource("5") +[node name="Body" type="Sprite2D" parent="."] +position = Vector2(12, 81) +texture = ExtResource("2_p4oam") +metadata/_edit_lock_ = true + +[node name="Bottom" type="TextureRect" parent="."] +offset_left = -49.0 +offset_top = 116.0 +offset_right = 62.0 +offset_bottom = 241.0 +texture = ExtResource("6_w0l5s") script = ExtResource("7_58p8d") -metadata/_edit_lock_ = true -[node name="Top" type="TextureRect" parent="Body"] -offset_left = -39.0 -offset_top = 25.0 -offset_right = 54.0 -offset_bottom = 135.0 -texture = ExtResource("25") -metadata/_edit_lock_ = true - -[node name="Head" type="Sprite2D" parent="Body"] -position = Vector2(10.6805, -25.1047) -texture = ExtResource("27") -metadata/_edit_lock_ = true - -[node name="Eyes" type="AnimatedSprite2D" parent="Body/Head"] -position = Vector2(17.6857, 4.22147) +[node name="Eyes" type="AnimatedSprite2D" parent="."] +position = Vector2(28.6857, -15.7785) sprite_frames = SubResource("2") frame_progress = 0.55981 -[node name="Mouth" type="AnimatedSprite2D" parent="Body/Head"] -position = Vector2(38.1195, 8.68453) +[node name="Mouth" type="AnimatedSprite2D" parent="."] +position = Vector2(49.1195, -14.3155) sprite_frames = SubResource("3") frame_progress = 0.679866 - -[node name="Accessory" type="Sprite2D" parent="Body"] -position = Vector2(9.54095, 73.0832) -texture = ExtResource("26") -metadata/_edit_lock_ = true diff --git a/scenes/demo.tscn b/scenes/demo.tscn index b748110..ab9096d 100644 --- a/scenes/demo.tscn +++ b/scenes/demo.tscn @@ -6,10 +6,13 @@ [node name="Demo" type="Node2D"] [node name="Platform" parent="." instance=ExtResource("1_31w52")] -position = Vector2(94, 117) +position = Vector2(170, 92) [node name="Platform2" parent="." instance=ExtResource("1_31w52")] position = Vector2(419, 84) +[node name="Platform3" parent="." instance=ExtResource("1_31w52")] +position = Vector2(296, 286) + [node name="Object" parent="." instance=ExtResource("2_cgl4f")] -position = Vector2(96, 117) +position = Vector2(301, 146) diff --git a/scenes/game.tscn b/scenes/game.tscn index 2ef578d..862ee92 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://cvr2aries2lhr"] +[gd_scene load_steps=11 format=3 uid="uid://cvr2aries2lhr"] [ext_resource type="Texture2D" uid="uid://33g80p0qnfw4" path="res://sprites/world/background.svg" id="1_uee2i"] [ext_resource type="Texture2D" uid="uid://bi7ayrxnn7hex" path="res://sprites/clothes/icrazy_frame.svg" id="2_n1kmf"] @@ -6,8 +6,20 @@ [ext_resource type="Texture2D" uid="uid://dteiup73cqn4o" path="res://sprites/clothes/lights.png" id="3_bbsyl"] [ext_resource type="Script" path="res://scripts/gui.gd" id="4_pqv2p"] [ext_resource type="PackedScene" uid="uid://crwoe1shep3qn" path="res://scenes/wardrobe.tscn" id="5_4le6a"] +[ext_resource type="Theme" uid="uid://b4vgui7vtqdtb" path="res://resources/Game.theme" id="5_gf1vk"] [ext_resource type="PackedScene" uid="uid://detf8uwimqp3v" path="res://scenes/character.tscn" id="6_tdil0"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_tqrj6"] +bg_color = Color(0.0313726, 0.321569, 0.321569, 1) +corner_radius_top_left = 10 +corner_radius_bottom_left = 10 + +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_3qslg"] +corner_radius_top_left = 10 +corner_radius_top_right = 10 +corner_radius_bottom_right = 10 +corner_radius_bottom_left = 10 + [node name="Game" type="Node"] [node name="Background" type="Sprite2D" parent="."] @@ -36,34 +48,32 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +theme = ExtResource("5_gf1vk") script = ExtResource("4_pqv2p") metadata/_edit_lock_ = true +[node name="Panel" type="Panel" parent="GUI"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.3975 +anchor_top = 0.02 +anchor_right = 1.015 +anchor_bottom = 0.878 +offset_right = 1.14441e-05 +theme_override_styles/panel = SubResource("StyleBoxFlat_tqrj6") +metadata/_edit_use_anchors_ = true + [node name="Wardrobe" parent="GUI" instance=ExtResource("5_4le6a")] layout_mode = 1 anchors_preset = -1 -anchor_left = 0.30125 -anchor_top = 0.086 -anchor_right = 1.0125 -anchor_bottom = 0.932 -offset_right = 3.8147e-05 -offset_bottom = 1.19209e-05 +anchor_left = 0.42625 +anchor_top = 0.054 +anchor_right = 0.975 +anchor_bottom = 0.822 +offset_bottom = 1.23978e-05 grow_horizontal = 1 grow_vertical = 1 -metadata/_edit_use_anchors_ = true - -[node name="VersionLbl" type="Label" parent="GUI"] -layout_mode = 1 -anchors_preset = -1 -anchor_left = 0.89 -anchor_top = 0.942 -anchor_right = 0.99125 -anchor_bottom = 0.994 -offset_left = -1.90735e-05 -offset_right = -1.33514e-05 -offset_bottom = -3.0 -text = "0.0.0" -metadata/_edit_use_anchors_ = true +theme_override_styles/panel = SubResource("StyleBoxFlat_3qslg") [node name="Character" parent="." instance=ExtResource("6_tdil0")] -position = Vector2(127, 218) +position = Vector2(117, 234) diff --git a/scenes/wardrobe.tscn b/scenes/wardrobe.tscn index 34dfedd..ffde149 100644 --- a/scenes/wardrobe.tscn +++ b/scenes/wardrobe.tscn @@ -1,62 +1,70 @@ -[gd_scene load_steps=3 format=3 uid="uid://crwoe1shep3qn"] +[gd_scene load_steps=9 format=3 uid="uid://crwoe1shep3qn"] [ext_resource type="Script" path="res://scripts/clothing.gd" id="2_1si7t"] +[ext_resource type="Texture2D" uid="uid://yhyxxgdk0o4r" path="res://sprites/clothes/dj_shorts.svg" id="3_8ykbu"] [ext_resource type="Texture2D" uid="uid://405burxtvied" path="res://sprites/clothes/sweat_pants.svg" id="3_h6yd3"] +[ext_resource type="Texture2D" uid="uid://bvh35sf1ahp1k" path="res://sprites/clothes/jeans.svg" id="4_53rvc"] +[ext_resource type="Texture2D" uid="uid://8vrl1mmcm5is" path="res://sprites/clothes/beat_up_jeans.svg" id="5_magqk"] +[ext_resource type="Texture2D" uid="uid://venieklgphn5" path="res://sprites/clothes/blue_camo_jeans.svg" id="6_dagdg"] +[ext_resource type="Texture2D" uid="uid://cf72ydh00dbjc" path="res://sprites/clothes/blue_skirt.svg" id="6_n1njc"] +[ext_resource type="Texture2D" uid="uid://cardxswmgbmbv" path="res://sprites/clothes/owo_censor.svg" id="8_noljf"] -[node name="Wordrobe" type="TabContainer"] +[node name="Wordrobe" type="Panel"] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +metadata/_edit_use_anchors_ = true -[node name="Pants" type="TabBar" parent="."] +[node name="Grid" type="GridContainer" parent="."] layout_mode = 2 - -[node name="PantsScroll" type="ScrollContainer" parent="Pants"] -layout_mode = 0 anchor_right = 1.0 anchor_bottom = 1.0 - -[node name="PantsGrid" type="GridContainer" parent="Pants/PantsScroll"] -layout_mode = 2 +grow_horizontal = 2 +grow_vertical = 2 size_flags_horizontal = 3 size_flags_vertical = 3 columns = 4 +metadata/_edit_use_anchors_ = true -[node name="SweatPants" type="TextureRect" parent="Pants/PantsScroll/PantsGrid"] +[node name="SweatPants" type="TextureRect" parent="Grid"] layout_mode = 2 texture = ExtResource("3_h6yd3") +expand_mode = 3 script = ExtResource("2_1si7t") -[node name="Shirts" type="TabBar" parent="."] -visible = false +[node name="DJShorts" type="TextureRect" parent="Grid"] layout_mode = 2 +texture = ExtResource("3_8ykbu") +expand_mode = 3 +script = ExtResource("2_1si7t") -[node name="ShirtsScroll" type="ScrollContainer" parent="Shirts"] -layout_mode = 0 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_left = 10.0 -offset_top = 10.0 - -[node name="ShirtsGrid" type="GridContainer" parent="Shirts/ShirtsScroll"] +[node name="Jeans" type="TextureRect" parent="Grid"] layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -columns = 4 +texture = ExtResource("4_53rvc") +expand_mode = 3 +script = ExtResource("2_1si7t") -[node name="Accessoires" type="TabBar" parent="."] -visible = false +[node name="TornJeans" type="TextureRect" parent="Grid"] layout_mode = 2 +texture = ExtResource("5_magqk") +script = ExtResource("2_1si7t") -[node name="AccsScroll" type="ScrollContainer" parent="Accessoires"] -layout_mode = 0 -anchor_right = 1.0 -anchor_bottom = 1.0 - -[node name="AccsGrid" type="GridContainer" parent="Accessoires/AccsScroll"] +[node name="CamoJeans" type="TextureRect" parent="Grid"] layout_mode = 2 -size_flags_horizontal = 3 -size_flags_vertical = 3 -columns = 3 +texture = ExtResource("6_dagdg") +stretch_mode = 4 +script = ExtResource("2_1si7t") + +[node name="Skirt" type="TextureRect" parent="Grid"] +layout_mode = 2 +texture = ExtResource("6_n1njc") +stretch_mode = 4 +script = ExtResource("2_1si7t") + +[node name="OwO" type="TextureRect" parent="Grid"] +layout_mode = 2 +texture = ExtResource("8_noljf") +stretch_mode = 4 +script = ExtResource("2_1si7t") diff --git a/scripts/character.gd b/scripts/character.gd new file mode 100644 index 0000000..5c590a2 --- /dev/null +++ b/scripts/character.gd @@ -0,0 +1,11 @@ +extends Node2D + +@onready var _eyes = $Eyes +@onready var _tail = $Tail +@onready var _mouth = $Mouth + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + _eyes.play("default") + _tail.play("default") + _mouth.play("default") diff --git a/scripts/gui.gd b/scripts/gui.gd index 8b2784a..20440b7 100644 --- a/scripts/gui.gd +++ b/scripts/gui.gd @@ -1,8 +1,3 @@ # This project is licensed under the GPL-3.0 license. # See the LICENSE file in the project root for more information. extends Control - -func _ready(): - var version = ProjectSettings.get_setting("application/config/version") - var verLabel = $VersionLbl - verLabel.text = "v" + version diff --git a/scripts/object.gd b/scripts/object.gd index 8c270f1..365dca3 100644 --- a/scripts/object.gd +++ b/scripts/object.gd @@ -5,20 +5,17 @@ extends Node2D var is_draggable = false var is_inside_dropable = false var body_ref +var offset: Vector2 # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): if is_draggable: - if Input.is_action_just_pressed("click"): - global_position = get_global_mouse_position() + if Input.is_action_just_pressed("click"): + offset = get_global_mouse_position() - global_position + Global.is_dragging = true elif Input.is_action_just_released("click"): - is_draggable = false - var tween = get_tree().create_tween() - if is_inside_dropable: - tween.tween_property(self,"postion",body_ref.position,0.2).set_ease(Tween.EASE_OUT) - else: - tween.tween_property(self,"global_postion",body_ref.position,0.2).set_ease(Tween.EASE_OUT) - + Global.is_dragging = false + func _on_area_2d_body_entered(body): if body.is_in_group('dropable'): is_inside_dropable = true diff --git a/sprites/clothes/beat_up_jeans.svg b/sprites/clothes/beat_up_jeans.svg index 11d9ae3..65773fa 100644 --- a/sprites/clothes/beat_up_jeans.svg +++ b/sprites/clothes/beat_up_jeans.svg @@ -1,134 +1,15 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/sprites/clothes/blue_camo_jeans.svg b/sprites/clothes/blue_camo_jeans.svg index 70d6ae1..5abd880 100644 --- a/sprites/clothes/blue_camo_jeans.svg +++ b/sprites/clothes/blue_camo_jeans.svg @@ -1,229 +1,33 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - diff --git a/sprites/clothes/blue_skirt.svg b/sprites/clothes/blue_skirt.svg index 08060bd..4ccf992 100644 --- a/sprites/clothes/blue_skirt.svg +++ b/sprites/clothes/blue_skirt.svg @@ -1,127 +1,13 @@ - - - - - - - image/svg+xml - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - diff --git a/sprites/clothes/dj_shorts.svg b/sprites/clothes/dj_shorts.svg index bd84649..2ae865e 100644 --- a/sprites/clothes/dj_shorts.svg +++ b/sprites/clothes/dj_shorts.svg @@ -1,181 +1,20 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/sprites/clothes/jeans.svg b/sprites/clothes/jeans.svg index b574abc..6071567 100644 --- a/sprites/clothes/jeans.svg +++ b/sprites/clothes/jeans.svg @@ -1,163 +1,19 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - + + + + + + + - - + + + + + + + - - - - - - - - - - - - - - - diff --git a/sprites/clothes/owo_censor.svg b/sprites/clothes/owo_censor.svg index db03273..7fac06f 100644 --- a/sprites/clothes/owo_censor.svg +++ b/sprites/clothes/owo_censor.svg @@ -1,132 +1,16 @@ - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + - diff --git a/sprites/clothes/sweat_pants.svg b/sprites/clothes/sweat_pants.svg index 1257ce8..1657cda 100644 --- a/sprites/clothes/sweat_pants.svg +++ b/sprites/clothes/sweat_pants.svg @@ -1,93 +1,9 @@ - - - - - - - image/svg+xml - - - - - - - - - - - - - + + + + + + +