diff --git a/ASSET_LICENSE b/ASSET_LICENSE index 0e259d4..c78e1b2 100644 --- a/ASSET_LICENSE +++ b/ASSET_LICENSE @@ -1,121 +1,394 @@ -Creative Commons Legal Code +Attribution 4.0 International -CC0 1.0 Universal +======================================================================= - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES - REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS - PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM - THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED - HEREUNDER. +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. -Statement of Purpose +Using Creative Commons Public Licenses -The laws of most jurisdictions throughout the world automatically confer -exclusive Copyright and Related Rights (defined below) upon the creator -and subsequent owner(s) (each and all, an "owner") of an original work of -authorship and/or a database (each, a "Work"). +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. -Certain owners wish to permanently relinquish those rights to a Work for -the purpose of contributing to a commons of creative, cultural and -scientific works ("Commons") that the public can reliably and without fear -of later claims of infringement build upon, modify, incorporate in other -works, reuse and redistribute as freely as possible in any form whatsoever -and for any purposes, including without limitation commercial purposes. -These owners may contribute to the Commons to promote the ideal of a free -culture and the further production of creative, cultural and scientific -works, or to gain reputation or greater distribution for their Work in -part through the use and efforts of others. + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors -For these and/or other purposes and motivations, and without any -expectation of additional consideration or compensation, the person -associating CC0 with a Work (the "Affirmer"), to the extent that he or she -is an owner of Copyright and Related Rights in the Work, voluntarily -elects to apply CC0 to the Work and publicly distribute the Work under its -terms, with knowledge of his or her Copyright and Related Rights in the -Work and the meaning and intended legal effect of CC0 on those rights. + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees -1. Copyright and Related Rights. A Work made available under CC0 may be -protected by copyright and related or neighboring rights ("Copyright and -Related Rights"). Copyright and Related Rights include, but are not -limited to, the following: +======================================================================= - i. the right to reproduce, adapt, distribute, perform, display, - communicate, and translate a Work; - ii. moral rights retained by the original author(s) and/or performer(s); -iii. publicity and privacy rights pertaining to a person's image or - likeness depicted in a Work; - iv. rights protecting against unfair competition in regards to a Work, - subject to the limitations in paragraph 4(a), below; - v. rights protecting the extraction, dissemination, use and reuse of data - in a Work; - vi. database rights (such as those arising under Directive 96/9/EC of the - European Parliament and of the Council of 11 March 1996 on the legal - protection of databases, and under any national implementation - thereof, including any amended or successor version of such - directive); and -vii. other similar, equivalent or corresponding rights throughout the - world based on applicable law or treaty, and any national - implementations thereof. +Creative Commons Attribution 4.0 International Public License -2. Waiver. To the greatest extent permitted by, but not in contravention -of, applicable law, Affirmer hereby overtly, fully, permanently, -irrevocably and unconditionally waives, abandons, and surrenders all of -Affirmer's Copyright and Related Rights and associated claims and causes -of action, whether now known or unknown (including existing as well as -future claims and causes of action), in the Work (i) in all territories -worldwide, (ii) for the maximum duration provided by applicable law or -treaty (including future time extensions), (iii) in any current or future -medium and for any number of copies, and (iv) for any purpose whatsoever, -including without limitation commercial, advertising or promotional -purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each -member of the public at large and to the detriment of Affirmer's heirs and -successors, fully intending that such Waiver shall not be subject to -revocation, rescission, cancellation, termination, or any other legal or -equitable action to disrupt the quiet enjoyment of the Work by the public -as contemplated by Affirmer's express Statement of Purpose. +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. -3. Public License Fallback. Should any part of the Waiver for any reason -be judged legally invalid or ineffective under applicable law, then the -Waiver shall be preserved to the maximum extent permitted taking into -account Affirmer's express Statement of Purpose. In addition, to the -extent the Waiver is so judged Affirmer hereby grants to each affected -person a royalty-free, non transferable, non sublicensable, non exclusive, -irrevocable and unconditional license to exercise Affirmer's Copyright and -Related Rights in the Work (i) in all territories worldwide, (ii) for the -maximum duration provided by applicable law or treaty (including future -time extensions), (iii) in any current or future medium and for any number -of copies, and (iv) for any purpose whatsoever, including without -limitation commercial, advertising or promotional purposes (the -"License"). The License shall be deemed effective as of the date CC0 was -applied by Affirmer to the Work. Should any part of the License for any -reason be judged legally invalid or ineffective under applicable law, such -partial invalidity or ineffectiveness shall not invalidate the remainder -of the License, and in such case Affirmer hereby affirms that he or she -will not (i) exercise any of his or her remaining Copyright and Related -Rights in the Work or (ii) assert any associated claims and causes of -action with respect to the Work, in either case contrary to Affirmer's -express Statement of Purpose. -4. Limitations and Disclaimers. +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public licenses. +Notwithstanding, Creative Commons may elect to apply one of its public +licenses to material it publishes and in those instances will be +considered the "Licensor." Except for the limited purpose of indicating +that material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the public +licenses. + +Creative Commons may be contacted at creativecommons.org. - a. No trademark or patent rights held by Affirmer are waived, abandoned, - surrendered, licensed or otherwise affected by this document. - b. Affirmer offers the Work as-is and makes no representations or - warranties of any kind concerning the Work, express, implied, - statutory or otherwise, including without limitation warranties of - title, merchantability, fitness for a particular purpose, non - infringement, or the absence of latent or other defects, accuracy, or - the present or absence of errors, whether or not discoverable, all to - the greatest extent permissible under applicable law. - c. Affirmer disclaims responsibility for clearing rights of other persons - that may apply to the Work or any use thereof, including without - limitation any person's Copyright and Related Rights in the Work. - Further, Affirmer disclaims responsibility for obtaining any necessary - consents, permissions or other rights required for any use of the - Work. - d. Affirmer understands and acknowledges that Creative Commons is not a - party to this document and has no duty or obligation with respect to - this CC0 or use of the Work. diff --git a/README.md b/README.md index a7e8c54..59f90ef 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,4 @@ Tony's Dress Up is a port of my first (and only) Flash game series, ZC's Dress U The source and assets are licensed under the GPL-3.0 License and CC-BY, respectfully - see the [LICENSE](LICENSE) and [ASSET-LICENSE](ASSET-LICENSE) for more details. -The Flash games located in the `/archive` directory are proprietary, but considered abandonware. Any extracted assets are under the same license. Feel free to share them on archives. +The Flash games located in the `/archive` directory are proprietary, but considered abandonware. Any extracted assets are under the same license. Feel free to share them on archives. \ No newline at end of file diff --git a/project.godot b/project.godot index d4a649c..d565706 100644 --- a/project.godot +++ b/project.godot @@ -100,11 +100,6 @@ click={ "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) ] } -exit={ -"deadzone": 0.5, -"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"echo":false,"script":null) -] -} [locale] diff --git a/scenes/character.tscn b/scenes/character.tscn index 18c56b5..7752635 100644 --- a/scenes/character.tscn +++ b/scenes/character.tscn @@ -123,7 +123,7 @@ script = ExtResource("1_k1mtq") position = Vector2(-33.7592, 99.4079) scale = Vector2(0.927713, 1) sprite_frames = SubResource("1") -frame_progress = 0.0205252 +frame_progress = 0.185576 [node name="Body" type="Sprite2D" parent="."] position = Vector2(12, 81) @@ -132,9 +132,9 @@ texture = ExtResource("5_i8wm6") [node name="Eyes" type="AnimatedSprite2D" parent="."] position = Vector2(28.6857, -15.7785) sprite_frames = SubResource("2") -frame_progress = 0.937796 +frame_progress = 0.102847 [node name="Mouth" type="AnimatedSprite2D" parent="."] position = Vector2(49.1195, -14.3155) sprite_frames = SubResource("3") -frame_progress = 0.0578512 +frame_progress = 0.222902 diff --git a/scenes/game.tscn b/scenes/game.tscn index 9db0391..b944a4a 100644 --- a/scenes/game.tscn +++ b/scenes/game.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=15 format=3 uid="uid://cvr2aries2lhr"] +[gd_scene load_steps=13 format=3 uid="uid://cvr2aries2lhr"] [ext_resource type="Script" path="res://scripts/game.gd" id="1_qt3fe"] [ext_resource type="Texture2D" uid="uid://33g80p0qnfw4" path="res://sprites/world/background.svg" id="1_uee2i"] @@ -7,12 +7,10 @@ [ext_resource type="Texture2D" uid="uid://d1u3w61r0uv7p" path="res://sprites/world/boxersOfAmericaFrame.png" id="4_327cy"] [ext_resource type="PackedScene" uid="uid://detf8uwimqp3v" path="res://scenes/character.tscn" id="6_tdil0"] [ext_resource type="SpriteFrames" uid="uid://bhyon1s1op8ly" path="res://scenes/items.tres" id="7_3ykci"] -[ext_resource type="StyleBox" uid="uid://by6foat5q5d8b" path="res://sprites/ui/button_style.tres" id="11_a038t"] -[ext_resource type="FontFile" uid="uid://cnddkn05b5fj" path="res://addons/fontawesome/fonts/fa-solid-900.woff2" id="11_e3r4r"] -[ext_resource type="SystemFont" uid="uid://dfre5a3mywuhy" path="res://sprites/ui/comic_sans.tres" id="12_0f8fj"] -[ext_resource type="Script" path="res://addons/fontawesome/FontAwesome.gd" id="12_o3hu5"] [ext_resource type="Texture2D" uid="uid://clakkue2mohs4" path="res://sprites/ui/greenBtn.png" id="14_yk2bu"] [ext_resource type="Texture2D" uid="uid://cd8mirubbhn10" path="res://sprites/ui/redBtn.png" id="15_g5gd1"] +[ext_resource type="Texture2D" uid="uid://cl0wwlm6yw0ug" path="res://sprites/ui/fullbodyBtn.png" id="15_rfctk"] +[ext_resource type="Texture2D" uid="uid://nc0wkek55yhu" path="res://sprites/ui/seperateBtn.png" id="16_px53c"] [ext_resource type="Texture2D" uid="uid://wr3ns0ywb75q" path="res://sprites/logo.png" id="16_y58oj"] [node name="Game" type="Node"] @@ -24,14 +22,13 @@ script = ExtResource("1_qt3fe") position = Vector2(306.682, 204.039) scale = Vector2(0.618038, 0.725217) texture = ExtResource("1_uee2i") -metadata/_edit_lock_ = true [node name="Stand" type="Sprite2D" parent="World"] -position = Vector2(307.326, 368.764) +position = Vector2(321.326, 368.764) texture = ExtResource("2_q0w7j") [node name="BoxersOfAmericaFrame" type="Sprite2D" parent="World"] -position = Vector2(527.778, 119.515) +position = Vector2(77.9707, 272.449) texture = ExtResource("4_327cy") [node name="iCrazyFrame" type="Sprite2D" parent="World"] @@ -40,23 +37,21 @@ scale = Vector2(0.700948, 0.7129) texture = ExtResource("2_n1kmf") [node name="Character" parent="." instance=ExtResource("6_tdil0")] -position = Vector2(299.61, 133.222) +position = Vector2(313.61, 133.222) -[node name="Seperate" type="Node2D" parent="."] - -[node name="Bottoms" type="AnimatedSprite2D" parent="Seperate"] -position = Vector2(305.681, 303.715) +[node name="Bottoms" type="AnimatedSprite2D" parent="."] +position = Vector2(316.681, 303.715) sprite_frames = ExtResource("7_3ykci") animation = &"bottoms" -[node name="Tops" type="AnimatedSprite2D" parent="Seperate"] -position = Vector2(310.934, 206.309) +[node name="Tops" type="AnimatedSprite2D" parent="."] +position = Vector2(325.091, 213.195) sprite_frames = ExtResource("7_3ykci") animation = &"tops" -[node name="FullBody" type="AnimatedSprite2D" parent="."] +[node name="Fullbody" type="AnimatedSprite2D" parent="."] visible = false -position = Vector2(314.225, 262.214) +position = Vector2(558.266, 434.335) sprite_frames = ExtResource("7_3ykci") animation = &"fullbody" @@ -65,9 +60,9 @@ position = Vector2(546.704, 311.642) scale = Vector2(0.172412, 0.162644) texture = ExtResource("16_y58oj") -[node name="Canvas" type="CanvasLayer" parent="."] +[node name="CanvasLayer" type="CanvasLayer" parent="."] -[node name="UI" type="Control" parent="Canvas"] +[node name="UI" type="Control" parent="CanvasLayer"] layout_mode = 3 anchors_preset = 15 anchor_right = 1.0 @@ -75,146 +70,79 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 metadata/_edit_use_anchors_ = true -metadata/_edit_lock_ = true -[node name="DressUpCtrls" type="Control" parent="Canvas/UI"] -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -metadata/_edit_use_anchors_ = true -metadata/_edit_lock_ = true - -[node name="TopsFwdBtn" type="TextureButton" parent="Canvas/UI/DressUpCtrls"] -layout_mode = 1 -anchors_preset = -1 -anchor_left = 0.655 -anchor_top = 0.3775 -anchor_right = 0.726667 -anchor_bottom = 0.535 -offset_bottom = -1.04904e-05 +[node name="TopsFwdBtn" type="TextureButton" parent="CanvasLayer/UI"] +layout_mode = 0 +anchor_left = 0.735474 +anchor_top = 0.406494 +anchor_right = 0.807141 +anchor_bottom = 0.563994 texture_normal = ExtResource("14_yk2bu") +stretch_mode = 4 metadata/_edit_use_anchors_ = true -[node name="TopsBckBtn" type="TextureButton" parent="Canvas/UI/DressUpCtrls"] -layout_mode = 1 -anchors_preset = -1 -anchor_left = 0.256667 -anchor_top = 0.345 -anchor_right = 0.328334 -anchor_bottom = 0.5025 +[node name="TopsBckBtn" type="TextureButton" parent="CanvasLayer/UI"] +layout_mode = 0 +anchor_left = 0.236586 +anchor_top = 0.399881 +anchor_right = 0.308252 +anchor_bottom = 0.55738 +offset_bottom = 1.04904e-05 texture_normal = ExtResource("15_g5gd1") metadata/_edit_use_anchors_ = true -[node name="BottomsBckBtn" type="TextureButton" parent="Canvas/UI/DressUpCtrls"] +[node name="BottomsBckBtn" type="TextureButton" parent="CanvasLayer/UI"] layout_mode = 1 anchors_preset = -1 -anchor_left = 0.245 -anchor_top = 0.535 -anchor_right = 0.316667 -anchor_bottom = 0.6925 -offset_top = -1.04904e-05 +anchor_left = 0.230677 +anchor_top = 0.61427 +anchor_right = 0.302344 +anchor_bottom = 0.77177 +offset_bottom = -2.28882e-05 texture_normal = ExtResource("15_g5gd1") +stretch_mode = 4 metadata/_edit_use_anchors_ = true -[node name="BottomsFwdBtn" type="TextureButton" parent="Canvas/UI/DressUpCtrls"] +[node name="BottomsFwdBtn" type="TextureButton" parent="CanvasLayer/UI"] layout_mode = 1 anchors_preset = -1 -anchor_left = 0.658334 -anchor_top = 0.5725 -anchor_right = 0.73 -anchor_bottom = 0.73 +anchor_left = 0.736785 +anchor_top = 0.613892 +anchor_right = 0.808452 +anchor_bottom = 0.771392 +offset_left = -1.4782e-05 texture_normal = ExtResource("14_yk2bu") +stretch_mode = 4 metadata/_edit_use_anchors_ = true -[node name="SettingsCtrls" type="HBoxContainer" parent="Canvas/UI"] +[node name="FullbodyBtn" type="TextureButton" parent="CanvasLayer/UI"] layout_mode = 1 anchors_preset = -1 -anchor_top = 0.015 -anchor_right = 1.0 -anchor_bottom = 0.0875 -grow_horizontal = 2 -theme_override_constants/separation = 13 -alignment = 1 +anchor_left = 0.265919 +anchor_top = 0.0531643 +anchor_right = 0.417585 +anchor_bottom = 0.115664 +offset_left = 1.14441e-05 +offset_right = 1.52588e-05 +texture_normal = ExtResource("15_rfctk") +stretch_mode = 4 metadata/_edit_use_anchors_ = true -[node name="ShirtIcon" type="Label" parent="Canvas/UI/SettingsCtrls"] -layout_mode = 2 -auto_translate = false -localize_numeral_system = false -theme_override_colors/font_color = Color(0, 0.290196, 1, 1) -theme_override_fonts/font = ExtResource("11_e3r4r") -theme_override_font_sizes/font_size = 16 -text = "" -horizontal_alignment = 1 -vertical_alignment = 1 -script = ExtResource("12_o3hu5") -icon_name = "shirt" - -[node name="FullbodyBtn" type="Button" parent="Canvas/UI/SettingsCtrls"] -layout_mode = 2 -theme_type_variation = &"FlatButton" -theme_override_fonts/font = ExtResource("12_0f8fj") -theme_override_styles/normal = ExtResource("11_a038t") -theme_override_styles/hover = ExtResource("11_a038t") -theme_override_styles/pressed = ExtResource("11_a038t") -theme_override_styles/disabled = ExtResource("11_a038t") -theme_override_styles/focus = ExtResource("11_a038t") -text = "Outfits" +[node name="SeparateBtn" type="TextureButton" parent="CanvasLayer/UI"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.666512 +anchor_top = 0.0395699 +anchor_right = 0.818178 +anchor_bottom = 0.10457 +offset_left = -1.14441e-05 +texture_normal = ExtResource("16_px53c") +stretch_mode = 4 metadata/_edit_use_anchors_ = true -[node name="SeparateBtn" type="Button" parent="Canvas/UI/SettingsCtrls"] -layout_mode = 2 -theme_type_variation = &"FlatButton" -theme_override_fonts/font = ExtResource("12_0f8fj") -theme_override_styles/normal = ExtResource("11_a038t") -theme_override_styles/hover = ExtResource("11_a038t") -theme_override_styles/pressed = ExtResource("11_a038t") -theme_override_styles/disabled = ExtResource("11_a038t") -theme_override_styles/focus = ExtResource("11_a038t") -text = "Seperate" -metadata/_edit_use_anchors_ = true - -[node name="FontAwesome" type="Label" parent="Canvas/UI/SettingsCtrls"] -layout_mode = 2 -auto_translate = false -localize_numeral_system = false -theme_override_colors/font_color = Color(0, 0.290196, 1, 1) -theme_override_fonts/font = ExtResource("11_e3r4r") -theme_override_font_sizes/font_size = 16 -text = "" -horizontal_alignment = 1 -vertical_alignment = 1 -script = ExtResource("12_o3hu5") -icon_name = "gear" - -[node name="SaveBtn" type="Button" parent="Canvas/UI/SettingsCtrls"] -layout_mode = 2 -theme_type_variation = &"FlatButton" -theme_override_fonts/font = ExtResource("12_0f8fj") -theme_override_styles/normal = ExtResource("11_a038t") -theme_override_styles/hover = ExtResource("11_a038t") -theme_override_styles/pressed = ExtResource("11_a038t") -theme_override_styles/disabled = ExtResource("11_a038t") -theme_override_styles/focus = ExtResource("11_a038t") -text = "Save" - -[node name="ExitBtn" type="Button" parent="Canvas/UI/SettingsCtrls"] -layout_mode = 2 -theme_override_fonts/font = ExtResource("12_0f8fj") -theme_override_styles/normal = ExtResource("11_a038t") -theme_override_styles/hover = ExtResource("11_a038t") -theme_override_styles/pressed = ExtResource("11_a038t") -theme_override_styles/disabled = ExtResource("11_a038t") -theme_override_styles/focus = ExtResource("11_a038t") -text = "Exit" - -[connection signal="pressed" from="Canvas/UI/DressUpCtrls/TopsFwdBtn" to="." method="_on_tops_fwd_btn_pressed"] -[connection signal="pressed" from="Canvas/UI/DressUpCtrls/TopsBckBtn" to="." method="_on_tops_bck_btn_pressed"] -[connection signal="pressed" from="Canvas/UI/DressUpCtrls/BottomsBckBtn" to="." method="_on_bottoms_bck_btn_pressed"] -[connection signal="pressed" from="Canvas/UI/DressUpCtrls/BottomsFwdBtn" to="." method="_on_bottoms_fwd_btn_pressed"] -[connection signal="pressed" from="Canvas/UI/SettingsCtrls/FullbodyBtn" to="." method="_on_fullbody_btn_pressed"] -[connection signal="pressed" from="Canvas/UI/SettingsCtrls/SeparateBtn" to="." method="_on_separate_btn_pressed"] -[connection signal="pressed" from="Canvas/UI/SettingsCtrls/SaveBtn" to="." method="_on_save_btn_pressed"] +[connection signal="pressed" from="CanvasLayer/UI/TopsFwdBtn" to="." method="_on_tops_fwd_btn_pressed"] +[connection signal="pressed" from="CanvasLayer/UI/TopsBckBtn" to="." method="_on_tops_bck_btn_pressed"] +[connection signal="pressed" from="CanvasLayer/UI/BottomsBckBtn" to="." method="_on_bottoms_bck_btn_pressed"] +[connection signal="pressed" from="CanvasLayer/UI/BottomsFwdBtn" to="." method="_on_bottoms_fwd_btn_pressed"] +[connection signal="pressed" from="CanvasLayer/UI/FullbodyBtn" to="." method="_on_fullbody_btn_pressed"] +[connection signal="pressed" from="CanvasLayer/UI/SeparateBtn" to="." method="_on_separate_btn_pressed"] diff --git a/scenes/items.tres b/scenes/items.tres index d931730..310c47d 100644 --- a/scenes/items.tres +++ b/scenes/items.tres @@ -1,16 +1,14 @@ -[gd_resource type="SpriteFrames" load_steps=17 format=3 uid="uid://bhyon1s1op8ly"] +[gd_resource type="SpriteFrames" load_steps=15 format=3 uid="uid://bhyon1s1op8ly"] [ext_resource type="Texture2D" uid="uid://wfsffpk4h8p" path="res://sprites/clothes/sweat_pants.png" id="1_5mrf2"] [ext_resource type="Texture2D" uid="uid://b3xtl8c73nw30" path="res://sprites/clothes/beatup_jeans.png" id="2_0n07e"] [ext_resource type="Texture2D" uid="uid://bl8w5mjjo4i73" path="res://sprites/clothes/jeans.png" id="3_7udtq"] [ext_resource type="Texture2D" uid="uid://310b2835i5d8" path="res://sprites/clothes/dj_shirt.png" id="7_b8d0l"] [ext_resource type="Texture2D" uid="uid://5heuxqo78jns" path="res://sprites/clothes/fullbody/canonrhode.png" id="7_iagv2"] -[ext_resource type="Texture2D" uid="uid://bhgvidynd582a" path="res://sprites/clothes/retro_shirt.svg" id="8_cd0je"] [ext_resource type="Texture2D" uid="uid://cgnumy58myojg" path="res://sprites/clothes/fullbody/coat.png" id="8_uraqp"] [ext_resource type="Texture2D" uid="uid://6y443cg1s6up" path="res://sprites/clothes/fullbody/edsoutfit.png" id="9_osdr5"] [ext_resource type="Texture2D" uid="uid://dt1tsnusorwv8" path="res://sprites/clothes/korm_shirt.png" id="10_81cd5"] [ext_resource type="Texture2D" uid="uid://crgedi1ppq2ow" path="res://sprites/clothes/fullbody/formal.png" id="10_uqjix"] -[ext_resource type="Texture2D" uid="uid://qvwv0sdwl5u4" path="res://sprites/clothes/fullsnack_shirt.svg" id="11_hmki5"] [ext_resource type="Texture2D" uid="uid://b07kumnwr7c0w" path="res://sprites/clothes/fullbody/mario.png" id="11_ssvy5"] [ext_resource type="Texture2D" uid="uid://c8xa7sal3omnm" path="res://sprites/clothes/fullbody/schoolgirl.png" id="12_3wtcm"] [ext_resource type="Texture2D" uid="uid://b0sf2e2e5jfab" path="res://sprites/clothes/z_shirt.png" id="12_i81ab"] @@ -71,12 +69,6 @@ animations = [{ }, { "duration": 1.0, "texture": ExtResource("12_i81ab") -}, { -"duration": 1.0, -"texture": ExtResource("8_cd0je") -}, { -"duration": 1.0, -"texture": ExtResource("11_hmki5") }], "loop": true, "name": &"tops", diff --git a/scripts/config.gd b/scripts/config.gd index 9e29ca0..460c050 100644 --- a/scripts/config.gd +++ b/scripts/config.gd @@ -1,56 +1,25 @@ extends Node -func config_file(config_file = "user://config.cfg"): +func debug_config(): # If the game is in if OS.is_debug_build(): - print_debug("Loading local config file") return "res://config.cfg" else: - return config_file - -func save_file(save_file = "user://save.cfg"): - # If the game is in - if OS.is_debug_build(): - print_debug("Loading local save file") - return "res://save.cfg" - else: - return save_file + return "user://config.cfg" -func save_config(config_file = "user://config.cfg"): +func set_config(config_file = "user://config.cfg"): # Create new ConfigFile object. var config = ConfigFile.new() - - var window_size = "display/window/size/"; - var default_width = ProjectSettings.get_setting(window_size + "viewport_width") - var default_height = ProjectSettings.get_setting(window_size + "viewport_height") - - # If Retina display, set a higher resolution - var screen_scale = DisplayServer.screen_get_scale(); - if screen_scale == 2: - config.set_value("window", "width", default_width * 3) - config.set_value("window", "height", default_height * 3) - else: - config.set_value("window", "width", default_width) - config.set_value("window", "height", default_height) + + # Store some values. + config.set_value("window", "height", 1024) + config.set_value("window", "width", 768) # Save it to a file (overwrite if already exists) if !FileAccess.file_exists(config_file): config.save(config_file) - -func save_game(tops = 0, bottoms = 0, full_body = 0, save_file = "user://save.cfg", overwrite = false, ): - # Create new ConfigFile object. - var config = ConfigFile.new() - # Store some values. - config.set_value("clothes", "tops", tops) - config.set_value("clothes", "bottoms", bottoms) - config.set_value("clothes", "full_body", full_body) - - # Save it to a file (overwrite if already exists) - if !FileAccess.file_exists(save_file) || overwrite == true: - config.save(save_file) - -func load_config(section, value, config_file = "user://config.cfg"): +func get_config(section, value, config_file = "user://config.cfg"): var config = ConfigFile.new() # Load data from a file. diff --git a/scripts/game.gd b/scripts/game.gd index ad4c175..2b41643 100644 --- a/scripts/game.gd +++ b/scripts/game.gd @@ -1,77 +1,33 @@ extends Node -@onready var tops = $Seperate/Tops -@onready var bottoms = $Seperate/Bottoms -@onready var seperate_items = $Seperate -@onready var bottoms_bck = $Canvas/UI/DressUpCtrls/BottomsBckBtn -@onready var bottoms_fwd = $Canvas/UI/DressUpCtrls/BottomsFwdBtn -@onready var full_body = $FullBody +@onready var tops = $Tops +@onready var bottoms = $Bottoms -var is_seperate = true -var is_full_body = false - -var config_file = Config.config_file() -var save_file = Config.save_file() func _ready(): - - # If config files don't exist, create them + var config_file = Config.debug_config() + if !FileAccess.file_exists(config_file): - Config.save_config(config_file) - - if !FileAccess.file_exists(save_file): - Config.save_game(save_file) + Config.set_config() - # Load last saved game - if FileAccess.file_exists(save_file): - var clothes_section = "clothes" - tops.frame = Config.load_config(clothes_section, "tops", save_file) - bottoms.frame = Config.load_config(clothes_section, "bottoms", save_file) - full_body.frame = Config.load_config(clothes_section, "full_body", save_file) - - # Load window size if FileAccess.file_exists(config_file): - var window_section = "window" - var window_height = Config.load_config(window_section, "height", config_file) - var window_width = Config.load_config(window_section, "width", config_file) - var viewport = get_viewport(); + var window_height = Config.get_config("window", "height", config_file) + var window_width = Config.get_config("window", "width", config_file) + print_debug(window_height) + print_debug(window_width) - # Set window size - DisplayServer.window_set_size(Vector2i(window_width, window_height)) - - -func game_save(): - Config.save_game(tops.frame, bottoms.frame, full_body.frame, save_file, true) - -func _process(delta): - if Input.is_action_just_pressed("exit"): - game_save() - get_tree().quit() - -func _on_save_btn_pressed(): - game_save() + if window_height && window_width != null: + DisplayServer.window_set_size(Vector2i(window_height, window_width)) func _on_tops_fwd_btn_pressed(): - var current_frame - - if is_seperate: - current_frame = tops.frame - tops.frame = current_frame + 1; - - if is_full_body: - current_frame = full_body.frame - full_body.frame = current_frame + 1; + var current_frame = tops.frame + tops.frame = current_frame + 1; func _on_tops_bck_btn_pressed(): - var current_frame - if is_seperate: - current_frame = tops.frame - tops.frame = current_frame + -1; - - if is_full_body: - current_frame = full_body.frame - full_body.frame = current_frame + -1; + var current_frame = tops.frame + tops.frame = current_frame + -1; + func _on_bottoms_bck_btn_pressed(): var current_frame = bottoms.frame @@ -82,20 +38,10 @@ func _on_bottoms_fwd_btn_pressed(): var current_frame = bottoms.frame bottoms.frame = current_frame + 1; + func _on_fullbody_btn_pressed(): - is_seperate = false - is_full_body = true - seperate_items.hide() - bottoms_bck.hide() - bottoms_fwd.hide() - full_body.show() + pass # Replace with function body. + func _on_separate_btn_pressed(): - is_seperate = true - is_full_body = false - seperate_items.show() - bottoms_bck.show() - bottoms_fwd.show() - full_body.hide() - - + pass # Replace with function body. diff --git a/sprites/clothes/fullsnack_shirt.svg b/sprites/clothes/fullsnack_shirt.svg index 41f76c7..ee8c400 100644 --- a/sprites/clothes/fullsnack_shirt.svg +++ b/sprites/clothes/fullsnack_shirt.svg @@ -1,146 +1,35 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sprites/clothes/retro_shirt.svg b/sprites/clothes/retro_shirt.svg index 72ca220..a2f80b3 100644 --- a/sprites/clothes/retro_shirt.svg +++ b/sprites/clothes/retro_shirt.svg @@ -1,84 +1,17 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/sprites/ui/button_style.tres b/sprites/ui/button_style.tres deleted file mode 100644 index 7e142fb..0000000 --- a/sprites/ui/button_style.tres +++ /dev/null @@ -1,14 +0,0 @@ -[gd_resource type="StyleBoxFlat" format=3 uid="uid://by6foat5q5d8b"] - -[resource] -bg_color = Color(0, 0.556863, 1, 1) -border_width_left = 3 -border_width_top = 3 -border_width_right = 3 -border_width_bottom = 3 -border_color = Color(0, 0.180392, 1, 1) -border_blend = true -corner_radius_top_left = 5 -corner_radius_top_right = 5 -corner_radius_bottom_right = 5 -corner_radius_bottom_left = 5 diff --git a/sprites/ui/comic_sans.tres b/sprites/ui/comic_sans.tres deleted file mode 100644 index d238858..0000000 --- a/sprites/ui/comic_sans.tres +++ /dev/null @@ -1,5 +0,0 @@ -[gd_resource type="SystemFont" format=3 uid="uid://dfre5a3mywuhy"] - -[resource] -font_names = PackedStringArray("Comic Sans MS") -hinting = 2