From 7ae20789a90798b5b8086c7e3eca4bfbcca16777 Mon Sep 17 00:00:00 2001 From: Voyager Date: Tue, 25 Aug 2026 17:14:12 -0400 Subject: [PATCH] Rebrand project and refresh title presentation --- ASSET-LICENSE.md | 96 +-- CONTRIBUTING.md | 6 +- CONTRIBUTOR-TERMS.md | 14 +- README.md | 28 +- TRADEMARKS.md | 20 +- .../plugin.cfg | 2 +- .../shoreline_auto_baker.gd | 0 .../shoreline_auto_baker.gd.uid | 0 ...acter.glb => straywild_base_character.glb} | Bin ...rt => straywild_base_character.glb.import} | 6 +- ...wild_base_character_eyes_simple_shine.png} | Bin ...se_character_eyes_simple_shine.png.import} | 8 +- ... straywild_base_character_mouth_three.png} | Bin ...ild_base_character_mouth_three.png.import} | 8 +- ...raywild_base_character_nose_dog_round.png} | Bin ..._base_character_nose_dog_round.png.import} | 8 +- art/exported/system_icons/netfishing.ico | Bin 370326 -> 0 bytes art/exported/system_icons/netfishing_1024.png | Bin 76386 -> 0 bytes art/exported/system_icons/netfishing_256.png | Bin 48436 -> 0 bytes art/exported/system_icons/straywild.ico | Bin 0 -> 370326 bytes art/exported/system_icons/straywild_1024.png | Bin 0 -> 80419 bytes ...4.png.import => straywild_1024.png.import} | 6 +- art/exported/system_icons/straywild_256.png | Bin 0 -> 51987 bytes ...56.png.import => straywild_256.png.import} | 6 +- ...r.blend => straywild_base_character.blend} | Bin ... => straywild_base_character.blend.import} | 6 +- ...rt => straywild_base_character.glb.import} | 6 +- ...blend => straywild_character_source.blend} | Bin ...> straywild_character_source.blend.import} | 6 +- ... => straywild_character_source.glb.import} | 6 +- ...wild_character_source_eyes1_eyebrows1.png} | Bin ...aracter_source_eyes1_eyebrows1.png.import} | 8 +- ...ld_character_source_eyes_simple_shine.png} | Bin ...acter_source_eyes_simple_shine.png.import} | 8 +- ... => straywild_character_source_mouth1.png} | Bin ...aywild_character_source_mouth1.png.import} | 8 +- ...traywild_character_source_mouth_three.png} | Bin ...d_character_source_mouth_three.png.import} | 8 +- ...=> straywild_character_source_nose1.2.png} | Bin ...ywild_character_source_nose1.2.png.import} | 8 +- ...ywild_character_source_nose_dog_round.png} | Bin ...haracter_source_nose_dog_round.png.import} | 8 +- docs/ATTRIBUTION.md | 26 +- docs/DEVELOPMENT.md | 10 +- docs/PORTMASTER.md | 66 +- docs/README-PLAYTEST.txt | 10 +- docs/README.md | 6 +- export_presets.cfg | 32 +- main/main.gd | 29 +- main/main.tscn | 22 +- main/runtime_performance_profile.gd | 4 +- main/texture_sampling_policy.gd | 2 +- network/discovery_client.gd | 24 +- network/identity_backup_service.gd | 4 +- network/network_identity_crypto.gd | 2 +- network/network_protocol.gd | 10 +- network/network_session.gd | 6 +- network/network_surface_drawing_service.gd | 4 +- network/player_data_root.gd | 28 +- network/player_relationship_store.gd | 4 +- network/portable_data_migration.gd | 12 +- player/player.tscn | 2 +- player/player_visual_presenter.gd | 4 +- project.godot | 8 +- save/progression_save_codec.gd | 4 +- scripts/build_android_debug.sh | 2 +- scripts/build_playtest.sh | 24 +- scripts/build_portmaster.sh | 128 +-- scripts/import_animalese_voice.sh | 4 +- scripts/normalize_texture_profiles.sh | 2 +- scripts/portmaster/gameinfo.xml | 8 +- ...unch-netfishing.sh => launch-straywild.sh} | 0 scripts/portmaster/port.json | 8 +- .../{netfishing.gptk => straywild.gptk} | 2 +- .../{NETfishing.sh => straywild.sh} | 74 +- scripts/run_validations.sh | 4 +- scripts/setup_android_build.sh | 4 +- scripts/test_player_data_root_paths.gd | 24 +- server/dedicated_server_config.gd | 28 +- settings/player_settings_manager.gd | 2 +- tests/character_rig_validation.gd | 2 +- tests/controller_mapping_validation.gd | 10 +- ...ontroller_menu_accessibility_validation.gd | 63 +- tests/controller_ui_navigation_validation.gd | 12 +- tests/dedicated_server_config_validation.gd | 6 +- tests/fish_hotbar_showcase_validation.gd | 2 +- tests/fish_quality_validation.gd | 2 +- tests/inventory_notepad_art_validation.gd | 4 +- tests/light_performance_profile_validation.gd | 3 - tests/logbook_runtime_validation.gd | 4 +- tests/logbook_validation.gd | 4 +- .../terrain_chunk_generator_test.tscn | 2 +- tests/title_credits_validation.gd | 77 +- tests/ui_scaling_runtime_validation.gd | 30 +- tests/world_spawn_protocol_validation.gd | 2 +- tests/world_time_validation.gd | 4 +- tests/world_weather_validation.gd | 2 +- tools/blender/export_terrain_chunks.py | 2 +- ui/assets/title/netfishing_logo.png | Bin 22579 -> 0 bytes ui/assets/title/straywild_logo.png | Bin 0 -> 27266 bytes ui/assets/title/straywild_logo.png.import | 42 + ui/components/bubble_menu/bubble_button.gd | 121 ++- ui/components/bubble_menu/bubble_cluster.gd | 66 +- .../bubble_menu/bubble_gradient_background.gd | 79 ++ .../bubble_gradient_background.gd.uid | 1 + .../bubble_menu/bubble_hover_drawer.gd | 97 +++ .../bubble_menu/bubble_hover_drawer.gd.uid | 1 + .../bubble_menu/bubble_menu_profile.gd | 10 +- .../bubble_menu/title_menu_profile.tres | 22 + .../title_secondary_menu_profile.tres | 22 + ui/controller_focus_presentation.gd | 2 +- ui/controller_mapping_panel.gd | 2 +- ui/icons/new_menu/close.png | Bin 0 -> 13893 bytes ui/icons/new_menu/close.png.import | 42 + ui/icons/new_menu/credits.png | Bin 0 -> 24978 bytes ui/icons/new_menu/credits.png.import | 42 + ui/icons/new_menu/online.png | Bin 0 -> 9636 bytes ui/icons/new_menu/online.png.import | 42 + ui/icons/new_menu/play.png | Bin 0 -> 25535 bytes .../new_menu/play.png.import} | 16 +- ui/icons/new_menu/settings.png | Bin 0 -> 8161 bytes ui/icons/new_menu/settings.png.import | 42 + ui/save_slots_page.gd | 6 +- ui/settings_panel.gd | 12 +- ui/title_credits_page.tscn | 2 +- ui/title_screen.gd | 736 +++--------------- ui/title_screen.tscn | 346 ++++---- ui/title_water_background.gdshader | 97 --- ui/title_water_background.gdshader.uid | 1 - ...onment.tres => straywild_environment.tres} | 2 +- ...ng_sky.gdshader => straywild_sky.gdshader} | 2 +- ...dshader.uid => straywild_sky.gdshader.uid} | 0 ...netfishing_sky.tres => straywild_sky.tres} | 6 +- ...erinc => straywild_sky_clouds.gdshaderinc} | 0 ...d => straywild_sky_clouds.gdshaderinc.uid} | 0 world/interactables/fishing_shop_world.tscn | 2 +- world/test_world.tscn | 2 +- world/world_time_visual_controller.gd | 2 +- 138 files changed, 1511 insertions(+), 1498 deletions(-) rename addons/{netfishing_shoreline_baker => straywild_shoreline_baker}/plugin.cfg (81%) rename addons/{netfishing_shoreline_baker => straywild_shoreline_baker}/shoreline_auto_baker.gd (100%) rename addons/{netfishing_shoreline_baker => straywild_shoreline_baker}/shoreline_auto_baker.gd.uid (100%) rename art/exported/characters/base/{netfishing_base_character.glb => straywild_base_character.glb} (100%) rename art/exported/characters/base/{netfishing_base_character.glb.import => straywild_base_character.glb.import} (77%) rename art/exported/characters/base/{netfishing_base_character_eyes_simple_shine.png => straywild_base_character_eyes_simple_shine.png} (100%) rename art/exported/characters/base/{netfishing_base_character_eyes_simple_shine.png.import => straywild_base_character_eyes_simple_shine.png.import} (58%) rename art/exported/characters/base/{netfishing_base_character_mouth_three.png => straywild_base_character_mouth_three.png} (100%) rename art/exported/characters/base/{netfishing_base_character_mouth_three.png.import => straywild_base_character_mouth_three.png.import} (59%) rename art/exported/characters/base/{netfishing_base_character_nose_dog_round.png => straywild_base_character_nose_dog_round.png} (100%) rename art/exported/characters/base/{netfishing_base_character_nose_dog_round.png.import => straywild_base_character_nose_dog_round.png.import} (59%) delete mode 100644 art/exported/system_icons/netfishing.ico delete mode 100644 art/exported/system_icons/netfishing_1024.png delete mode 100644 art/exported/system_icons/netfishing_256.png create mode 100644 art/exported/system_icons/straywild.ico create mode 100644 art/exported/system_icons/straywild_1024.png rename art/exported/system_icons/{netfishing_1024.png.import => straywild_1024.png.import} (74%) create mode 100644 art/exported/system_icons/straywild_256.png rename art/exported/system_icons/{netfishing_256.png.import => straywild_256.png.import} (74%) rename art/source/characters/base/{netfishing_base_character.blend => straywild_base_character.blend} (100%) rename art/source/characters/base/{netfishing_base_character.blend.import => straywild_base_character.blend.import} (84%) rename art/source/characters/base/{netfishing_base_character.glb.import => straywild_base_character.glb.import} (77%) rename art/source/characters/base/{netfishing_character_source.blend => straywild_character_source.blend} (100%) rename art/source/characters/base/{netfishing_character_source.blend.import => straywild_character_source.blend.import} (84%) rename art/source/characters/base/{netfishing_character_source.glb.import => straywild_character_source.glb.import} (76%) rename art/source/characters/base/{netfishing_character_source_eyes1_eyebrows1.png => straywild_character_source_eyes1_eyebrows1.png} (100%) rename art/source/characters/base/{netfishing_character_source_eyes1_eyebrows1.png.import => straywild_character_source_eyes1_eyebrows1.png.import} (58%) rename art/source/characters/base/{netfishing_character_source_eyes_simple_shine.png => straywild_character_source_eyes_simple_shine.png} (100%) rename art/source/characters/base/{netfishing_character_source_eyes_simple_shine.png.import => straywild_character_source_eyes_simple_shine.png.import} (58%) rename art/source/characters/base/{netfishing_character_source_mouth1.png => straywild_character_source_mouth1.png} (100%) rename art/source/characters/base/{netfishing_character_source_mouth1.png.import => straywild_character_source_mouth1.png.import} (60%) rename art/source/characters/base/{netfishing_character_source_mouth_three.png => straywild_character_source_mouth_three.png} (100%) rename art/source/characters/base/{netfishing_character_source_mouth_three.png.import => straywild_character_source_mouth_three.png.import} (59%) rename art/source/characters/base/{netfishing_character_source_nose1.2.png => straywild_character_source_nose1.2.png} (100%) rename art/source/characters/base/{netfishing_character_source_nose1.2.png.import => straywild_character_source_nose1.2.png.import} (60%) rename art/source/characters/base/{netfishing_character_source_nose_dog_round.png => straywild_character_source_nose_dog_round.png} (100%) rename art/source/characters/base/{netfishing_character_source_nose_dog_round.png.import => straywild_character_source_nose_dog_round.png.import} (59%) rename scripts/portmaster/{launch-netfishing.sh => launch-straywild.sh} (100%) rename scripts/portmaster/{netfishing.gptk => straywild.gptk} (87%) rename scripts/portmaster/{NETfishing.sh => straywild.sh} (70%) delete mode 100644 ui/assets/title/netfishing_logo.png create mode 100644 ui/assets/title/straywild_logo.png create mode 100644 ui/assets/title/straywild_logo.png.import create mode 100644 ui/components/bubble_menu/bubble_gradient_background.gd create mode 100644 ui/components/bubble_menu/bubble_gradient_background.gd.uid create mode 100644 ui/components/bubble_menu/bubble_hover_drawer.gd create mode 100644 ui/components/bubble_menu/bubble_hover_drawer.gd.uid create mode 100644 ui/components/bubble_menu/title_menu_profile.tres create mode 100644 ui/components/bubble_menu/title_secondary_menu_profile.tres create mode 100644 ui/icons/new_menu/close.png create mode 100644 ui/icons/new_menu/close.png.import create mode 100644 ui/icons/new_menu/credits.png create mode 100644 ui/icons/new_menu/credits.png.import create mode 100644 ui/icons/new_menu/online.png create mode 100644 ui/icons/new_menu/online.png.import create mode 100644 ui/icons/new_menu/play.png rename ui/{assets/title/netfishing_logo.png.import => icons/new_menu/play.png.import} (55%) create mode 100644 ui/icons/new_menu/settings.png create mode 100644 ui/icons/new_menu/settings.png.import delete mode 100644 ui/title_water_background.gdshader delete mode 100644 ui/title_water_background.gdshader.uid rename world/environment/{netfishing_environment.tres => straywild_environment.tres} (87%) rename world/environment/{netfishing_sky.gdshader => straywild_sky.gdshader} (98%) rename world/environment/{netfishing_sky.gdshader.uid => straywild_sky.gdshader.uid} (100%) rename world/environment/{netfishing_sky.tres => straywild_sky.tres} (89%) rename world/environment/{netfishing_sky_clouds.gdshaderinc => straywild_sky_clouds.gdshaderinc} (100%) rename world/environment/{netfishing_sky_clouds.gdshaderinc.uid => straywild_sky_clouds.gdshaderinc.uid} (100%) diff --git a/ASSET-LICENSE.md b/ASSET-LICENSE.md index c438995..9519836 100644 --- a/ASSET-LICENSE.md +++ b/ASSET-LICENSE.md @@ -1,15 +1,15 @@ -# NETfishing Asset License 1.1 +# straywild Asset License 1.1 Copyright © 2026 Woofmeow. All rights reserved except for the permissions expressly granted below. ## 1. Scope -This license applies to original NETfishing artwork, graphics, textures, +This license applies to original straywild artwork, graphics, textures, models, animations, music, sound recordings, narrative content, visual -designs, characters, and other creative assets owned by the NETfishing owners +designs, characters, and other creative assets owned by the straywild owners or licensed to them with authority to sublicense, publishing as Woofmeow (the -**“NETfishing Assets”**). +**“straywild Assets”**). It does not apply to: @@ -17,77 +17,77 @@ It does not apply to: - third-party material identified in the source repository's `docs/ATTRIBUTION.md` or the packaged `ATTRIBUTION.md` notice; - material accompanied by a different license; or -- the NETfishing and Woofmeow names and logos, which are addressed in +- the straywild and Woofmeow names and logos, which are addressed in `TRADEMARKS.md`. Repository location alone does not change third-party ownership or licensing. ## 2. Definitions -**Official NETfishing Software** means: +**Official straywild Software** means: -- an unmodified binary release published by the NETfishing owners through an - official NETfishing distribution channel; or -- a build made from an unmodified official NETfishing source release or tagged +- an unmodified binary release published by the straywild owners through an + official straywild distribution channel; or +- a build made from an unmodified official straywild source release or tagged revision. **Mod** means a non-standalone add-on created to operate with Official -NETfishing Software. A Mod may add, replace, or alter content loaded by the -Official NETfishing Software, but it may not redistribute a replacement copy +straywild Software. A Mod may add, replace, or alter content loaded by the +Official straywild Software, but it may not redistribute a replacement copy of the game or represent a fork, clone, sequel, or separate game. **Contribution Fork** means a source-control fork or clone of an official -NETfishing source repository that is created and maintained in good faith +straywild source repository that is created and maintained in good faith primarily to prepare, test, review, or submit changes for possible inclusion -in Official NETfishing Software. It does not include a fork presented or +in Official straywild Software. It does not include a fork presented or developed as an independent game, community edition, replacement distribution, -or ongoing product separate from the official NETfishing project. +or ongoing product separate from the official straywild project. ## 3. Permission to use the official game -You may reproduce NETfishing Assets as technically necessary to install, run, -back up, and privately modify a lawfully obtained copy of Official NETfishing +You may reproduce straywild Assets as technically necessary to install, run, +back up, and privately modify a lawfully obtained copy of Official straywild Software. You may capture, publish, and monetize screenshots, gameplay videos, livestreams, reviews, tutorials, and similar commentary showing a lawfully -obtained copy of NETfishing. This permission does not authorize redistribution +obtained copy of straywild. This permission does not authorize redistribution of the source asset files or imply endorsement. ## 4. Community Mod license -Subject to this license, you may create, modify, and distribute NETfishing -Assets solely as part of a Mod for Official NETfishing Software. +Subject to this license, you may create, modify, and distribute straywild +Assets solely as part of a Mod for Official straywild Software. This permission is worldwide, nonexclusive, royalty-free, and available for as long as you comply with this license. It permits only the copies of -NETfishing Assets reasonably necessary for the Mod to function. It does not +straywild Assets reasonably necessary for the Mod to function. It does not permit distributing the original game, a substantially complete collection of its assets, or a general-purpose asset pack. A distributed Mod must: -1. require a separately obtained copy of Official NETfishing Software; +1. require a separately obtained copy of Official straywild Software; 2. be presented as unofficial community content; 3. include the following notice in its documentation or distribution page: - > Contains or adapts NETfishing assets © 2026 Woofmeow, used under the - > NETfishing Asset License 1.1. This Mod is unofficial and is not endorsed + > Contains or adapts straywild assets © 2026 Woofmeow, used under the + > straywild Asset License 1.1. This Mod is unofficial and is not endorsed > by Woofmeow. -4. identify material created by the Mod author separately from NETfishing +4. identify material created by the Mod author separately from straywild Assets; and 5. comply with `TRADEMARKS.md`. Mods may be shared without charge and may accept voluntary donations that do not purchase access, features, or preferential treatment. Selling a Mod, -charging for access to it, licensing it commercially, or using NETfishing +charging for access to it, licensing it commercially, or using straywild Assets in paid products requires separate written permission from both -NETfishing owners. +straywild owners. ## 5. Contribution Fork license -Subject to this license, you may reproduce, modify, and distribute NETfishing +Subject to this license, you may reproduce, modify, and distribute straywild Assets within a Contribution Fork. You may also make the nonpublic builds reasonably necessary to develop, test, and review its proposed contribution. @@ -99,8 +99,8 @@ fork are permitted distributions. A Contribution Fork must: 1. remain primarily directed toward preparing changes for possible inclusion - in the official NETfishing project; -2. preserve this license and the official NETfishing project's applicable + in the official straywild project; +2. preserve this license and the official straywild project's applicable attribution, third-party license, and copyright notices; 3. remain visibly linked to or identified as a fork of the official source repository and not be presented as official or endorsed; @@ -109,63 +109,63 @@ A Contribution Fork must: contribution; 5. not publish general-audience binaries, releases, packages, or downloads, operate a persistent public alternative service, or monetize access; -6. not distribute the NETfishing Assets as a standalone extraction, archive, +6. not distribute the straywild Assets as a standalone extraction, archive, or general-purpose asset pack; and 7. comply with `TRADEMARKS.md`. Temporary access-controlled servers may be operated when reasonably necessary to test a proposed contribution. They may not be promoted or maintained as a -public alternative to Official NETfishing Software or its services. +public alternative to Official straywild Software or its services. Submitting work from a Contribution Fork is governed separately by -`CONTRIBUTOR-TERMS.md` and does not require the NETfishing owners to accept the +`CONTRIBUTOR-TERMS.md` and does not require the straywild owners to accept the work. Declining or closing a proposed contribution does not retroactively invalidate good-faith use under this section. A compliant Contribution Fork may remain publicly accessible as an archival development record, but it may not be repurposed for continued development or distribution of a separate -product containing NETfishing Assets. +product containing straywild Assets. ## 6. Uses not permitted Except as expressly permitted by Sections 3, 4, and 5 or by separate written -permission from both NETfishing owners, you may not use or distribute -NETfishing Assets: +permission from both straywild owners, you may not use or distribute +straywild Assets: - in a fork, clone, remake, sequel, or standalone game that is not a qualifying Contribution Fork; -- with a modified distribution of the GPL-covered NETfishing code that is not - Official NETfishing Software, except for nonpublic contribution-testing +- with a modified distribution of the GPL-covered straywild code that is not + Official straywild Software, except for nonpublic contribution-testing builds permitted by Section 5; - in another game, application, asset library, template, or merchandise; - as a substantially complete asset extraction or archive; - in a way that implies sponsorship, endorsement, or official status; - to register a confusingly similar trademark, domain, account, or product identity; or -- under terms that claim ownership of the NETfishing Assets themselves. +- under terms that claim ownership of the straywild Assets themselves. The GPL permits forks and redistribution of the GPL-covered code. Except for a qualifying Contribution Fork under Section 5, this asset license does not -permit those forks to carry NETfishing Assets. A code fork that is not a -Contribution Fork must remove or replace the NETfishing Assets and reserved +permit those forks to carry straywild Assets. A code fork that is not a +Contribution Fork must remove or replace the straywild Assets and reserved branding unless both owners grant separate written permission. ## 7. Ownership of Mods and contribution work You retain ownership of your original Mod material and original material -created in a Contribution Fork. The NETfishing owners retain ownership of the -NETfishing Assets and adaptations of those assets to the extent provided by +created in a Contribution Fork. The straywild owners retain ownership of the +straywild Assets and adaptations of those assets to the extent provided by applicable law. This license does not require you to assign or submit your original material. -It also does not grant you ownership of the underlying NETfishing Assets. If -you intentionally submit material for inclusion in NETfishing, +It also does not grant you ownership of the underlying straywild Assets. If +you intentionally submit material for inclusion in straywild, `CONTRIBUTOR-TERMS.md` applies separately. ## 8. Termination and cure Your permissions under this license terminate automatically if you violate its terms. They are reinstated provisionally when you stop the violation and -permanently if both NETfishing owners do not notify you of the violation +permanently if both straywild owners do not notify you of the violation within sixty days after it has been cured. Termination does not limit remedies available for activity outside this @@ -173,15 +173,15 @@ license. ## 9. No warranty -THE NETFISHING ASSETS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND, +THE straywild ASSETS ARE PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, OR NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE OWNERS WILL NOT BE LIABLE FOR ANY CLAIM, DAMAGES, OR -OTHER LIABILITY ARISING FROM THIS LICENSE OR USE OF THE NETFISHING ASSETS. +OTHER LIABILITY ARISING FROM THIS LICENSE OR USE OF THE straywild ASSETS. ## 10. Additional permission -Uses not granted here require written permission from both NETfishing owners. +Uses not granted here require written permission from both straywild owners. A permission granted to one person or project does not amend this license for others. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7017110..2dc5724 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contribution policy -NETfishing is an owner-directed Woofmeow project and is not accepting +straywild is an owner-directed Woofmeow project and is not accepting unsolicited contributions. Please do not submit pull requests, patches, code, artwork, models, audio, writing, documentation, translations, designs, or other implementation work. Pull requests are disabled for the official @@ -17,7 +17,7 @@ work; it is not a standing invitation to contribute. ## Contribution forks -The [NETfishing Asset License](ASSET-LICENSE.md) contains limited permissions +The [straywild Asset License](ASSET-LICENSE.md) contains limited permissions for qualifying Contribution Forks. Those permissions do not promise review or acceptance and do not override the policy above. Keep the hosting platform's fork relationship visible, preserve all license and attribution notices, and @@ -79,4 +79,4 @@ using display strings as persistent identifiers. New standalone source files should use `SPDX-License-Identifier: GPL-3.0-or-later` where the file format permits comments. Do not add that -identifier to asset files governed by the NETfishing Asset License. +identifier to asset files governed by the straywild Asset License. diff --git a/CONTRIBUTOR-TERMS.md b/CONTRIBUTOR-TERMS.md index e0d801a..261de60 100644 --- a/CONTRIBUTOR-TERMS.md +++ b/CONTRIBUTOR-TERMS.md @@ -1,6 +1,6 @@ -# NETfishing contributor terms +# straywild contributor terms -NETfishing does not accept unsolicited contributions. These terms are retained +straywild does not accept unsolicited contributions. These terms are retained as the governing record for contributions previously accepted after their publication and for specific future work that both Owners expressly invite in writing before submission. They are not a request or standing invitation for @@ -9,9 +9,9 @@ patches, pull requests, assets, or other material. These terms do not retroactively change ownership of earlier work or replace a separately signed agreement. -“Owners” means the two NETfishing co-owners who publish the Project as +“Owners” means the two straywild co-owners who publish the Project as Woofmeow and are publicly credited as Voyager and Endeavour. “Project” means -the official NETfishing game, its servers, tools, documentation, websites, +the official straywild game, its servers, tools, documentation, websites, ports, updates, and promotional materials. ## 1. Your ownership and authority @@ -56,8 +56,8 @@ royalty-free, transferable, and sublicensable license to: - license it to Project users under `ASSET-LICENSE.md` or a later Project asset license jointly approved by the Owners. -This grant is limited to NETfishing, its promotion, and official successor or -derived NETfishing products. It does not transfer your copyright or authorize +This grant is limited to straywild, its promotion, and official successor or +derived straywild products. It does not transfer your copyright or authorize the Owners to sell your contribution as an unrelated standalone asset. ## 4. Documentation accompanying code @@ -78,7 +78,7 @@ or release. ## 6. No automatic ownership, employment, or payment -Submitting a contribution does not provide ownership of NETfishing, create an +Submitting a contribution does not provide ownership of straywild, create an employment, agency, partnership, or fiduciary relationship, or create a right to compensation. Any payment, ownership, or employment arrangement requires a separate written agreement signed by the appropriate parties. diff --git a/README.md b/README.md index 132b3f8..e228e7b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# NETfishing +# straywild -NETfishing is a multiplayer-first fishing game built with Godot 4.7. The +straywild is a multiplayer-first fishing game built with Godot 4.7. The current pre-alpha includes host-authoritative fishing and economy flows, freshwater and saltwater habitats, persistent player data, social features, customization, jobs, and a controller-aware interface. @@ -8,39 +8,39 @@ customization, jobs, and a controller-aware interface. The project is under active development. Interfaces, balance, content, and save migrations may continue to change before a stable release. -NETfishing is developed and published by **Woofmeow**, the independent team of +straywild is developed and published by **Woofmeow**, the independent team of co-owners publicly credited as Voyager and Endeavour. ## Links Patreon: https://www.patreon.com/cw/woofmeowgames -Steam: https://store.steampowered.com/app/5068950/NETfishing/ +Steam: https://store.steampowered.com/app/5068950/straywild/ -Itch.io: https://sol6-vi.itch.io/netfishing +Itch.io: https://sol6-vi.itch.io/straywild Discord: https://discord.gg/5gP22447kc -Matrix: https://matrix.to/#/#netfishing:matrix.makearmy.io +Matrix: https://matrix.to/#/#straywild:matrix.makearmy.io -Repo: https://forge.makearmy.io/woofmeow/netfishing +Repo: https://forge.makearmy.io/woofmeow/straywild -Releases: https://forge.makearmy.io/woofmeow/netfishing/releases +Releases: https://forge.makearmy.io/woofmeow/straywild/releases ## Installing release builds Download and extract the archive for your platform from the official release -page, then run NETfishing from the extracted platform folder. +page, then run straywild from the extracted platform folder. ### macOS Current macOS builds are not signed or notarized. macOS may block the first -launch because it cannot verify the developer. Control-click the NETfishing +launch because it cannot verify the developer. Control-click the straywild application, choose **Open**, then confirm **Open**. If that option is not available, attempt to open the application once, then use **System Settings → Privacy & Security → Open Anyway**. -Only bypass this warning for a NETfishing build downloaded from an official +Only bypass this warning for a straywild build downloaded from an official project release. ## Requirements @@ -110,10 +110,10 @@ world and UI authoring, and testing are consolidated in - Project-owned software code is licensed under [GPL-3.0-or-later](LICENSE). - Project-owned artwork, models, music, and other creative assets are covered - by the [NETfishing Asset License](ASSET-LICENSE.md). It permits community - Mods for official NETfishing software and narrowly scoped contribution forks, + by the [straywild Asset License](ASSET-LICENSE.md). It permits community + Mods for official straywild software and narrowly scoped contribution forks, but not independent forks, clones, or unrelated products. -- The NETfishing and Woofmeow names and branding are reserved as described in +- The straywild and Woofmeow names and branding are reserved as described in [TRADEMARKS.md](TRADEMARKS.md). - Third-party materials retain their own terms; see the consolidated [credits, notices, and provenance record](docs/ATTRIBUTION.md). diff --git a/TRADEMARKS.md b/TRADEMARKS.md index 363248b..fbf49d5 100644 --- a/TRADEMARKS.md +++ b/TRADEMARKS.md @@ -1,7 +1,7 @@ -# NETfishing and Woofmeow branding +# straywild and Woofmeow branding -The NETfishing and Woofmeow names, logos, icons, trade dress, and other source -identifiers are reserved by the NETfishing owners, publishing as Woofmeow. +The straywild and Woofmeow names, logos, icons, trade dress, and other source +identifiers are reserved by the straywild owners, publishing as Woofmeow. Their presence in a GPL-licensed repository does not grant trademark rights or imply permission to represent another product as official. @@ -10,30 +10,30 @@ exist through use and other law. ## Permitted references -You may use the names NETfishing and Woofmeow truthfully to: +You may use the names straywild and Woofmeow truthfully to: - refer to the official game or development team; -- state that software interoperates with or is a Mod for NETfishing; +- state that software interoperates with or is a Mod for straywild; - link to an official repository or distribution page; and - discuss, review, criticize, or report on the Project. Use only the amount of branding reasonably necessary to identify the Project. Do not imply sponsorship, certification, endorsement, or official status. -An unofficial Mod may use wording such as “Example Mod for NETfishing” if its +An unofficial Mod may use wording such as “Example Mod for straywild” if its name and presentation remain clearly distinct and it displays an unofficial notice. ## Contribution forks A qualifying Contribution Fork under `ASSET-LICENSE.md` may retain the -NETfishing and Woofmeow names, logos, icons, and trade dress already present in +straywild and Woofmeow names, logos, icons, and trade dress already present in the official source repository solely as necessary to reproduce, modify, and test the Project while preparing a proposed contribution. The source-control host's visible fork relationship or an equivalent repository notice must make its unofficial contribution purpose clear. -This permission does not allow a Contribution Fork to use NETfishing or +This permission does not allow a Contribution Fork to use straywild or Woofmeow branding to advertise a public build, release, service, community edition, or independent product. It does not imply acceptance, sponsorship, endorsement, or official status. @@ -44,7 +44,7 @@ The GNU GPL permits forks and redistribution of covered code. A fork or modified distribution that is not a qualifying Contribution Fork must: - use a distinct product name; -- remove NETfishing and Woofmeow logos, icons, and official trade dress; +- remove straywild and Woofmeow logos, icons, and official trade dress; - avoid confusingly similar names, domains, package identifiers, and account names; and - clearly identify itself as independent and unofficial. @@ -53,4 +53,4 @@ These branding terms do not limit rights granted by the GPL to the software code or lawful nominative, descriptive, comparative, or fair use. Permission for broader branding use must be obtained in writing from both -NETfishing owners. +straywild owners. diff --git a/addons/netfishing_shoreline_baker/plugin.cfg b/addons/straywild_shoreline_baker/plugin.cfg similarity index 81% rename from addons/netfishing_shoreline_baker/plugin.cfg rename to addons/straywild_shoreline_baker/plugin.cfg index c8c4d06..c3f4e47 100644 --- a/addons/netfishing_shoreline_baker/plugin.cfg +++ b/addons/straywild_shoreline_baker/plugin.cfg @@ -1,6 +1,6 @@ [plugin] -name="NETfishing Shoreline Auto-Baker" +name="straywild Shoreline Auto-Baker" description="Rebuilds configured static shoreline ribbons after authored terrain reimports." author="woofmeow" version="1.0.0" diff --git a/addons/netfishing_shoreline_baker/shoreline_auto_baker.gd b/addons/straywild_shoreline_baker/shoreline_auto_baker.gd similarity index 100% rename from addons/netfishing_shoreline_baker/shoreline_auto_baker.gd rename to addons/straywild_shoreline_baker/shoreline_auto_baker.gd diff --git a/addons/netfishing_shoreline_baker/shoreline_auto_baker.gd.uid b/addons/straywild_shoreline_baker/shoreline_auto_baker.gd.uid similarity index 100% rename from addons/netfishing_shoreline_baker/shoreline_auto_baker.gd.uid rename to addons/straywild_shoreline_baker/shoreline_auto_baker.gd.uid diff --git a/art/exported/characters/base/netfishing_base_character.glb b/art/exported/characters/base/straywild_base_character.glb similarity index 100% rename from art/exported/characters/base/netfishing_base_character.glb rename to art/exported/characters/base/straywild_base_character.glb diff --git a/art/exported/characters/base/netfishing_base_character.glb.import b/art/exported/characters/base/straywild_base_character.glb.import similarity index 77% rename from art/exported/characters/base/netfishing_base_character.glb.import rename to art/exported/characters/base/straywild_base_character.glb.import index b1409e1..96925de 100644 --- a/art/exported/characters/base/netfishing_base_character.glb.import +++ b/art/exported/characters/base/straywild_base_character.glb.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://w7n4gjqq1juc" -path="res://.godot/imported/netfishing_base_character.glb-0167c087f16181d405afb962dc877d2c.scn" +path="res://.godot/imported/straywild_base_character.glb-65021653e51a906d3b4a3494f170317f.scn" [deps] -source_file="res://art/exported/characters/base/netfishing_base_character.glb" -dest_files=["res://.godot/imported/netfishing_base_character.glb-0167c087f16181d405afb962dc877d2c.scn"] +source_file="res://art/exported/characters/base/straywild_base_character.glb" +dest_files=["res://.godot/imported/straywild_base_character.glb-65021653e51a906d3b4a3494f170317f.scn"] [params] diff --git a/art/exported/characters/base/netfishing_base_character_eyes_simple_shine.png b/art/exported/characters/base/straywild_base_character_eyes_simple_shine.png similarity index 100% rename from art/exported/characters/base/netfishing_base_character_eyes_simple_shine.png rename to art/exported/characters/base/straywild_base_character_eyes_simple_shine.png diff --git a/art/exported/characters/base/netfishing_base_character_eyes_simple_shine.png.import b/art/exported/characters/base/straywild_base_character_eyes_simple_shine.png.import similarity index 58% rename from art/exported/characters/base/netfishing_base_character_eyes_simple_shine.png.import rename to art/exported/characters/base/straywild_base_character_eyes_simple_shine.png.import index 4141bca..ddf8bb7 100644 --- a/art/exported/characters/base/netfishing_base_character_eyes_simple_shine.png.import +++ b/art/exported/characters/base/straywild_base_character_eyes_simple_shine.png.import @@ -3,8 +3,8 @@ importer="texture" type="CompressedTexture2D" uid="uid://dyjwgkgw0syo8" -path.s3tc="res://.godot/imported/netfishing_base_character_eyes_simple_shine.png-140bfa3aa0b6f662e8ff9e5721213a61.s3tc.ctex" -path.etc2="res://.godot/imported/netfishing_base_character_eyes_simple_shine.png-140bfa3aa0b6f662e8ff9e5721213a61.etc2.ctex" +path.s3tc="res://.godot/imported/straywild_base_character_eyes_simple_shine.png-200a946ddace2078bbe44addb4e4524c.s3tc.ctex" +path.etc2="res://.godot/imported/straywild_base_character_eyes_simple_shine.png-200a946ddace2078bbe44addb4e4524c.etc2.ctex" metadata={ "imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true @@ -15,8 +15,8 @@ generator_parameters={ [deps] -source_file="res://art/exported/characters/base/netfishing_base_character_eyes_simple_shine.png" -dest_files=["res://.godot/imported/netfishing_base_character_eyes_simple_shine.png-140bfa3aa0b6f662e8ff9e5721213a61.s3tc.ctex", "res://.godot/imported/netfishing_base_character_eyes_simple_shine.png-140bfa3aa0b6f662e8ff9e5721213a61.etc2.ctex"] +source_file="res://art/exported/characters/base/straywild_base_character_eyes_simple_shine.png" +dest_files=["res://.godot/imported/straywild_base_character_eyes_simple_shine.png-200a946ddace2078bbe44addb4e4524c.s3tc.ctex", "res://.godot/imported/straywild_base_character_eyes_simple_shine.png-200a946ddace2078bbe44addb4e4524c.etc2.ctex"] [params] diff --git a/art/exported/characters/base/netfishing_base_character_mouth_three.png b/art/exported/characters/base/straywild_base_character_mouth_three.png similarity index 100% rename from art/exported/characters/base/netfishing_base_character_mouth_three.png rename to art/exported/characters/base/straywild_base_character_mouth_three.png diff --git a/art/exported/characters/base/netfishing_base_character_mouth_three.png.import b/art/exported/characters/base/straywild_base_character_mouth_three.png.import similarity index 59% rename from art/exported/characters/base/netfishing_base_character_mouth_three.png.import rename to art/exported/characters/base/straywild_base_character_mouth_three.png.import index 10d0721..ba0ec2c 100644 --- a/art/exported/characters/base/netfishing_base_character_mouth_three.png.import +++ b/art/exported/characters/base/straywild_base_character_mouth_three.png.import @@ -3,8 +3,8 @@ importer="texture" type="CompressedTexture2D" uid="uid://dt5gitdtjdvcd" -path.s3tc="res://.godot/imported/netfishing_base_character_mouth_three.png-90b4a98403d2a291a56a8ed42aaa8473.s3tc.ctex" -path.etc2="res://.godot/imported/netfishing_base_character_mouth_three.png-90b4a98403d2a291a56a8ed42aaa8473.etc2.ctex" +path.s3tc="res://.godot/imported/straywild_base_character_mouth_three.png-5bcf329b31a11eff496760a63e62d0e2.s3tc.ctex" +path.etc2="res://.godot/imported/straywild_base_character_mouth_three.png-5bcf329b31a11eff496760a63e62d0e2.etc2.ctex" metadata={ "imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true @@ -15,8 +15,8 @@ generator_parameters={ [deps] -source_file="res://art/exported/characters/base/netfishing_base_character_mouth_three.png" -dest_files=["res://.godot/imported/netfishing_base_character_mouth_three.png-90b4a98403d2a291a56a8ed42aaa8473.s3tc.ctex", "res://.godot/imported/netfishing_base_character_mouth_three.png-90b4a98403d2a291a56a8ed42aaa8473.etc2.ctex"] +source_file="res://art/exported/characters/base/straywild_base_character_mouth_three.png" +dest_files=["res://.godot/imported/straywild_base_character_mouth_three.png-5bcf329b31a11eff496760a63e62d0e2.s3tc.ctex", "res://.godot/imported/straywild_base_character_mouth_three.png-5bcf329b31a11eff496760a63e62d0e2.etc2.ctex"] [params] diff --git a/art/exported/characters/base/netfishing_base_character_nose_dog_round.png b/art/exported/characters/base/straywild_base_character_nose_dog_round.png similarity index 100% rename from art/exported/characters/base/netfishing_base_character_nose_dog_round.png rename to art/exported/characters/base/straywild_base_character_nose_dog_round.png diff --git a/art/exported/characters/base/netfishing_base_character_nose_dog_round.png.import b/art/exported/characters/base/straywild_base_character_nose_dog_round.png.import similarity index 59% rename from art/exported/characters/base/netfishing_base_character_nose_dog_round.png.import rename to art/exported/characters/base/straywild_base_character_nose_dog_round.png.import index 71d25b6..cb2c573 100644 --- a/art/exported/characters/base/netfishing_base_character_nose_dog_round.png.import +++ b/art/exported/characters/base/straywild_base_character_nose_dog_round.png.import @@ -3,8 +3,8 @@ importer="texture" type="CompressedTexture2D" uid="uid://bmho1ryst3smt" -path.s3tc="res://.godot/imported/netfishing_base_character_nose_dog_round.png-0008adff5271dd0403e610ef13dd52cf.s3tc.ctex" -path.etc2="res://.godot/imported/netfishing_base_character_nose_dog_round.png-0008adff5271dd0403e610ef13dd52cf.etc2.ctex" +path.s3tc="res://.godot/imported/straywild_base_character_nose_dog_round.png-e6909a2c139cf4a2748c2b79d1e12d92.s3tc.ctex" +path.etc2="res://.godot/imported/straywild_base_character_nose_dog_round.png-e6909a2c139cf4a2748c2b79d1e12d92.etc2.ctex" metadata={ "imported_formats": ["s3tc_bptc", "etc2_astc"], "vram_texture": true @@ -15,8 +15,8 @@ generator_parameters={ [deps] -source_file="res://art/exported/characters/base/netfishing_base_character_nose_dog_round.png" -dest_files=["res://.godot/imported/netfishing_base_character_nose_dog_round.png-0008adff5271dd0403e610ef13dd52cf.s3tc.ctex", "res://.godot/imported/netfishing_base_character_nose_dog_round.png-0008adff5271dd0403e610ef13dd52cf.etc2.ctex"] +source_file="res://art/exported/characters/base/straywild_base_character_nose_dog_round.png" +dest_files=["res://.godot/imported/straywild_base_character_nose_dog_round.png-e6909a2c139cf4a2748c2b79d1e12d92.s3tc.ctex", "res://.godot/imported/straywild_base_character_nose_dog_round.png-e6909a2c139cf4a2748c2b79d1e12d92.etc2.ctex"] [params] diff --git a/art/exported/system_icons/netfishing.ico b/art/exported/system_icons/netfishing.ico deleted file mode 100644 index dc5bdae44f0e878ab1ef377195fd128abd87e4cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 370326 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
$6d3{K~mRvq~0mdnVWDxfds-VUC2BMgOJT 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 R^PjhSi}l0Xc?Pww{~w$NsCWPX diff --git a/art/exported/system_icons/netfishing_1024.png b/art/exported/system_icons/netfishing_1024.png deleted file mode 100644 index a433e8053e5ec65806f7d3745b985316dc51d4f4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76386 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%0D5h}fTcY(-{wUXqBsxiwM27UTRDOX-93sF2jg<<# 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ΜpIEE6U%-)_)YuH}ASt>f|HEtfWU8_*Aw! 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 diff --git a/art/exported/system_icons/straywild.ico b/art/exported/system_icons/straywild.ico new file mode 100644 index 0000000000000000000000000000000000000000..c03de8ec87209f5869d84eea6847992003125512 GIT binary patch literal 370326 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ʳw=SDIHCUG!RZ#h#;9836lDSO_zaIf9| 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 literal 0 HcmV?d00001 diff --git a/art/exported/system_icons/straywild_1024.png b/art/exported/system_icons/straywild_1024.png new file mode 100644 index 0000000000000000000000000000000000000000..2a3b204a310e9b2f80e780032cf2933f2b40f267 GIT binary patch literal 80419 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≀gb)_d`G-{$3u}%cD1%X4?ANP{8qV1su7;gMiQkW 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 literal 0 HcmV?d00001 diff --git a/art/exported/system_icons/netfishing_1024.png.import b/art/exported/system_icons/straywild_1024.png.import similarity index 74% rename from art/exported/system_icons/netfishing_1024.png.import rename to art/exported/system_icons/straywild_1024.png.import index 08aa925..dea156a 100644 --- a/art/exported/system_icons/netfishing_1024.png.import +++ b/art/exported/system_icons/straywild_1024.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bkh5hw8wwu8pc" -path="res://.godot/imported/netfishing_1024.png-7c53a099ed2743b4a623c258641b1d29.ctex" +path="res://.godot/imported/straywild_1024.png-b9b5c159c9fcecc21b04324370d4522f.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://art/exported/system_icons/netfishing_1024.png" -dest_files=["res://.godot/imported/netfishing_1024.png-7c53a099ed2743b4a623c258641b1d29.ctex"] +source_file="res://art/exported/system_icons/straywild_1024.png" +dest_files=["res://.godot/imported/straywild_1024.png-b9b5c159c9fcecc21b04324370d4522f.ctex"] [params] diff --git a/art/exported/system_icons/straywild_256.png b/art/exported/system_icons/straywild_256.png new file mode 100644 index 0000000000000000000000000000000000000000..98275eb61ba155c1182c746e8d62aaa99cbc1c18 GIT binary patch literal 51987 zcmV)oK%BpcP)_0o(gV%|PXNyV z&jL>Yj{#?a1t8k%%U*^@t2|z8e+2O2*w6RKA^>Ft(t&OS!h^I2J5eFS=Vbe+l$bjz zcpt9YIlt|>pFO|dSAUDmde&V^Qqctkm}0+6m7BrzMTyOap{Fz{2rPapS%b{2{B0xuwH&)3QA z7J-uwjzuu9Q@uFk*mhgE7u%jnIUA8}&wV>SouxGU`VLdzyT&r;#;bi4M&beK4rM|9 z1lu>S{}1r9z?XsMo?M35x}4okQ6A=CCnQe;|1Y2hewPzi{5wUoE{gDX{`Vk=-{bFx za*w5*6Vh#&)wliI|0q9AnBz5J&Od#RFX1*3M~wm8r6}NsfxkoW=kJe*t=-j2k7s*K z!wYbohQCjzsH{NxHU{9r^8;O4`!O+#0R&y&#RNLpd#Cr{Z-4)G3*fsfX3)k2d^>mC z+&u9D?BOlQmw>+v{3>8i&cfUlmkwPy-YcAY5kUbk0 zd3!#6-sJCqH(vRG;c()Cy6!#4W6pvMmVgKrqTPu%=@j09VgxG$q~T8i|L|_lZDthC zVM>nE0*HXW$Gd6q@09%_zwWMmzIUhyl#I|aCeuCAsD}{yPpQ3j{=NKu&pTr6-#$9+ zi6103aKQQUvxGGk9q7}yoe;NKk@~j0@a&I6<#(5W-+(*9BHvZgMSW%K)cH30>*lfr zv!E6S*7Uc_U0M)A9P%(bVg-950B7^UqoigjeS}2!c=XiMSl967H-44U+zx~9uDi3C zjNUO$V%O8b3E!d>-zk2;cG+nW2)84KBsr`_@E3s30N)R+9rQf*LXzrj<9c^$_EF%C zdpM>Kl);ZQ$jH~b+NT?g01MK#<$phx{97X0A zpzymt!q#HF!`QqJSOqQtZyx2Gv{rIk%~=F6Uu&>) z;vdW+@CT0H?{Qw+ivVx43~oaL?t%Q9J>NPpl#*mopI$O#vA+U%9$R`p<7$Jq*1tjR zsy0jF!wx6GMQq#o_Y==nk zAmv+4Z?`N0<}3oIV194inLRjqKvB&74}1CgxA6kZ?Die8fVn@6t9fhV1qSIN@8{#B zNuT#T@&TN4JllMj##G$6@f}P(!moXU!WVo|PALyS7BRo@-*v9joa|{4bn`^dSp@89 z5xmS@x&wEU23+F1*ylgA?9lWbKt#0vy1%zo{oU&c?+^IeZlCeKwH^gR2x6T85UChr zYRY60gT(3#tV1w8FsSKWZ2{bNu{-8T>yC@gl5DL2#~s~)WeyP-ggFH;+xeZtx4wU{ z0=A8QM2Pl3ltaok#28!I1KlCvW|qO0FW7x=n-y^2#UQplY<;cWLE25&&8q%(u>kfF zB_qxc-$OrLLd&Sd1hnrdg%Sy8Pd|#Sr;OYP>UAhK@y;OBK{LQdfE zSfd9PZEesbVaM-wgIz!S=Lk8-hjNUv(+5-?XJ2a>bUvRvDiW^!uAATK=kB$0hd8(g zXB?4=c<$my7-UPtI^E^s1X3jk6|->R!{oN+GvmkDtT*`G>%UB4C-?)fWPLYy0Q<>a zxRaShpl3+bzd*1Awj&1jKvU^1^|#OBe};E6!tX(l-D(Nuo#o?P1$P6jn|)p)fJ`bf z6_Z2>kxpjCL$`?#!5WBCw9@qB1)TRNp%DoDLGmDX&PIJ#$$XYc%(;qPY>5yo{8<9? z&`bMSP}18|PY zl%!F%w-V^CNl1F}0EZ=#DN2+$Uvj5f$F3@{0}_2#1OyKtom;4z&SDHPgE@}N&w0TG zCw+6LOp-jnZt&L##Rw1OyG=acCBjQGsp-jx1*KU~nnk44jVSKFG6e!HHIa(x z#|sSNMN*X$%WPW!ahET?Q<1Sg?bKC!gGP)RPtmRLX{C0^%jp8hmG>Z9@{gxH_W z%6pIVj%hQdGzBl;dVz7h!AqkrQMvNAv+X8sR;bw|e<*hl(cuMV&))-ld#^z9emH=C za+DK+z4wKaHsy9wUctf5-S1`*KJ3M*lt?d8Xfml;)S7{kENajq1dFV2NFi`S9(aQm zLZF1A9}kIS!Z2P8rmToD!r;8+p|gK9=}M_v`6s|9_8QVVDS+QkU?tgA<~iJMTkP}C z_lgb8(p)W4?IiBG03pQ;>O8Li-tCsa*0mn&I-T?21aTA5Q;Hv29x%{~Tt_G=Nu@;! zhin;;f?2N6=>j$yzyZpDw~2sAM?A6gG?RM7)#)3Inhn;?HLN$cUytx@p!A_Ha7XE4 zM_bQ7PFTykatz+C0D=jj*oVV!i`Ze?@7~7ZvRe#G%*A|8+!C1oyF=Z*yVw4qq|@K2 zP$(%#wWco>i(1pyiab)tx!E-L%`li!A*5`h`G*tPA_uK+=*J6q92@4w9ZvRskJdX@ z{ykx>-^SK5Qve(yS1OI&Ii(3}J*5X%Q@bkOXYwt^Qb-=|hxHmV{``Z;k zSN-_iY6C23j-J3MIsy;W!yAVP65ImJLneBe|>E(JsB=o$!H@9&V)_js95p86Or>f=><;NRa% zgb*ZAN~B}{$WuQ-WlCOOeT7lI!PnP+huRf~XGMM}yU7o;BNlL548V(kCEjbXA15~Z z#JTgfTaj}=y!Fso0`FRjppDo`p%FrmDo>1JK}QUfW~d`F1=<_r0r%KI(xGq%Nc$aB zX4wHXBvBc|cnN_Zl{rXO^ z0$hVze-#%E@bM7zF?O@^prz)q>6 zfKC#5N!>&aC$~DZ9H$5mQ4_k9>PDQn3m^n29qQ|(y7QgfRt(iz0=}~d<}d_z+xzaM zrNcSc1~ig$(Gmlt`NU9>YeAwDln|r>gt(iy{p^=;y2tq3e}s$rxF|n72H?QI(wk_jf+U zw44F+F2ILpZJ_+VtfY4@euous(sG#Sk=XrdcZdga?YHNYAdv!u5@-|)EmnU)D{>`> zRY=|)50X}ZN2EBbUuE9 z8J=VZ=VJS08)9*1Al-v&DVgrm^!X`vC;$okG~CWkdYlTNn}zqXbIy?_ zNvo;51vIbpeRuHtB+7?6`%FqQ5%T!M*3XZWoS`j`cX~?<1J#~;|4E#;G^S=+ZStEh{cEQ6Ce~FPMG4F^BMISywc$f83CtIl z?SR4_^7!7l83*Hib}26cZ*~gc)7`7Hony`tI1Ve|e)P-h^8D`#X%%N86cK` z`MFl4(joAH7~*73AUxdboqtZGko1xP9*;2wDI{6k$2vpVG;Jl}Fa+p= zg>3EopV)rZJD5g}xO*ShaSr{vNAZDYL7y!=!Ax_XAb@H9_k|ZkLX*mfp^92RKRos$ zMXn`Ea9{-Ak;l_}ge?)aqw%`GqNJL!5+^z*Qt7dj3(qrSAB&QoKi>Twv@Q7w0Bx$I zC-4vjAF2by2pjxJrM9}9 znkRba7;44)dX7{=Dg;spB4ODgJi1pVxktL9C8@tZQ(4SK)s)nnSvt=`v&g9U2;*{{ z*VevDZObE%h;y!urF41zLmqK%=f{J!Zm!$X10y}Xp!E5$QXL*o$HyWV= zlpJOeT0xSwhW8!2-3NGAnqzAFz@p}U<<#K^ZGx#u>3@5*d(dF;99LP z&f%&Nl{36J-lV|N(l~nI` zSm7Z;Aln>wjAA(3@imzeZMfkY0vH<~Fh*0x?ypZjKOWRX(~WzfZ#{_@Jl(r_scn&taZb$<1*mhB|je=4IINMabtTN)c=M06@iWzZfqRUg*FB zfaKsj!1wA5L(p1FO{5e0$q)fFc8c?s$`p4U6PQ^5u)ofm&8r9N4(=gOY2dN#Be{jM z2GH{nJRumw5q)4W4VZB27u(N!9D=cr0Z&SWcaF7b#n^g&Yvh>N&ax;qPehhPKqNc7`!3k>`z&54OmZF*^=LdeZ-{;T zU|A;s2$WLv(*=I$`9F!VHLIhWOsWmO^v17HHsiY=gZWCJ`3j-g``z~Dx3a_!z7BXy z1848_iJjF^N^I@$020*=3l2f#HF!vHcwuqMp>QlHMaJV*FhS%b3reFA2&Hk}W0k}UPt(Rg%ucId2K@}F zq@Glvx=mqS!MN(K zV=A|COz!sngB|tXDQCqm{*~WX6Z-!hi@2>V7Xa%*9JX@ZP8dEj@rtRJe7?w-TFYc~ z1?Osu=@xJsQCyE~c*(A6Q%>*J?(JDO&@=wHeUL z%b=RP!Fj=kPbjSAgad z5`h;Ir*g(CpTy}tK3{@kqy#$&@pzndl+Bc{zwvp-dcHNWOpN8Ns-X6kT9zO@Qn4$> zU(92;w?%KaqO(fGoE^T8q0;<7yh=}6Vi9Tv+6#q!|j#~T>HiKBFfG5&1AdpfcxC<&XzxV6!KnvjhD1dp{+QHlU z`u16@B$0#6q!_fcyOAb z*1RWOBawnc*d6C_!1Hb&yK~A!9bAuC(K$k5?zr#Fh2LJI&@}laY&5`2{QzYD@9HXm z;KC`XW>(==U~eb8$1X?cYD3t<1MH0cztiNtD}cSEtL4vTCjFMSPP}A6MMU1AwGM$s zuQ50(zzS$%HLZIAUTIRP+lo3xPdH-1F>&P0#XefR?mKZZ>?uOvWQvms?}U)$oi9Zo zg(Q#rc<<0w;+&yurUzmcn&APqz4(rb{BM&7R{`wIv(Eh;3&#i3A`E(-0V$3?4j4Iw z_a5bIL|eBngdkBNx*to46donTu`T}H&ikFcOtyF}!h6szyyDuZZK~C~ zz!$$C(v^ctTuU_iP8T60dE7D!Srcjq(ojP%sn_nzEHqa&I%5mIpNoHg&*hHtj#L1! z3sp1049}$vcSH*CYKyN?ytB9nA2<@7m#)G%QGg?!g8{!Stp@z|NCvDR>A@e#_V;H{glQq&{f-uNcQRkP3DH>|(# zcnMB*JQG_A0l*8_S^_N>=RR$|A1Z){vZn+FpbV#Tcvr;#?<@f^7~`a-mn@)FLN8rJ z2!WCj)|owngZE12cld1!f5-dtk9V>J9x8x`vWIxQjH#BM51oKie7{fVo{5x_LDr+^ zGE)6sCe?`Rqc?yJYP*5IElqfju#t0%+KC;?p#9tEHbx->8E<4dV&2`e1P>L!L%Fkf zcVu?m2SGX*uWLMC9}cv)~1CD29xyU4#6cUA^g`B{2UI?#q$ ze-7AE1`id$L)lY8C!h);1I^q0kU+8-T51UaQYpY=nqY?ONQK3}!wUCp8F2!u7em4JsLA&)V(ttL$f{TaJ>hzljAwMICF@JZV=wgICMbpi-Pl>}l; z@O=yqdk5zED4h(7U}sF=t`)#e48+bMd@vFw59LTA1gI1t6T+mwcXXvf z2%K|FCk0JySi8Q75ODg!63%*Ff9Y+65Ip((qr_?8TryH{l)KoZhUDKsU_#0y?~A* zZcIw*jWI91eGBV77Z-a7A=oHtTx;GB(wJTvk;a;*&#w?`&2yK|;+&_bD$1%RQj)5% zeC~xem{twKgY%x+I=pq*Ng3h|Nd(5h8|%;*sN33;j=Qd7fv#G9i*Cp);1u%BWze9P z&*GDs`qayKRUKetwt95lO{eb8a%gn02oM1$@X!KyD0dKv(-~f8_nZgNd53cjQ-_r$ zltg-uaSrJOhOj`(x}j=sq=WleNyKuWvN3$~ z?VB{#&4^>tSd(bY>BT--60y|JQA*AlhDgyi4p9ng9dEC0Fez(ZxO|hUvB9)=jTD$z(nbiXzZtpdYO7Aw+7k;a-d(&R~ul!DsW zmJ~FY%h(t0YFPR)mj6G7*@1IL<$*4 zpgm56tb(LP8Hx}SxD)o`I2^Igf;ct>urnsGSB&5|FXEx>FLzb3Dik(3i;Map5a``D zO12X{Um>Wb761GH`W4D)$-wT{11-VBdRb$vqbVDFW8u~qYKxyVZ8M0l)pzW_9q+%;610R<0Y~7k zjSr**1cdKBvVcq@hATsagw48#^A;%^pv23U@RZbMjBC4WZ1E0m^_V=W9J>N|DDPs~ z!!q@rutT#&mwhZh=RL)^q%0~H86boV3(#7Obr|cmDKsGjSsali5n3sv5L8t|*)&Yb znrT@x9t8!^k(!is00vOnqh$;tFk<69#y4|SiUQTLYg=!F z*U&z9ZIjfUa%>7f?DKqfbC2r>AIcqNFH7t|gE+n zGv&?c%Xs0rkUx%+K{++P=FRC#7+;6Oqgc>q09bEsAcWv_d;x$P^<`|UEJUC|0mMTK z;Gygx-heZ^zXcfMXc|LR1Vo*w1Hw)zb=P47?>(k5G(yTWa>8GxNx0BaqWZ>&=lHS5<$2p@VPCTYx>M_17L?iz=f#`5}0 zZ!y^nbX?ARUj61<=q%>+M;^mRilR0_0eDbSFi0c%NgOC3yDmM(v3h;Pc(cHbYj6&4 zgFoM2%8)`}N=uffeELT}M3yI%RZU|Y*Vo5b=eRX3Xsks%x{S6K(-sXyS|Y6=3XLmi z(g>#=b>nX52#6%&kwu7fPy!M}B=O!esVWd2Ydy||l%)`gG|uoqmiEAV&MltD~XuL|dTE}}&Q8!d|gVeHR3OITIzn?;KPvWqH z3K1*_6D$Z*TWoE%^7l%H9eDT2)nR0K@7o<5 zl+mx_aDm1 z$bJ^VoxUk-MRfJ^*l2(`_es3Y5CkyJmGv>sdp`KSN64axB#DqRG~+zVi8|}B#?h1^ zNVoXdA~KC=oWs`5wupGF6(4-^0{t{bD@k29y!FQ0j5i9*+61O;L|+QTAR!%QeBuW` zK;BDmHUtFYG{!o|w5*wI7JU16zD+T%wrT>jAkJf+{nS&aBw}q`qNU`$&p(bS8h+!K zzCbam0$>PcJ3Vo`@U;xSzX*#zjYEp^6Hi~Dm&9aA#GT2Ox9*e>0;P0!cV>@TY0eCS z?=Rb~)4L6?P@2>Ivn_5Z5S!?CW}Byna<4=<6Dr(xQ5k};fRZ>u>!URc@m*j}N`#cN zg&t)ID%DipW9;1SPXPC%ExIpshw@A|OD3ZNXWR^(C!|0nnkbFPdMSA?ZIOnax~eh8 zG9496Mg?_I)08#%u;8LWLfpm*q9md=4kaaN8q>_sf*sPHt(I1u0%#Y$Zc~$idr;6z zV)AsW2+8emANFceyZhqaatZEuFL(KzwzMY4Ts!Qe$Wdbo4<*QcF_Ob%pAPc*-4CJ= z{fo$G0J4o#6UZ}84|4$0NE6+q&) zBE)v1RY{3!9It-$ZN}>pOw;D(CCFH@^5`l03pr8+<>H*DEGxeL#g~|l3U0o!i7^%@ zLHA?KxJD&? zJkGjVe*LgbR%haU>%-d?{YPs~3%nGe^KzS`mqL&w!IYj==eh8`x@f2?v(+9xR>(xt z>!#yaZ8G8q+2HVUSrBBbV)bCeWlFNl+v-XJCKWyDciLm(x_Sk}iS({b7E z{@X_kLGb;f06LOVkf#w!N_w>oK&82Haz5}A*j523Dam4ePwFr9Z>alr3)et8;ezW=$$LxGQ0n8vWNK4QE%Z7IGwn43ag zS|%N4y#KwAlBY3^agH#6(7n&X+;p)flJ+@V*@i!T^s6YjWw1st8mtl z_p+n?RJ(xcqMwgL515BYj^&Dg^&m$ zC5g2p){0o`Hr)r_i&=Ye>l{VhFs*8|l1M4;w$A9#qTi@)uwXUTpFyCGtNdD$$@NYsTPd(}6H^MWm8}J75}ueqa2x7nqI;>e9@rYrB$QDYr;MUc7vh zqO4&&#S}HxIfN1jCDEzk?CAx1!<@4VeWVmj%ZACcn|TmKSwxh@ zNTpCxwmY@JI7e*^lg)x+Tr$}#0T>R+c#CbxEV_a0EElB6qcp9<>{JD!grR2m+!s;_>%iAc_@D z)zEm)TY!!we?DZa@g8}4}md+ps5U6tGlWR z5Cm61YKhl!TLVr{i2mnEOdjiy%CnAQT+Vm`XVX>+h&3XP$kUiCju=f#rd5MA7H2KC zwz$SZ9Qgm^EGEh0P)#TWl`$bbS=CfkgKgSaK^Ns$;XLy}Mx1Dxs-|(Cp0Oyc>9sM6 zj*)1_4A!Cxt@Rk|C@MoSSNo79p{fx&X5*7>Yp(@RILCh&Z?d2?|4E*p=M=zkxde9` zy*_C<>8!*-`4J9!oV)$}L9fqxiB&n%)1SaaeNYL)dm=4ST2Tl=p#*L*3w(I16P)#| z-560!D&BtmTJWJCIe1NgRFZ||A!SkVotNKYQdHDSX(+Fm1NjRf=w~T;tf?jy#iZg( zzxg85aoGkA+sv61_((&nQA*Jm#}{6BlSxriO-gKKLeyS|;vqp;c>OHpk(D9NdA{++ zHHxyPTH6e<0&C~!#|5IF5DhafJ$8<~m(aBI;ZL+`Z30Z;-%ks zfhbP+!9V^fdV`Fme$Fs=WU*#i)Vv_xq8Jx!ULWCH+YrmcV6hhvcXu&&gb-xC6zf5} zy&h0;XChQ2IltH=k2UqQ#w!!3x96@+=s?urPvxY&l#f002!mcq5~+5ffp0A4tqpu* z@mdh~6Q2Fp6J-6Ag@qig6^${JwPABwF&!0Dudd;$CP0f@kxFoSC8xiT6U7=GDO6ji zv{6(Pwc*7#Zcv#}pd*D~*us9T_Za6{9T$O-$Oc-oGlPsgiDy2)Gd5T$Cydo^t^J^( z5HNL)2-|fyJGozeC=Zl4G!{+iVy0Fy8P`NHvmzJO!gJGDIWz!y5%K1F4?b2 za6dU{wc%0E@3`{mcYFPN?excWo%7e@P)z(Oraoa}6AI^B08I#xwIn#;!CD{MX+;{D zB_Z!!Hi)-3aL#eRIBwYo+M!O|cnk0WBO zF=frSzVa&5aY@rOU1bm`1^pB`$Qbl9v=IE>S6>Off7u4wat%(wAVm*S&a5nwWiivb zVOlqQ`IRfd_a7Dbt}M9&7HY-WODpt-8Snqd(`0!<6zSP`TIad4I$~VbjLV9;wHl;o zn~(}-B&D`1R3a$1=N~&qsudfnn-tC=TbC!vB2XN7EDtMs9>M7GRNhf~hxJ{b(}(hI zm5^tbSg$C3Lg`{ED`*_3Sfgk4>RZSfDFU!2iZqdR$XMZ>3wdzwsjFtIp8v2S1W~MU zK22nM0y#Qt>h>8?ZtVz?DB#CDv9mcwVFsuz#Z33=;R=O-& z{C^lm=RMv9!j9QOk2JB8R7H(32BjogtI*s;`V(^n<^%pXU{f2c@QkfT;?a7>Vss=q zY`*&FNVbC=cfa#I=<~hK_pm$uVaMwzV!h->wLocOu9YiHoaW8SV7=$`lPjUlK2o!@ zlS0tX6Vh07@$3@QvZ5(UO6Qoiz5F&uBb*GNp{NDR>?cBm-Bl{d`AcV*lr`Ue;SGwq zA&xXjq>vqfrw%*rWUXX6tza1bA+37L1E3K#8rxzdhQb1fSiY;6k`Ih}V&9TI;xcbDc?5b8US@*(v}C z`Xh-IA9?BmS)^&&od1h&UZ=5+w3m`6Q6MR4EU&-tHpQe2@sK=WacPL`B}n9nxB}a; znXocG9BBcz<=th=C|Y*}&A zB;?}rEI}GaAqCzB|J54TZk&hMwnV@IM6pIYhaq&^iraEp)kenyXP{}b4L+F0k;2Cs z8LNQ&izAxGP}gRbcgI+~3RZ%QHN89`Pa}+Vtxp~nX2(Q?vCz0JY>^IyPDvV*r13Vz z=DcTG1@__EbnHc2u@kK%c^ohSzGyJkL2VJvk?PRPAY?Thb=goAO`G}X(v&Bh2AmhE zB$b2T*qAVsnjedE5+#r94jgtzKIr@G@wxqC1qWp;x?9WPuyU`$tpY)5Bwu)=&(vrp zDn}@3{$xv?A6aB^PPMAP+m_%0iBCp4VP}GwkT5?dB7Qd_VmJ)k`?H zvPhyOuf1`V$+V>Lfw@;?I`9lgf!30O*CTu3nOK8ns~gfod3T5hypS|9qm~gO z&Ja;T;~b4?qxr^RtfvuTR$-U-(oiwi?tDs0r0_G}Tquc`f~qc%m1kqLL2b(rL{y4? z-k&LuJ4s0A3nDGCPKMlk3#IkmQcNnQlL{|e-@jedDpF{zXH7w-WzD3hL;B8pbQ&Rb zP%4oQe!r3;bp9SxlS-D)HdUhfc*+V?%(?ZL#mmZB>g7 zXKaXFOsW7zl9D7+B#~+fPDJ1*Y%3GfJVr`6!!n$N?5+UtI5ojajq!bK+l}QYa!_ph zUft2833gdBs?Z-5-;+xlg2Y*kp8Xo|TpMrp~#4?Ieg#>9yxi6fK}G{*7v`j~N91*YNJ;9pw} z3ZQLx;#=fjk|iX0GV3>3HNm|YPfI490-0-A5{N&eS#*EAKB5?xY_5(dC-tmJNtUPN z{R|MKS<0t>^dorZFvcQV&cc&g{BXy{AP!GxzTkZ*et3uqcxQ`8V2QCJK_&^2PDry9 zL>(A%+7uN&6zJeQMO}dqOh(gC$DW5>U$=Pt#ssEWOM|7RGE=Or5SyWfpl&LxwN!P5 zF@`9*bH%A|&FU;T;S{z0b-lxNx=Gx zU@M|a zvY#bzug_zz;~)0>$AuW&ZJZnttMUnInd5v5stF);`ezrRmoUD3tIb(&<%g@H=JUVu zb&@pV{9|Xxdnu1Udl7;$fvydk)0Y`fHu1i}d&hV>3cu?;MKtB=^{do%&H1wz(fZCl ztx}S6r-lHeaey9gu5U2j2rNVhftM1rf;1-16W;syIkGrneLM~HT9Jf2hOXloRRTC=w8XK5k##8UTM3TkmSYxc?wd?Cl%9^)t zZ3gg;iKRG9KAtK+R~KG?(-bq!GUh@5oPZ? zF-L9maOZz_h!+AQGmOX(gb4F=R8X7HEk{TZs{C}zXlq02%>%`_q^S*~jS1FTCX)#$ z&ty7cT8yZh3C0w&yts2+k&DM#!}{hLQcBLAKELmI3IuVhB;rV88^d%|G8vVjuf5z- zPC|vOL=s0K(ANHD*HJj>C*(;?9BU$_C>x7)E+GCY(^@(%9Kv^3a=Vn}mNu-bnn%W?YrJC0GI%F=avB8zdV*10Jyr1p~nZ8%N9J?xj zHsOO1l0-`qC6B#tz+pdkT+#Ra7>f>TSsXVq@UWJ{LGcm-4?@x;r!X=n(~7dF`K@35 z8b#G$7ZRM3u#gAX&#AU0_GS?<^lJrXT=D9QuOnl)y7?-`*SzrR*D0%#x~@W?%Y{WW zJ1-%a7E?a^YyXzz#Zz2*%DPUSQeD!lLGaeT-nMU+OxvX%W zSV`g*#w!F2@)RLuF#FS(Pe1c0y)+_AV;bwYzCK}6)m&X0(=-M%>kd2#3czeBF0B=h zJa(4;LQdXGsjcHnufENsY8V$a*18#yhbL43zW2;B%6Z;+;WDN+ymfsHcoxt0QChKb zc8RQ)&>Q5$cS)XdoU*qI;04l$Hi8ei0^j*!oS^Yg8HbUMNJw1ErB{|UI+plIh5G-l z1XU4et^ltj-dU#A7-1b^Lt=f!WHO>|0uzrEl74@P6d`Twykjz*;GAPxOiALD$z(zj zB_v6D$I0KlH?K%U*J&pJ>k+c$2S}rt*{x)#Bj}|eQs2)4aH%#numLq8-(R;;|F)Un zR^PyumRm=PDAB}eOq@iaQ;!dp!=!2grB}=13qcu4?}?>E;-EITvY{3M>)&4rg+skz zMw-Sbb$8^c$1Qq`ZmB()7V{l9A;#j6SkYe85#(N7>fL4wINF_lo~EfRwzAmL;;xKBzP=;e&!e#T7jj5Kpv_iOu3vryGc6FWw-|XL ziQ}-C`~3lb=tur2{r&(U1f%gL|NMXXIVRIFgM3J&B0l#!zs}-tiSPTKA0W?r`$o9E z^~6cUCx7_;jEjoTzxp;sV?jyMEaubCUkZyn3b5t4?NjhWA9xagB-WI*;q%{qi)mR? zH8y~Vss>?Q7#!z<70|{Pbga1Wbm$|HFJvJSPe}J|PHQG*O$YMz-XokxO)8X9)J1`B z9IMwhX{v_aLPl?p^4y1>3Pndc(2XhmV36?d=>n+sUpKiPb`W|nWX6rz?LF=DJ5fhD z52H#jF)*zvtQ2HP9qRWx?)|xPR|Giiz)745?w@cCjW032!uSf`c%)P;FR!4b#^V|E z2P`cv2L(W=9*lIf73KCV%Z+!3QkX&r(q4j90;v_kIed#f$Xm|6&PA22FOavaI^7Q! zE%%=H;H?X3KGP}y>t>T&$^iW74Ri8A20~zcpabtxf7Z3^L!OxhAsUOfo@!F#jl(t; zXFVzk8Iv?iNVB-jE{F$W_Xp6%xM1zgl{E^Wrxbmq01;XVAMtz-8@0aM;~uxKew@{S zVwdk9bRKx$#i@edSs90GO?oNdbU)rz2?(IFg5SBU*eC_oj6sxKU9}(tW+_FO2!C?| zCY+t~mdWS_hKA|d1c$}=0`D!(1#{myOTV|kpZ>9*WMQ~S(=MvdrxCS8cnru=DM-e zjSVAWEdJI6YTNGozAe9{E%nWK_W37Bdnp@bMN?GVXfghc3DJJxTGyehgX?f>N@G1Q zT^k2*kg)(HLEFAWspjI7XXr2F#94%j)C0GZ>TYs%`PXeThmbpd=>H#0yob6iAW3AxJg9VlrmRT4sQa4ST28&wkNZ3-- zI3Z0^HplCD=TKVjn+Duf+8BV+lE?*){p=3yvs}w2+!#w)H(OnWy$`|7&gVA{;UUeE z7I+hK{&5ncB27J>Qr69kC&0HwNtiZ!P+P>zn()|m+_Qd&_UD6?te0#>`yZgi51^e5 z=8PjeN*N|+fkg{J16ah7`-mSEDYsLOyH5Y0zqj*x_IiI_YU}v&Tbo$tIX?`&>_{(&k)P_ zKw}@8Yii=yv%Jv9<9XujGFcpvL~7SeN>vADpI6?#$+T*y8oLGbsZ8h`+*oj)Bv1Ir z_dQFJ#h5C9jA~~oCIxS=jwq^ztLqa?W3b~2(HP{7aZn!Z4|?N}N^$#- z%@YO-y}HMMm_Dl~i;l{H0exiP7k)Rvo* zn%eqZ6pN>}F1&ACh~hiP>a?b8ENjz-X=Ayys%^tB; z6y%-T>IQs3A4mu>tDOhvr7>xwZ?gbg+xXMAh`>ozQ&i0s(yunq*p^bvw=K6t*s1e` zvIqntMIC6q%i2&jhQ@>*1j1N^^(0Cmg$#flA4-Bl>>w}<^%ruIHiPh>`1`xbOf5Oz zX|uMAiuWkzj_k7RxAX7!`hK$C=k`7K&egd~Ew}I21eC_{Td%FMI;qi0%v=EHee2VM zaoe4(Zqf(@)7tWLU%EV_o$}BUPSDayh3E4j0Ph`wh~?e|dU>BGpL(2rzt5BJc^s`H z#zln(&OCF8(P)FOf9c<_v9X48HU#O6ZJSp#q-oCkKkyNH*?`FBh$dojVUZ+_cP;Qy zN^xrWGu-LCwf4AimUH&Zd6pIyX-uH$O4D@T1tJIlo34F0K%T@ccmMXX+(}Vk zy9OYQVQo@T)J>oOuPy$KHE044pNKVDEAoEI!qR{=PjGQbQ8#?;wQH1Z;LmxFbq?=< zNkyy_&wcbs@+>CrrvR*PY$B!P!Xsyi)(-qb}Ngcwp2A>?2Dpk`Sn83Z=*EZwapz| zN~IKwi>HWnLKG!v71QhW==XDaNsQEbR{Nf(F-@%zuEEru#xQ;*R)K zd%umf6ipKtcw1{g`0!6jiPVtylTc|VA??MXmw{HH#=yv+K9Ce@1G zASKHZdaVL5-h}(uOYSblai3)COuL0Y>&74mMGf6$tPG|-O4aZqk~Kco!R332zGl-xm8wTV$b_xA%PA)wnv z(QPPfsjR~|&qiS=8_Uf}MP>aqrdkidpSG48;~M82%bCW^A-j(6B*X5tl!v@@VZx4n zDp3fjsM@G_mgfxm1J0j6Pt!E4oLWIi#k82tDdmHS6p}Q_h;}rV$1#fwOCid?c#1fV$+8S7<)KPbr4$T$1Dd8r2#Ir!(Rh=nwQ>$) z9(OzeNp$Ba+xh=h>$eBC9gk9qND2o1oIH)`4KuWs_!g2Z=Xmb~%q)#O39*KL8k0nd z2+39kQq1c0RrJo}&ANRw=YS^QP`*LkmLoj4>^EHw1qkW>n`L4gH%0|TV|nf7gw4|M z`M1ZEjhkJ;yotZ_cRilQdIpK&d!ATfr5DV*JI(RKS}Y#OW5pl+!1>S()^+JV&t~QL z`4^|uLZY>1Fc|Rt-~atYQN-fnB5%L_Hviy%{0FSBuODi$OeRx);h+6$(l|$HMc%s; zPro2bb3XGuKS*6yT)%k@AtaYBK1LEJq-iz-t{k>5T?j#v1lX^VAqQTRQ;ITcOJ|Rl z=pqn_C?ad|KClaY=<%~;NkksUNEw=M2qB2t1-rNust%=+*tQWUzBg z+<=3M){@vN@+2(yewL8M5n22EHYm56e`Sk-I8OprB2PlE%m>f@J*M%x)0^IVipCOq zNiXVBJ146M1YvQkP3yK-IvDG@HYylbmao0NLD5*ob*SquT7_WRXu7qI4rbkvTg;oA z-J=5{DR^Qb;Zz=TVIgIhMI6+HyBkYj{=-TL@Q$0SH`%Bmjw7bUl%{DI3j#Jf4fE7J`D;s>QeLzfUVE zSnTJ_=ceSlc<}@K<9lqI0y%KR_AbP?DY4E(Zmi?hBmiSvs{n3}YsOXB;fuyHX%#@- z5wOnrZ^0CdP+Bn@4iQ37RTa)Tis=;ZgN2YN!KplExfhXWNu&fvOL`tcT0b%p9*v_c z3(B&bE%r1Gi*a#rk+LXfRdshfq>$ukPNWmO^H}4sjmOrZ>Q8G$KFGpi*abD%`LxG) zXR+2{oxLs3>irg4@EC`5h7*WY+pDiDc01rPl)Q&?;E>|Ir>TRB62*Gk>!z_SgONUz z(!K*Bh`=LS3qUZ4qhlSHu9zZlP6T9I*;rn?HD;q|`0Y1GOpT+Pj@G%*FruZLc5_AN zJFhp2BA$BkDbAfc$6xwOe~B#1_`(;yz^z+1`47MHS?bA%i%HEemVEljQ}kj@7OPnu z#DQ+cQ3t?7tRx>gKjcN-=Y;2Xu z?y_ShiRRh&ypK3ax&Fo~byf4lU;h@uhg~oqWPIiieuUm2MMu$zdv(rvCesO%>7@1f zL(naW6F&9P?_p_inIt|~O~73YFL3XOHSUEpwc+KjzXo`odhQZY9MRNrle-ZLsqTZrW`F8K0gZMiwF*(e*x=1 zheIx1x`fu6o2%=L)^2kCks*zXIII#ne$7*Y&^zJ(48o$SYA3s5+}U(>E~HnU*pABzeQ0@`ITS)EXzx$_ya%u zhw1kQC(3+#5^^U?>~P0vgY8|fz!oySbD{|Wrm<+PwTwoiL+=#6{eE57v+k>Dnv$j|)`qUHN(l6^`nw00&`HKp zHWsY}aT|$ljN$6lt0<*-^wCF&qKGWZP)c$B{CTXkoI7`pBuN+!hqq-2k|YZ^S}D+N zxhjNmZn_<$#2QOg)<`91RdXkm%F;^BSuKJjjtM-ZC)4WcI3@5K26$|j9f_hike*J) z0Q7rW9H^0u+t5^94fB*1#aM(_|Af;qwWhDdxMX1L;zmT!g zi_z*}QQqT3EKY07FMjzlwRL>x(M6W?2qgupw^sS<|J7gT;>C;n?f>`R=Iq(CIOot> z^Pcy-2VjQe6KyZPZZZYPu;cWjXAxOSDJ$yI!e|P$rCBY(TI$LWr<&ypW4y2!vxHRg zM7qz0D!u?d`p)aGGMSEf;?XA=4i@;#Cx3umZ$OqFPX^$)rE4eN@g2VQ#&-}x@ZR@4 zM_Cp8(|`Go0KuR66FmpXAP_wE z>^YQH6qA~=tohb=u2D=Y3gIEwPzCNqAq7qdHb&F%1C_-c?bsYn+7bMBa!ZS0UHRiSmC^9+<;VyvuDq8;o=3-ETyh%);87v4xI<@ zzO%Bj!nt$jX5Uvz%~D$+0@-N``njhthqfZFGM3u7w!F73mH_DJ8vLPEi_k>aiGXp+cK3AwYy($67~K)F>r`MbJ207V_kWjUpdJq?BY? z4g!`ImKhEg7z`F>DaZRETf2LBZaV@Ir2_ANRbh=`W3)k4m8`DaLJGm^+AYeeWOaQt z5T8^fO_LKv@onSgy{9e>5C}#COx@wEXRC^nJ|Nd`r@#006mX>C2fRwT=EP;Na>BTAli<~Eo)E$+;aj8G=1AFXq z=Z0*S4PSXH;2L_7Bodmn0;ZEOKl8Ic!^Mji`Kh1!DHazNZ&SeY&qGP8B1<#g|DN}< zx-w#I^#w+wg7u=tNr~u(+IJxWw&IN!uc3tG>MOU1Qq7simO~x;GmjF*(P1xZPZ2^e z=nwg`fAXjB-i7-hBx#Z!+ix8H9(am!I>U(=W4M0vDgbBCoX0uGi{Jhh8=LEV>Fd8o zQ5INh0Ksp3{@22Sos8&ZJzjt7bw=Y6k3ISXQM5H~LI~=r;agvN1#2A_9zRVKDTI)e z(~2+rhi_7hOX@PX0H440%|Q6l1VwcDm1`hG2nuUSbH0zyH1ro|90Vb%TZgX6RX9I- zfp)B_4H%2KHbr_*Z#hH8f}2;@n2t-bEDhC=cN{37@s6hBa66<15QIV)q#$Y8Wd(xD zSXRdo)_Ig{cf_iqEX&|8%AgSPJm=J@Q&d$&Q52!`thKi-hK?{|mOeXoo(mT)aQ5t3 ztPRoT(P+f_dSImyt^Y5CV7+KiQgBww0M5AwB88wAD~xj##!?!`FwxjJEKa2aw{BcV zOUc^mYG@-hpQjhCE5P<_Kx1mGGk9;w(+F!U<46aluQUoA|JH(Yn8xC8)O7>$=)tTz zUayoa3>Sc{o%VR~1_zhUU8?E|Yb#G37NrJPEwe?jtMjLEwZctXmp2zBt zvfaNf&}JG-T{TQ6A?7mPm~K-5lg)y1TFv4hrm2BI$_ydpCj`W4u*}jV#>a|A2z*-^ zNy~ZQZQIvC5E`WlW;G68%TPkDB~FTv74lFPp<~nj3P5^{3^wvn=)vd7ER_^oSj>o{ zK;dlaim!b2D_psHg)?W)kftdYFJ5Fg9P-nD`KP&l{W`z!3%|hX>MC!(^(IZzZ1eA< zDB|M9i<~}vn*aRI|L2@JbB4vmMXU`SWXIz%Kl`&k%jL_LnNB7oN|MJ4>m2{^^KT%9 z;4gmP6D;M?JxK>DDY&?l(<>T2|K=uIDgMBFPm^fLm5qW?ZTZs6-{9)&ukt@>O|L(o z-|rJe5yQnHNt|%z%$Zp*Pzp(1)r_Vie&h4MLR}l4x$u6hQ+&Y%LQJ>Z!!?%TtyNqD zq!BVwoOAzMXAC%f=(W4Uf+#uaE9s;c7kH(p~j+TbhS_!31q zWl{vJLYicN56_)PD@`x!Qj2ArsI;0TO;bS z;q6y%%p(2Xd+Np@l$>=V>I!Z}62{+GmL!k)=nuV@w4Xv6Q(MQ2S5~pkb9$KLoZ~gt zX^e$l0&}jc&?+ptJi&XINYBJLHoke8NJ=&~M?|qY7}J+OfsHY4eeg&M9FCheZs36= zNifFD%>J`y&(0Qjnx! z%CslNggB1rWqp)XcqcHmVZ2#TOhPxMrZyCl3g>)Vd(bYZmX~pBVzjRT#0rr_Ejw`v zN>dq2KTELI(NANX_w@6G#%=|Jt2*#JI58jG@D> zU~1zy*H2il4gcof{4eCa0iXQjCpmNG43{olVlWu+#1l_&>Cz>hdFC1Fy5{=z>y%~5 z)vH&LQu4$TPmrVu!@&@(b=VPGf8ROBbUI}^os#D{!+xLhg9L5i=BU87rMi(izLeBK zvIU`Sv?7faf99hXS)Dfg{oj6_X>ED_bjD&9@#7!AgaiKF3omf1wnR!|k=!tv#z9q; zv)BeL*+!oA_@Ph#2n&NnBB@b2;^XgmWVWcA#`401-`P*kR=%(c>co-`a>Rn^hqME zDXTJc|A`{T;}O63@BRhj$%vo(SO19NV1YmMLw`J23X_s@TJz$U-=Z#Cp2p5S&;m~P z!wIjIfgA4Z0JKDSf;F%@35)jp5IM*gt}N2e;#n=p;-E*M>J2mPJr`Ems#i-{8@}?L zD@?0~QBmRiRvR^s1g#NItss>oJ+~Cvq~B>!TZ;7-tZ=+&z|h`3An}Yh+}zlps2XnE zxPg?C=`aoVj;G#w2zfx$>dCZ5&!j`Yo|Z_gdYe0J_H7w$C^h^FK(;qT+GwJWOG8k|H(^d;#xMx8~ofa{u4Gf z*4hHLaF?9(lx2ZdnsX~>0l0Gg3R#x(C;srCCd+c(zWNqYO5XG2vm|k#^^!u)_z(aZ z({Sb5+o3SacZ8xEB{XGO;cCIRzx)=B@#x2v18Y)CXO_hgNfPnwV`uOlzWmDD2mzmX z?)LnMql* zI;mSF5Q2!t29~M)U4Zt#u3GOn8yiR=7^IrUdU}zdHZYw`&{}il$`t^fc>IZNt`%(QckrfC?D$6UR7mFw58Q5O@GDUt2qP3nNeOQV!LlK0#K*gg)hlt(jEp0QgD zNBvYYNOa4!52=QZnm&sxE4`RJwpct#s)>AsFa^_1PYC#Xl$I2elBm&b<{&KiK<%aP z>$M+6LNKkuSA#oJ5w0H`Ds;S7b9?MJ1WNA)W7Dy>s zUR)-MVw|-gXoI3H@X9;9Ya5{MIFG8X@Jb?;LJ81mgiHeIsFIQ_iAZBjzn9`Y42D^2 zfg}i^pC?3(CXF;ntY2KKk(i&+?v$<^2;|FjmP}V&-@IFi;Jw@T;=@v^Zeis{UCXs z-xlSaztL4y@yfSfVRLhnuYT>T+*-ZGul&ldQWs+$??Iv>zVP}gjrELchmwNx!<6Mb zLLad1`>^cB2RUA<6`y*1nYC%ni&r*ioa0BHJ|6&b~vvyYu3?Im1z^b9)E+dwhz6sen< zZ+z=3tZ%OK#jk#WX)$3k8MkJ7JHFo2@AdgJKlYO>E-aB}c}q_gg2=tRhY*6{U`T-A z?kt{}!~A<@spzgRptXjgE_wON8w>}FeCS6$fKm}}t!^Nd;Q7Zdw0#T3jIjtj-}~HS z05giSPd)qSEM_N!AZp_>hqbh4x6p?m?+2c|INQ7%V|n9RNOwMVX6b+mfGteFm51x; zwx4u3fmlnH@)j4+ww+pEU&mU@+gIKOm_6@I{;s~itD%pgh`O$M`|Y>c*xcaq<;$$C zt+Bec3Qa|Cae*|FEf=6es}OPT#fn~h{OGqsje~$Jk~Fd6R4=r#?!}rcQf(t#aobLy zTf|ouZ$*)f6BL^UXI$ujYbAAUkk(O+t2PZ4nqLmaA&oQ{73fGKRhXa;I*^Cf60xVV^+L@M~=1hZ{g6#U{Z{UQs)1vWM|ICbh2?|tsQc<=erm%ha6 z>MEc6tGm2dWq)Ge&P~E<7OR$&M%~NE#-Fot+_X>6O5ZhCRW3l9? z9<2lJ-!uj(1TTH@b)=Rop6iqMQ=b3Gdq~sxzLZBFR^lk;{qOxCWmS^rJtmVeSFT+F z?>T$=JXxCY*rmrw(~RZCWt7r$3;%F7n;-=JR@YWpUB5Nw27~}|EE_Uq7^E>-nxW60 z3WP6hA(Z#qgXlYl_qOMI;2G{l!aVUPC3*DhGWbvyFT?>meuXHrrx9H);CMBF01~ap zqOb!BAsAN%>pbIe$hTg(a)q)g84N?|=;h0oSzTS_^5x4IW60tRfEzb%(3plu1>X3@ zOtY9p4AO{Hiy4_n9w~Z>CXE!y0}=p}LNLrCV(o}JUb90{QVA>yBQ!n=h%j3?@DAUa z#X4NJmqIkSr}MkwghqRpC7>EiRK~ zIm<1p@%-YytLvcUkc>1@6wPW&oC}mxuCdtKVoj*Rqa~v)CgoPlMT$0iwFQjZN!Hpe z{LbZYEehA!(AYF;@2fx@dKm@|%<}%BtJhf(d0zgO-BF7BiOem_PXZ85UB_ zLKZQq4FB`z-=s2*k32GDA&Yqa!oq0*<3KgqJKQk1*&h@R{%XUeY9G ze5;_TEgQE+NF})N)Cy^yaQ@;Mlu|9!SJ3Nch_+jl_aU9=T}azG>zIxMnCQmMTSz5& z`k70iFsudUs3Tt2fh~aAd+K9m2AY?yyX|tDl3VEq473+e8_#Aj#kK9PLhK+cj9w&L z^2c^e;+R+oR{9A`dBjRDW{_%B8x_rBjgpRDqRHcv=mK5wPC1F~ zpr%rE4Ff}wiI(65L<+AJR!Xc8SnosY>m%N1PY9T;Z>-~e;007l6Gu_#PJ9E7~HX`JME*l#URBG)bwF46W3R)4+Q$#?jP<$!39x9g|Usscl>3Cm3x^F^y&1 z4^@7q3Dj>oQZvvRFvAy2Hw%oh6ys2C4evi;=g@gi9xMLzM;^gAPth1wCk_9<-+rCV!Z3&=iIQAcNJ%5b*+EP%QM~WM zB1xoX;3X|3QZQTO9_S^CKl$Mc;319Vwq}z@o*eDtUY5Xd@d?~XB58TLcY}#bSyks4 z*@$&2ocC>`i+~vPT2ei}5*CJ(G)nOD>Lz&-@!m^k$fOLk<<8%spTOL8i4JSOwcw1k zY;3IY^S}6yD2gdhJpLXA{UOgi^M3NY$I9}`jPdw5Ww%1Hj`b^@gf0 zdF9J*p=CUycB2J!edjBeK?+`!Zv-S>KPFBz7cQMaO2Nj)2puV&`|#7)#`0VL>sOdg zN>mg;Ky^{$fj7Q!4XGr_AR_A}eDIUclIJODp3Gd0!^nXxfXaKSnFVmNyJql(0|26D z!UA6DCB#ZHY!$#tKOv1IEB%;WtXb*DBzi|l?~aX33c)Z9wbT#b#(!k#e7smGdOpUx z7~=yLK+hndp-3c(q8VCD5Q@ocS2n#vDbA;(oC~Z@Y6p7Kxvmf;DBIw>nowvnov=CD zoR!gf?@5yYw$Vx>+QumFlgf)R1&^DpEQ)x+WkRcD@q8~^BI6SwU z!3eO37KwbamO!V-BPBWAPx#B<|3pAvwS%u^NR27kMqyi%a=#7bUi3A9<3kD_YRqIr z(|Z!3`@DZ}2`@u5-&n`x8|xV7h_ps)$(efg6%*trDf`1a2x<0BSIO%jMMubh!CNP#&RzN`ML$ZW21j400_K@Kt`l-1S&!b zL1P?w8i!hnC?e7UA%=jmZm5l&A;h$jtx^pNKx=_if+Ue`@4(HrfGq%w0<*9uNhEl} zBc7xRXtS>8o-qv;7>_pt_alK{Z*gI{wG76@QH*GL8oGS_11W7#aXtVS@?&mh3C#F2 z0^voAsc(7kearQS$5}TE=ph7#Iy{L227gw}qvpPk$6MbjiqPhrmV0x&5rVF9933dm za^OD3LOFzT7^N{XB69VKTLJU3b7#L-zkJl_|6Z|y6FGnHam^HmqN88&K9EK}a(baf znzc9!6@sTL3q8DtvrB`(ClM)>67>6uC=x6!M`$fbQ^o4qI{)UgKZmiF|HDuGF-|Qn za`sHfuP-k}VG%fRKBC`0Llh}i*RFB>#;q9_-mTReh!$fXqS+yU_v#z3qNJkV>yu|W zANk_g&_l>jfH3s`pwK!S)A zaW6qe3L)EG4y}a{N1+JBHWpu-Sxi9Yfy2Qz0gqs9;C$>9?tWI(!7Km)Qh9`QG`6P3 z5vvE~mh5@T%nkjazqeENi|+6BxqF!v5JD2Ci@0cj5%R8%og|Vtk(|Gf5Ve_-kZ+a< zJd=$Pw^rBrxqtdgoI7`#zxrSPpGdRCS^IU}f~~ZM^XC`%ul}!pkt^43@L&JUzr*z# ztI%@U7iB?Fm5ht&45}JO5sy9cB$MfwU;Esz((Cp3-cNiVy}XB%>Va?xy!RwY%BMc| zX;#;7@!FfO1Y%G(#feafDMU*?YaM=d8vd5kK-jquLmDB@rlIV&^``5hCW#|H`0S%3 zNkrY$G{$jdZH!cs=N>stq$HzpK~)u{E* zcLa4E*aZkPEJTg1ba*cxYz^>TCoOH8N)RgMZf;KCR+L0hc+}BWYOkzHin0pTaK^H} zzDcAtSFhc~I>&I(M=3c2-ax3NTV7tEZklaCoRB35QF7<%ZP(yk=#sQKS`Yk&4`}zG zS$a{-&K!@U-SW4j_1Uomu#5Es6N&bI2_(?#XQW9)KTAjwO|1mAwe-paB_;hVCQ<=N z6~~5t-C&)gFC{i^=nZp}5cG#RSuZ&-lJnp(02w^~aowPtr=Ld1BX*BHNx5rG{vO{u zXmo$So&O}ACodExKZ}j}_(LMZ!r~XKoQ_Enfl^{teOQ$>pa0_5xqj^?%6l@cnT!jj z(<}V-|L5OjWo3!K{1<+l(<{rIURm5m$2Oi!8BYS`wbBvIE~KvWqZcO{DFts|yGlOo zwFIb#+ow)agb-A9#qWLjcUfIuol%Hw-2;yobCLV4OA9f8^%4;Hn*~Bk{OOEzknugA zdM|mN%t&!XKS0|rt}Jb3xddc!jK_0!d7*8w7O38ze*AoZ)F)BEx3tjX{S?8WN7gup zac)~j-iPv_hzD1Ji$JOaH#-PvPxWLZOwy%Vm0mtUe)wUkqVQ+5&3|F0V(j*M`cSW*lcgEM!2l@~{eGW3&1b=|2QTcj$Ji)E0~*iFC-^v=m&jO>fJ#VeRbl+b&XFftYQx2}xHj-rggrj@bf$fCm`Y24%r! zG5Q@yBz4do`k+4le!sKd>&G{*1;P~Q%fE_@`ZSOH2wwO0|CR_0QHu+fB=HRTa!UcU z^E63fKKbzvaP8Vne(_&^mfAYBlp*jZC8^X9E#so)VAi%585VXAtu_D0pZqbdT)WBN z|A+sIwe`(yU5$o=9{<^o|528gmKo%aB7|;RW(m@?H|v4-Ac*$?1Mu+=f0EVpTYUSq zm#FHhy6u3OFG!hmyUS6E(LB8`WD#u$flP?nYlEes%pAkTBEx@=<}ZE3Am3vva`rcOK`U3_y3w2z1hImgCYNV6#^XzGUFdEqsx zvSw5{7M3#p&;P}zSzOA2ke1un9Mc%XAN-Ghh?_T7`S<_&e`7qFY*EDl#(LhoR%1-f z>a|yhwBW-Ze2yfEdF;{!&YfG~ul&WIz*x&*5O(%yQJ}TviN`Lsg+gk!@axL+#v2x6 z9;~fKN=csesOy?E&PbDzNJlIT7x^PU{Cx}ui&*C=%9`K)$}3E#HO;v}AY}0#jDs7K zkR@7*vIfLaM{b4p^COT<3xB~E98dIP;Gw%Tn0Dd=1$L}kg0cS!Txfe4! z8sE}d71Ii5EK)&THEeE_6h+Orwn!zg?snu=02QgWe_q>+X0GL0fE@=cKvg$5Cukaj z)`}gnY@hW#GHevUB~DFu0!08q=&o1w0nU=c_W2Czj1mPL)y3TrIZIFxb-A@?oDI;tED z2;@Oko>aoce#%g5QWblq zZ9R46c=gqSy1xG!zLzov@T=@Ai#;WR-|b{lEeY+Mz`x* zZmq5c+G)VshVl9)_|Sn zSX@|~y|(qf2sIckP_Zc~$l4x_F3~t?TZ(6oXp4-dqmU--4N`p6Wf4wprR~iK)S7%% zX-TExGfSsfj5JTBDX|pWAf)#~_RGWXm!CgsY=8rP?{2FAkGEDp;ADgqnoWj`3dOH~ z0j5Q3T06f*Y$<_A;VvyRT*~-UKl(IF!<40^j7Td6y{NSY2xP4rW3FDi$$$Mf|1Q^W ztcG-zl;piWQiVQ^c#p5j(1m%BbNcit{@P#t^Q@d&3Y1nHz6+5t0p_~7VQ3o9`ntgw zPf>JbwnrMUBS~;g0>zrv+kN+rO5d}^$~!44UU=&kRn_1(ruf<-u1yfm6Q>br9`n9W zKSghlaqi;j6YJLqcd!6_o36~Iq9-*&t?6rxmg1gu(S0a)D<0u0BnFK}JB{!u&Ouew z!KzcO3D@SVg_g)jk>xRI9&barL66U*0Pqh)mwp!UI!LhVFKxB zUDrqmp|LWr$W<{ctu z<0$Y7dRZud>JKuaSckrlm7!WI@r|Xd8oU&g(<(F;IpJ&DRRMSpRb|Pg;`gnbW+93= zpTtDs{w@B)`r3Q>><9h+Ucb8^Lhzv3g2P_tVMQR2I5Iy*B^e+8fe*1+D8Bf+FH@E^ zB37X%-Etoyh0a2K|F|&3vEj^e7HR=@-0#q;I^u)xdz!PS7I^6!FH=?ZR+Gy)YAXO& zl-#&{o&V;){r?7{5${=EUgZDsU;G4TPA{`^Y8fE}8=Ip*fmMXm+WB)~=L<@~QMc{0 z2g9Jqtc9|2OsDpN2nrrVl#-lXTEKhHBd3=z*0DLBGMQFg=;k-Ei&N4FCqi zMYK{F8>(a*<7tfH+KpATQuKPEgHGre?HP|JSO;~fX-qJ!w=)(U?-(8@J$I%gOU(s-Ng3ZNx7>`TQTTv=g3M=Zv1oA%ph0A@@b_t!$$ zYsbIatiVALeTR)voU{l)#uK7;Bl@z|yJGA%6|)jF#i6JEYvk)#oS7)b0vE3X==l0G~vr%doh^xb?|)??~$-;W=H_pT+FB$Px*WQ!#`o=^lARm zU;V2rEuX@eVQBQ?64usM`3HaN@8YcCPydNO!1B_NGpA3nxjE)<{}2C&s;c?nAN(E` zhC?o%eUd0jNa7ye3yQ)Wn-cIIOcP+sQM|o{+EI7pmH>!6iHRf4$3OT4-i2NjrZ#-% zr8fc$y5#{mDcLgy5DQ6!Kpdojf)J=Qz)o#7-DPydmSXS^7_94ECoP+gj*&@D)L%mP z7s>h=A~Gzk3?PyWYeAA|mWC;d!-VBwg4SZzDts?J?rEdn!#+h>F&a&9)*>2n$5kxORON>jU;5Bvoyg78N(HuVPHawW~L1sv6;7V>IU4wVRYx&Gj2MvDWg~ zMNgVaA}w15FtbaJB%#R0QI&OzYz&H^Blk&?cw3=OhpZIx5Pc>^8%!4>#0G#YiZF5L zFeJqO#XLuq+p+-8c_IW)lQEErXZw9JtyoB-Kozx95qOWv`mB8H_W^M83!lZ5uPP<1I!(n~(ov*($L?Dzx#wpn&&lB|*S$_Zbpwb)}$2jNN+#FMtC2zd- z9l&zw>~d&Ena8sNlsif2hv(SX9C2%PgP-}wzrf8KtGxN@o0z6K5U|7prT0j!IdkD6 zD=Vk@^MC%&lcp(O`RZ4=b@L{l{iR=|m`up~IZDa^5^52N)_X)8arW#A|K0!NuW@?i z6iw}^>*K)*IOiB|PN~XHZ=zO1A2x zefypY=^=bzE)iO{6js%2lsq19OfVQ!(1_mF4`M0UgDFBF;}n(TM1v)w{vs+#QBl%X zn0b1=j5t;-FZS@xqP1#Mc?Z+Q9p?S?$}({jaqi3tc+ch6FXNjQ9mv7bpWZn(H#TN{ z9i^14udT7ZwiY%C=NNB}!|%@hzLJ4aNGnAgE0RQk52nAA;X04*1_-?K6w`{Ts4*>O zqNy89V`e=6LWa-PRj7R^i)vQE*fnAmQq1rH0paLpjX*mT<*fBkyI$frn$>B{Gy8Ow z$c!s+Ct|Zb#*CmPx-*f=Z3;lj0PwgX8Uzh*6cw=-oL|=rmF9cSo+58kJwO12)Fo?Q z`%R+$A{Tz-&!Y0dY_XeSjH?PpuYD6|3^H9nMhW@3NAT7#die{us%VKO8j7pm0U^mA zc^-i3%8RX%a7SW`_4_>E@Aackr=5Sazjs_e=shxu=v{gr(O`+i=RVQy{K;%(hjdkh z)|y8ieHv#C)#OGXvN)tT=g9Mv|MXA%C|9oCT!;naQtnyOB7jtcMbXQ1 zk|g2!jq5n)__bg8Wj5B~XYKeCLJBG_|3e*2J;q z*^fR>)=L=-g9SVtO|jNteNZ05VSq$eWgr7hvyg(djcH-qfp0xYBb;^Iyt)>~zMsvw z8k`GcBvMNHgC5R#uD*E_Aq1D6K2H?yZI|u&PRnab+jv6?f$$Df zj*(G}j8k;hM<@;6A#{X`Q=04(GAf zN9fQ^#(Re?Mh`4Y%x>aotL>V=6>prMy{?3ypB%kAk&qIV4ceW58Qot*r8z22Z`;;q zZK|ULr~d!ty?Lx{*(KdI`xd+xsHtiASH>o%Pc#pT1 zY;zR&?CS5`Ip*p=?;XY%HrCg$#xfa?na^gVQf^&CgO){WO_C;Dyl{?-7gj1jny<8} zAWp)Ok>?I;_eToW*n-+*UPSN(#-d=&I4N*aVk_)^fc-nlanWesGLM;0GL%+KMl;I7 zkWUMWL^B=Dan>PxnD=a6;G84R1MRo;vdVGhM-KN)m4r}VwT9HBqMgv#o(D*;TxlZaBTNaF-|2*C~S{Lub)bOL2sC=F7Q%a`(<$CL^uk1YVB$SGig@^ed%1k+JU{zC{UqmBmbUrGP0c{zc;%}Z zdG46c-JZ|NRz7_;%R-O7x)-AN80WaYF=mz(JooA<^P*%jD{#iba0Z3Jug<`1`P)&V zD<1!#DWwi+)cSpAJv!Fh`{;RufU7UAVG4sSJxWVfF84tQCL5tq$hj*6bgW6z2vb;I z{^C`fbu8V}17PFo7;7xfhIE2zh2D5>ZV^h-y0S#4-{M{0`~>ax{@tFBTn%VNIFZKA zPVJk8Pv9RnlUwsEAUXeK)hv5m9d$?;KHo1(&Bp zy%mIz*fI-#pDE8QM&P_>oCVsOR@HJ$?}*aY3@yg`(A~JOOmf5OG-o(BtWFAy^Q2XW zqq>~-_yDUa+8?)2tzPi?d&`wpI@){)Ap&)^3tfSP_o!o%y)MQC0E{t#15m3593(}k ziW9(WmNi%bPw0Bw=*Lt_offvY~Z z>b6`x8Z;6o1jdAJ#kREQSTh^XLBMRBVG4sOTxj*xju2IcARz@wFD8l=rid}6VKSQG ztS9NmVIC(L)>K`eg+Pf44`ISuQaaRb9JZ{EP6#4Gqt4C5A#kjfBPhX70$ljJddm#* z68ZU$5w|)Nvk|J*BU!o-qS6;ytJNnB>Cq12ds30<}a;7io+k);tCT|p^`S;H@=Igzk-O8W4lH|O5)CW zthKCfu7S6#v^_^;liL0iy{9Njo_+o$uHRV0Nr`R+UiwZu0}mS z06;?6>{<2XqH4Dm&eQ93c;EZKhfcf2)f=lwDR}sy`x*4Rq)EIh9#l8!bS`u#%5%qT z<{ERkFqSX8bd70VusWRKtfNyJr1gkNK^$owe)0-wJK@6l0a8h>oLjn-P&PhZ;RCtIb;!+Qk#7zsLNb%64_t0v`T)wbG9BZQJU=-o8 zIRRa@I80UfRa%Gjo>5f{5l@FCro?Wn5@i{E6`|8M$@0Yt7hR?O4%?6eps*7vXRWv6K+)4^-606@d`C%G9dh_+n4+Iom}k$%P9m#7Tm& zhEBW1#fzaC>7`2-m~^ISV}r#Zz$2Jf^XrPx1T)o|LBGfO3+L!|S{0N;aQ@s9olf0q ze4o3jECJ^vN{K+evv{!&>(?5~d{!Wg#gB60NHZPJ@!m67?xLh1RuU}*oiu3PPCG?K z2Im7AXW>0w5G(>|n|1AriXc(cbX~y}Hid1T;iA;RKB}(JranOGvfHStnJ_K@0YU!0 zFf^qRLQ8Bb1}RVo;z-dMv}w0u(j+2^4p%Bijsff^HKHjM0^tQ%k4Eu8(xV?Gyz{>M z>GhYn_gz0g)b1mb6rt3f0ji^Zp>NWM4sQ(QWRurF^a0Ar2Hx4*atH`ubz1O`Kl~i) zvyx7%s@{ZhTU@}^-Emzo?Q`QB_^gtGi=CK$qWR88&#~N&c;tLH_}|C4f1xANb61FZ z%Ut;Ozl3i0kV>CuKI@LbuAJeWL6~vKxSY@mC`*HNj@fKZmKVJA@@q&Tc;gd~gbg;& z$n%01UwkFF3Uv=7CCKuE&wTdFIPZAku}A3jI=u0*he^|zG>MT?R>UH5-~4#}=uPP< zOUI2H1w~O;4>}5CDUIc|wIS0<#&e&1fqY&-5ePi`gBEEk=8?y*khT(9y%ePtX(z1L zSy2QG|14*g7kuHR>*R$Ae19HBp?OaInr41;-2#Zlz{1YjsUv-_EvyXY!7zA z2`qr!3n;wKt7;x0#tc^A(@pLwBk`x84{xV9($S6LU)~ce|DrwU+OO%qR zzXEv5@dn zt;zxlKEI07U?m;%&-WE)E$(HQzE= z0ijo+Yx44Gq)}3m#t|kmcqwo~fRcC-=()UeOh$9c!eG54iZ!iHic*435@VffxDVTD zjMA#gXh4w{I4SW-6(guR0AZ_m!PbHZud1>VVg<26rh(npRV=?zJ4Qqb*NPEJ(3X(K zQMIuJ-FX&bQfW*Qh0L3^p7|sLpw&rtwMefIYP`R73t;!cs;I+!@Lx27L};GqoM+JP z@%Fd9o8DlBd*A$x=%f{b7`ObL4m+Pxj@NnZxBoR}J|S7T0(kPZ*YLJH6~tli@e5X` z1^@DoUSeZj9w~UIgkY(q>Bfq0yfR>^74h~5mTASRLRTJbVr9}|@Z`4*jE6dCDyFI@9o$qF;+vlEh7xrx{c9icj zRa86#q{PDeX8V~Xw&DoBYEv$xAdTayL-FzXC!B*KcjUR_g%<)s(0hlmj@8kW$-LlG zUw(yoVFKj6w1}72p|nIQj8{dW<@R^{z}so}T4=3t&U14-4TLER7>m3#eD*6>nP&y_ zd4cm)8+8Z;KHg&hZ#{B64|CB@!XBvl0e0HK<(#8Jd|{iScB({EL^3}LKAQS$sVFH;o7ty=&)rCy7s z@_FXQkYQOHuTz! z63w6%ga#Icdj=PNEsKA_lF9Ljz^LLUEy%z|y3|*I{5U5DwyvK$BL<49_REV|IosoPerSc_1sdc0)By8x^-0h?R z>mUoXl5|=LNu<##SVNJPl%*igOR_9yGR+&#hx$<6xkkM6%%&MxmY==_uv4}y0uV^F z2&TVI+nigz$j|@xe~WWVArgJ--{r8gah1Z+IFmDd`AeADi0MmT!sau|$>uE`0-lf& z7-fdFX~F;b$1kxyD<}^DoU~)fcRaMhxpu_2JiJ0XRzzyS@2^bzfQy(n4@~HY_PuXF zwYqe!Jcep@X~zp%b}laGDw!%VX=)@OKv=1rrNH$U(c z=LReM;CH?!q~gw4PRh`3) zH?Yo=CQ%a{_jn59QBrbgxkIF6!@O0`M_joZizfYamh+L{{~VK9hLw;e5pRF;K{~C3 ze!m?^St~q(5Q52M&WC>MQ%olF)3*S2N#s(j9xiRL79 zqe6sQgk}+y!4eQk2g_g{Q_ej6qd2cb!FrCjx$|}ZCcRjA-HmYiD z(oF+krxk0gbL2^cRT4KhjrMZZGn-^h!wqXJ^Klk%AOs+jubO$Z;;8B%EGUholO{yQ zV0_rT-82+kbvr56deT@otU=yGW&%}vH;vI1l5erCdwqY|EDz~T0kdh&JS)hu5|kiP z!LsSJQ|s|UK{A4mCMLX(tW35*KQZ@&f`vy!j8_##D7G-mDt z58Th?ix>I1zwy^Ne{O|HZ5?giS<3My0C8^_A=UQWb_LWy$O=$ZAt;Y9)xs@A{^9v)mi-hWqa$sm$NISweek z%ldjKB3fSR;hf;rS99{*F`e257f?%SEU&MRm}MnjxxP-8mrT|sxV%JM9R*9kZXN1U z3R>MH^gEP-q@D28w>(O_+hXZlA60QFc<(XRHCZ4bL={^I!SVoM-u^7>{h`!8nIQq$ ztl-lh`x5hMMqwP*IYxPC7Fy17I-Qj7{lRz8?X^%^H7QhU9XB^eOePth`qXpG=eHpS zaF{grE5Kvf7_H)*<>tn9j4hBl5KE>qZBFl7`7){F>Yt&OAnGrN)R!|AZrxOAuza^x z6#}WEhSRNjL_uT6DUlGQ18A3UuM?!Rf_XM4%Q8lzF;Nt8>EcB$-*cIz^B3tYFKt7v zdFL7clkP5so^tyZ;vaqMgHu#uz5kG3%SFtZm+8bG(jDJwhy`rM7)Xb5?aX<1>?>_YE4=94%pn7hmCF}AaQQt`Rx!XgXRY4rU_a~T&uuHL6PVX zq$?|oi4E4pe401)2hKUlyrhhEs2bFPhFu_t_967#i*V&A5=s$5lz%qO5LyM)B$dUP zM6{9!)s!S}JzwWN)A5|?Gz*Nx`V1`qu@Eh-G3VhlRY)O;WJ<3y;QPMqM_C!1=dp($ zC9WdCrzLfaz*&Qxj4?!YpTrgO?PJz4?JJK~Da)-Ool4s*z2)7gv>mJr zU~Ym%V2x#ceVu>)Fa8fe@N+-=H#mR(JiT6b&&^ZEBg8ERLhD|8q9Wpa?uF;r7_Rf- zkN+0a`4}taSZ5f|#yD?xpEGs(tonsk;km>~!g6@l#!7#grT*Z|8KDn#euSS(>t zNt?L8f=oi|EP%B7t(1Z!Nx0{pdjL3p{v6B8OU(w|HKtqK_>1D4V>lj?Wph?HZm>RF zV|C*O)Az=lqPrWVE}flZhT%A4ILaB0a?-rSln!e{ z(9iGVKGla>q$Sp>kY2y-S)9tq^qLS^0wD&Gpg!7Cnn}eK#@@IDd)S6#b$QQX_ zng}6?Q-LApBcJ*W`kf_|l&lQS^YDWYhdybD#+SJzsoBMBP5FEQ$IT@y-$V zmk>&!lN6*}Z~?YGfk1k)KyOxW3u`^SUYEcAKmJt!dcEGhoBuRKRvmSeR1C+P{L6p) z3#@J4q_AVGH)M7Wk*hTO?zs~S&meqWWvNxKl0d(`y1s$8f|aFZw9=f4Iy)ut1haTL zE&1J#KF|8boRM|7R1+tVbRv}YNa=7+9_UTg0k=W7O}Cx$t~6numwf4!8_ctkaT?)_ zgRH=pmihGw^Krp+_zF5wEZx(k)ro0$!X~`-+RLHDS3{Dy-(Lmc6ozUxg$DVlu0TyQZ$5mZiYGJH~k&+zh9yf_+z)2Ya!@4xM} z`F-GbpJrnK);4eAJzTtak<_MvRi$FNJq>nZA!`V#Mo3N6TL$lm`b)tgNRk8m@#cSf zijhAbZ(%%HYYaj|nHwg<8D(OcjT^Qj@hZ*tJf)W10_{<`bOGATIEt0M6h5*g47d0Cy_IrfytG3Nz>T zKJjaGTLUK3zd*O$r`1hKl7vU@dz2(fkV<}u_wMTh|TjWWsF)UY{T0%7%(+V|q^+1s z_nkkm#d{>r#Y8HQ-Tib9I} z>T|0V7nmSUBOZV2gD53<{pFjeNb$CJJwdCTpp?W}&uC+c2YQ2c$U3Mxtr=XoR;ShA z0`^*S0zpZy<%_io1NLr(ydoROz{HCnhf)qe+1;1@#6r4FNkL&U{`8B#w~!taNF<%K$9KH-`&sI(@W?}tkR&PX zb|{Xhv+Q?^d3xFsf?byNn_<&G|N3Xy7_TE^M-oR10jC2rJ=-<>p6~Ax!Mw=%$fy61 z^Mi9d^5BD{NxJo1@9>-yr6-9Ze&T&^WNn!7%m43}8D<8Q#9GVhYeS?ItX~__>9@J^ z&?Vv|I-D{KNF&AD9=hD58RtdGXI^-XX;!f57tnv!A*}=F@vW*y;&2YeVWuV+WcT(# z3H&&xu%2f=|J4dp;y_70`q8J6QOLfeY0OhkTp>+k@~l8988rSOYukHIY4fV4LSbB4 zxjwtE)m~QGcaf?4Hph2r?Ozd~HtN5z3PgQyIA(bObkqm7HI^)!v$lByV-5X{E@|4r zx)7X-YQRj5&pu-W+wtbXH~H%(_;vsez&lGhn_$XSLCQu{VS zYz6J2SYyfg(=UG*DJAmLiZp8R#w+in+aB=91CJ2LFD*e3LJ5) zngcM5hi2g}ywKQR$GH8_;WlG^w8jU1``0)>ILD8F{|_$Mlb`mZ;5{j;nI-d**(T2r5u`0Z5bEO4WH{FY_l9I;MW>)s?U za{B!)aTMc)BZ?wA?N-3DM=??;k|aS^#H8N)TZSCh2a2_}sk5#%`(6`Pn~~uFu#Cr{ zcxgNup(D-33l~vZ?O>_(6`a{(^BHzN1DhkPr6(m`YX(k};V?V!CZ}x>Z1D(K=CPqD z9A)Xy`tYVAw^M?W2v&enf=;T)Tbj&P@MRSiw)Y`#KON11swba3o+1dr!BFkjjsrhL z90iiwb|=MqABw#MjV0nE9Zd4dlrrX!z7?*eW{c*jq*PZDD7P~D1QGs@}iUYAD zVME)Rp#?=8B|Lcf36}aR{JC%a^Yq$1k|ah+RaJQ%PM^G&IOmwnW)wxi)vMQ-&E|aN zD=(7gIrI5^2j<)_91xD82=vfpX~^=7FMatL`u#rt+u!|PxpeU&?ar2I?VZC+hnV?< z_0N9-Gu>qVdgzysS5My_>a6j@)dQ8a zI@vZU* zA6_A_8woF(7=bjEPtrK^xA(y=Qad98A%m!>oM0=1P;VloLv&MV5IC-GzQFaNv4d$UhwM@_B?- z%qs|Sa|jCPMw<6sy3Ej&d~oAB9LDsxuM@{v$iqkcRpM&*~svlIZ6pu zuJq~jT3BN#vXVGCK15dvL9dnK@eDdGpf2(eEOpy>V5QdyCFBd$eI7`wZas?#*OSha zwT9O=zsk7S-u7p(#(L3odFbuglWLs!2)QDZU-GFs8+9WGY%X|^@VX# z+pyeEaMpz$h*}~dMI;5w=h~#5lp+tjgq>a+PLRxy6|M8m;=a0)Rqyeci$U4b5a%u9 zVv|v^!OTp^?TnbCaXB6t{o<-M=%T6;YKKLj%tH3y45Z#CwrM}L9T~Wn1QWl4Q+f%$ z;I%LOArl>O@!|?uq?tsa8OeR$_g6yU&>jyeXzC?8oen?pBk#vKN54NnsV$s&4R)&Q z0BSQ|YmJokt89Xh2aUUOA~1Qz@QZ&$IoYT>D(xPd1KLXQLo1gV+L906yw2DfbX@u8 zwZ>t~1*yjii&16|XuP`ziU{|7Oe7*6dGlqu?Jh0dq3|AY-x8u5BVHep%}Rdz|9+aZ z9r1>z?qm6UhxdNpqjY*PQFM&9*{8HVloDJ%-yv3#ZW3V=OZ)x-gI>b>|J%0$@E?EW z^B4o)^4_+IPT&K?u$p-Il`6rEXI|JvgY_NGL$Jm)yTT-Ul6FNBL;&&<2)D)j+at8 z?nHfI5Y(TG(Gzl^}Qz{TKVgp5dapG3Bp z=Z3;Kyp|9JpjK$Boss93jkOt4$tD=PgX-{%Byi>>v1WPDLJL7!#`Jp$gXI?9dbC!z zwOH#U;+-eUifwE_aT+!CFi=-(TBhZMaWQ0OCS-ON_#=<;T_?uB*6Bi{t6~Ms7M{R? zHu8)uf@6G<2TDgI6^||V8R#g`MOXf`cb3_;mnkPBlJl35I^MI7fs~SdzaQ>@A1wB1 zNFaJh@JU*^B}WKS5-foqzHphTHGF(yov}6Cz+i-5KulJafE3^qVz>fU2g-ICL+b$$ z5nS;otr;w>Af@DwKK~L~X+rR;iZf6xR%acnSJ&}2G|&`6VvTPy1fkgGbWef36hR;b zRjjPE_$xpDR?5<`v05U8px0|-jpv-lR!@?G*wK%!%b_#0Vt`MY~unH$OT%fy>N`}@{I;6Nlag{(t3aJ!j8Jcx&Rln7)S{S3P zsJ7HT#a;Ddsjrg@0H*+p-hTaJu~{fT4}afEV`A;eJF;pa2G$a4=k=Yp0P1nq%~q%5 zIkQPdVLY}$j0UDA>kX4~$ha6XE;g8&$%!G^r*;5rz1G4$rlB9wj9A zBq;+Gu@psglxmt%Lg-jL{PHJ|amxI{14NwxE8p;LRNCRrAl^dDZEx+dzupt5sNc1+ z!mu>Fdi^Sywa8cy>y#^lHz5$bK7Jlkc(~CApTfiEA&x+3l#<-n@6e7lX+>)J*aH{I zs}4JPUNV~IxWeG)C2<<@#&3L>Ucb#Nua;cB9*AJ$Sn!5N+r+V`GA5p@R}1iP>2i#e zkY{0mq%B#+N(9z=R@X}KFc@f*5=7PeufLw-9ju%SLDbLz$dhFbDPUzK^v1h(t-xB} z93VGt6csMx&TA&`J*Kox(^ONGjMisNr#URQP>H79X%Q!qm)4(WT8?;T_*v#=%EWBq zyv3hzUEY=wxWz+3R)Dygo?PA`AW<{6s@|ZZG##zcA~dPoo}+izY>GE!z}q8e+GX9D z{f{eiT#=vXK?|TI6-ImdIw0dR;gLeoO$H&aKkrjWixn~6M>r9KPyv4~LP1O#g~LE8 zNk z!Y8;;<*Ec87clhi>WZzGXyR>T8jNzV1lLvrI;C-573tx!U+(oX0k5$$$@(u!WBD2!n=oiUYy z&81eTeRm#_#`Km40o^9Ia2m#VUU*?UCf(Qo&KXY(f~`186jj04P`2Luyn3_TGoUyc z*@_N)3vP{ot5;q1IU%4{macxpca4Ph;stq@^TM-VWj4+zOM_IBZa<>kRZQ|tjLG=i z#>bhIBaAQc-rdsXhudTUY`ZxKK4ujYXby-PM{ve50$uz5O3{*Xe|8~Xp{R_-o8k_y z7>_NBE#~4A#?K^zp3(^67-)^t5owf?s1}{1kFq&Qn&FKJSavD!)f}0^U_^LNDN%9O zD_U_Vg6VcrN*hph?Ia30cPWr^yWvz8d)G*~f^F|NO+HQ4_nweOEDE=cOs3Z8^~T;Y zZI~S>zq@JUFOI1!4S7}uj{kXqPBcn@iY@4ZX*s5}Gv;!dGb}5#N1zxnY~tO7Vt!L)-5+-hT<_J%!CG zW+5nzq1y=^b&Ltxxi-BIlRCH;?w`iQ-}$#q8||-QF~)NB)itJ*IqPe45P}Ea_8=m* zT<2+~V$LV8eI7$WVY8!c{=LuHU2>*0IQ8cD>|qf!5Y_7CluzoQI0gMEqOUZO5U8Wg zQHWu<5QIAlI`H&GfKmvlIkEcRx)lV_QxYTK^~o3)dAjWmQLIVZ2_jNhr7^%PE3iQ6 zEZS}_ni8UFRV6|XKJb*4U+t`_NGe0_y2jg!iU8tp^2>vNKJ5Li-*3+n+{8J13Ph=fP_FGgP$(^+DidH4$~KfjvEBq4!W^ zj#NqBd7;me*2GF4S(kceDK>84tsx#pn_Jg4$3gdmPX;Z$h@#n^NT2mQ+N$Dwa922!S&t(^sA)>aCEhTt?}b{Z6FA zOwOHvm7|WKMgkrcM{6rnOYNs2Dy{%21+)2#U;UjAveX~&W8eS7^gDg(5+W68+FJ1q zkKe~qH{tQeJH&BN@j^fxOQfuxm)JrUA_P)Et0hTONxQ9@D1DLFJPP|fwkj$P5G8R# z_-UA2wA|J{uCygD-1ricV#JHXXDLjMDhq^n+ki6dxX*Vy{(d^ifFw$p z7gIj;#ea|Uj&Fa%U!)y(17nb{m~@0-seKMDHA-!-8oX7@Ve9V%r7d{r#&b;bAurtc zGxBmqQO;0RU3VQ&uL*lR;3{3@Wq99Jhr{ANIcUXbpadfBu+%r#{493AHU`5H=UM=% zkaUD%No)FAb3CMUJs6LfO+uf+MMA@~5&=T0;CdY4065CftP8Eopt1y}p=^1lCD2YH zgn)iGq1TORwSooUs&ec&-d^Oh^I)r?zjf7I=-Mku5{VF7{rt+(9K{Q82l zU9sW1@cSYUY0&v3LupBz#Et*VA`6obc#c^<3iN5-G?QtaWjx;qrnXI)6=TNpjf%Q! z1M3XVg|cqr3{pr+lVhd9RR=<>Qv?EAeXf$hI#WuW&`Jw9fN4HtGT&sH4=GKybwJe1 zuHN94B~WM4>Kc#wJgg6aL-tB3-ulxI-UQB{cyZn)*}4I-4N+KU4Qh+vfcYd9l6OR1 z1}fsQL6=w^tweJ7U_@vh(qG|$_y6^#iOAlU9{dd_jsmr=a#j(<==j3%rJKq1-7K!YO~ZI@T1@NL-aa5N^8)O;KBRaq^V+QNjE(is;N22 ztx)8SiYtXYw|x1_6E;?-eC)UWjM+GlyC|(VcW)@RT7P|r(uzmldOuPMu6=bCAtVpK z@d{}tVddfgsU_AMJPu<^CfOz*dHUZo&4)Xl(IGAX!5`Hs=AQl&#JWYlwS;j6&tCr| z0>P7)zYQfLuFYOS2*H*9BcxHAOM}b7O4#u{7Hx(tq7GkuSCC1z$?tsbmziXn7?&Tq zR<^x zRCB;r?^oon9C0aD0jQaY z0>@*GA6T4#`rp<%yp;6Ph+ah%ehb0#Tfd)MJvfed0339MM=-aFN#Xe9wStYzklXF; zGHYtG+P{Cpqb-s|Hi5lc&4Mn*NUU|-yfJ2Dea6TC^V1AB=i~~+Ac0ilJZ!8_1KswO zK2`~yyS4_#QLayjlw@OVNNGwg-G45$`H+y@)`fq#{xYR|Zd#=r+C9fYKH`bNx@S&T>!xaXLw# z$L@U!<4QjE%x{vFGulxf=Ph}8w9UV3+%-|p@ql$NYv6@jd!)Bt4z&b!=8Or@eFSJJ ziR6hq|F1i7-ZRb}qrx%FE#tzo7ag8+p3!7XtEJJpMI4LUXZY0o5NE=Aqc~I- z+RTC!h^hlmF)sr{vXWRS$&E!9Cd39rz#J4s87k$A8hGYZALwn8 zdc&I^X*SxV=dR9`JZ2&S_s zzxq2L0(PUzvEFxn5j3MZLDt#d^3_6vUeb@uk;DB2A|glQChfxW?R#QL=&(dvS~DWO3-vHHnXNhS!H* z3M|#N3t%(waCP)7LP%a2egV8ED`$Zg-i5=$d3(AK{$P1V1J9o2H=d^WJ&wCNNZ(b8 zuG*^hJ1qs~oy9wQBJzbhCC3AZ-|zYm3y5REjnxf=fI+{5I&BoB z0Iel)qFG*PqhpQNpmRf-*{o-+Vr3{(0$fe*ev1ipS3j)f;3UQ`&%wDpIg50#Szn)q2Fm?og-F?+!#Lh(slBx;btq+ zeDh;hptStyGuO!`8L!A8B9f^4y4WNmUvYRT8g^@0t(8NwN4Mn(?0)Y~S)@(JsPN;9 z8n}9g#&Z0@`|bbjg>i9}1r-ZLEKZpA+ef^2xIDw=8Fc%1U;+d}MF`lXR3~#xpNKXT~E5IAe?Aj|t(<#Z)N@yao^RgY9{xqSZLMq~O_amYX z#rmswdopf-NoTQ@{Kcj2_Ch3JY8>=qh(Vm|2M%s2Kq{o~ z1w?mPGe6K)&AY3D=q;Ecd{5x_0p zF{>z_;)VS6$?*UVGp`VVu1+eR-AWQtqT79(HL!8SyYK<>yOb!LgGuQ)W+NP|bKG1X zf)K24jEJBU2r?32o@Yq=m*2VGs?0 z?SJjEqx;ma0H{lEUxEM${;@kfz-@!A{!>;UoggYh4+3RGg9cm_4|pq>uEpeY&GoV8 z`ZQ>%&D^n^$|@Kb@Bqg#h3gS{@36BGE}PJQ^exCF-F?+UFTT@e3Kl{Vbq6H$d&zcOfam6F zNogvGFrf>R^ByS!#rVzF*4f;caCJClZ8~Qx1ge+P>m($Rrf?3SJcDjVD^kq-2uGj? ztBYs?Ro#C@CxQr_iKMKGp~B+-2MC_7Er5^T=`rpabG2`p;LVPJ-!5?>_wSv=SwZGJ zc*jO&1E3^xw6vfT%K##(+B6?$A2e>{or~b0TOGV95Gn$xD!{|RA_XiZ5|3c1*T+SU z*=)LR$JqVERWSio^ZlRp?bUSyg3#H{d8S#3_Z}?-&N%XUL1``MP=M6wq@hc1g$A?; zoCvOqS;*AXm8T7UggXZcJ8P-ed3^|0@^RRz27K*K53(6-waM$g0(HkBxtGabN$~w0 zwiI})zy;t>VLhL{k)x#GGuJcviR66`x9KO6R7;c;w4$S?2|Xf;=|B7?qW(FAj*k|D z+gY-D3l@Qp65Sbut~b4lI5c*$8X}*Eo=ToxyTgxt|9e@VTmHlE{yL+{_*j;Jv6h#w zt&>+Jt5S%jpyjpv?zhjuIB4NpBtltkM~ zmg|bSX*uR&uY8HDoHxZZUU-mTbwJBWCqk+D*Lf^JNV&bMc6|W)u;=RozyZGi{LMQ$ z*h8}t^7V~GSH8ZgeEkFQ?N$4vd@8Y}!esHb zh)+|MQZz?aL1#qhwF5 zdluAFLMhr8uF$#vG2)ebNLKD4Uwt(cD;+RfUL|Dx$FV|Dnl*aegpJ|kSmwN_pthg* z%$NDI&p*dEzx_!%?bhkUIz%w*RV282W5Rfv^VQW+Xh4ETMT&unh_vRyJu4`!_Pkw* zq^AcgrRR8M`T~Vp=%d)g0t8-eVd%f!q>e#pEgSNbg|+!Nz2|kLuaW z1@1Xad~o$~M&j-Mn#fnzjtkekp(VsRe7SJ}7ca#=TS!WTRLD3%MDZOA1XPwtyN5I> zCYx7p%0nGn0VIjQp}25vKor3chYt`{L62vamrV1}S}dHt;r`0fVhVFe z6Ie+*>Qee*7h<#itFQYQ;NF_Qme17xSUdnq;GY2h%bASNZ{_nBtNM;}0C*3k2)=(l zPQoE@aQ*Yv{tzA~JnPQjoMcj#M8eaF)b3`WLZVtdRI7(~4sQ)YM0f5G5CWkiq}H@A zKS0^;Af#&AZ|yx<5XFM~A8(^OJ>K$`_i$r%ga7jMOH8I2N*!^|LGt%Vy)mBP%hx`-5UI%tlg8dS=`2bjq?${t9;rHPC6H=mEJ#?#I^#{BQ7K;e(iqH}nr-7sdkDX8O`+#(W2;6;9 zs%VK0MPayjehKeA!}0Xk;GP;EP^ailMe6k-MX2OVTmxm%w%(a#vosD(KyFo(Bbd>{7-WI<~sl2fByih z>qDee$1-eWRf2mOJ4gtSO3-aZyyq>Cke7j}D4Q32>XTo_3(u3^^Azn?O45!GaRUVH zsKa~j`yod82EYH>e`IRLTg5lR<0M!W(uUF3ct)TGWl1TvMg4ckvxGg~$X=wNKLh;U zX%24Dq~D3=Yc~EdC*QjT-`||T_pEY@N{4Q?nX_b0vP+NE1Q}6+&`Izq?=p^gAth07 z3Gdyp`W7fDxv&x_w=P{+31k}c9P1oqU43_k;yu`^fk-=zh*U7$HPCA%IOpi~+oWl- z3x&9N(0cDF@)GMz73AAnIW$>;ubslqJ*7doF68?6S)xC)^Nqa@fRCK!;C6QYX}HR& z7{G~$8k)Sn#N--hQoxvGeKgktSOd>l}lAhrjppKf%W4m|y$N-)D7g$TKfqB`?kX ztVSwBVAzE{aT6z)c3zrv1V`Am+W-_Sl~y2|8PqKJV4{$a>I`b z^Y2Uma~$^&5yB(23;#*N2KSD{?QT{fq`Gw;tg{k9)j>$^9S5imiMkDSElNtxuPhNq z5tq&{qoibGoH5UGHb=*g4cv;9r4LZx#oH2sRx569p}8IBna#4QJ|I;2=txoIC9_G! ztei86#uRGWw4&QfnwY@XSS(;M$KRaO``^Hi6882s*{?6aZ=85g74u5N;=9=ChvWPD zJH>mCGlJP>@crFUegC=yOjv|=bXOcIatI|cc&?U)nFGth<`5E*bWyDVtxNY4bp{A^ zyjBYPY5Ln?2?(Lkoh7`rnCUQ(mn_`A2MS}V=AUX?T*5g=yOr`If8jk?Ysrg}8*4-U z@h|>6)~Z0?p7+OAPlsC@`<4q}&E7;WJLhjU%lOC#Kf!#KGdR~lNl~SHJw0mYFa2)c8j*)P7^H58Q7xTi|;+W-Or5?i`@;Z*_8m62n=Ex8iu8 zCqSr5^J|Z+Y4&~C_|0|^+rJMXP*H-6lOxUa9TNdkN1nmGY#J1hY~sM3qHyya=JHlR7Bq+umKOq_E}Cv#?#3>}5Yzpn}O zl?t7K3yts^k(9f<#BHVIN83bqRCa0n?b!Z<HEjs@Hf5kjH6%c0T6c)cPGX?}^#=G^?~ZxeL~TzT(bM0a|-RO@1_;@nc7 zzxQ)L$@QBX{KJ3tfspd6?}M=U@3}DG(uKjXaRiIvoM$++l%;1dh$u_P=BC-!A$XV6 z<4hDjlZ-Yhl1{BaOT>i^UZx~pd5B2Q$lmY*E-rVi!)>nWZF@2&mwH(>QU3k&`}@hK z2zztjQj+scmS7oK9gy|ZL|Ss`!hrKDgIh-d)@y0U;`UWt zuyejCYxUkUFAej;;I%@;3RhP5qXZ}!dIgAp2?zma(bSpjIdyObHBzre7vP4kOw*PXVwiUR65EDu6>RGOnAPn?FR|5jC$M|wd=MRcn6 zPR-B-_#@`HcSia5)A+Z|67U|OH0i|$kgX20SD%Gqx26z?<7f|Dl_mH)Kl>8_?9*6O zVGfm&C@JZ6+b6y!Aq2giq9`0UZ{!q(YZ!t|VX)RQ+MEWfPasR%Ay-3Y6B1baB%+WguJiAghGEd!QV80EmDa{&wMc2EUiDzoqfdV)HxC z(I~A%*yw53qO>Dja!9om_^a2e_mE1#w+*@sv?i8Y*m0pW>ACxe`YQqbcccfkx5nQ! zyxWllkdml>K4dRW8M1u4K|xXpg!GgqqymK$Wb=ZL{my4_*7A-&_hyn-XjGa+ns0s6 zLzLFBJ_^47a<2{EvpSptp5=ZADLjR}mua!d$Da8hGdt#Mt@f{;_bm&v{>>gpzXd=L z@a;lSLX|bBFWFJ^exy|`JkJWxPvQAx;dV#)t830gjvn}|On+T#|4{g`-)FXzq*Zkg z^3C@Mgw{vi{C8eNlLZi}!Y|wzzWHN|wH|AIKzBM%F)x@+GNz+>v-qV96@fwuT5&|| zJw+MJg>EYlwB$vJ2fAq-3cltV#YsE%-hEP^!?hCIb_i4p*L!|Sz_WhwO%}pJ3xBik z%HAWo{{i87x3c1|HH01Y=bx1bkXi)F=LS%))5om`4pMpIZjO$8XlyC!_S6d+tvXSR z^BC#(IA8=`9G-1B3m$+&r$Je539U!UiCYE4(T0a=w*H%P+0K71SZ{&qIrpAn9yPg1;d8nSpJ2SV~i*!)tvp!s$E zcL!EU?GBpPGwe?QH@s6KB|^zy38;v>Gr6^0JWv##qVO2wC`-$9mNT8_I0;@7qW-1X zwctbgRxJE1tBi!Gw4wi+d32{BPqP#6?-v4xe&N8VUiGf7sdb(HLe(Cgy6b2uJnsh9 z&+3l05K!SCaUyYAl64%m1T)=EAC2$`>Q;OWN#Lj6M2>EoTDoNa7%OSwzMJDANJ(`m`g8=H(K8Ix2n_Yr7M zt|TA-%4>9cE#C8%M~LI2xMUu!VjjQzR>s)|tJ4=Li?1&$U=MjW3$^}>;;Mttd$$ci z*v#Zk7T)H+1&+Q-Hh>3!ub$OiEoyBc!-1qC4>(*D=)ir|6i_OV%AsP9j(pSBI{fkC zfkM+q5Wul_r(ACeoGn5vdEIjOZkGD~s@TQe74vtGI0v>$?K&5F0G8HbRXFI06K`Gv_X_YB2Y`fb zS$1HbYXnpXba}c<1U!pivPjY3-@i_rn3)5fKuVwsA$aJLee&yZ!YJiF2OG#8MO?^=G|j;yn|< zwG)UH_!biADnVBqUb!oTz!<};FJHxb&y@%70qM@Ps__oUV}w0|P1hrnLdPW2(6GzjPMaTv36p$)W-Yb#)XeEMG1Q-$*s!tKzO9&ZianqWpZv4FdH zF*Q+Qxo-#Kx?tu`-${UWd&^L3IuXiB2+kqCc$Ud2W+CAe*S=ZtQc|=pm;USM>bt{(=TRAkeon zrXZ`l!FpjZ3LbPGFBZ7u={Fq>w4;txL0Y@AWdN_boZxvVJvxRh_wcMU@$U{e3mnvWK2dg=93&(IJ_w-=X0<*sJpb<=VbD<7rYzT za5BJx{Q@V>aaQSRAzU_qw*$Wj{I%2g!20=bm4$A96${sFGYf0QC$?J-jSslf0+2Fr z#3S%ZEMBrWnxL-y5suV-@8@`y!7a_5DVe_dEahk&XZG$O?3}|{cSp!hYSZ78l{w`+ z`OO*mEXNfl;1<;OO3kHqLZlSWytYa!j(F1p7qO+`;~)J3)A5{aV~#V9%$o3ooCl|n z;z1BOPCN?~XMV4zK6ip&Lhv(2`_hZRXyk?8Ru&`O)?sj%fE3o4epsoh|8c-u1@Ydn&-JAX^OIHQ|EY?`c ztfZWm_`-w-A-DWEAq1T?-bG^KJ>;b!D@ta0iFXjUqYA-k@futt@mi64@wFWV2r=uQ z@{$kKroI>8s?_!3hCdEF-tEA+egOCc@JB2Z5FJ-s)AMa-SZ?P(wo79(RygPAKX?&2 zFDN#rNCA&tULuJ!u~v9I({e^;#=NlcG^Ne>S~$QLrP|D^PWf;5f@g!q51Jpq$=%mW z4_^Av`|yzay| zzHdvgyGn#WCT&!bVGlTv?&Mt<6I=jiJ=QwPyrj%aC`>T_bKBtlrFTS15NUxFTLm3L z2-=+#uOu^TkwVbzw@I`jj&(R>XC7G;Uz=&b5Tp9r9{#BplwQ#I`Uh$G1|;9axc0yH zc2>ERz&|FCi~c(fVHVo=W=^Uo8&_dFW_rt_*op}l=UK~hjIvv_U~FAxi;T^uKTgzN zVd=?lMJDZCvw9fo?^$YEsbf0#KS4QOr`&iIZ+G_$6ha(}Li{vk%Ssa{ogjr_I?R}i z=9Q~v;rW}0ND|-ELHn5X$u)A9veLPL5@FfKTJz@nFJYZ!b23K=Snjq%Wc79J`_8VJ2-hL&fQtbLAiVcC5i!1K#d#m%MdHcf z5-W+N<{Q{if9)6AXdeMzdzL~~Khm4>3lfVpIE_BA-8r;_F869Xs2&{2j zeJ!tweuAOuyvO01q8-ncCFPx?7;aF`9iRE^SBVnIg?pChw7b0Rp>H9H+IRwHquWja zwwd|@L97yD6<1xP-Ca?&xtCPi=0~0Kzu^VeYTpF;77u`Pt77O>Hm?8O zPKCgE$21#ZY{66aeJ9g=#OGi619CGx!#n~V&_x5GvOf|hKar{;~?PrGsF7koas1ceRT>*2Fp`)6p>f> zq$G`zDp&vk&+m{@&>gf98p;TqmdvyRX;Dg}PsGu9R{(*3fq;?u3@k+T*+c8!%3v2D z!H3C-vjB_eqs2|#loc;n00OqLu8IYVKx{$2OW>2$e?Jdg0p10?ANb3s`WW_{G=cMQ zb(%5LhJK>aYPVnGL;Whq<2|8UH9HUWU8Tg%#$5Y@U!@$aW9QRtn_Mhhhq%4b|H4?l z_`*8tn{)o)55LN6oD*$Kz&O6}r>}<%exXgL*W&Hp`X*ZKWE<^QyVvGBf8ZTBYst)v zNipPO&%cPnVTHkn65~n`pyb}%hjnbAllGZrL%#Uh$C+ds6laSC_!Zzk0v`ungRS1P zuF~{oFJJ!_hu47PPR#|_>q{1`0oXmK6(XtDtQF+GK`I?`Iypj(!7IT31N;Qg0qy}F zCd3V%0NwyR2wVaNz=`R5Yk$&shjIJVj)gM1u(<99eX?tO4l^BLrlY`Lu Copyright (c) 2014-present Godot Engine contributors. > Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. @@ -103,7 +103,7 @@ FreeType for font rendering; portions are copyright The FreeType Project Runtime file: `ui/fonts/seattle_avenue.otf`; source, hash, and original notice: `ui/fonts/Seattle-Avenue-LICENSE.txt`. -Public-domain fonts are not governed by the NETfishing Asset License. +Public-domain fonts are not governed by the straywild Asset License. ## Intake policy @@ -122,7 +122,7 @@ owners' private project records. This public document should contain the credits and license notices needed by recipients; it should not duplicate a changing file inventory that can be derived from the repository itself. -NETfishing does not accept unsolicited contributions. For work expressly +straywild does not accept unsolicited contributions. For work expressly invited by both Owners, maintainers must obtain affirmative agreement to the source-root `CONTRIBUTOR-TERMS.md` and retain the written invitation and agreement in a durable Project record. @@ -159,8 +159,8 @@ against the repository when this record was revised. | Material | Runtime location | Credit or terms | | --- | --- | --- | -| Kat animalese alphabet and number sounds | `sound/dialogue/animalese/alphanumeric/` | Project-processed derivatives of the original source voice recording supplied by NETfishing community member kat. | -| Kim animalese alphabet and number sounds | `sound/dialogue/animalese/kim/` | Project-processed derivatives of the original source voice recording supplied by NETfishing community member kim. | +| Kat animalese alphabet and number sounds | `sound/dialogue/animalese/alphanumeric/` | Project-processed derivatives of the original source voice recording supplied by straywild community member kat. | +| Kim animalese alphabet and number sounds | `sound/dialogue/animalese/kim/` | Project-processed derivatives of the original source voice recording supplied by straywild community member kim. | | Tuffy font | `ui/fonts/Tuffy_Bold.otf` | Public-domain dedication in `ui/fonts/Tuffy-LICENSE.txt`. | | Seattle Avenue font | `ui/fonts/seattle_avenue.otf` | Public-domain font by JLH Fonts; notice in `ui/fonts/Seattle-Avenue-LICENSE.txt`. | | Fishing fight loop | `audio/sfx/fishing/fighting.wav` | Edited from “Spinning reel.wav” by Freesound user tosha73, sound 509902, CC0. | diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md index 09db779..76ed032 100644 --- a/docs/DEVELOPMENT.md +++ b/docs/DEVELOPMENT.md @@ -1,6 +1,6 @@ # Development reference -This is the authoritative reference for NETfishing architecture, engineering +This is the authoritative reference for straywild architecture, engineering decisions, content policy, authoring, and validation. ## Architecture @@ -43,7 +43,7 @@ open host may publish a short-lived room lease, and the shared Join Game page may browse compatible leases before handing the selected address back to the existing direct ENet connection flow. The directory does not carry gameplay traffic or become a gameplay authority. Its base URL comes from -`network/discovery/base_url`, with `NETFISHING_DISCOVERY_URL` available as a +`network/discovery/base_url`, with `straywild_DISCOVERY_URL` available as a development/deployment override. Friendships are local identity relationships shared across save slots. A live, @@ -261,7 +261,7 @@ copies of the entire customization catalog. ### Texture sampling -NETfishing artwork uses nearest-neighbor sampling. Do not enable linear, +straywild artwork uses nearest-neighbor sampling. Do not enable linear, bilinear, trilinear, or anisotropic texture filtering. Shader samplers must declare `filter_nearest`. The three canonical repeating terrain textures are the sole mipmap exception: their projected shader uses nearest-filtered @@ -351,10 +351,10 @@ godot --headless --path . --script tests/fish_catalog_content_validation.gd rm -rf -- "$test_root" ``` -Do not point `NETFISHING_DATA_DIR` at an arbitrary empty directory; it is an +Do not point `straywild_DATA_DIR` at an arbitrary empty directory; it is an explicit portable-data override and must identify a valid data root. The PortMaster launcher is the narrow exception: it also sets -`NETFISHING_CREATE_DATA_DIR=1`, allowing the game to initialize its known empty +`straywild_CREATE_DATA_DIR=1`, allowing the game to initialize its known empty external save directory on first launch. Headless tests cannot prove visual alignment, mouse routing, shader appearance, diff --git a/docs/PORTMASTER.md b/docs/PORTMASTER.md index e8c24f6..3c75a80 100644 --- a/docs/PORTMASTER.md +++ b/docs/PORTMASTER.md @@ -1,15 +1,15 @@ # PortMaster reference -NETfishing's PortMaster release is a canonical PortMaster package, not a +straywild's PortMaster release is a canonical PortMaster package, not a version-named generic ZIP. The installer-facing archive must be named -`netfishing.zip`, and its root must contain exactly: +`straywild.zip`, and its root must contain exactly: ```text -NETfishing.sh -netfishing/ +straywild.sh +straywild/ ``` -`port.json` belongs at `netfishing/port.json` in the distributable archive. +`port.json` belongs at `straywild/port.json` in the distributable archive. The upstream source-submission layout keeps it beside the launcher and port directory, but PortMaster's release builder relocates it into the declared port directory. Do not copy the source-submission layout directly into a @@ -17,7 +17,7 @@ release ZIP. HarbourMaster's installer also relocates recognized non-script files found at an archive root into the detected port directory. That compatibility behavior -masked NETfishing's former root-level `port.json` during auto-install tests. +masked straywild's former root-level `port.json` during auto-install tests. Directly extracting the same archive into `/ports` did not perform the repair. Do not rely on installer relocation; build the distributable layout correctly. @@ -26,30 +26,30 @@ directory. The templates in `scripts/portmaster/` are authoritative. ## Release contract -- `port.json` uses schema version 4, names `netfishing.zip`, and marks the +- `port.json` uses schema version 4, names `straywild.zip`, and marks the self-contained package ready to run. -- `NETfishing.sh` does not contain a `# PORTMASTER:` signature in the source or +- `straywild.sh` does not contain a `# PORTMASTER:` signature in the source or distributable archive. HarbourMaster adds that installation marker when it installs the port. -- The executable is `netfishing/NETfishing.aarch64`. +- The executable is `straywild/straywild.aarch64`. - The package declares AArch64, two analog sticks, GLIBC 2.28, and `weston_pkg_0.2.squashfs`. -- The launcher starts GPTOKEYB with the explicit `netfishing.gptk` no-op map. +- The launcher starts GPTOKEYB with the explicit `straywild.gptk` no-op map. Every keyboard and mouse binding is disabled, leaving only GPTOKEYB's - device-specific force-quit chord while Godot and NETfishing's controller + device-specific force-quit chord while Godot and straywild's controller mapping manager handle gameplay input. The explicit map also avoids the anomalous controller behavior observed on ROCKNIX without a passthrough map. - The launcher calls `pm_platform_helper` for the game executable after starting GPTOKEYB and calls `pm_finish` after the game exits. -- NETfishing automatically creates player data for new installations under - `ports/saves/netfishing/` and does not present the in-game folder picker. +- straywild automatically creates player data for new installations under + `ports/saves/straywild/` and does not present the in-game folder picker. - Existing installations with a selected data root keep that location when upgraded. Device-local data, configuration, and cache remain under - `netfishing/conf/data`, `netfishing/conf/config`, and - `netfishing/conf/cache`. + `straywild/conf/data`, `straywild/conf/config`, and + `straywild/conf/cache`. - The archive must not contain `conf/`, saves, identities, logs, source files, `.git`, or `.godot` content. -- Release downloads must publish only the canonical `netfishing.zip` for this +- Release downloads must publish only the canonical `straywild.zip` for this platform. Do not also publish a byte-identical versioned PortMaster ZIP; HarbourMaster identifies the port by its canonical archive name and the Forgejo release tag already supplies the version. @@ -67,7 +67,7 @@ The script deletes and regenerates the Linux ARM64 export, stages the package, validates its structure, and writes: ```text -builds/v/netfishing.zip +builds/v/straywild.zip ``` `--package-only` is reserved for repackaging an already validated ARM64 export. @@ -83,7 +83,7 @@ bash scripts/build_portmaster.sh --package-only --hotfix The hotfix keeps the game executable and PCK tied to the release tag while recording the newer packaging commit separately in `BUILD-INFO.txt`. Replace -the release's existing `netfishing.zip`; never move the game release tag. +the release's existing `straywild.zip`; never move the game release tag. ## Local muOS installation @@ -93,22 +93,22 @@ The muOS auto-install directory is: /mnt/mmc/MUOS/PortMaster/autoinstall/ ``` -For an explicit offline installation test, copy `netfishing.zip` to a temporary +For an explicit offline installation test, copy `straywild.zip` to a temporary device directory and run: ```bash /mnt/mmc/MUOS/PortMaster/harbourmaster \ - --offline --no-check install ./netfishing.zip + --offline --no-check install ./straywild.zip ``` Before upgrading an existing installation, preserve -`/mnt/mmc/ports/netfishing/conf/` and `/mnt/mmc/ports/saves/netfishing/` on the +`/mnt/mmc/ports/straywild/conf/` and `/mnt/mmc/ports/saves/straywild/` on the device. After installation: 1. Confirm the installed executable and PCK hashes match the staged release. 2. Confirm HarbourMaster added its `# PORTMASTER:` installation signature to the installed launcher, then confirm the launcher starts GPTOKEYB with - `netfishing.gptk` and calls `pm_platform_helper` for the game executable. + `straywild.gptk` and calls `pm_platform_helper` for the game executable. 3. Confirm `conf/` and the external save directory were not replaced or removed. 4. Launch the installed port through the normal muOS menu. @@ -117,7 +117,7 @@ device. After installation: Start+Select on most devices. Installing the public PortMaster catalog entry can still install an older -catalog build until the upstream `netfishing.zip` is updated. A local release +catalog build until the upstream `straywild.zip` is updated. A local release test must install the generated local archive explicitly. ## Template provenance @@ -130,7 +130,7 @@ f24daae48f543b3a270a5aa46b5e73a31904bf0c7216d4c8a9e15a8dc48a5eed screenshot.png ``` The remaining catalog metadata assets were copied from the installed official -`netfishing.zip` package and are intentionally preserved byte-for-byte: +`straywild.zip` package and are intentionally preserved byte-for-byte: ```text e2a9d132744684c67865c01eca027a8c9946b4c5a19da57c82f1af0373dc83b7 gameinfo.xml @@ -160,7 +160,7 @@ The device-verified Godot mapping is: - left-stick click `b9`, left trigger `b10`, right trigger `b11`, right-stick click `b12` - D-pad `h0`; left and right sticks `a0..a3` -`scripts/portmaster/NETfishing.sh` must replace the incompatible SDL2 entry +`scripts/portmaster/straywild.sh` must replace the incompatible SDL2 entry with the Godot entry when that SDL2 GUID is selected. Do not append the two entries with a newline. WestonPack reconstructs the wrapped game command through a shell, so raw mapping values passed in that command can be split into @@ -169,14 +169,14 @@ this failure with the `GO-Super Gamepad` mapping. The outer Weston environment also does not reliably preserve the corrected muOS mapping for the game. Write the exact selected mapping to `conf/cache/controller_mapping.txt` before -starting Weston. Weston must launch `launch-netfishing.sh`, which reads that +starting Weston. Weston must launch `launch-straywild.sh`, which reads that file, exports `SDL_GAMECONTROLLERCONFIG`, and immediately replaces itself with the game process. This applies the mapping at the same point as the working 0.10.1 launcher without passing its raw text through WestonPack's command reconstruction. Do not move the mapping back to either side of `westonwrap.sh`. -Always pass `netfishing.gptk`, which explicitly unassigns every direct and +Always pass `straywild.gptk`, which explicitly unassigns every direct and hotkey binding with GPTOKEYB's `\"` value. This keeps GPTOKEYB from injecting keyboard or mouse events on top of Godot's native controller input and retains the device-specific kill chord. Supplying the explicit passthrough map also @@ -209,8 +209,8 @@ The light profile passes these Godot options: - `--max-fps 30` - `--audio-output-latency 40` -It also passes `NETFISHING_PERFORMANCE_PROFILE=light` and -`NETFISHING_LOW_END=1`. The game renders the 3D world at 37.5% linear +It also passes `straywild_PERFORMANCE_PROFILE=light` and +`straywild_LOW_END=1`. The game renders the 3D world at 37.5% linear resolution with nearest-neighbor scaling, reducing 3D pixel work by about 86% while the separately rendered UI retains its canonical resolution. The light profile also: @@ -244,7 +244,7 @@ omitted ambience or replace the micro textures with desktop-resolution assets. The normal profile otherwise retains the full visual presentation. To opt a capable device into the normal profile, create the persistent file -`netfishing/conf/performance_profile` containing exactly: +`straywild/conf/performance_profile` containing exactly: ```text normal @@ -253,13 +253,13 @@ normal On a typical muOS installation, the full path is: ```text -/mnt/mmc/ports/netfishing/conf/performance_profile +/mnt/mmc/ports/straywild/conf/performance_profile ``` Set the file to `light`, or remove it, to restore the default. An externally -provided `NETFISHING_PERFORMANCE_PROFILE=normal` or `light` environment value +provided `straywild_PERFORMANCE_PROFILE=normal` or `light` environment value takes precedence over the persistent file. Invalid values safely fall back to -the light profile and are reported in `netfishing/log.txt`. +the light profile and are reported in `straywild/log.txt`. Do not use Godot's low processor mode for the light profile. It reduces idle CPU usage by sleeping between updates and is not a game-performance diff --git a/docs/README-PLAYTEST.txt b/docs/README-PLAYTEST.txt index f1839ea..fb08636 100644 --- a/docs/README-PLAYTEST.txt +++ b/docs/README-PLAYTEST.txt @@ -1,10 +1,10 @@ -NETfishing +straywild v0.18.1-alpha Alpha 0.18.1 Thank you for trying this early private playtest. -NETfishing is an early multiplayer fishing game. This alpha includes local +straywild is an early multiplayer fishing game. This alpha includes local progression, player-hosted and dedicated multiplayer sessions, public room discovery, and direct UDP connections. Expect rough edges and please keep a backup of any save or identity data you care about. @@ -12,15 +12,15 @@ backup of any save or identity data you care about. INSTALLATION 1. Extract the entire ZIP into a new folder. -2. Keep the executable and netfishing.pck together. -3. Launch netfishing.exe on Windows or netfishing on Linux. +2. Keep the executable and straywild.pck together. +3. Launch straywild.exe on Windows or straywild on Linux. Windows may show a warning for an unsigned application. This private build is not code signed. Only run a copy received from the playtest organizer. Linux users may need to allow execution: - chmod +x netfishing + chmod +x straywild CONTROLS diff --git a/docs/README.md b/docs/README.md index 05ac0b4..444ebc7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,4 +1,4 @@ -# NETfishing documentation +# straywild documentation This directory is the single home for maintained project documentation. Start here instead of searching feature, asset, world, or script directories @@ -17,10 +17,10 @@ for local README files. ## Related repositories -- [Discovery service API](https://forge.makearmy.io/woofmeow/netfishing-discovery-server/src/branch/main/docs/API.md) +- [Discovery service API](https://forge.makearmy.io/woofmeow/straywild-discovery-server/src/branch/main/docs/API.md) stays with the service implementation and defines its versioned HTTP contract. -- [Dedicated-server packaging](https://forge.makearmy.io/woofmeow/netfishing-dedicated-server/src/branch/main/README.md) +- [Dedicated-server packaging](https://forge.makearmy.io/woofmeow/straywild-dedicated-server/src/branch/main/README.md) stays with its installer and update scripts. It consumes this repository's attribution and legal notices from the exact pinned game commit instead of maintaining copies. diff --git a/export_presets.cfg b/export_presets.cfg index e917d48..9ae60f2 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -9,7 +9,7 @@ custom_features="" export_filter="all_resources" include_filter="LICENSE,ASSET-LICENSE.md,TRADEMARKS.md,docs/ATTRIBUTION.md,ui/fonts/*LICENSE.txt" exclude_filter="builds/*,scripts/*" -export_path="builds/v0.18.1-alpha/windows-x86_64/NETfishing.exe" +export_path="builds/v0.18.1-alpha/windows-x86_64/straywild.exe" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" @@ -32,16 +32,16 @@ codesign/digest_algorithm=1 codesign/description="" codesign/custom_options=PackedStringArray() application/modify_resources=true -application/icon="res://art/exported/system_icons/netfishing.ico" +application/icon="res://art/exported/system_icons/straywild.ico" application/console_wrapper_icon="" -application/icon_interpolation=4 +application/icon_interpolation=0 application/file_version="0.18.1.0" application/product_version="0.18.1.0" application/company_name="Woofmeow" -application/product_name="NETfishing" -application/file_description="NETfishing v0.18.1-alpha" +application/product_name="straywild" +application/file_description="straywild v0.18.1-alpha" application/copyright="Copyright © 2026 Woofmeow" -application/trademarks="NETfishing and Woofmeow branding is reserved; see TRADEMARKS.md" +application/trademarks="straywild and Woofmeow branding is reserved; see TRADEMARKS.md" application/export_angle=0 ssh_remote_deploy/enabled=false ssh_remote_deploy/host="user@host_ip" @@ -62,7 +62,7 @@ custom_features="" export_filter="all_resources" include_filter="LICENSE,ASSET-LICENSE.md,TRADEMARKS.md,docs/ATTRIBUTION.md,ui/fonts/*LICENSE.txt" exclude_filter="builds/*,scripts/*" -export_path="builds/v0.18.1-alpha/linux-arm64/NETfishing.arm64" +export_path="builds/v0.18.1-alpha/linux-arm64/straywild.arm64" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" @@ -92,7 +92,7 @@ custom_features="" export_filter="all_resources" include_filter="LICENSE,ASSET-LICENSE.md,TRADEMARKS.md,docs/ATTRIBUTION.md,ui/fonts/*LICENSE.txt" exclude_filter="builds/*,scripts/*" -export_path="builds/v0.18.1-alpha/macos/NETfishing.zip" +export_path="builds/v0.18.1-alpha/macos/straywild.zip" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" @@ -105,8 +105,8 @@ script_export_mode=2 custom_template/debug="" custom_template/release="" -application/bundle_identifier="io.woofmeow.netfishing" -application/icon="res://art/exported/system_icons/netfishing_1024.png" +application/bundle_identifier="io.woofmeow.straywild" +application/icon="res://art/exported/system_icons/straywild_1024.png" application/icon_interpolation=0 application/short_version="0.18.1" application/version="0.18.1" @@ -125,7 +125,7 @@ custom_features="" export_filter="all_resources" include_filter="LICENSE,ASSET-LICENSE.md,TRADEMARKS.md,docs/ATTRIBUTION.md,ui/fonts/*LICENSE.txt" exclude_filter="builds/*,scripts/*,tests/*" -export_path="builds/v0.18.1-alpha/server-linux-x86_64/NETfishingServer.x86_64" +export_path="builds/v0.18.1-alpha/server-linux-x86_64/straywildServer.x86_64" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" @@ -155,7 +155,7 @@ custom_features="" export_filter="all_resources" include_filter="LICENSE,ASSET-LICENSE.md,TRADEMARKS.md,docs/ATTRIBUTION.md,ui/fonts/*LICENSE.txt" exclude_filter="builds/*,scripts/*" -export_path="builds/v0.18.1-alpha/android/NETfishing.apk" +export_path="builds/v0.18.1-alpha/android/straywild.apk" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" @@ -178,8 +178,8 @@ architectures/x86=false architectures/x86_64=false version/code=180100 version/name="v0.18.1-alpha" -package/unique_name="io.woofmeow.netfishing" -package/name="NETfishing" +package/unique_name="io.woofmeow.straywild" +package/name="straywild" package/signed=true package/app_category=0 package/retain_data_on_uninstall=false @@ -187,7 +187,7 @@ package/exclude_from_recents=false package/show_in_android_tv=false package/show_in_app_library=true package/show_as_launcher_app=true -launcher_icons/main_192x192="res://art/exported/system_icons/netfishing_256.png" +launcher_icons/main_192x192="res://art/exported/system_icons/straywild_256.png" graphics/opengl_debug=false screen/immersive_mode=true screen/edge_to_edge=false @@ -214,7 +214,7 @@ custom_features="" export_filter="all_resources" include_filter="LICENSE,ASSET-LICENSE.md,TRADEMARKS.md,docs/ATTRIBUTION.md,ui/fonts/*LICENSE.txt" exclude_filter="builds/*,scripts/*" -export_path="builds/v0.18.1-alpha/linux-x86_64/NETfishing.x86_64" +export_path="builds/v0.18.1-alpha/linux-x86_64/straywild.x86_64" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" diff --git a/main/main.gd b/main/main.gd index 1724bd9..460eb9e 100644 --- a/main/main.gd +++ b/main/main.gd @@ -294,7 +294,7 @@ func _ready() -> void: _configure_presentation_performance_profile( _performance_profile.is_light() ) - DisplayServer.window_set_title("NETfishing") + DisplayServer.window_set_title("straywild") _rain_ambience = RainAmbienceType.new() _rain_ambience.name = "RainAmbience" add_child(_rain_ambience) @@ -324,11 +324,12 @@ func _ready() -> void: func _configure_presentation_performance_profile(light_profile: bool) -> void: - _game_ui.get_title_screen().set_minimal_presentation(light_profile) _game_ui.set_light_performance_profile(light_profile) - var title_water_material := _title_background.material as ShaderMaterial - if title_water_material != null: - title_water_material.set_shader_parameter( + var title_background_material := ( + _title_background.material as ShaderMaterial + ) + if title_background_material != null: + title_background_material.set_shader_parameter( "animation_enabled", not light_profile, ) @@ -461,7 +462,7 @@ func _print_dedicated_metrics() -> void: metrics["gatherables"] = _network_world_spawns.call( "get_network_metrics" ) - print("NETfishing server metrics: %s" % JSON.stringify(metrics)) + print("straywild server metrics: %s" % JSON.stringify(metrics)) func _start_dedicated_server() -> void: @@ -556,7 +557,7 @@ func _start_dedicated_server() -> void: _fail_dedicated_server(_discovery.get_host_status_message()) return print( - "NETfishing dedicated server ready: %s on %s:%d (%d players, %s, timezone %s)" + "straywild dedicated server ready: %s on %s:%d (%d players, %s, timezone %s)" % [ config.server_name, config.bind_address, @@ -1096,7 +1097,7 @@ func _initialize_application(dedicated: bool) -> void: func _show_data_root_setup() -> void: if _data_setup_dialog == null: _data_setup_dialog = ConfirmationDialog.new() - _data_setup_dialog.title = "NETfishing player data" + _data_setup_dialog.title = "straywild player data" _data_setup_dialog.ok_button_text = "Use This Folder" _data_setup_dialog.cancel_button_text = "Quit" _data_setup_dialog.confirmed.connect(_use_default_data_root) @@ -1113,14 +1114,14 @@ func _show_data_root_setup() -> void: var default_path: String = _data_root.default_visible_path() var legacy: bool = PortableDataMigration.legacy_files_present() _data_setup_dialog.dialog_text = ( - ("Move your existing NETfishing data to an easy-to-find folder." - if legacy else "Choose where NETfishing stores your player data.") + ("Move your existing straywild data to an easy-to-find folder." + if legacy else "Choose where straywild stores your player data.") + "\n\n%s\n\nYou can choose a Syncthing folder." % (default_path if not default_path.is_empty() else "Choose a folder") ) _data_setup_dialog.ok_button_text = ( ( - "Move to Documents/NETFISHING" + "Move to Documents/straywild" if legacy else "Use This Folder" ) if not default_path.is_empty() @@ -1129,7 +1130,7 @@ func _show_data_root_setup() -> void: _data_setup_current_button.visible = not default_path.is_empty() if not _data_root.error_message.is_empty(): _data_setup_dialog.dialog_text = ( - "Your NETfishing data folder is unavailable.\n\n%s" + "Your straywild data folder is unavailable.\n\n%s" % _data_root.error_message ) _data_setup_dialog.popup_centered(Vector2i(640, 360)) @@ -1265,11 +1266,11 @@ func _activate_selected_data_path(path: String, app_data: bool = false) -> void: func _show_existing_root_choice(path: String) -> void: _pending_existing_root_path = path var dialog: ConfirmationDialog = ConfirmationDialog.new() - dialog.title = "Existing NETfishing data" + dialog.title = "Existing straywild data" dialog.ok_button_text = "Use Data Already in Selected Folder" dialog.cancel_button_text = "Cancel" dialog.dialog_text = ( - "This folder already contains NETfishing player data.\n\n" + "This folder already contains straywild player data.\n\n" + "Choose which complete data set to use. Data is never merged automatically." ) dialog.add_button( diff --git a/main/main.tscn b/main/main.tscn index b9ad6fb..c1380d6 100644 --- a/main/main.tscn +++ b/main/main.tscn @@ -38,7 +38,7 @@ [ext_resource type="Script" uid="uid://dpiv6wttry0j4" path="res://network/player_data_root.gd" id="37_data_root"] [ext_resource type="Script" uid="uid://bu5q4a8jfvxkf" path="res://network/identity_backup_service.gd" id="38_identity_backup"] [ext_resource type="Script" uid="uid://djmxy6jibi5y3" path="res://ui/interface_font_controller.gd" id="39_fonts"] -[ext_resource type="Shader" uid="uid://c8s1g7tn771du" path="res://ui/title_water_background.gdshader" id="40_title_water"] +[ext_resource type="Texture2D" uid="uid://doju2lbj2ghwa" path="res://world/generation/chunks/assets/chunk_0000_grass_lite.png" id="40_title_grass"] [ext_resource type="Texture2D" uid="uid://f8a0cs0s7ler" path="res://art/patterns/pattern_tealdot.png" id="41_menu_pattern"] [ext_resource type="Shader" uid="uid://byw3iub66qvog" path="res://ui/player_menu_pattern.gdshader" id="42_menu_pattern"] [ext_resource type="Texture2D" uid="uid://b6xws1d2dnbnn" path="res://art/patterns/pattern_moneyfish.png" id="43_shop_pattern"] @@ -59,18 +59,12 @@ [ext_resource type="Script" path="res://network/network_world_spawn_service.gd" id="59_world_spawns"] [ext_resource type="Script" path="res://gathering/gathering_controller.gd" id="60_gathering_controller"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_title_water_native"] -shader = ExtResource("40_title_water") -shader_parameter/surface_color = Color(0.1, 0.45, 0.62, 1) -shader_parameter/middle_color = Color(0.055, 0.285, 0.4, 1) -shader_parameter/depth_color = Color(0.02, 0.16, 0.27, 1) -shader_parameter/virtual_pixel_density = Vector2(320, 180) -shader_parameter/color_step_count = 14.0 -shader_parameter/continuous_depth_blend = 0.12 -shader_parameter/wave_speed = 0.1 -shader_parameter/wave_scale = 2.4 -shader_parameter/wave_strength = 0.012 -shader_parameter/caustic_strength = 0.018 +[sub_resource type="ShaderMaterial" id="ShaderMaterial_title_grass_native"] +shader = ExtResource("42_menu_pattern") +shader_parameter/pattern_texture = ExtResource("40_title_grass") +shader_parameter/source_tile_size = Vector2(128, 128) +shader_parameter/display_scale = 1.0 +shader_parameter/scroll_velocity_pixels = Vector2(-7.5, -7.5) [sub_resource type="ShaderMaterial" id="ShaderMaterial_player_menu_pattern"] shader = ExtResource("42_menu_pattern") @@ -139,7 +133,7 @@ layer = -1 [node name="TitleBackground" type="ColorRect" parent="TitleBackgroundLayer" unique_id=1768697365] unique_name_in_owner = true -material = SubResource("ShaderMaterial_title_water_native") +material = SubResource("ShaderMaterial_title_grass_native") anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 diff --git a/main/runtime_performance_profile.gd b/main/runtime_performance_profile.gd index ee2581d..8cc1ea6 100644 --- a/main/runtime_performance_profile.gd +++ b/main/runtime_performance_profile.gd @@ -2,9 +2,9 @@ class_name RuntimePerformanceProfile extends RefCounted const PROFILE_ENVIRONMENT_VARIABLE: String = ( - "NETFISHING_PERFORMANCE_PROFILE" + "straywild_PERFORMANCE_PROFILE" ) -const LEGACY_LIGHT_ENVIRONMENT_VARIABLE: String = "NETFISHING_LOW_END" +const LEGACY_LIGHT_ENVIRONMENT_VARIABLE: String = "straywild_LOW_END" const NORMAL_PROFILE: StringName = &"normal" const LIGHT_PROFILE: StringName = &"light" const NORMAL_WORLD_RENDER_SCALE: float = 1.0 diff --git a/main/texture_sampling_policy.gd b/main/texture_sampling_policy.gd index 3d041d0..822299c 100644 --- a/main/texture_sampling_policy.gd +++ b/main/texture_sampling_policy.gd @@ -1,6 +1,6 @@ extends Node -## Enforces NETfishing's nearest-neighbor-only artwork policy at runtime. +## Enforces straywild's nearest-neighbor-only artwork policy at runtime. ## ## Godot uses separate texture-filter enums for CanvasItem and 3D materials. ## Applying both here prevents imported models, dynamically created controls, diff --git a/network/discovery_client.gd b/network/discovery_client.gd index 31b8054..a3d983f 100644 --- a/network/discovery_client.gd +++ b/network/discovery_client.gd @@ -20,12 +20,12 @@ signal friend_invite_received( signal friend_invite_finished(success: bool, message: String) const BASE_URL_SETTING: String = "network/discovery/base_url" -const BASE_URL_ENVIRONMENT: String = "NETFISHING_DISCOVERY_URL" +const BASE_URL_ENVIRONMENT: String = "straywild_DISCOVERY_URL" const SETTINGS_PATH: String = "user://network_discovery.cfg" const DEFAULT_ROOM_NAME: String = "Player's Server" -const LEGACY_DEFAULT_ROOM_NAME: String = "NETfishing Room" +const LEGACY_DEFAULT_ROOM_NAME: String = "straywild Room" const LEGACY_DEDICATED_DEFAULT_ROOM_NAME: String = ( - "NETfishing Dedicated Server" + "straywild Dedicated Server" ) const ROOM_NAME_SUFFIX: String = "'s Server" const MAX_ROOM_NAME_LENGTH: int = 48 @@ -33,7 +33,7 @@ const HEARTBEAT_INTERVAL_SECONDS: float = 15.0 const REQUEST_TIMEOUT_SECONDS: float = 8.0 const TRAVERSAL_POLL_INTERVAL_SECONDS: float = 1.0 const JOIN_PROBE_INTERVAL_SECONDS: float = 0.35 -const TRAVERSAL_PACKET_PREFIX: String = "NETFISHING_TRAVERSAL_V1 " +const TRAVERSAL_PACKET_PREFIX: String = "straywild_TRAVERSAL_V1 " const UPNP_MAPPING_DURATION_SECONDS: int = 3600 const UPNP_RENEW_INTERVAL_SECONDS: float = 2700.0 const UPNP_RETRY_INTERVAL_SECONDS: float = 300.0 @@ -560,7 +560,7 @@ func _configured_base_url() -> String: if not value.is_empty() and not ( value.begins_with("https://") or value.begins_with("http://") ): - push_warning("Ignored invalid NETfishing discovery URL.") + push_warning("Ignored invalid straywild discovery URL.") return "" return value @@ -809,7 +809,7 @@ func _on_traversal_request_completed( var port: int = int(endpoint.get("port", 0)) if address.is_empty() or port < 1 or port > 65535: continue - var punch: PackedByteArray = "NETFISHING_PUNCH_V1".to_utf8_buffer() + var punch: PackedByteArray = "straywild_PUNCH_V1".to_utf8_buffer() for _attempt: int in 3: _session.send_traversal_packet(address, port, punch) @@ -895,13 +895,13 @@ func _configure_upnp_mapping(port: int) -> Dictionary: var mapping_result: int = upnp.add_port_mapping( port, port, - "NETfishing", + "straywild", "UDP", UPNP_MAPPING_DURATION_SECONDS, ) if mapping_result == UPNP.UPNP_RESULT_ONLY_PERMANENT_LEASE_SUPPORTED: mapping_result = upnp.add_port_mapping( - port, port, "NETfishing", "UDP", 0 + port, port, "straywild", "UDP", 0 ) return { "success": mapping_result == UPNP.UPNP_RESULT_SUCCESS, @@ -1374,18 +1374,18 @@ func _discovery_version_mismatch_message(required_version: String) -> String: match rejection: NetworkProtocol.RejectionCode.CLIENT_OUTDATED: return ( - "Your NETfishing version is out of date. Update to %s to " + "Your straywild version is out of date. Update to %s to " + "enable public discovery. This room will not be listed " + "until you update." ) % required_version NetworkProtocol.RejectionCode.SERVER_OUTDATED: return ( - "Public discovery is still on NETfishing %s. This room " + "Public discovery is still on straywild %s. This room " + "will not be listed until discovery is updated for %s." ) % [required_version, local_version] _: return ( - "Public discovery requires NETfishing %s. This room will " + "Public discovery requires straywild %s. This room will " + "not be listed until both versions match." ) % required_version @@ -1577,4 +1577,4 @@ func _save_settings() -> void: config.set_value("social", "share_presence", _presence_sharing) var error: Error = config.save(SETTINGS_PATH) if error != OK: - push_warning("Could not save local NETfishing discovery settings.") + push_warning("Could not save local straywild discovery settings.") diff --git a/network/identity_backup_service.gd b/network/identity_backup_service.gd index ff7396c..53cf718 100644 --- a/network/identity_backup_service.gd +++ b/network/identity_backup_service.gd @@ -3,7 +3,7 @@ extends Node signal operation_finished(success: bool, message: String) -const MAGIC := "NETFISHING_IDENTITY_BACKUP" +const MAGIC := "straywild_IDENTITY_BACKUP" const FORMAT_VERSION := 1 const MAX_BACKUP_BYTES := 256 * 1024 const MIN_PASSPHRASE_LENGTH := 12 @@ -189,7 +189,7 @@ func import_backup( ) _finish( bool(result.get("ok", false)), - "Identity imported. Restart NETfishing before multiplayer." + "Identity imported. Restart straywild before multiplayer." if bool(result.get("ok", false)) else "Could not install this identity backup.", ) diff --git a/network/network_identity_crypto.gd b/network/network_identity_crypto.gd index 4886cca..d3f9983 100644 --- a/network/network_identity_crypto.gd +++ b/network/network_identity_crypto.gd @@ -5,7 +5,7 @@ const ALGORITHM: String = "RSA-3072-SHA256" const FINGERPRINT_LENGTH: int = 64 const MAX_PUBLIC_KEY_BYTES: int = 8192 const MAX_SIGNATURE_BYTES: int = 1024 -const DOMAIN_PREFIX: String = "NETFISHING" +const DOMAIN_PREFIX: String = "straywild" const IDENTITY_VERSION: String = "identity_v1" diff --git a/network/network_protocol.gd b/network/network_protocol.gd index 6bbbf9b..20be022 100644 --- a/network/network_protocol.gd +++ b/network/network_protocol.gd @@ -3,7 +3,7 @@ extends RefCounted const WorldLayoutType = preload("res://world/world_layout.gd") -const PROTOCOL_VERSION: int = 10 +const PROTOCOL_VERSION: int = 11 const GAME_BUILD: String = "prealpha" const MAX_GAME_VERSION_LENGTH: int = 64 const MAX_DISPLAY_NAME_LENGTH: int = 24 @@ -304,7 +304,7 @@ static func make_server_hello( assigned_peer_id: int, player_count: int, max_players: int, - server_display_name: String = "NETfishing", + server_display_name: String = "straywild", world_seed: int = DEFAULT_WORLD_SEED, world_layout: StringName = WorldLayoutType.GENERATED, ) -> Dictionary: @@ -372,17 +372,17 @@ static func rejection_text(code: int) -> String: return "You are not permitted to join this server." RejectionCode.CLIENT_OUTDATED: return ( - "Your NETfishing version is out of date. " + "Your straywild version is out of date. " + "Update the game to join this server." ) RejectionCode.SERVER_OUTDATED: return ( "This server is out of date. " - + "The host needs to update NETfishing." + + "The host needs to update straywild." ) RejectionCode.VERSION_MISMATCH: return ( - "This game and server use different NETfishing versions. " + "This game and server use different straywild versions. " + "Update both to the latest release." ) _: diff --git a/network/network_session.gd b/network/network_session.gd index 2711976..8b99fd6 100644 --- a/network/network_session.gd +++ b/network/network_session.gd @@ -160,7 +160,7 @@ var _local_appearance_snapshot: Dictionary = ( ) var _moderation_disconnect_message := "" var _host_port: int = 0 -var _session_display_name: String = "NETfishing Room" +var _session_display_name: String = "straywild Room" var _dedicated_host: bool = false var _configured_operator_fingerprints: Dictionary[String, bool] = {} var _session_operator_fingerprints: Dictionary[String, bool] = {} @@ -432,7 +432,7 @@ func set_peer_operator( func set_session_display_name(value: String) -> void: var cleaned: String = value.strip_edges().left(48) if cleaned.is_empty(): - cleaned = "NETfishing Room" + cleaned = "straywild Room" if cleaned == _session_display_name: return _session_display_name = cleaned @@ -1187,7 +1187,7 @@ func resolve_server_trust(accepted: bool) -> void: if not _server_trust.trust( get_current_endpoint(), str(_pending_server_proof["server_fingerprint"]), - "NETfishing", + "straywild", ): _fail_identity("The server identity could not be pinned.") return diff --git a/network/network_surface_drawing_service.gd b/network/network_surface_drawing_service.gd index 4edc234..c322e5b 100644 --- a/network/network_surface_drawing_service.gd +++ b/network/network_surface_drawing_service.gd @@ -879,7 +879,7 @@ func export_canvas_png(canvas_id: String) -> String: _emit_hud_state("paint something before exporting") return "" if _data_root == null or _data_root.root_path.is_empty(): - _emit_hud_state("choose a NETfishing data folder before exporting") + _emit_hud_state("choose a straywild data folder before exporting") return "" var export_directory: String = _artwork_directory() if DirAccess.make_dir_recursive_absolute(export_directory) != OK: @@ -990,7 +990,7 @@ func _stamp_entry_is_unlocked(entry: Dictionary) -> bool: func _next_artwork_export_path(directory: String) -> String: var date_time: Dictionary = Time.get_datetime_dict_from_system() - var stem: String = "netfishing-artwork-%04d%02d%02d-%02d%02d%02d" % [ + var stem: String = "straywild-artwork-%04d%02d%02d-%02d%02d%02d" % [ int(date_time.get("year", 0)), int(date_time.get("month", 0)), int(date_time.get("day", 0)), diff --git a/network/player_data_root.gd b/network/player_data_root.gd index 9416db3..d6153ff 100644 --- a/network/player_data_root.gd +++ b/network/player_data_root.gd @@ -9,11 +9,11 @@ const BOOTSTRAP_TEMP_PATH := "user://data_root_bootstrap.json.tmp" const BOOTSTRAP_VERSION := 1 const MANIFEST_VERSION := 1 const LAYOUT_VERSION := 1 -const MANIFEST_FILENAME := "netfishing_data.json" +const MANIFEST_FILENAME := "straywild_data.json" const README_FILENAME := "README.txt" -const ENVIRONMENT_VARIABLE := "NETFISHING_DATA_DIR" -const CREATE_ENVIRONMENT_VARIABLE := "NETFISHING_CREATE_DATA_DIR" -const APPLICATION_ID := "netfishing" +const ENVIRONMENT_VARIABLE := "straywild_DATA_DIR" +const CREATE_ENVIRONMENT_VARIABLE := "straywild_CREATE_DATA_DIR" +const APPLICATION_ID := "straywild" const APP_DATA_PORTABLE_PATH := "user://portable-data" const PATH_ALLOWED: StringName = &"allowed" const PATH_SOURCE_PROJECT: StringName = &"source_project" @@ -48,7 +48,7 @@ func resolve() -> bool: mode = Mode.ENVIRONMENT_OVERRIDE var environment_path: String = OS.get_environment(ENVIRONMENT_VARIABLE) if not environment_path.is_absolute_path(): - return _fail("NETFISHING_DATA_DIR must be an absolute path.") + return _fail("straywild_DATA_DIR must be an absolute path.") if ( OS.get_environment(CREATE_ENVIRONMENT_VARIABLE) == "1" and not FileAccess.file_exists( @@ -84,7 +84,7 @@ func default_visible_path() -> String: var documents: String = OS.get_system_dir(OS.SYSTEM_DIR_DOCUMENTS) if documents.is_empty(): return "" - var candidate: String = _normalize(documents.path_join("NETFISHING")) + var candidate: String = _normalize(documents.path_join("straywild")) if not candidate.is_absolute_path(): return "" var classification: StringName = classify_candidate_path( @@ -109,16 +109,16 @@ func select_new_root(path: String, app_data: bool = false) -> bool: if FileAccess.file_exists(manifest_path): var manifest: Dictionary = _read_json(manifest_path) if not _valid_manifest(manifest): - return _fail("The selected folder has a malformed NETfishing manifest.") + return _fail("The selected folder has a malformed straywild manifest.") root_id = str(manifest["root_id"]) else: if not _directory_is_empty(normalized) and not app_data: return _fail( - "Choose an empty folder or an existing NETfishing data folder." + "Choose an empty folder or an existing straywild data folder." ) root_id = Crypto.new().generate_random_bytes(16).hex_encode() if not _create_layout(normalized, root_id): - return _fail("The NETfishing data folder could not be created.") + return _fail("The straywild data folder could not be created.") if not _write_bootstrap(normalized, root_id): return _fail("The data-folder pointer could not be saved.") root_path = normalized @@ -238,15 +238,15 @@ func _activate_existing(path: String, expected_id: String, permit_creation: bool return false var manifest_path: String = normalized.path_join(MANIFEST_FILENAME) if not FileAccess.file_exists(manifest_path): - return _fail("The selected folder is not a NETfishing data folder.") + return _fail("The selected folder is not a straywild data folder.") var manifest: Dictionary = _read_json(manifest_path) if not _valid_manifest(manifest): - return _fail("The NETfishing data-folder manifest is malformed.") + return _fail("The straywild data-folder manifest is malformed.") var found_id: String = str(manifest["root_id"]) if not expected_id.is_empty() and expected_id != found_id: return _fail("The selected data folder does not match this device pointer.") if not _test_writable(normalized): - return _fail("The NETfishing data folder is unavailable or unwritable.") + return _fail("The straywild data folder is unavailable or unwritable.") root_path = normalized root_id = found_id requires_selection = false @@ -339,7 +339,7 @@ static func _is_same_or_child_path(candidate: String, reference: String) -> bool func _test_writable(path: String) -> bool: var probe: String = path.path_join( - ".netfishing-write-%s.tmp" % device_id.left(12) + ".straywild-write-%s.tmp" % device_id.left(12) ) var file: FileAccess = FileAccess.open(probe, FileAccess.WRITE) if file == null: @@ -370,7 +370,7 @@ func _create_layout(path: String, id: String) -> bool: ): return false var readme: String = ( - "NETfishing player data\n\n" + "straywild player data\n\n" + "This folder is safe to synchronize with tools such as Syncthing.\n" + "Active private identity keys remain device-local.\n" + "Encrypted identity backups require their passphrase.\n" diff --git a/network/player_relationship_store.gd b/network/player_relationship_store.gd index 2452315..0f4b6f1 100644 --- a/network/player_relationship_store.gd +++ b/network/player_relationship_store.gd @@ -7,8 +7,8 @@ const FORMAT_VERSION := 2 const MAX_RECORDS := 500 const MAX_FRIENDS := 200 const SOCIAL_TOKEN_LENGTH := 64 -const PRESENCE_CHANNEL_DOMAIN := "NETFISHING_PRESENCE_V1:" -const INVITE_INBOX_DOMAIN := "NETFISHING_INVITE_V1:" +const PRESENCE_CHANNEL_DOMAIN := "straywild_PRESENCE_V1:" +const INVITE_INBOX_DOMAIN := "straywild_INVITE_V1:" var _records: Dictionary = {} var _loaded := false diff --git a/network/portable_data_migration.gd b/network/portable_data_migration.gd index 17ded9f..e95d883 100644 --- a/network/portable_data_migration.gd +++ b/network/portable_data_migration.gd @@ -33,12 +33,12 @@ static func migrate_legacy_to( return { "ok": false, "requires_existing_root_decision": true, - "message": "The selected folder already contains NETfishing data.", + "message": "The selected folder already contains straywild data.", } if not _directory_empty(normalized): return { "ok": false, - "message": "Choose an empty folder or create a NETfishing subfolder.", + "message": "Choose an empty folder or create a straywild subfolder.", } var staging: String = "%s.migration-%s" % [ normalized, Crypto.new().generate_random_bytes(8).hex_encode() @@ -111,11 +111,11 @@ static func migrate_active_to( "ok": false, "requires_existing_root_decision": true, "message": ( - "The selected folder already contains NETfishing data. " + "The selected folder already contains straywild data. " + "Choose it through the existing-data recovery flow." ), } - return {"ok": false, "message": "Choose an empty folder or a NETfishing subfolder."} + return {"ok": false, "message": "Choose an empty folder or a straywild subfolder."} var staging: String = "%s.migration-%s" % [ normalized, Crypto.new().generate_random_bytes(8).hex_encode() ] @@ -209,7 +209,7 @@ static func replace_existing_with_legacy( var normalized: String = destination.simplify_path().trim_suffix("/") var manifest: String = normalized.path_join(PlayerDataRoot.MANIFEST_FILENAME) if not FileAccess.file_exists(manifest): - return {"ok": false, "message": "The selected folder is not a NETfishing data root."} + return {"ok": false, "message": "The selected folder is not a straywild data root."} var recovery: String = ProjectSettings.globalize_path( "user://migration-recovery" ).path_join( @@ -230,7 +230,7 @@ static func replace_existing_with_active( ) -> Dictionary: var normalized: String = destination.simplify_path().trim_suffix("/") if not FileAccess.file_exists(normalized.path_join(PlayerDataRoot.MANIFEST_FILENAME)): - return {"ok": false, "message": "The selected folder is not a NETfishing data root."} + return {"ok": false, "message": "The selected folder is not a straywild data root."} var recovery: String = ProjectSettings.globalize_path( "user://migration-recovery" ).path_join( diff --git a/player/player.tscn b/player/player.tscn index 4a2d897..3288d2d 100644 --- a/player/player.tscn +++ b/player/player.tscn @@ -12,7 +12,7 @@ [ext_resource type="Script" path="res://progression/player_cooler_capacity.gd" id="10_capacity"] [ext_resource type="Script" path="res://player/player_ground_shadow.gd" id="11_ground_shadow"] [ext_resource type="Material" path="res://player/materials/player_blob_shadow.tres" id="12_blob_shadow"] -[ext_resource type="PackedScene" path="res://art/exported/characters/base/netfishing_base_character.glb" id="13_character"] +[ext_resource type="PackedScene" path="res://art/exported/characters/base/straywild_base_character.glb" id="13_character"] [ext_resource type="Script" path="res://progression/player_art_unlocks.gd" id="14_art_unlocks"] [ext_resource type="Script" path="res://progression/player_experience.gd" id="15_experience"] [ext_resource type="Script" path="res://player/sprint_dust_trail.gd" id="16_sprint_dust"] diff --git a/player/player_visual_presenter.gd b/player/player_visual_presenter.gd index 745fc3c..b071b2c 100644 --- a/player/player_visual_presenter.gd +++ b/player/player_visual_presenter.gd @@ -3,9 +3,9 @@ extends RefCounted const PlayerScene: PackedScene = preload("res://player/player.tscn") const FurPatternShader: Shader = preload("res://player/fur_pattern.gdshader") -const RUNTIME_MATERIAL_META: StringName = &"netfishing_runtime_material" +const RUNTIME_MATERIAL_META: StringName = &"straywild_runtime_material" const RUNTIME_FUR_PATTERN_MATERIAL_META: StringName = ( - &"netfishing_runtime_fur_pattern_material" + &"straywild_runtime_fur_pattern_material" ) const EAR_MESH_NAMES: Array[String] = [ "ears_antlers_round", diff --git a/project.godot b/project.godot index 054e584..db06b66 100644 --- a/project.godot +++ b/project.godot @@ -10,11 +10,11 @@ config_version=5 [application] -config/name="NETFISHING" +config/name="straywild" config/version="0.18.1-alpha" run/main_scene="res://main/main.tscn" config/features=PackedStringArray("4.7", "GL Compatibility") -config/icon="res://art/exported/system_icons/netfishing_256.png" +config/icon="res://art/exported/system_icons/straywild_256.png" [autoload] @@ -26,7 +26,7 @@ window/stretch/aspect="expand" [editor_plugins] -enabled=PackedStringArray("res://addons/netfishing_shoreline_baker/plugin.cfg") +enabled=PackedStringArray("res://addons/straywild_shoreline_baker/plugin.cfg") [gui] @@ -260,7 +260,7 @@ alternate_fishing={ [network] -discovery/base_url="https://discovery.netfishing.org" +discovery/base_url="https://discovery.straywild.io" [physics] diff --git a/save/progression_save_codec.gd b/save/progression_save_codec.gd index 7844e16..a006773 100644 --- a/save/progression_save_codec.gd +++ b/save/progression_save_codec.gd @@ -1,7 +1,7 @@ class_name ProgressionSaveCodec extends RefCounted -const MAGIC := "NETFISHING_PROGRESSION_CONTAINER" +const MAGIC := "straywild_PROGRESSION_CONTAINER" const FORMAT_VERSION := 1 const LOCAL_KIND := "local_save" const ARCHIVE_KIND := "portable_archive" @@ -10,7 +10,7 @@ const MAX_CONTAINER_BYTES := 16 * 1024 * 1024 # This key keeps routine progression files opaque to casual editing. Since the # client is open source, it is intentionally not treated as a security secret. const CONTAINER_PASSPHRASE := ( - "NETfishing progression container v1 / not an identity credential" + "straywild progression container v1 / not an identity credential" ) diff --git a/scripts/build_android_debug.sh b/scripts/build_android_debug.sh index 8f856f8..f68eb32 100755 --- a/scripts/build_android_debug.sh +++ b/scripts/build_android_debug.sh @@ -4,7 +4,7 @@ set -euo pipefail readonly SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" readonly PROJECT_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)" -readonly OUTPUT_PATH="${PROJECT_ROOT}/builds/android/NETfishing-debug.apk" +readonly OUTPUT_PATH="${PROJECT_ROOT}/builds/android/straywild-debug.apk" readonly GODOT_BIN="${GODOT_BIN:-godot}" mkdir -p -- "$(dirname -- "${OUTPUT_PATH}")" diff --git a/scripts/build_playtest.sh b/scripts/build_playtest.sh index 1aa067c..c18f277 100755 --- a/scripts/build_playtest.sh +++ b/scripts/build_playtest.sh @@ -9,9 +9,9 @@ readonly WINDOWS_DIR="${BUILD_ROOT}/windows-x86_64" readonly LINUX_DIR="${BUILD_ROOT}/linux-x86_64" readonly README_SOURCE="${PROJECT_ROOT}/docs/README-PLAYTEST.txt" readonly SOURCE_COMMIT="$(git -C "${PROJECT_ROOT}" rev-parse HEAD)" -readonly SOURCE_URL="https://forge.makearmy.io/woofmeow/netfishing" -readonly WINDOWS_ZIP="${BUILD_ROOT}/NETfishing-v0.18.1-alpha-windows-x86_64.zip" -readonly LINUX_ZIP="${BUILD_ROOT}/NETfishing-v0.18.1-alpha-linux-x86_64.zip" +readonly SOURCE_URL="https://forge.makearmy.io/woofmeow/straywild" +readonly WINDOWS_ZIP="${BUILD_ROOT}/straywild-v0.18.1-alpha-windows-x86_64.zip" +readonly LINUX_ZIP="${BUILD_ROOT}/straywild-v0.18.1-alpha-linux-x86_64.zip" readonly GODOT_BIN="${GODOT_BIN:-godot}" if [[ ! -f "${PROJECT_ROOT}/project.godot" ]]; then @@ -31,26 +31,26 @@ mkdir -p -- "${WINDOWS_DIR}" "${LINUX_DIR}" --headless \ --path "${PROJECT_ROOT}" \ --export-release "Windows Desktop" \ - "${WINDOWS_DIR}/NETfishing.exe" + "${WINDOWS_DIR}/straywild.exe" "${GODOT_BIN}" \ --headless \ --path "${PROJECT_ROOT}" \ --export-release "Linux Desktop" \ - "${LINUX_DIR}/NETfishing.x86_64" + "${LINUX_DIR}/straywild.x86_64" for required_file in \ - "${WINDOWS_DIR}/NETfishing.exe" \ - "${WINDOWS_DIR}/NETfishing.pck" \ - "${LINUX_DIR}/NETfishing.x86_64" \ - "${LINUX_DIR}/NETfishing.pck"; do + "${WINDOWS_DIR}/straywild.exe" \ + "${WINDOWS_DIR}/straywild.pck" \ + "${LINUX_DIR}/straywild.x86_64" \ + "${LINUX_DIR}/straywild.pck"; do if [[ ! -s "${required_file}" ]]; then echo "error: expected export output is missing: ${required_file}" >&2 exit 1 fi done -chmod +x -- "${LINUX_DIR}/NETfishing.x86_64" +chmod +x -- "${LINUX_DIR}/straywild.x86_64" cp -- "${README_SOURCE}" "${WINDOWS_DIR}/README-PLAYTEST.txt" cp -- "${README_SOURCE}" "${LINUX_DIR}/README-PLAYTEST.txt" @@ -60,7 +60,7 @@ stage_licenses() { install -m 0644 "${PROJECT_ROOT}/LICENSE" \ "${destination}/GPL-3.0-or-later.txt" install -m 0644 "${PROJECT_ROOT}/ASSET-LICENSE.md" \ - "${destination}/NETFISHING-ASSET-LICENSE.md" + "${destination}/straywild-ASSET-LICENSE.md" install -m 0644 "${PROJECT_ROOT}/docs/ATTRIBUTION.md" \ "${destination}/ATTRIBUTION.md" install -m 0644 "${PROJECT_ROOT}/TRADEMARKS.md" \ @@ -72,7 +72,7 @@ stage_licenses() { cat >"${destination}/SOURCE-CODE.md" <&2 exit 1 fi -if [[ "${NETFISHING_ALLOW_DIRTY_RELEASE:-0}" != "1" ]]; then +if [[ "${straywild_ALLOW_DIRTY_RELEASE:-0}" != "1" ]]; then dirty_tree=0 git -C "${PROJECT_ROOT}" diff --quiet || dirty_tree=1 git -C "${PROJECT_ROOT}" diff --cached --quiet || dirty_tree=1 @@ -97,7 +97,7 @@ done mkdir -p -- "${ARM64_ROOT}" "${RELEASE_ROOT}" if [[ ${PACKAGE_ONLY} -eq 0 ]]; then readonly EXPORT_PROJECT_ROOT="$( - mktemp -d -t netfishing-portmaster-export.XXXXXX + mktemp -d -t straywild-portmaster-export.XXXXXX )" cleanup_export_project() { rm -rf -- "${EXPORT_PROJECT_ROOT}" @@ -108,9 +108,9 @@ if [[ ${PACKAGE_ONLY} -eq 0 ]]; then --exclude '/.git/' \ --exclude '/.godot/' \ --exclude '/art/source/' \ - --exclude '/art/exported/system_icons/netfishing.ico' \ - --exclude '/art/exported/system_icons/netfishing_1024.png' \ - --exclude '/art/exported/system_icons/netfishing_1024.png.import' \ + --exclude '/art/exported/system_icons/straywild.ico' \ + --exclude '/art/exported/system_icons/straywild_1024.png' \ + --exclude '/art/exported/system_icons/straywild_1024.png.import' \ --exclude '/audio/ambience/' \ --exclude '/builds/' \ --exclude '/docs/design/' \ @@ -141,14 +141,14 @@ rm -f -- \ "${OBSOLETE_LOWERCASE_ARCHIVE}" mkdir -p -- "${GAME_ROOT}/licenses" -install -m 0755 "${TEMPLATE_ROOT}/NETfishing.sh" "${STAGE_ROOT}/NETfishing.sh" +install -m 0755 "${TEMPLATE_ROOT}/straywild.sh" "${STAGE_ROOT}/straywild.sh" install -m 0644 "${TEMPLATE_ROOT}/port.json" "${GAME_ROOT}/port.json" -install -m 0644 "${TEMPLATE_ROOT}/netfishing.gptk" \ - "${GAME_ROOT}/netfishing.gptk" -install -m 0755 "${TEMPLATE_ROOT}/launch-netfishing.sh" \ - "${GAME_ROOT}/launch-netfishing.sh" -install -m 0755 "${ARM64_EXECUTABLE}" "${GAME_ROOT}/NETfishing.aarch64" -install -m 0644 "${ARM64_PCK}" "${GAME_ROOT}/NETfishing.pck" +install -m 0644 "${TEMPLATE_ROOT}/straywild.gptk" \ + "${GAME_ROOT}/straywild.gptk" +install -m 0755 "${TEMPLATE_ROOT}/launch-straywild.sh" \ + "${GAME_ROOT}/launch-straywild.sh" +install -m 0755 "${ARM64_EXECUTABLE}" "${GAME_ROOT}/straywild.aarch64" +install -m 0644 "${ARM64_PCK}" "${GAME_ROOT}/straywild.pck" install -m 0644 "${TEMPLATE_ROOT}/gameinfo.xml" "${GAME_ROOT}/gameinfo.xml" install -m 0644 "${TEMPLATE_ROOT}/screenshot.png" "${GAME_ROOT}/screenshot.png" install -m 0644 \ @@ -159,7 +159,7 @@ install -m 0644 \ "${GAME_ROOT}/licenses/GPL-3.0-or-later.txt" install -m 0644 \ "${PROJECT_ROOT}/ASSET-LICENSE.md" \ - "${GAME_ROOT}/licenses/NETFISHING-ASSET-LICENSE.md" + "${GAME_ROOT}/licenses/straywild-ASSET-LICENSE.md" install -m 0644 \ "${PROJECT_ROOT}/TRADEMARKS.md" \ "${GAME_ROOT}/licenses/TRADEMARKS.md" @@ -171,7 +171,7 @@ install -m 0644 \ "${GAME_ROOT}/licenses/Seattle-Avenue-LICENSE.txt" cat >"${GAME_ROOT}/BUILD-INFO.txt" <"${GAME_ROOT}/licenses/SOURCE-CODE.md" <"${GAME_ROOT}/README.md" </dev/null readonly TOP_LEVELS="$( unzip -Z1 "${ARCHIVE}" | cut -d/ -f1 | sort -u )" -readonly EXPECTED_TOP_LEVELS="$(printf '%s\n' NETfishing.sh netfishing)" +readonly EXPECTED_TOP_LEVELS="$(printf '%s\n' straywild.sh straywild)" if [[ "${TOP_LEVELS}" != "${EXPECTED_TOP_LEVELS}" ]]; then echo "Unexpected PortMaster archive roots:" >&2 printf '%s\n' "${TOP_LEVELS}" >&2 exit 1 fi grep -q '"version": 4' "${GAME_ROOT}/port.json" -grep -q '"name": "netfishing.zip"' "${GAME_ROOT}/port.json" +grep -q '"name": "straywild.zip"' "${GAME_ROOT}/port.json" grep -q '"rtr": true' "${GAME_ROOT}/port.json" if unzip -Z1 "${ARCHIVE}" | grep -qx 'port.json'; then - echo "port.json must be inside netfishing/, not at the archive root." >&2 + echo "port.json must be inside straywild/, not at the archive root." >&2 exit 1 fi if grep -Eq '^[[:space:]]*#[[:space:]]*PORTMASTER:' \ - "${STAGE_ROOT}/NETfishing.sh"; then + "${STAGE_ROOT}/straywild.sh"; then echo "The distributable launcher contains an installed PortMaster signature." >&2 exit 1 fi grep -Fq 'PROFILE_PATH="$CONFDIR/performance_profile"' \ - "${STAGE_ROOT}/NETfishing.sh" -grep -Fq 'NETFISHING_PERFORMANCE_PROFILE=light' \ - "${STAGE_ROOT}/NETfishing.sh" + "${STAGE_ROOT}/straywild.sh" +grep -Fq 'straywild_PERFORMANCE_PROFILE=light' \ + "${STAGE_ROOT}/straywild.sh" grep -Fq 'CONTROLLER_MAPPING_FILE="$CONFDIR/cache/controller_mapping.txt"' \ - "${STAGE_ROOT}/NETfishing.sh" -grep -Fq 'SAVEDIR="$PORTS_ROOT/saves/netfishing"' \ - "${STAGE_ROOT}/NETfishing.sh" -grep -Fq '"NETFISHING_DATA_DIR=$SAVEDIR"' \ - "${STAGE_ROOT}/NETfishing.sh" -grep -Fq '"NETFISHING_CREATE_DATA_DIR=1"' \ - "${STAGE_ROOT}/NETfishing.sh" -grep -Fq 'printf '\''%s\n'\'' "$netfishing_controllerconfig" > "$CONTROLLER_MAPPING_FILE"' \ - "${STAGE_ROOT}/NETfishing.sh" -grep -Fq '"$GAME_LAUNCHER"' "${STAGE_ROOT}/NETfishing.sh" -grep -Fq '"$CONTROLLER_MAPPING_FILE"' "${STAGE_ROOT}/NETfishing.sh" -if grep -Fq 'SDL_GAMECONTROLLERCONFIG="$netfishing_controllerconfig"' \ - "${STAGE_ROOT}/NETfishing.sh"; then + "${STAGE_ROOT}/straywild.sh" +grep -Fq 'SAVEDIR="$PORTS_ROOT/saves/straywild"' \ + "${STAGE_ROOT}/straywild.sh" +grep -Fq '"straywild_DATA_DIR=$SAVEDIR"' \ + "${STAGE_ROOT}/straywild.sh" +grep -Fq '"straywild_CREATE_DATA_DIR=1"' \ + "${STAGE_ROOT}/straywild.sh" +grep -Fq 'printf '\''%s\n'\'' "$straywild_controllerconfig" > "$CONTROLLER_MAPPING_FILE"' \ + "${STAGE_ROOT}/straywild.sh" +grep -Fq '"$GAME_LAUNCHER"' "${STAGE_ROOT}/straywild.sh" +grep -Fq '"$CONTROLLER_MAPPING_FILE"' "${STAGE_ROOT}/straywild.sh" +if grep -Fq 'SDL_GAMECONTROLLERCONFIG="$straywild_controllerconfig"' \ + "${STAGE_ROOT}/straywild.sh"; then echo "Raw controller mappings must not be passed through westonwrap.sh." >&2 exit 1 fi grep -Fq 'SDL_GAMECONTROLLERCONFIG="$(<"$CONTROLLER_MAPPING_FILE")"' \ - "${GAME_ROOT}/launch-netfishing.sh" + "${GAME_ROOT}/launch-straywild.sh" grep -Fq 'export SDL_GAMECONTROLLERCONFIG' \ - "${GAME_ROOT}/launch-netfishing.sh" -grep -Fq 'exec "$@"' "${GAME_ROOT}/launch-netfishing.sh" -grep -Fq 'GPTOKEYB_CONFIG="$GAMEDIR/netfishing.gptk"' \ - "${STAGE_ROOT}/NETfishing.sh" -grep -Fq '$GPTOKEYB "NETfishing.aarch64" -c "$GPTOKEYB_CONFIG" &' \ - "${STAGE_ROOT}/NETfishing.sh" + "${GAME_ROOT}/launch-straywild.sh" +grep -Fq 'exec "$@"' "${GAME_ROOT}/launch-straywild.sh" +grep -Fq 'GPTOKEYB_CONFIG="$GAMEDIR/straywild.gptk"' \ + "${STAGE_ROOT}/straywild.sh" +grep -Fq '$GPTOKEYB "straywild.aarch64" -c "$GPTOKEYB_CONFIG" &' \ + "${STAGE_ROOT}/straywild.sh" grep -Fq 'pm_platform_helper "$GAME_EXECUTABLE"' \ - "${STAGE_ROOT}/NETfishing.sh" -grep -Fq 'pm_finish' "${STAGE_ROOT}/NETfishing.sh" + "${STAGE_ROOT}/straywild.sh" +grep -Fq 'pm_finish' "${STAGE_ROOT}/straywild.sh" if [[ "$(grep -Ec '^[[:space:]]*\$GPTOKEYB[[:space:]]' \ - "${STAGE_ROOT}/NETfishing.sh")" -ne 1 ]]; then - echo "NETfishing must start exactly one GPTOKEYB exit handler." >&2 + "${STAGE_ROOT}/straywild.sh")" -ne 1 ]]; then + echo "straywild must start exactly one GPTOKEYB exit handler." >&2 exit 1 fi readonly GPTOKEYB_NOOP_KEYS=( @@ -303,13 +303,13 @@ readonly GPTOKEYB_NOOP_KEYS=( for noop_key in "${GPTOKEYB_NOOP_KEYS[@]}"; do if ! grep -Eq \ "^[[:space:]]*${noop_key}[[:space:]]*=[[:space:]]*\\\\\"[[:space:]]*$" \ - "${GAME_ROOT}/netfishing.gptk"; then + "${GAME_ROOT}/straywild.gptk"; then echo "GPTOKEYB no-op mapping is missing: ${noop_key}" >&2 exit 1 fi done if [[ "$(grep -Ec '^[[:space:]]*[a-z0-9_]+[[:space:]]*=' \ - "${GAME_ROOT}/netfishing.gptk")" -ne "${#GPTOKEYB_NOOP_KEYS[@]}" ]]; then + "${GAME_ROOT}/straywild.gptk")" -ne "${#GPTOKEYB_NOOP_KEYS[@]}" ]]; then echo "GPTOKEYB no-op mapping contains an unexpected assignment." >&2 exit 1 fi diff --git a/scripts/import_animalese_voice.sh b/scripts/import_animalese_voice.sh index cb7eded..b9076ca 100755 --- a/scripts/import_animalese_voice.sh +++ b/scripts/import_animalese_voice.sh @@ -35,10 +35,10 @@ if [[ ! "$SAMPLE_SET_DIRECTORY" =~ ^[a-z0-9_-]+$ ]]; then fi readonly DESTINATION_DIRECTORY="$PROJECT_ROOT/sound/dialogue/animalese/$SAMPLE_SET_DIRECTORY" -readonly WORK_DIRECTORY="$(mktemp -d -t netfishing-animalese-import.XXXXXX)" +readonly WORK_DIRECTORY="$(mktemp -d -t straywild-animalese-import.XXXXXX)" cleanup() { - if [[ "$WORK_DIRECTORY" == /tmp/netfishing-animalese-import.* ]]; then + if [[ "$WORK_DIRECTORY" == /tmp/straywild-animalese-import.* ]]; then find "$WORK_DIRECTORY" -depth -delete fi } diff --git a/scripts/normalize_texture_profiles.sh b/scripts/normalize_texture_profiles.sh index 1483a61..0551efd 100755 --- a/scripts/normalize_texture_profiles.sh +++ b/scripts/normalize_texture_profiles.sh @@ -13,7 +13,7 @@ fi readonly ROOT_PATH="$1" -readonly WORK_ROOT="$(mktemp -d -t netfishing-godot-data.XXXXXX)" +readonly WORK_ROOT="$(mktemp -d -t straywild-godot-data.XXXXXX)" trap 'rm -rf -- "${WORK_ROOT}"' EXIT cd "${PROJECT_ROOT}" diff --git a/scripts/portmaster/gameinfo.xml b/scripts/portmaster/gameinfo.xml index ef608bd..1b0a1c7 100755 --- a/scripts/portmaster/gameinfo.xml +++ b/scripts/portmaster/gameinfo.xml @@ -1,13 +1,13 @@ - ./NETfishing.sh - NETfishing + ./straywild.sh + straywild A relaxed multiplayer fishing game about exploring a small island, catching and collecting fish, customizing your character, and spending time by the water. 20260804T000000 - NETfishing project + straywild project Independent adventure, simulation - ./netfishing/screenshot.png + ./straywild/screenshot.png diff --git a/scripts/portmaster/launch-netfishing.sh b/scripts/portmaster/launch-straywild.sh similarity index 100% rename from scripts/portmaster/launch-netfishing.sh rename to scripts/portmaster/launch-straywild.sh diff --git a/scripts/portmaster/port.json b/scripts/portmaster/port.json index affc601..4c36648 100644 --- a/scripts/portmaster/port.json +++ b/scripts/portmaster/port.json @@ -1,13 +1,13 @@ { "version": 4, - "name": "netfishing.zip", + "name": "straywild.zip", "items": [ - "NETfishing.sh", - "netfishing/" + "straywild.sh", + "straywild/" ], "items_opt": null, "attr": { - "title": "NETfishing", + "title": "straywild", "porter": [ "Voyager" ], diff --git a/scripts/portmaster/netfishing.gptk b/scripts/portmaster/straywild.gptk similarity index 87% rename from scripts/portmaster/netfishing.gptk rename to scripts/portmaster/straywild.gptk index ff1ad36..2e8602e 100644 --- a/scripts/portmaster/netfishing.gptk +++ b/scripts/portmaster/straywild.gptk @@ -1,4 +1,4 @@ -# NETfishing reads the controller directly. GPTOKEYB is retained only for its +# straywild reads the controller directly. GPTOKEYB is retained only for its # device-specific force-quit chord, so every keyboard and mouse binding is # disabled to prevent duplicate input. diff --git a/scripts/portmaster/NETfishing.sh b/scripts/portmaster/straywild.sh similarity index 70% rename from scripts/portmaster/NETfishing.sh rename to scripts/portmaster/straywild.sh index 8e118da..58e17b3 100755 --- a/scripts/portmaster/NETfishing.sh +++ b/scripts/portmaster/straywild.sh @@ -16,35 +16,35 @@ source "$controlfolder/control.txt" [ -f "${controlfolder}/mod_${CFW_NAME}.txt" ] && source "${controlfolder}/mod_${CFW_NAME}.txt" get_controls -GAMEDIR="/${directory}/ports/netfishing" +GAMEDIR="/${directory}/ports/straywild" CONFDIR="$GAMEDIR/conf" -PORTS_ROOT="${GAMEDIR%/netfishing}" -SAVEDIR="$PORTS_ROOT/saves/netfishing" -DATA_BOOTSTRAP_DIR="$CONFDIR/data/godot/app_userdata/NETFISHING" -GAME_EXECUTABLE="$GAMEDIR/NETfishing.aarch64" -GAME_LAUNCHER="$GAMEDIR/launch-netfishing.sh" -GPTOKEYB_CONFIG="$GAMEDIR/netfishing.gptk" +PORTS_ROOT="${GAMEDIR%/straywild}" +SAVEDIR="$PORTS_ROOT/saves/straywild" +DATA_BOOTSTRAP_DIR="$CONFDIR/data/godot/app_userdata/straywild" +GAME_EXECUTABLE="$GAMEDIR/straywild.aarch64" +GAME_LAUNCHER="$GAMEDIR/launch-straywild.sh" +GPTOKEYB_CONFIG="$GAMEDIR/straywild.gptk" CONTROLLER_MAPPING_FILE="$CONFDIR/cache/controller_mapping.txt" -WESTON_DIR="/tmp/netfishing-weston" +WESTON_DIR="/tmp/straywild-weston" WESTON_RUNTIME="weston_pkg_0.2" HARBOURMASTER="$controlfolder/harbourmaster" mkdir -p "$CONFDIR/data" "$CONFDIR/config" "$CONFDIR/cache" "$WESTON_DIR" chmod +x "$GAME_EXECUTABLE" -# NETfishing uses a predictable save directory beside the port instead of +# straywild uses a predictable save directory beside the port instead of # presenting a folder picker on a small screen. Preserve an established # data-root choice when upgrading an existing installation. -NETFISHING_DATA_ENVIRONMENT=() -if [ -f "$SAVEDIR/netfishing_data.json" ] || { +straywild_DATA_ENVIRONMENT=() +if [ -f "$SAVEDIR/straywild_data.json" ] || { [ ! -f "$DATA_BOOTSTRAP_DIR/data_root_bootstrap.json" ] && [ ! -f "$DATA_BOOTSTRAP_DIR/data_root_bootstrap.json.backup" ] }; then mkdir -p "$SAVEDIR" - NETFISHING_DATA_ENVIRONMENT+=( - "NETFISHING_DATA_DIR=$SAVEDIR" - "NETFISHING_CREATE_DATA_DIR=1" + straywild_DATA_ENVIRONMENT+=( + "straywild_DATA_DIR=$SAVEDIR" + "straywild_CREATE_DATA_DIR=1" ) fi @@ -52,7 +52,7 @@ fi if [ ! -f "$controlfolder/libs/${WESTON_RUNTIME}.squashfs" ]; then if [ ! -x "$HARBOURMASTER" ]; then - pm_message "NETfishing requires the latest PortMaster and WestonPack runtime." + pm_message "straywild requires the latest PortMaster and WestonPack runtime." sleep 5 exit 1 fi @@ -78,17 +78,17 @@ cd "$GAMEDIR" || exit 1 GODOT_MUOS_MAPPING="19004ca6010000000100000000010000,muOS-Keys,a:b0,b:b1,x:b3,y:b2,leftshoulder:b4,rightshoulder:b5,lefttrigger:b10,righttrigger:b11,guide:b8,start:b7,back:b6,dpup:h0.1,dpleft:h0.8,dpright:h0.2,dpdown:h0.4,leftx:a0,lefty:a1,leftstick:b9,rightx:a2,righty:a3,rightstick:b12,platform:Linux," MUOS_SDL2_GUID="19000000010000000100000000010000" if [[ "$sdl_controllerconfig" == "${MUOS_SDL2_GUID},"* ]]; then - netfishing_controllerconfig="$GODOT_MUOS_MAPPING" + straywild_controllerconfig="$GODOT_MUOS_MAPPING" elif [ -n "$sdl_controllerconfig" ]; then - netfishing_controllerconfig="$sdl_controllerconfig" + straywild_controllerconfig="$sdl_controllerconfig" else - netfishing_controllerconfig="$GODOT_MUOS_MAPPING" + straywild_controllerconfig="$GODOT_MUOS_MAPPING" fi -printf '%s\n' "$netfishing_controllerconfig" > "$CONTROLLER_MAPPING_FILE" +printf '%s\n' "$straywild_controllerconfig" > "$CONTROLLER_MAPPING_FILE" -NETFISHING_GODOT_OPTIONS=() -NETFISHING_GAME_ENVIRONMENT=() -PERFORMANCE_PROFILE="${NETFISHING_PERFORMANCE_PROFILE:-}" +straywild_GODOT_OPTIONS=() +straywild_GAME_ENVIRONMENT=() +PERFORMANCE_PROFILE="${straywild_PERFORMANCE_PROFILE:-}" PROFILE_PATH="$CONFDIR/performance_profile" if [[ -z "$PERFORMANCE_PROFILE" && -r "$PROFILE_PATH" ]]; then IFS= read -r PERFORMANCE_PROFILE < "$PROFILE_PATH" || true @@ -96,16 +96,16 @@ if [[ -z "$PERFORMANCE_PROFILE" && -r "$PROFILE_PATH" ]]; then fi case "$PERFORMANCE_PROFILE" in normal) - NETFISHING_GAME_ENVIRONMENT+=( - "NETFISHING_PERFORMANCE_PROFILE=normal" + straywild_GAME_ENVIRONMENT+=( + "straywild_PERFORMANCE_PROFILE=normal" ) ;; light|"") - NETFISHING_GAME_ENVIRONMENT+=( - "NETFISHING_PERFORMANCE_PROFILE=light" - "NETFISHING_LOW_END=1" + straywild_GAME_ENVIRONMENT+=( + "straywild_PERFORMANCE_PROFILE=light" + "straywild_LOW_END=1" ) - NETFISHING_GODOT_OPTIONS+=( + straywild_GODOT_OPTIONS+=( --single-window --disable-vsync --max-fps 30 @@ -114,11 +114,11 @@ case "$PERFORMANCE_PROFILE" in ;; *) echo "Unknown performance profile '$PERFORMANCE_PROFILE'; using light." >&2 - NETFISHING_GAME_ENVIRONMENT+=( - "NETFISHING_PERFORMANCE_PROFILE=light" - "NETFISHING_LOW_END=1" + straywild_GAME_ENVIRONMENT+=( + "straywild_PERFORMANCE_PROFILE=light" + "straywild_LOW_END=1" ) - NETFISHING_GODOT_OPTIONS+=( + straywild_GODOT_OPTIONS+=( --single-window --disable-vsync --max-fps 30 @@ -127,10 +127,10 @@ case "$PERFORMANCE_PROFILE" in ;; esac -# NETfishing reads gameplay input natively. The explicit no-op map prevents +# straywild reads gameplay input natively. The explicit no-op map prevents # GPTOKEYB from injecting duplicate keyboard or mouse input while retaining # its device-specific force-quit chord, including on ROCKNIX. -$GPTOKEYB "NETfishing.aarch64" -c "$GPTOKEYB_CONFIG" & +$GPTOKEYB "straywild.aarch64" -c "$GPTOKEYB_CONFIG" & pm_platform_helper "$GAME_EXECUTABLE" $ESUDO env CRUSTY_RESOLUTION="${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}" \ @@ -139,12 +139,12 @@ $ESUDO env CRUSTY_RESOLUTION="${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}" \ XDG_CONFIG_HOME="$CONFDIR/config" \ XDG_CACHE_HOME="$CONFDIR/cache" \ GODOT_SILENCE_ROOT_WARNING=1 \ - "${NETFISHING_DATA_ENVIRONMENT[@]}" \ - "${NETFISHING_GAME_ENVIRONMENT[@]}" \ + "${straywild_DATA_ENVIRONMENT[@]}" \ + "${straywild_GAME_ENVIRONMENT[@]}" \ "$GAME_LAUNCHER" \ "$CONTROLLER_MAPPING_FILE" \ "$GAME_EXECUTABLE" \ - "${NETFISHING_GODOT_OPTIONS[@]}" \ + "${straywild_GODOT_OPTIONS[@]}" \ --resolution "${DISPLAY_WIDTH}x${DISPLAY_HEIGHT}" \ --fullscreen \ --rendering-driver opengl3_es \ diff --git a/scripts/run_validations.sh b/scripts/run_validations.sh index 2ebaeff..5d15b8e 100755 --- a/scripts/run_validations.sh +++ b/scripts/run_validations.sh @@ -6,9 +6,9 @@ readonly SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" readonly PROJECT_ROOT="$(cd -- "${SCRIPT_DIR}/.." && pwd)" readonly GODOT_BIN="${GODOT_BIN:-godot}" readonly TEST_TIMEOUT_SECONDS="${TEST_TIMEOUT_SECONDS:-120}" -readonly RUN_ROOT="$(mktemp -d -t netfishing-validations.XXXXXX)" +readonly RUN_ROOT="$(mktemp -d -t straywild-validations.XXXXXX)" -export NETFISHING_ISOLATED_VALIDATION_STORAGE=1 +export straywild_ISOLATED_VALIDATION_STORAGE=1 readonly -a QUICK_TESTS=( "scripts/validate_animalese_samples.gd" diff --git a/scripts/setup_android_build.sh b/scripts/setup_android_build.sh index c1cebdc..bc96083 100755 --- a/scripts/setup_android_build.sh +++ b/scripts/setup_android_build.sh @@ -336,8 +336,8 @@ check_editor_settings() { run_export_hint() { echo echo "Example export commands:" - echo " ${GODOT} --headless --path \"$PROJECT_ROOT\" --export-release \"Android\" builds/${PROJECT_VERSION}/android/NETfishing.apk" - echo " ${GODOT} --headless --path \"$PROJECT_ROOT\" --export-debug \"Android\" builds/android/NETfishing-debug.apk" + echo " ${GODOT} --headless --path \"$PROJECT_ROOT\" --export-release \"Android\" builds/${PROJECT_VERSION}/android/straywild.apk" + echo " ${GODOT} --headless --path \"$PROJECT_ROOT\" --export-debug \"Android\" builds/android/straywild-debug.apk" } print_status INFO "Starting Android dependency preflight..." diff --git a/scripts/test_player_data_root_paths.gd b/scripts/test_player_data_root_paths.gd index 69a2485..f357b9a 100644 --- a/scripts/test_player_data_root_paths.gd +++ b/scripts/test_player_data_root_paths.gd @@ -1,36 +1,36 @@ extends SceneTree -const PROJECT_PATH := "/tmp/netfishing" -const INSTALL_PATH := "/opt/NETfishing" +const PROJECT_PATH := "/tmp/straywild" +const INSTALL_PATH := "/opt/straywild" func _initialize() -> void: - var root_to_create: String = OS.get_environment("NETFISHING_TEST_CREATE_ROOT") + var root_to_create: String = OS.get_environment("straywild_TEST_CREATE_ROOT") if not root_to_create.is_empty(): _create_validation_root(root_to_create) return var failures: PackedStringArray = [] _expect( "external temporary directory", - "/tmp/NETfishing-test-data", + "/tmp/straywild-test-data", PlayerDataRoot.PATH_ALLOWED, failures, ) _expect( "external trailing slash", - "/tmp/NETfishing-test-data/", + "/tmp/straywild-test-data/", PlayerDataRoot.PATH_ALLOWED, failures, ) _expect( "similar project-name sibling", - "/tmp/netfishing-data", + "/tmp/straywild-data", PlayerDataRoot.PATH_ALLOWED, failures, ) _expect( "documents directory", - "/home/player/Documents/NETfishing", + "/home/player/Documents/straywild", PlayerDataRoot.PATH_ALLOWED, failures, ) @@ -55,7 +55,7 @@ func _initialize() -> void: ) _expect_with_references( "empty project reference", - "/tmp/NETfishing-test-data", + "/tmp/straywild-test-data", "", INSTALL_PATH, PlayerDataRoot.PATH_ALLOWED, @@ -63,7 +63,7 @@ func _initialize() -> void: ) _expect_with_references( "root project reference", - "/tmp/NETfishing-test-data", + "/tmp/straywild-test-data", "/", INSTALL_PATH, PlayerDataRoot.PATH_ALLOWED, @@ -71,9 +71,9 @@ func _initialize() -> void: ) _expect_with_references( "Windows component and case normalization", - "C:\\Games\\NETfishing Data", - "C:\\Games\\NETfishing", - "C:\\Program Files\\NETfishing", + "C:\\Games\\straywild Data", + "C:\\Games\\straywild", + "C:\\Program Files\\straywild", PlayerDataRoot.PATH_ALLOWED, failures, true, diff --git a/server/dedicated_server_config.gd b/server/dedicated_server_config.gd index 2f515c4..623e7c3 100644 --- a/server/dedicated_server_config.gd +++ b/server/dedicated_server_config.gd @@ -1,7 +1,7 @@ class_name DedicatedServerConfig extends RefCounted -const DEFAULT_NAME: String = "NETfishing Dedicated Server" +const DEFAULT_NAME: String = "straywild Dedicated Server" const DEFAULT_BIND_ADDRESS: String = "*" const DEFAULT_PORT: int = 7777 const DEFAULT_MAX_PLAYERS: int = 8 @@ -32,7 +32,7 @@ static func from_runtime() -> DedicatedServerConfig: "network/discovery/base_url", "" )).strip_edges() var config_path: String = OS.get_environment( - "NETFISHING_SERVER_CONFIG" + "straywild_SERVER_CONFIG" ).strip_edges() for argument: String in OS.get_cmdline_user_args(): if argument.begins_with("--config="): @@ -87,36 +87,36 @@ func _load_file(path: String) -> bool: func _apply_environment() -> void: server_name = _environment_string( - "NETFISHING_SERVER_NAME", server_name + "straywild_SERVER_NAME", server_name ) bind_address = _environment_string( - "NETFISHING_SERVER_BIND", bind_address + "straywild_SERVER_BIND", bind_address ) - port = _environment_int("NETFISHING_SERVER_PORT", port) + port = _environment_int("straywild_SERVER_PORT", port) max_players = _environment_int( - "NETFISHING_SERVER_MAX_PLAYERS", max_players + "straywild_SERVER_MAX_PLAYERS", max_players ) world_seed = _environment_int( - "NETFISHING_WORLD_SEED", world_seed + "straywild_WORLD_SEED", world_seed ) public_listing = _environment_bool( - "NETFISHING_SERVER_PUBLIC", public_listing + "straywild_SERVER_PUBLIC", public_listing ) discovery_url = _environment_string( - "NETFISHING_DISCOVERY_URL", discovery_url + "straywild_DISCOVERY_URL", discovery_url ) data_directory = _environment_string( - "NETFISHING_DATA_DIR", data_directory + "straywild_DATA_DIR", data_directory ) chat_logging = _environment_bool( - "NETFISHING_CHAT_LOGGING", chat_logging + "straywild_CHAT_LOGGING", chat_logging ) chat_log_path = _environment_string( - "NETFISHING_CHAT_LOG_PATH", chat_log_path + "straywild_CHAT_LOG_PATH", chat_log_path ) - if OS.has_environment("NETFISHING_SERVER_OPERATORS"): + if OS.has_environment("straywild_SERVER_OPERATORS"): operator_fingerprints = _parse_fingerprint_list( - OS.get_environment("NETFISHING_SERVER_OPERATORS") + OS.get_environment("straywild_SERVER_OPERATORS") ) diff --git a/settings/player_settings_manager.gd b/settings/player_settings_manager.gd index 3fd2a35..362abc9 100644 --- a/settings/player_settings_manager.gd +++ b/settings/player_settings_manager.gd @@ -7,7 +7,7 @@ const TEMP_PATH: String = "user://player_settings.json.tmp" const BACKUP_PATH: String = "user://player_settings.json.backup" const SILENT_VOLUME_DB: float = -80.0 const HEADLESS_WRITE_ENVIRONMENT: String = ( - "NETFISHING_ISOLATED_VALIDATION_STORAGE" + "straywild_ISOLATED_VALIDATION_STORAGE" ) signal settings_changed(settings: PlayerSettings) diff --git a/tests/character_rig_validation.gd b/tests/character_rig_validation.gd index c8fc57d..2aece2b 100644 --- a/tests/character_rig_validation.gd +++ b/tests/character_rig_validation.gd @@ -2,7 +2,7 @@ extends SceneTree const CHARACTER_SCENE: PackedScene = preload( - "res://art/exported/characters/base/netfishing_base_character.glb" + "res://art/exported/characters/base/straywild_base_character.glb" ) const EXPECTED_ANIMATIONS: Array[StringName] = [ diff --git a/tests/controller_mapping_validation.gd b/tests/controller_mapping_validation.gd index 3a4645a..a5938d6 100644 --- a/tests/controller_mapping_validation.gd +++ b/tests/controller_mapping_validation.gd @@ -278,7 +278,7 @@ func _validate_manager(manager: ControllerMappingManagerType) -> String: func _validate_portmaster_launcher() -> String: - const launcher_path: String = "res://scripts/portmaster/NETfishing.sh" + const launcher_path: String = "res://scripts/portmaster/straywild.sh" if not FileAccess.file_exists(launcher_path): return "PortMaster launcher template is missing" var launcher: String = FileAccess.get_file_as_string(launcher_path) @@ -291,9 +291,9 @@ func _validate_portmaster_launcher() -> String: "guide:b8,start:b7,back:b6", "leftstick:b9", "rightstick:b12", - "netfishing_controllerconfig=\"$GODOT_MUOS_MAPPING\"", - "GPTOKEYB_CONFIG=\"$GAMEDIR/netfishing.gptk\"", - "$GPTOKEYB \"NETfishing.aarch64\" -c \"$GPTOKEYB_CONFIG\" &", + "straywild_controllerconfig=\"$GODOT_MUOS_MAPPING\"", + "GPTOKEYB_CONFIG=\"$GAMEDIR/straywild.gptk\"", + "$GPTOKEYB \"straywild.aarch64\" -c \"$GPTOKEYB_CONFIG\" &", "pm_platform_helper \"$GAME_EXECUTABLE\"", "\"$GAME_LAUNCHER\"", "\"$CONTROLLER_MAPPING_FILE\"", @@ -304,7 +304,7 @@ func _validate_portmaster_launcher() -> String: if "$'\\n'" in launcher: return "PortMaster launcher appends mappings across a Weston-unsafe newline" const game_launcher_path: String = ( - "res://scripts/portmaster/launch-netfishing.sh" + "res://scripts/portmaster/launch-straywild.sh" ) if not FileAccess.file_exists(game_launcher_path): return "PortMaster game launcher wrapper is missing" diff --git a/tests/controller_menu_accessibility_validation.gd b/tests/controller_menu_accessibility_validation.gd index 70d2095..aa2f9e2 100644 --- a/tests/controller_menu_accessibility_validation.gd +++ b/tests/controller_menu_accessibility_validation.gd @@ -122,8 +122,38 @@ func _validate_primary_menu_navigation() -> void: _expect( play_button.icon != null and play_button.icon.resource_path - == "res://ui/icons/main_menu/continue.png", - "The Play action does not use the original Continue icon.", + == "res://ui/icons/new_menu/play.png" + and play_button.text.is_empty(), + "The Play action is not presented as the large square icon button.", + ) + _expect( + is_equal_approx(play_button.size.x, play_button.size.y), + "The Play action is not square.", + ) + var online_button := title.get_node("%JoinGameButton") as Button + var settings_button := title.get_node("%SettingsButton") as Button + var credits_button := title.get_node("%CreditsButton") as Button + var close_button := title.get_node("%QuitButton") as Button + for secondary_button: Button in [ + online_button, + settings_button, + credits_button, + close_button, + ]: + _expect( + is_equal_approx( + secondary_button.size.x, + secondary_button.size.y, + ), + "A secondary title action is not square.", + ) + _expect( + is_equal_approx( + close_button.position.y + close_button.size.y + - online_button.position.y, + play_button.size.y, + ), + "The secondary title-action stack does not match Play's height.", ) _expect( not (title.get_node("%NewGameButton") as Control).visible @@ -131,24 +161,29 @@ func _validate_primary_menu_navigation() -> void: "Legacy New/Delete title bubbles are still visible.", ) _assert_neighbor( - title.get_node("%JoinGameButton") as Control, - &"focus_neighbor_right", play_button, + &"focus_neighbor_right", + title.get_node("%JoinGameButton") as Control, + ) + _assert_neighbor( + title.get_node("%JoinGameButton") as Control, + &"focus_neighbor_left", + play_button, + ) + _assert_neighbor( + title.get_node("%JoinGameButton") as Control, + &"focus_neighbor_bottom", + title.get_node("%SettingsButton") as Control, ) _assert_neighbor( title.get_node("%SettingsButton") as Control, - &"focus_neighbor_left", - play_button, + &"focus_neighbor_bottom", + title.get_node("%CreditsButton") as Control, ) _assert_neighbor( title.get_node("%CreditsButton") as Control, - &"focus_neighbor_right", - play_button, - ) - _assert_neighbor( + &"focus_neighbor_bottom", title.get_node("%QuitButton") as Control, - &"focus_neighbor_left", - play_button, ) for title_control: Control in title_controls: _assert_directionally_reachable(title_control, title_controls) @@ -1196,12 +1231,12 @@ func _validate_profile_voice_navigation() -> void: kat_down != null and pitch_grid.is_ancestor_of(kat_down), "Down from the voice-set row does not enter the pitch row.", ) - if OS.has_environment("NETFISHING_PROFILE_VOICE_CAPTURE"): + if OS.has_environment("straywild_PROFILE_VOICE_CAPTURE"): await RenderingServer.frame_post_draw var capture := root.get_viewport().get_texture().get_image() _expect( capture.save_png(OS.get_environment( - "NETFISHING_PROFILE_VOICE_CAPTURE" + "straywild_PROFILE_VOICE_CAPTURE" )) == OK, "The profile voice-page capture could not be saved.", ) diff --git a/tests/controller_ui_navigation_validation.gd b/tests/controller_ui_navigation_validation.gd index e1169f9..24f39f9 100644 --- a/tests/controller_ui_navigation_validation.gd +++ b/tests/controller_ui_navigation_validation.gd @@ -266,22 +266,22 @@ func _validate_four_by_three_centering() -> void: func _validate_low_end_profile_contract() -> void: var launcher: String = FileAccess.get_file_as_string( - "res://scripts/portmaster/NETfishing.sh" + "res://scripts/portmaster/straywild.sh" ) - assert(launcher.contains("NETFISHING_PERFORMANCE_PROFILE:-")) + assert(launcher.contains("straywild_PERFORMANCE_PROFILE:-")) assert(launcher.contains("$CONFDIR/performance_profile")) assert(launcher.contains("normal)")) assert(launcher.contains("light|\"\")")) - assert(launcher.contains("NETFISHING_PERFORMANCE_PROFILE=normal")) - assert(launcher.contains("NETFISHING_PERFORMANCE_PROFILE=light")) - assert(launcher.contains("NETFISHING_LOW_END=1")) + assert(launcher.contains("straywild_PERFORMANCE_PROFILE=normal")) + assert(launcher.contains("straywild_PERFORMANCE_PROFILE=light")) + assert(launcher.contains("straywild_LOW_END=1")) assert(launcher.contains("--max-fps 30")) assert(launcher.contains("--audio-output-latency 40")) var builder: String = FileAccess.get_file_as_string( "res://scripts/build_portmaster.sh" ) assert(builder.contains("prepare_portmaster_assets.sh")) - assert(builder.contains("netfishing-portmaster-export")) + assert(builder.contains("straywild-portmaster-export")) var asset_profile: String = FileAccess.get_file_as_string( "res://scripts/prepare_portmaster_assets.sh" ) diff --git a/tests/dedicated_server_config_validation.gd b/tests/dedicated_server_config_validation.gd index 02a881d..2125220 100644 --- a/tests/dedicated_server_config_validation.gd +++ b/tests/dedicated_server_config_validation.gd @@ -15,7 +15,7 @@ func _initialize() -> void: func _run() -> void: var defaults := ConfigType.new() - defaults.set("data_directory", "/tmp/netfishing-server") + defaults.set("data_directory", "/tmp/straywild-server") defaults.call("_validate") assert(defaults.is_valid()) assert(not bool(defaults.get("public_listing"))) @@ -37,7 +37,7 @@ func _run() -> void: file.set_value("world", "seed", 928374) file.set_value("server", "public", true) file.set_value("server", "data_directory", "/tmp/configured-server") - file.set_value("discovery", "url", "https://discovery.netfishing.org/") + file.set_value("discovery", "url", "https://discovery.straywild.io/") file.set_value("privacy", "chat_logging", true) file.set_value( "privacy", @@ -59,7 +59,7 @@ func _run() -> void: assert(int(configured.get("max_players")) == 12) assert(int(configured.get("world_seed")) == 928374) assert(bool(configured.get("public_listing"))) - assert(str(configured.get("discovery_url")) == "https://discovery.netfishing.org") + assert(str(configured.get("discovery_url")) == "https://discovery.straywild.io") assert(bool(configured.get("chat_logging"))) assert( str(configured.get("chat_log_path")) diff --git a/tests/fish_hotbar_showcase_validation.gd b/tests/fish_hotbar_showcase_validation.gd index c2d687c..753f480 100644 --- a/tests/fish_hotbar_showcase_validation.gd +++ b/tests/fish_hotbar_showcase_validation.gd @@ -197,7 +197,7 @@ func _run() -> void: var invalid_state: Dictionary = valid_state.duplicate(true) invalid_state["display_scale"] = 1000.0 assert(not NetworkFishShowcaseProtocol.validate_state(invalid_state)) - assert(NetworkProtocol.PROTOCOL_VERSION == 10) + assert(NetworkProtocol.PROTOCOL_VERSION == 11) assert(NetworkProtocol.ENET_CHANNEL_COUNT == 17) assert( NetworkProtocol.FISH_QUALITY_CAPABILITY diff --git a/tests/fish_quality_validation.gd b/tests/fish_quality_validation.gd index 3441344..b6e6bfd 100644 --- a/tests/fish_quality_validation.gd +++ b/tests/fish_quality_validation.gd @@ -26,7 +26,7 @@ func _run() -> void: _validate_collection_mastery() _validate_version_four_migration() _validate_fishing_protocol_v2() - assert(NetworkProtocol.PROTOCOL_VERSION == 10) + assert(NetworkProtocol.PROTOCOL_VERSION == 11) assert(NetworkProtocol.ENET_CHANNEL_COUNT == 17) assert(NetworkProtocol.MOVEMENT_ANIMATION_CHANNEL == 11) assert( diff --git a/tests/inventory_notepad_art_validation.gd b/tests/inventory_notepad_art_validation.gd index c42883c..d871b49 100644 --- a/tests/inventory_notepad_art_validation.gd +++ b/tests/inventory_notepad_art_validation.gd @@ -666,7 +666,7 @@ func _to_screen_rect( func _capture_inventory_pages(player_menu: PlayerMenu) -> void: - if not OS.has_environment("NETFISHING_NOTEPAD_CAPTURE"): + if not OS.has_environment("straywild_NOTEPAD_CAPTURE"): return player_menu.visible = true var sections: Array[PlayerMenu.Section] = [ @@ -700,7 +700,7 @@ func _capture_inventory_pages(player_menu: PlayerMenu) -> void: func _save_capture(suffix: String) -> void: var image: Image = root.get_texture().get_image() var path: String = "%s-%s.png" % [ - OS.get_environment("NETFISHING_NOTEPAD_CAPTURE"), + OS.get_environment("straywild_NOTEPAD_CAPTURE"), suffix, ] assert(image.save_png(path) == OK) diff --git a/tests/light_performance_profile_validation.gd b/tests/light_performance_profile_validation.gd index f56db35..6a654f1 100644 --- a/tests/light_performance_profile_validation.gd +++ b/tests/light_performance_profile_validation.gd @@ -123,7 +123,6 @@ func _validate_main_profile(main: Node) -> void: var game_ui := main.get_node("%GameUI") as GameUI var title_screen := game_ui.get_title_screen() assert(title_screen != null) - assert(not title_screen.is_decorative_presentation_active()) var player_menu := game_ui.get("_player_menu") as PlayerMenu assert(player_menu != null) assert(not player_menu.is_cooler_water_effect_enabled()) @@ -159,8 +158,6 @@ func _validate_normal_profile(main: Node) -> void: var game_ui := main.get_node("%GameUI") as GameUI var title_screen := game_ui.get_title_screen() assert(title_screen != null) - assert(title_screen.is_decorative_presentation_active()) - assert(title_screen.is_decorative_bubble_scheduler_active()) var player_menu := game_ui.get("_player_menu") as PlayerMenu assert(player_menu != null) assert(player_menu.is_cooler_water_effect_enabled()) diff --git a/tests/logbook_runtime_validation.gd b/tests/logbook_runtime_validation.gd index 8b19f92..75fc47f 100644 --- a/tests/logbook_runtime_validation.gd +++ b/tests/logbook_runtime_validation.gd @@ -201,13 +201,13 @@ func _add_test_catch(player: Player, fish: FishData) -> void: func _capture_if_requested(suffix: String) -> void: - if not OS.has_environment("NETFISHING_LOGBOOK_CAPTURE"): + if not OS.has_environment("straywild_LOGBOOK_CAPTURE"): return await process_frame await process_frame var image: Image = root.get_texture().get_image() var path: String = ( - OS.get_environment("NETFISHING_LOGBOOK_CAPTURE") + OS.get_environment("straywild_LOGBOOK_CAPTURE") + suffix + ".png" ) diff --git a/tests/logbook_validation.gd b/tests/logbook_validation.gd index 49b9459..4810e0a 100644 --- a/tests/logbook_validation.gd +++ b/tests/logbook_validation.gd @@ -23,11 +23,11 @@ func _initialize() -> void: func _run() -> void: - if OS.has_environment("NETFISHING_TEST_CREATE_ROOT"): + if OS.has_environment("straywild_TEST_CREATE_ROOT"): var data_root := PlayerDataRoot.new() root.add_child(data_root) var result: Dictionary = data_root.create_unbound_root( - OS.get_environment("NETFISHING_TEST_CREATE_ROOT") + OS.get_environment("straywild_TEST_CREATE_ROOT") ) assert(bool(result.get("ok", false))) data_root.queue_free() diff --git a/tests/manual/terrain_chunk_generator/terrain_chunk_generator_test.tscn b/tests/manual/terrain_chunk_generator/terrain_chunk_generator_test.tscn index df3a835..5c1e046 100644 --- a/tests/manual/terrain_chunk_generator/terrain_chunk_generator_test.tscn +++ b/tests/manual/terrain_chunk_generator/terrain_chunk_generator_test.tscn @@ -4,7 +4,7 @@ [ext_resource type="Script" path="res://world/generation/terrain_chunk_generator.gd" id="2_generator"] [ext_resource type="Resource" path="res://world/generation/chunks/terrain_chunk_catalog.tres" id="3_catalog"] [ext_resource type="PackedScene" path="res://player/player.tscn" id="4_player"] -[ext_resource type="Environment" path="res://world/environment/netfishing_environment.tres" id="5_environment"] +[ext_resource type="Environment" path="res://world/environment/straywild_environment.tres" id="5_environment"] [node name="TerrainChunkGeneratorTest" type="Node3D"] script = ExtResource("1_test") diff --git a/tests/title_credits_validation.gd b/tests/title_credits_validation.gd index 5bbf632..e5ac4cc 100644 --- a/tests/title_credits_validation.gd +++ b/tests/title_credits_validation.gd @@ -21,6 +21,10 @@ func _run() -> void: var credits_button := title_screen.get_node( "%CreditsButton" ) as BubbleButton + var play_button := title_screen.get_node("%PlayButton") as BubbleButton + var continue_stats_drawer := title_screen.get_node( + "%ContinueStatsDrawer" + ) as RichTextLabel var credits_page := title_screen.get_node( "%CreditsPage" ) as TitleCreditsPageType @@ -34,9 +38,32 @@ func _run() -> void: await process_frame _expect(credits_button != null, "title menu exposes a credits button") + _expect(play_button != null, "title menu exposes the play button") + _expect( + continue_stats_drawer != null, + "play button owns a dedicated save-preview drawer", + ) + if play_button != null and continue_stats_drawer != null: + _expect( + continue_stats_drawer.get_parent() == play_button, + "save preview extends directly from the play button", + ) + _expect( + continue_stats_drawer.position.y < play_button.size.y + and ( + continue_stats_drawer.position.y + + continue_stats_drawer.size.y + ) > play_button.size.y, + "save preview overlaps the play edge and extends below it", + ) + _expect( + continue_stats_drawer.mouse_filter + == Control.MOUSE_FILTER_IGNORE, + "save preview drawer cannot intercept menu input", + ) _expect( credits_button.icon != null and credits_button.text.is_empty(), - "credits bubble uses its authored icon", + "credits action uses its icon in the square-button presentation", ) _expect(credits_page != null, "title screen contains the credits page") _expect(not credits_page.visible, "credits page starts closed") @@ -44,29 +71,39 @@ func _run() -> void: Rect2(Vector2.ZERO, bubble_field.size).encloses( Rect2(credits_button.position, credits_button.size) ), - "credits bubble stays inside the authored title field", + "credits button stays inside the authored title field", ) _expect( credits_button.mouse_filter == Control.MOUSE_FILTER_STOP, - "credits bubble accepts pointer input", + "credits button accepts pointer input", ) - if OS.has_environment("NETFISHING_TITLE_MENU_CAPTURE"): + if OS.has_environment("straywild_TITLE_MENU_CAPTURE"): (title_screen.get_node("%StartPromptCenter") as Control).hide() title_screen.set_process(true) await create_timer(0.5).timeout _expect( _save_capture( - OS.get_environment("NETFISHING_TITLE_MENU_CAPTURE") + OS.get_environment("straywild_TITLE_MENU_CAPTURE") ) == OK, "title menu validation capture saves successfully", ) title_screen.set_process(false) title_screen.set("_navigation_focus_active", false) + credits_button.call("_set_hovered", true) + credits_button.advance_emphasis(1.0) + _expect( + (credits_button.get_node("HoverDrawer") as Control).visible, + "pointer hover reveals the credits drawer before activation", + ) credits_button.pressed.emit() await process_frame _expect(credits_page.visible, "pointer activation opens credits") _expect(not presentation.visible, "credits replace the primary title menu") + _expect( + not (credits_button.get_node("HoverDrawer") as Control).visible, + "opening a title page collapses its hover drawer", + ) _expect( root.gui_get_focus_owner() != back_button, "pointer activation does not pseudo-select back", @@ -80,11 +117,11 @@ func _run() -> void: back_button.mouse_filter == Control.MOUSE_FILTER_STOP, "credits back button accepts pointer clicks", ) - if OS.has_environment("NETFISHING_CREDITS_CAPTURE"): + if OS.has_environment("straywild_CREDITS_CAPTURE"): await process_frame _expect( _save_capture( - OS.get_environment("NETFISHING_CREDITS_CAPTURE") + OS.get_environment("straywild_CREDITS_CAPTURE") ) == OK, "credits validation capture saves successfully", ) @@ -97,6 +134,30 @@ func _run() -> void: "pointer return leaves the title menu unfocused", ) + var online_button := title_screen.get_node( + "%JoinGameButton" + ) as BubbleButton + var join_game_page := title_screen.get_node("%JoinGamePage") as Control + online_button.call("_set_hovered", true) + online_button.advance_emphasis(1.0) + _expect( + (online_button.get_node("HoverDrawer") as Control).visible, + "pointer hover reveals the online drawer before activation", + ) + online_button.pressed.emit() + await process_frame + _expect(join_game_page.visible, "online activation opens the join page") + _expect( + not (online_button.get_node("HoverDrawer") as Control).visible, + "opening the join page collapses the online drawer", + ) + title_screen.call("_close_join_game") + await process_frame + _expect( + not (online_button.get_node("HoverDrawer") as Control).visible, + "returning from the join page does not restore stale pointer hover", + ) + title_screen.set("_navigation_focus_active", true) credits_button.grab_focus() credits_button.pressed.emit() @@ -134,7 +195,7 @@ func _run() -> void: _expect(not credits_page.visible, "ui cancel closes credits") _expect( root.gui_get_focus_owner() == credits_button, - "navigation return restores focus to the credits bubble", + "navigation return restores focus to the credits button", ) var chillnfill_name := credits_page.get_node( diff --git a/tests/ui_scaling_runtime_validation.gd b/tests/ui_scaling_runtime_validation.gd index b9e8bce..6e6182a 100644 --- a/tests/ui_scaling_runtime_validation.gd +++ b/tests/ui_scaling_runtime_validation.gd @@ -66,12 +66,6 @@ func _run() -> void: var pause_profile_stage := pause_menu.get_node( "ResponsivePauseStage" ) as Control - var decorative_fish_layer := title_screen.get_node( - "DecorativeFishLayer" - ) as Control - var decorative_bubble_layer := title_screen.get_node( - "DecorativeBubbleLayer" - ) as Control ui_viewport.add_child(game_ui) presenter.add_child(ui_viewport) root.add_child(presenter) @@ -165,26 +159,6 @@ func _run() -> void: assert(pause_profile_stage.position.is_equal_approx( expected_profile_position )) - assert(decorative_fish_layer.size.is_equal_approx( - expected_visible_size - )) - assert(decorative_bubble_layer.size.is_equal_approx( - expected_visible_size - )) - var left_to_right_bounds: Vector2 = ( - TitleScreen.get_decorative_fish_crossing_bounds( - expected_visible_size.x, 160.0, 1.0 - ) - ) - var right_to_left_bounds: Vector2 = ( - TitleScreen.get_decorative_fish_crossing_bounds( - expected_visible_size.x, 160.0, -1.0 - ) - ) - assert(left_to_right_bounds.x < -160.0) - assert(left_to_right_bounds.y > expected_visible_size.x) - assert(right_to_left_bounds.x > expected_visible_size.x) - assert(right_to_left_bounds.y < -160.0) assert(is_equal_approx(presenter.scale.x, presenter.scale.y)) assert(is_equal_approx(ui_root.scale.x, ui_root.scale.y)) var effective_scale: float = presenter.scale.x * ui_root.scale.x @@ -310,13 +284,13 @@ func _run() -> void: chat_panel.position.x * effective_scale, ] ) - if OS.has_environment("NETFISHING_UI_SCALE_CAPTURE"): + if OS.has_environment("straywild_UI_SCALE_CAPTURE"): await process_frame var capture: Image = root.get_texture().get_image() var capture_path: String = ( "%s-requested-%dx%d-actual-%dx%d.png" ) % [ - OS.get_environment("NETFISHING_UI_SCALE_CAPTURE"), + OS.get_environment("straywild_UI_SCALE_CAPTURE"), target_size.x, target_size.y, actual_size.x, diff --git a/tests/world_spawn_protocol_validation.gd b/tests/world_spawn_protocol_validation.gd index 29f7fde..a8365a1 100644 --- a/tests/world_spawn_protocol_validation.gd +++ b/tests/world_spawn_protocol_validation.gd @@ -16,7 +16,7 @@ const CalendarSeasonType = preload("res://world/calendar_season.gd") func _initialize() -> void: - assert(NetworkProtocol.PROTOCOL_VERSION == 10) + assert(NetworkProtocol.PROTOCOL_VERSION == 11) assert( NetworkWorldSpawnProtocol.CAPABILITY == NetworkProtocol.WORLD_SPAWN_CAPABILITY diff --git a/tests/world_time_validation.gd b/tests/world_time_validation.gd index 17ddb49..3caea2b 100644 --- a/tests/world_time_validation.gd +++ b/tests/world_time_validation.gd @@ -304,7 +304,7 @@ func _validate_environment_presentation() -> void: var sky := Sky.new() var sky_material := ShaderMaterial.new() sky_material.shader = preload( - "res://world/environment/netfishing_sky.gdshader" + "res://world/environment/straywild_sky.gdshader" ) sky.sky_material = sky_material environment.sky = sky @@ -352,7 +352,7 @@ func _validate_environment_presentation() -> void: "res://world/materials/stylized_water.gdshader" ) var sky_shader: Shader = preload( - "res://world/environment/netfishing_sky.gdshader" + "res://world/environment/straywild_sky.gdshader" ) assert("uniform float fog_horizon_occlusion" in sky_shader.code) assert("fog_horizon_color.rgb" in sky_shader.code) diff --git a/tests/world_weather_validation.gd b/tests/world_weather_validation.gd index 1f46adf..7bc5114 100644 --- a/tests/world_weather_validation.gd +++ b/tests/world_weather_validation.gd @@ -283,7 +283,7 @@ func _validate_weather_presentation() -> void: var sky := Sky.new() var sky_material := ShaderMaterial.new() sky_material.shader = preload( - "res://world/environment/netfishing_sky.gdshader" + "res://world/environment/straywild_sky.gdshader" ) sky.sky_material = sky_material environment.sky = sky diff --git a/tools/blender/export_terrain_chunks.py b/tools/blender/export_terrain_chunks.py index ced081e..d4a278e 100644 --- a/tools/blender/export_terrain_chunks.py +++ b/tools/blender/export_terrain_chunks.py @@ -107,7 +107,7 @@ def _parse_arguments() -> argparse.Namespace: if "--" in sys.argv: script_arguments = sys.argv[sys.argv.index("--") + 1 :] parser = argparse.ArgumentParser( - description="Export NETfishing terrain chunk collections to GLB files." + description="Export straywild terrain chunk collections to GLB files." ) parser.add_argument( "--output", diff --git a/ui/assets/title/netfishing_logo.png b/ui/assets/title/netfishing_logo.png deleted file mode 100644 index 71c8ac84569e8621d0539d40061b923878012027..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22579 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 literal 0 HcmV?d00001 diff --git a/ui/assets/title/straywild_logo.png.import b/ui/assets/title/straywild_logo.png.import new file mode 100644 index 0000000..9cd04ca --- /dev/null +++ b/ui/assets/title/straywild_logo.png.import @@ -0,0 +1,42 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwe5p5t0ode73" +path.s3tc="res://.godot/imported/straywild_logo.png-de66accac60dbd31604d2c39ab8d2775.s3tc.ctex" +path.etc2="res://.godot/imported/straywild_logo.png-de66accac60dbd31604d2c39ab8d2775.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://ui/assets/title/straywild_logo.png" +dest_files=["res://.godot/imported/straywild_logo.png-de66accac60dbd31604d2c39ab8d2775.s3tc.ctex", "res://.godot/imported/straywild_logo.png-de66accac60dbd31604d2c39ab8d2775.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=0 diff --git a/ui/components/bubble_menu/bubble_button.gd b/ui/components/bubble_menu/bubble_button.gd index 3dc3730..ac0409e 100644 --- a/ui/components/bubble_menu/bubble_button.gd +++ b/ui/components/bubble_menu/bubble_button.gd @@ -2,6 +2,13 @@ class_name BubbleButton extends Button const ICON_FILL_RATIO: float = 0.76 +const LABELED_ICON_FILL_RATIO: float = 0.58 +const BubbleGradientBackgroundType = preload( + "res://ui/components/bubble_menu/bubble_gradient_background.gd" +) +const BubbleHoverDrawerType = preload( + "res://ui/components/bubble_menu/bubble_hover_drawer.gd" +) @export var profile: BubbleMenuProfile @@ -16,6 +23,9 @@ const ICON_FILL_RATIO: float = 0.76 @export_range(1, 256, 1) var minimum_font_size: int = 14 @export_range(1, 256, 1) var maximum_font_size: int = 32 +@export_group("Icon") +@export_range(0.0, 1.0, 0.01) var icon_fill_ratio_override: float = 0.0 + @export_group("Motion") @export_range(0.0, 32.0, 0.1) var horizontal_amplitude: float = 1.8 @export_range(0.0, 32.0, 0.1) var vertical_amplitude: float = 4.0 @@ -23,20 +33,37 @@ const ICON_FILL_RATIO: float = 0.76 @export_range(0.0, TAU, 0.01) var motion_phase: float = 0.0 @export_range(0.0, 0.2, 0.001) var deformation_amplitude: float = 0.016 @export_range(0.1, 30.0, 0.1) var deformation_period: float = 6.0 +@export var hover_wiggle_amplitude: Vector2 = Vector2.ZERO +@export_range(0.1, 30.0, 0.1) var hover_wiggle_period: float = 2.0 + +@export_group("Hover Drawer") +@export var hover_drawer_text: String = "" +@export_enum("Right", "Left Vertical") var hover_drawer_mode: int = 0 +@export_range(0.1, 12.0, 0.1) var hover_drawer_speed: float = 4.0 + +@export_group("Hit Area") +@export var elliptical_hit_area: bool = true var neutral_position: Vector2 = Vector2.ZERO var presented_size: Vector2 = Vector2.ZERO var emphasis: float = 0.0 var _hovered: bool = false +var _drawer_focused: bool = false +var _drawer_reveal: float = 0.0 +var _gradient_background: BubbleGradientBackground +var _hover_drawer: BubbleHoverDrawer func _ready() -> void: mouse_entered.connect(_set_hovered.bind(true)) mouse_exited.connect(_set_hovered.bind(false)) + focus_entered.connect(_set_drawer_focused.bind(true)) + focus_exited.connect(_set_drawer_focused.bind(false)) resized.connect(_update_pivot) _update_pivot() apply_profile() _apply_icon_presentation(neutral_size) + _update_hover_drawer() func _gui_input(event: InputEvent) -> void: @@ -97,6 +124,8 @@ func apply_layout( presented_size = bubble_size _update_pivot() _apply_icon_presentation(bubble_size) + if _hover_drawer != null: + _hover_drawer.refresh_layout() var label_control: Control = get_label_control() var font_size := clampi( roundi(minf(bubble_size.x, bubble_size.y) * font_size_ratio), @@ -134,17 +163,26 @@ func _uses_icon_only_presentation() -> bool: func _apply_icon_presentation(bubble_size: Vector2) -> void: + if icon == null: + return + vertical_icon_alignment = VERTICAL_ALIGNMENT_CENTER + expand_icon = true + texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST + var fill_ratio: float = ( + ICON_FILL_RATIO + if _uses_icon_only_presentation() + else LABELED_ICON_FILL_RATIO + ) + if _uses_icon_only_presentation() and icon_fill_ratio_override > 0.0: + fill_ratio = icon_fill_ratio_override + add_theme_constant_override( + "icon_max_width", + maxi(1, roundi(minf(bubble_size.x, bubble_size.y) * fill_ratio)), + ) if not _uses_icon_only_presentation(): return alignment = HORIZONTAL_ALIGNMENT_CENTER icon_alignment = HORIZONTAL_ALIGNMENT_CENTER - vertical_icon_alignment = VERTICAL_ALIGNMENT_CENTER - expand_icon = true - texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST - add_theme_constant_override( - "icon_max_width", - maxi(1, roundi(minf(bubble_size.x, bubble_size.y) * ICON_FILL_RATIO)), - ) func advance_emphasis(delta: float) -> void: @@ -154,6 +192,27 @@ func advance_emphasis(delta: float) -> void: target, profile.emphasis_speed * delta ) + if _gradient_background != null: + _gradient_background.queue_redraw() + var drawer_target: float = 1.0 if (_hovered or _drawer_focused) else 0.0 + _drawer_reveal = move_toward( + _drawer_reveal, + drawer_target, + hover_drawer_speed * delta, + ) + if _hover_drawer != null: + _hover_drawer.set_reveal(_drawer_reveal) + + +func reset_hover_presentation() -> void: + _hovered = false + _drawer_focused = false + emphasis = 0.0 + _drawer_reveal = 0.0 + if _gradient_background != null: + _gradient_background.queue_redraw() + if _hover_drawer != null: + _hover_drawer.set_reveal(0.0) func calculate_target( @@ -169,12 +228,17 @@ func calculate_target( sin(phase * 0.73 + motion_phase) * horizontal_amplitude, sin(phase) * vertical_amplitude ) * layout_scale * motion_scale + var hover_phase: float = elapsed / hover_wiggle_period * TAU + var hover_offset := Vector2( + sin(hover_phase), + sin(hover_phase * 2.0 + motion_phase) * 0.5, + ) * hover_wiggle_amplitude * emphasis * layout_scale * motion_scale idle_offset.y -= ( profile.hover_focus_lift * emphasis * layout_scale ) - return neutral_position + idle_offset + return neutral_position + idle_offset + hover_offset func calculate_visual_scale( @@ -219,6 +283,8 @@ func apply_presentation( func _has_point(point: Vector2) -> bool: + if not elliptical_hit_area: + return Rect2(Vector2.ZERO, size).has_point(point) var radius: Vector2 = size * 0.5 if radius.x <= 0.0 or radius.y <= 0.0: return false @@ -228,6 +294,12 @@ func _has_point(point: Vector2) -> bool: func _set_hovered(value: bool) -> void: _hovered = value + if _gradient_background != null: + _gradient_background.queue_redraw() + + +func _set_drawer_focused(value: bool) -> void: + _drawer_focused = value func _update_pivot() -> void: @@ -237,6 +309,7 @@ func _update_pivot() -> void: func apply_profile() -> void: if profile == null: return + _update_gradient_background() add_theme_stylebox_override("normal", profile.make_normal_style()) var hover_style: StyleBoxFlat = profile.make_hover_style() add_theme_stylebox_override("hover", hover_style) @@ -251,3 +324,35 @@ func apply_profile() -> void: var label_control: Control = get_label_control() if label_control != self: label_control.add_theme_color_override("font_color", profile.text_color) + + +func _update_gradient_background() -> void: + if not profile.gradient_enabled: + if _gradient_background != null: + _gradient_background.queue_free() + _gradient_background = null + return + if _gradient_background == null: + _gradient_background = BubbleGradientBackgroundType.new() + _gradient_background.name = "GradientBackground" + add_child(_gradient_background) + move_child(_gradient_background, 0) + _gradient_background.configure(self, profile) + + +func _update_hover_drawer() -> void: + if hover_drawer_text.is_empty(): + if _hover_drawer != null: + _hover_drawer.queue_free() + _hover_drawer = null + return + if _hover_drawer == null: + _hover_drawer = BubbleHoverDrawerType.new() + _hover_drawer.name = "HoverDrawer" + add_child(_hover_drawer) + move_child(_hover_drawer, 0) + _hover_drawer.configure( + self, + hover_drawer_text, + hover_drawer_mode as BubbleHoverDrawer.DrawerMode, + ) diff --git a/ui/components/bubble_menu/bubble_cluster.gd b/ui/components/bubble_menu/bubble_cluster.gd index 0ad2624..29f7889 100644 --- a/ui/components/bubble_menu/bubble_cluster.gd +++ b/ui/components/bubble_menu/bubble_cluster.gd @@ -9,6 +9,7 @@ const ControllerFocusNavigationType = preload( @export var desktop_reference_size: Vector2 = Vector2(396.0, 318.0) @export var compact_reference_size: Vector2 = Vector2(294.0, 200.0) @export_range(0.0, 1.0, 0.01) var motion_scale: float = 1.0 +@export var collision_separation_enabled: bool = true var _bubbles: Array[BubbleButton] = [] var _elapsed: float = 0.0 @@ -70,39 +71,40 @@ func advance_motion(delta: float) -> void: targets.append(target) visual_scales.append(visual_scale) visual_radii.append(bubble.get_visual_radius(visual_scale)) - for first_index: int in _bubbles.size(): - for second_index: int in range(first_index + 1, _bubbles.size()): - var first_center: Vector2 = ( - targets[first_index] - + _bubbles[first_index].presented_size * 0.5 - ) - var second_center: Vector2 = ( - targets[second_index] - + _bubbles[second_index].presented_size * 0.5 - ) - var center_delta: Vector2 = second_center - first_center - var distance: float = center_delta.length() - var desired_distance: float = ( - visual_radii[first_index] - + visual_radii[second_index] - + profile.contact_gap * _layout_scale - ) - if distance >= desired_distance: - continue - var direction := ( - center_delta / distance - if distance > 0.001 - else Vector2.RIGHT.rotated(float(first_index + 1)) - ) - var correction: Vector2 = ( - direction - * minf( - (desired_distance - distance) * 0.5, - profile.maximum_separation * _layout_scale + if collision_separation_enabled: + for first_index: int in _bubbles.size(): + for second_index: int in range(first_index + 1, _bubbles.size()): + var first_center: Vector2 = ( + targets[first_index] + + _bubbles[first_index].presented_size * 0.5 ) - ) - targets[first_index] -= correction - targets[second_index] += correction + var second_center: Vector2 = ( + targets[second_index] + + _bubbles[second_index].presented_size * 0.5 + ) + var center_delta: Vector2 = second_center - first_center + var distance: float = center_delta.length() + var desired_distance: float = ( + visual_radii[first_index] + + visual_radii[second_index] + + profile.contact_gap * _layout_scale + ) + if distance >= desired_distance: + continue + var direction := ( + center_delta / distance + if distance > 0.001 + else Vector2.RIGHT.rotated(float(first_index + 1)) + ) + var correction: Vector2 = ( + direction + * minf( + (desired_distance - distance) * 0.5, + profile.maximum_separation * _layout_scale + ) + ) + targets[first_index] -= correction + targets[second_index] += correction var position_weight: float = 1.0 - exp( -profile.position_response * delta ) diff --git a/ui/components/bubble_menu/bubble_gradient_background.gd b/ui/components/bubble_menu/bubble_gradient_background.gd new file mode 100644 index 0000000..cf17bdb --- /dev/null +++ b/ui/components/bubble_menu/bubble_gradient_background.gd @@ -0,0 +1,79 @@ +class_name BubbleGradientBackground +extends Control + +const CORNER_SEGMENTS: int = 8 + +var host_button: BaseButton +var profile: BubbleMenuProfile + + +func configure( + button: BaseButton, + menu_profile: BubbleMenuProfile, +) -> void: + host_button = button + profile = menu_profile + mouse_filter = Control.MOUSE_FILTER_IGNORE + show_behind_parent = true + set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + queue_redraw() + + +func _draw() -> void: + if host_button == null or profile == null or size.x <= 0.0 or size.y <= 0.0: + return + var fill_color: Color = _get_fill_color() + var top_color: Color = fill_color.lightened(profile.gradient_top_lift) + var points := PackedVector2Array() + _append_arc(points, Vector2(profile.corner_radius, profile.corner_radius), PI, PI * 1.5) + _append_arc( + points, + Vector2(size.x - profile.corner_radius, profile.corner_radius), + PI * 1.5, + TAU, + ) + _append_arc( + points, + Vector2(size.x - profile.corner_radius, size.y - profile.corner_radius), + 0.0, + PI * 0.5, + ) + _append_arc( + points, + Vector2(profile.corner_radius, size.y - profile.corner_radius), + PI * 0.5, + PI, + ) + var colors := PackedColorArray() + for point: Vector2 in points: + colors.append(top_color.lerp(fill_color, clampf(point.y / size.y, 0.0, 1.0))) + draw_polygon(points, colors) + + +func _append_arc( + points: PackedVector2Array, + center: Vector2, + start_angle: float, + end_angle: float, +) -> void: + var radius: float = minf( + float(profile.corner_radius), + minf(size.x, size.y) * 0.5, + ) + for index: int in range(CORNER_SEGMENTS + 1): + var weight: float = float(index) / float(CORNER_SEGMENTS) + var angle: float = lerpf(start_angle, end_angle, weight) + points.append(center + Vector2(cos(angle), sin(angle)) * radius) + + +func _get_fill_color() -> Color: + if host_button.disabled: + return profile.disabled_fill + match host_button.get_draw_mode(): + BaseButton.DRAW_PRESSED, BaseButton.DRAW_HOVER_PRESSED: + return profile.pressed_fill + BaseButton.DRAW_HOVER: + return profile.hover_fill + if host_button.has_focus(): + return profile.hover_fill + return profile.normal_fill diff --git a/ui/components/bubble_menu/bubble_gradient_background.gd.uid b/ui/components/bubble_menu/bubble_gradient_background.gd.uid new file mode 100644 index 0000000..ecab908 --- /dev/null +++ b/ui/components/bubble_menu/bubble_gradient_background.gd.uid @@ -0,0 +1 @@ +uid://cckk3lwdqadjn diff --git a/ui/components/bubble_menu/bubble_hover_drawer.gd b/ui/components/bubble_menu/bubble_hover_drawer.gd new file mode 100644 index 0000000..ad72edc --- /dev/null +++ b/ui/components/bubble_menu/bubble_hover_drawer.gd @@ -0,0 +1,97 @@ +class_name BubbleHoverDrawer +extends Control + +enum DrawerMode { + RIGHT, + LEFT_VERTICAL, +} + +const DRAWER_COLOR: Color = Color(0.031, 0.122, 0.169, 1.0) +const TEXT_COLOR: Color = Color(0.764706, 0.87451, 0.901961, 1.0) +const RIGHT_SIZE: Vector2 = Vector2(132.0, 48.0) +const LEFT_VERTICAL_SIZE: Vector2 = Vector2(50.0, 176.0) +const OVERLAP: float = 12.0 + +var host_button: BaseButton +var drawer_mode: DrawerMode = DrawerMode.RIGHT +var _panel: Panel +var _label: Label + + +func configure( + button: BaseButton, + drawer_text: String, + mode: DrawerMode, +) -> void: + host_button = button + drawer_mode = mode + mouse_filter = Control.MOUSE_FILTER_IGNORE + show_behind_parent = true + _build_controls() + _label.text = drawer_text + _refresh_label_layout() + refresh_layout() + set_reveal(0.0) + + +func refresh_layout() -> void: + if host_button == null: + return + if drawer_mode == DrawerMode.RIGHT: + size = RIGHT_SIZE + position = Vector2( + host_button.size.x - OVERLAP, + (host_button.size.y - size.y) * 0.5, + ) + pivot_offset = Vector2(0.0, size.y * 0.5) + else: + size = LEFT_VERTICAL_SIZE + position = Vector2( + -size.x + OVERLAP, + (host_button.size.y - size.y) * 0.5, + ) + pivot_offset = Vector2(size.x, size.y * 0.5) + _refresh_label_layout() + + +func set_reveal(amount: float) -> void: + var reveal: float = clampf(amount, 0.0, 1.0) + visible = reveal > 0.001 + scale = Vector2(maxf(reveal, 0.001), 1.0) + + +func _build_controls() -> void: + if _panel != null: + return + _panel = Panel.new() + _panel.mouse_filter = Control.MOUSE_FILTER_IGNORE + _panel.set_anchors_and_offsets_preset(Control.PRESET_FULL_RECT) + var panel_style := StyleBoxFlat.new() + panel_style.bg_color = DRAWER_COLOR + panel_style.corner_radius_top_left = 12 + panel_style.corner_radius_top_right = 12 + panel_style.corner_radius_bottom_right = 12 + panel_style.corner_radius_bottom_left = 12 + _panel.add_theme_stylebox_override("panel", panel_style) + add_child(_panel) + + _label = Label.new() + _label.mouse_filter = Control.MOUSE_FILTER_IGNORE + _label.add_theme_color_override("font_color", TEXT_COLOR) + _label.add_theme_font_size_override("font_size", 20) + _label.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER + _label.vertical_alignment = VERTICAL_ALIGNMENT_CENTER + add_child(_label) + + +func _refresh_label_layout() -> void: + if _label == null: + return + if drawer_mode == DrawerMode.RIGHT: + _label.rotation = 0.0 + _label.position = Vector2.ZERO + _label.size = size + else: + _label.rotation = -PI * 0.5 + _label.position = Vector2(-OVERLAP * 0.5, size.y) + _label.size = Vector2(size.y, size.x) diff --git a/ui/components/bubble_menu/bubble_hover_drawer.gd.uid b/ui/components/bubble_menu/bubble_hover_drawer.gd.uid new file mode 100644 index 0000000..9a31896 --- /dev/null +++ b/ui/components/bubble_menu/bubble_hover_drawer.gd.uid @@ -0,0 +1 @@ +uid://jvw68gltfda0 diff --git a/ui/components/bubble_menu/bubble_menu_profile.gd b/ui/components/bubble_menu/bubble_menu_profile.gd index a78cbd1..1af8b50 100644 --- a/ui/components/bubble_menu/bubble_menu_profile.gd +++ b/ui/components/bubble_menu/bubble_menu_profile.gd @@ -21,6 +21,10 @@ extends Resource @export_range(0, 12, 1) var normal_border_width: int = 2 @export_range(0, 12, 1) var emphasized_border_width: int = 3 +@export_group("Gradient") +@export var gradient_enabled: bool = false +@export_range(0.0, 0.5, 0.01) var gradient_top_lift: float = 0.12 + @export_group("Colors") @export var normal_fill: Color = Color(0.82, 0.93, 0.96, 0.96) @export var normal_border: Color = Color(0.91, 0.98, 1.0, 0.85) @@ -78,7 +82,11 @@ func _make_style( style.content_margin_top = content_margin style.content_margin_right = content_margin style.content_margin_bottom = content_margin - style.bg_color = fill_color + style.bg_color = ( + Color(fill_color.r, fill_color.g, fill_color.b, 0.0) + if gradient_enabled + else fill_color + ) style.border_width_left = outline_width style.border_width_top = outline_width style.border_width_right = outline_width diff --git a/ui/components/bubble_menu/title_menu_profile.tres b/ui/components/bubble_menu/title_menu_profile.tres new file mode 100644 index 0000000..3ae3a4a --- /dev/null +++ b/ui/components/bubble_menu/title_menu_profile.tres @@ -0,0 +1,22 @@ +[gd_resource type="Resource" script_class="BubbleMenuProfile" load_steps=2 format=3] + +[ext_resource type="Script" path="res://ui/components/bubble_menu/bubble_menu_profile.gd" id="1_profile"] + +[resource] +script = ExtResource("1_profile") +font_size_ratio = 0.14 +hover_focus_scale = 1.02 +hover_focus_lift = 0.0 +emphasis_speed = 7.0 +emphasized_deformation_scale = 0.0 +contact_gap = 0.0 +maximum_separation = 0.0 +content_margin = 6.0 +corner_radius = 36 +normal_border_width = 0 +emphasized_border_width = 0 +gradient_enabled = false +normal_fill = Color(1, 1, 1, 1) +hover_fill = Color(1, 1, 1, 1) +pressed_fill = Color(1, 1, 1, 1) +disabled_fill = Color(1, 1, 1, 0.78) diff --git a/ui/components/bubble_menu/title_secondary_menu_profile.tres b/ui/components/bubble_menu/title_secondary_menu_profile.tres new file mode 100644 index 0000000..d79b7da --- /dev/null +++ b/ui/components/bubble_menu/title_secondary_menu_profile.tres @@ -0,0 +1,22 @@ +[gd_resource type="Resource" script_class="BubbleMenuProfile" load_steps=2 format=3] + +[ext_resource type="Script" path="res://ui/components/bubble_menu/bubble_menu_profile.gd" id="1_profile"] + +[resource] +script = ExtResource("1_profile") +font_size_ratio = 0.14 +hover_focus_scale = 1.02 +hover_focus_lift = 0.0 +emphasis_speed = 7.0 +emphasized_deformation_scale = 0.0 +contact_gap = 0.0 +maximum_separation = 0.0 +content_margin = 6.0 +corner_radius = 16 +normal_border_width = 0 +emphasized_border_width = 0 +gradient_enabled = false +normal_fill = Color(1, 1, 1, 1) +hover_fill = Color(1, 1, 1, 1) +pressed_fill = Color(1, 1, 1, 1) +disabled_fill = Color(1, 1, 1, 0.78) diff --git a/ui/controller_focus_presentation.gd b/ui/controller_focus_presentation.gd index 405b834..cb41c31 100644 --- a/ui/controller_focus_presentation.gd +++ b/ui/controller_focus_presentation.gd @@ -245,7 +245,7 @@ func _clear_directional_input_in_flight(generation: int) -> void: func _is_directional_navigation(event: InputEvent) -> bool: if event is InputEventKey and (event as InputEventKey).echo: return false - # Tab is both Godot's default ui_focus_next key and NETfishing's default + # Tab is both Godot's default ui_focus_next key and straywild's default # player-menu binding. The global focus presenter must leave that gameplay # action alone; otherwise a remembered neutral focus seed consumes the key # before PlayerMenu can open or close. diff --git a/ui/controller_mapping_panel.gd b/ui/controller_mapping_panel.gd index 16080a7..12ac941 100644 --- a/ui/controller_mapping_panel.gd +++ b/ui/controller_mapping_panel.gd @@ -239,7 +239,7 @@ func _build_interface() -> void: _instruction_label = Label.new() _instruction_label.text = ( - "auto-map walks through NETfishing's controller actions. " + "auto-map walks through straywild's controller actions. " + "select any row afterward to override it; the mapped back " + "control cancels capture." ) diff --git a/ui/icons/new_menu/close.png b/ui/icons/new_menu/close.png new file mode 100644 index 0000000000000000000000000000000000000000..886ed6ad1cb58280b44774e7a474c2ec65ce1f1b GIT binary patch literal 13893 zcmb`ubx>Tv(D-0J#5*0|1&(ME~74grfT&{4i?(?El93w~BvVrhm8pZejAE z{x>#cED!qsU_%4)VE(87kFJ~p_XN_wo65^b0^a|9@;XZrAtOjmvO2B+05j#kFO*l2 zhzDd4!A(w43gH-$5Qm9q3iu@evSc84Z~d*;i*7k!M&&D)c5 z=_qAZ$BK%uQ8j#V4C~ErY4aJPFldXD$q*p7Z*e+GV;yD``Y7>3g1p{A+T8tN0`F(% z$OrW8hfNoYAD`vX`@UWy+FM#BcEIq07T5Gc@<%)+4i@D3;c&ls;m>c*qPG?SPxXt= zJt=-#hc9kC3#@`7h~QjZTup>_QS#hAFn+=!*5wn|v`#Y=P|%8ND}y`K#IZ5tj$z&s zb`tnXwYK#+Il$4>oRhL}grB`boMLT(saTEOvyL)5`@-tW2k{zCPR7!(0W0%1@pBwr z0k(Ya-AZX4J2>A$iInWCjlQ$v3{X3!(Ev1?!|um zfN4!YqD5&-#^UFeq=VJ3vSBHIL!7VIpD`Zd$9dknU2bWKM07+ez0M}zfBd2o;>hH1 z;W$A0m(McT)@@zLL8j!uDMQ<6Zse8MY_H>09NGi;L^11upVeOo8%)ZYigAQ<=lM z;Us77uGq=6DI$-7Ck)NUHf;|1u`Y-_QM*ZLyP2D~S@4^=SU?&8J1aZ)Csy81tUT)M z9Q>TT{G4oztgQU3tXc&!OaB*vy`#CcrT703aH_NM@UyY;bFlvx0US7f9zsC(-!r&b z+grH0nLq^d|4hQprOwXE&&kQp&huY1XJ8{og=IM>BVO3kNqP6MGAQcGMKszm4=iU@6E0lr1e?E!+TXtn9Ah^d%55`F~TZ zd~tMhw6}0`u{M))aIm#m&>v#a7+g%?`3~L6!0v2o}~q zEH`V*e@xp$7UTL~Gp%!4+d!cIVe3E8|C?)B5~pMc_&;p@2mJrS7G)o6JOIGDBqu4R z?zQ}P&D+mFqxIr)qv4J)u~;sH<|r)`>oC3v4ArTRJ5G)qT$)-wQc=3Fr4h7%bbec| zRb%L{;YU&(Om{rUc#KQzWcpn$p-d%;TFx5D{(A~KpM6FmC*Pm-XYcosA-y`c3BKnn zbAJ&sVKTa-CEKd3*Hf#iPWW1;@%sPoSH+L4S`=fQKL&Qak+@20r_wChpOc@Ku{`!Z z*^cSW>JZ)6zuP1kAfot>5bT;5(;gNfJ6 z?U6zz5gV!kBRmBA$r;sRv#tpeK4A?@kJ{^VMQqKPx0W2RhAM$b-#D0NzvHc}S$HDBc z5Gooj7vdr_1g*g9r2ZPV75$6%)H}oJ{jLac4nxf(n%jF@+8$Tp1!0N>9Bk_qfJdY^ z@m2PWMN;^y`w=%ld!9`P z_cD9UNMjB!s7>zeA{xikflc1A9gyN)>319DbWJ&S&c5>YqQDmAzyTQN|Ey6pt_1Sv zR@`bFeDLG?&f-C02dJ&2uGg#@xN5CND@E@V6Gm)cbxRY3^TQUMv{ zSJhi@!(s9u`e(eJdUS~bd%22IKfE;1EJ|5U#x)8_QF$sFWVv60Gw?asW=hfoL)U^w zQ_4;Marco*H^m6q1xCeSR~{__>wX{*RCa7R44K6k&wYN|LPR&%mm1?{N6Ij9#baCP zkXi2b)JAliKYnWJi=XnH9Y`3xqXkxLHEohV`&3s%bIc}%8|I6lPIf7STjb{{H4f7x zwFVgZz$D&kTQQIEZ$YXZceRxgW$E2N@@oY=ffrR+>y*BWjl3u)^12JZ%>hyTwosM? zBARr&HE_{Ara(Up9hNW4*RPJB)vvb&QVX)GYGJknTD#5!?2T(b7jz2cIANC*`jFJN zNNP<&wGY(tHx&6QmR0DNGlQw{vpAJW?rk=4MPFU3H&AAw3FDc6CDW|{%RvrU`7;vL zF;a!?Amuxu&aOj_AC=ZJSXJZia5sObKM-pfV_+iW#D{mVUAryJf7fa=*E&9prnxhJ z!)M5a#v?9B@F$0x1;~lQNrz~1l={KUz?Ismd9m{Ry3JJO$>M6H(&b-|a56x29D0I% zR4ML0IWU=RUxe!UHIG+#{!_emyey*GqeEshQFO=T#UJgB4dKBR$wP}obgvt(lS{4t zLtA@PSMXSdI6uE>1ZX{S1UGM7-fIuKFRp>`ptFedVa2Ep23)&&BiV=A%_~s5#SA{) zN#SYldWRMZApIedsPRpZwVWbXbV8{0(@8EeJJL9R-a`R3ZREi!5);#HqETp^xFJ%b=M<%SX!hMk$+&##6oC@P?5DX9Ml=eHXlhhkd9G%B4!EcAE zLT>bOj`5nR>aFf9YJ1G>Tza0pCqsGOFF9NZ#z5O!bt`94U2t=#tOixs9PEaUNb$1g z^^uR1u>)agII!c%2_EtsJuJEHFEVVNBRf0mHFU~t_a{^z04f><^82|$IFkPBIV;Pq zdW-g=5mRuO&G~yrh;LE)6Qq|}C2UV1$tIZVpdSj7#&89RUTZew)}hxVENwJPyn&n| zKV3UuZyU!l2k@DM#0FpP$cem^nmT(Wm_PNkH^8ikptJ+ueiKl)#mfC;ey1xHnXDsplMD2^F&2c`kR2Y#V{(F4AbmUXPGB_bX1*DwYJ2KZZMvg*v zcgkqAg_kF?u<_cf+8Bh(5YfymG#&of!NB<0Z88kJC&puDz?~tGxxSuIOJo{IE%1R! zq|M52sB%bmdLcBV8j8=*?=i7-WseV}JnM^^KteZM;gpKwxsaTsFd;<{Gs`_4GdHoe zAA9=YlZKvl5x%2NKvDQAV1jxP^%0dCf!_qIE)QP<+`@~ z9#3)#&JR?LpX@8x-;DW+4+=o!JiVU^WPj|n!V9)D`vsgL8s}A3oESzAbeqqh`umq7 z@$sRR!4FDXeY>K)>u~T<_RYh`*VTk)FetR{gUU8aD$AIKyH@?OQFWIqbb%Ip+3!vT z;=(L|2TF^u;3ubEDhy205n*Gpv8T#RuTLur%TWEusrpX8{oGeK5Ne+Kw4a1iV)j3b z-R{#?{t4<#=vmRTGJhacnA0;PK7OJ^fT7)_s8d*X!ct@Jzq5+8I>r zxFnI#HXG4{foVvMeO>nsTM55UDOmIibs~vU#Q5?H!De)6;fca4@kXW)$Mi3iC26M< z0AzbA^{$edCl~EPx2xZp1rtu*dcMl=ZM-DSd?TlsS*~N_)o{mo_;BGU7UDxL0-q90 zN*0Zh#86-b$6aQ!ainx z!gqFd((tfI;7&X@TSP?(FDpl3cCJ!{93Kz8W~d3eIQ{V}ZJ(Tcx|;hgfaQ`Fu`z7{Q|QVd3~NP`6g- zxbTHgCb}hYcm1e)r%bTLz6t7`h58-^g@cI0ZgOi-(SrI|<_{NSK%jl^(dZ93 zqf!bUXy$@$>Afst-97!JOyC>TA`Pn+EjJE5Hyk&Ne-HiA+mK~TP3bU?UKmwGN|6=i z{uEX~?)&lFPekR1oDS~h#*?F3q8-^}dHhYs7(3Usn{wJh_cBYMN8#1BF-DM4_=N`0 zkbrpRCySR90gG6!GMGPTNt8lWWc_TGCr)en%W5W(oJF5Q{Si%9UZIfc!VS_uhlH^q z5=$qG_7W|k=dk~Ed0mykO20!~A*hS6$CXMiwOeWC9T^^J%@~y&-6p2ac2(8xV>&TZT8&}q0oUW=Zx+j~QX@VCkpjCOb!_)wTOP&fHj zZ#KWl`d^3iFotA`V7MV&5k?!*jNJnbG5rWX>#^i(CPiiIv@b{=A4qm=8Tj@&)Rft3 zP_1j;Ds5Kus_T^`m38-F_b>-d61=;fU6@&j{PJYQO@w-hn^UU49mS7qne1}ZjFe3+ zFhUF#PwvrXCEbKeXiIXx0keUG<<$eSyxVLuNvN{)N9SW}81+f}imnmk@_3gjU76eG z@q-ihtVbunHrTkN{6`vYWkVxi%H%;Pui@1BcjTwIkN+bC^# z5oTvrrl#7~bb3HiKsu5S)?w$;TMkdy+K0p<(>4GC`Al1}f3a*x5 zi(olz5k*}5xk%`rfyi;`=&@9^djbyhlB2OdkCptavV_Dhtn?Cl6UlYG`7YVWK%h%$HPn%`Hu3f%7)r_YSe2v0?Rctor6NlqYv#ZRp^|Q| zAZOEWj9^S7J$+wHwTzxDt;7!CmC~Mf6eJszO7B9(P)Ly#Gs1`b?hq<+?s?}+XaDgR zUX|^DVhL$_B>g^+Jz^)NDbK}#b+kksna*g4RpxRdhv@Ke)UD+)earyd{d)#j*uL_0 zPJE?sCREcA#^ExVg=p(Mr~=GSv;PprCR-Zm$G5O?n_w--N*6J2@s92SVqFg8wUSYS zSKhLvz)_D-YIaVi&xHcO&gkdM5R%?yw-x_^)gQ~)T1}I5@@`Rg;l9?7NfR*eK|cwY$L)>`u|3pqHDqL%_{#CiM&^29 zbLE6E_sQ9NZ3h)vz9~)vF0?eIus)TY0M|dPf+b>|s>5=^#!4iX zjVUn9aXV$AyF}V8Bmx(!)QKx7M(1Z)+)Nh^RJ}bKOUV@O9t+}LcsDj0Kc3DbhM)mN z4OT|o`9Aq6ZP|k(oly8&i}RW+q&jV1cv*+l0_3e1 zuHq11e#snsm|-!0${?%Q-Rl@0g9mqO|E1FPt%h00u>*Di_o4`QZA zzMpJ3*)CSOP4Ej8jtZr-JlY@!cL^-Q)SJV0ZAqHtt}p1dd-88QOlOdWfWwMp*4&Pp zX9!)p<7SAl6T>v~R|`i%2weJ%?uh8zH=|Kp>eM!F(s;6t(b|h**UM!oxP4$QJc7DW z@EnrI9Dq4@TXH{Z$4LSvnCF@Zd#>5RL(3_hx&!6|*UI=Z4%Y@tl+x#bSd=68t-s|i ziq+ERl^t3d6%-NkYdqjC`q1+=a_klNK%LNhg}@z_zkdRQ(Etd4mIxJp)Ng2-6!*xh zR0CUN&~hcbt!0ZCz%Rm#&&)sCmTSUAe?gE=r`9puYCcb*!N1f$_=tJfPQRM)$nez} zfJ2t*`fJLq+cxmkO`7vOtzMV8K#61t5j$fx@@rve0ajI@h{@>PM;?gRN_)BnTBpUI z%sh}BUX=%?ggV_C#^2iPzP3id3C#!C!8;NB3qB7r5B1R217q(U7lDp{AJRed4}EFm zgktYT5lz&A%y8TUmm+wS0UJ&mJN+ija~rz2a!ti=5?gE3hunK1TCM2f-A{fal6#jE ze+=~c9lp9)aDe+&2$nc>4OUhg9rK)7ZXRcrmn6dd^wi&}f&uouo5mUuQ8c236pk0a zYvl9sS&MphESR`i}N)=ZL;qD4q38_ zgK_=S&LhyMcp|kcFDh^m%Dg14UQ;DLm?E?DW;3JyOBlNqOb_VlcbVeM(-0r|0nD?cMN#Ps@|JlLr|K1Rkl3zb z!t%bil7U%8s*(_%?v9&>Grr5~-U*)C~3`*&XN_C@@-0mOx?vJ5*hKklTDGnGMc)0w3= zd49kN(sXT!cvNdKkjBqy=LyLAnFj~INAc@sEzfR5T!m0f-86 zBp#4g3|F_sKUs4W)Rqr9l+P4@GIc5pGQm$_QK21wd_l6XaEf#; z<3%=#Zf5el>|8PJYW8${E?!H#XvNa2HEoUXB9oa!ZH_l0wA%&QAv3|6mj4)jYEz|d z*-x_M0B^HhrdXU~Crl%+hL4kq&z&*Z5cyntJx7WY@X`BUfCNua< zk-in$lWz6<-}AS1&UIn?--~SEZ4gVRjeUpkt&q{H5IH`DPZUKr?Ed(BmWx^>Ia9C5 zHN}UG!{XFi;&IXRg)S#~^NFve z$4+P#tYk%s^{P7Yt-YR*o_#EQS~JH_qxD``NPj%BK(YL$cWwjUJ5n!FLY8G zQA7?RBE&U&>}nngfB#4m`)P+I#J%Xxw}%a@-lH($i3(eRR_62z;kc*!l*9dLKqo^7 zO}j;i!K4;d6N-wdgU`nK-Fi5R+xJ^8p#}X&*QSsUJeZ+?eoGH^^QY>vytk4vclTfw7<}y zRn0uZi)j(^KZd#d5O%vZU+(}H!&u4Uu$|obbIs>G%;txuZjwh*+S+}1OXz;w0>57C zCYnS<)cQ`8aKmPw(}wLL&9nf!2!v6+?xN#vPkHDgXD40X7uL$B(QPKZ-EVWccWLt1A{c z7Y}cQ*pwX!m*$1kf43>Qas!gmGrVc1?h2ILOwW5Qw1|?8$}cK5dnQz;+8C4BG+w_r zwk4Q!Xavz%)gpC6T8BsI z3+-d*NEdu1@v#?b#28DkS@jv}K9c%(D=Yr9D^#n09w^l*w4x_BOey)-gxOeagZ{j7 z;nIRQ!sLv2r4>G1=u^p#KiB?5+)J|%H3d`3#J}EcBIA+wD11wy=YMmyxjFv1B|)Et zqQ^LR!0Bs}_gDi|9`vMsd`3i}!)huS#r|zi!-`+>y)Eb7vsZ#v@&VBDPvT!_^}K)j zt_Z>NKo|4h4XRU|*$5UvXz)2<8azFTsBS`K|Z3+J=wn5MDoTul~;^KKN zKen0SzzQMOol>=e*A74LN>T8y=jlcEw{KL!2jSZvv#?xR&os9vV{L!3Ud)Ov#+Z{p zgie8^pc;GhmM1_@D&Rxkx58&N^>ZF4(xDAJkACgxX?Sp%#C5^|hf{85qQ7T|Adacd zkkn%8k?qTc*ZVgT6Q1bX7dt@OXYLwBNYeCgs?(n-7@btYRL5Tby;t4e$o}yo8RlHq zshl{`I^Pm7W8pXATuRD2c>WWst_=7Da03)Rjy74as3y0A%h^ZI&XiSR(~^Bh}? zV*2`tD4kJXl} z_Y^m*fs)VB?k1hjx@9^$boytkSdpJ|rD#Xh4z6^o{?-ffRFsQ)5d#?+}z&*$IscyXA|A5`!?Kr}&l zH_y_P2~SG`t6OVFwJ4k!{`v#KsMxe_awA8XSY{~ zVfl@t<-dAmIlb@~H|vgUOgJQmZGEGG`7~I8N9`7c%R;@`ed5yZRUy2)f=T5xsEttg zDrWa38AZH&=O@HjV%Ovdl#}?lEr?}zjth^!=Wj{?+H3EnC^TKJzUbF~uaE1SO!hdG zld3lZSd_O_?U-v#&;qAW>j>^6Kz=TG3Fr{b37;A%IeE?asEceA5Y3e z5DkTq_(jLV{)fYTBSjXrsfPzftx&uB-R-XfU&@e>nPt8>{%u?*Gop)0pXd$rEcF2Z zms&!g({ZLu$CgE$MDChyrR*uWae8UG=k}>M=Q94)c8)XG)iNZ25Wu*2SE#SrxjmML z9d0)gYETV5hZ)QoJ&3wkQQ*S=vzCofXHd)}0Iz}$DIByV9EzkEC%rzJhde$K?i?*% zzeLv@3vQ#>4)S)fsUx&w;JSL(fcAn12*?V(Es83AD(RX~FzXkc$F-#W@6khfzNIBd z0dTiS(%;Tja?Zn6Z>mjdOiX&${I*G(ZElXjciKu{09$<&!V0jwl-sN;iWqM+Kkm}& zA?7JAzkvgb#FY%7gxJoCxG{S7sr`cwx-g07c`R}Es4PXUz}luKA!Xp*7Hkl;6smDB zE2HiLj`K;y0-K;+Do`0~1rAZJz+x#qLjCTEJO(`zgGuOgl*e`f&(FLhD)CYSZxH#b zCln8!H}gBi*9z=_+v0x-#;m~^ai(t=E{t8(V?%3NB%?+XTF;pk zRP_>rM$rVgELR|7&xCPXOuUC7Z=(W>!2-+``>|RBFsqx}0EM>$n)I*!<9lE7xN;{o zhrH*5(ck-6(}Cxari`C0MvM0^klwscVh7+mow8-ysQ` zZu(w$FqZt!N^P7^hXx->H~zu|V$KClp>qZd5E(Y?mx|CQ|JF9RmiKQ_8z6+X$J=?w zG{Pg7GUz6U4m=k~073$SKty|93y2wFugHFIPQZqHzwga6(pG*$XqZ`rJ4=ZP%m_u| zJ}y=hGUQK=oaf3ZqTp(^d2CF)B^#(!iKmvT3pDPp_zua!xCM+ zwQt|h08-5i-|eabL@r2;EyLkPp@=B!78$Q31ZcZA1e+>0hYr?lVciS(kIm-8FT1{t zeeHdDGj#@glrSgX{w_0RQO|HW)dN$M>$Z3q)^pu*eP#LTr_Teeu!(4Cs zsvWTMomB9R{-}XbfOPHCh)l3^n5m{iK5$#Aa|p)*MieAA5dLvN zC8Y9KlvhQ)zYxa0jA!bZ|6?pkfZcqSjn)9rtK#Ve*32)+H3Y0(8C}||<*)dosg=fX z<3Zhomx~)Im#=6E!1_ov^ZODh9wW5nr&dr^SDMz|laEh7ou~;F@~5m<`%78utk;Fxp^OlPG&@sg-bLWat|D9>eL(QJEwp zfT+QoVF_DoT>jLToZfZz&fK2ve9d1`o@IwHv{4)zu{~NAxvsw(7LQ;Dmjm1)5^L9f zu7fiE{-1K(#U!TVTPIdRBD=DuJ!5-jZp6;y_x1)OF>L}`A017X#(V7683_I)gRl%cI=@#V^&lP26NtCdU2NwVKy!x~UiKKu5Qlc3&6+_HcNQ!C zk|bt?mSo!9yJ!k~8I> zX|`su4!9D@2S)_benH)gF4Fv{#So1qjN>7Ygq;aR9M#m+Qm_!_<)-y{2BrSh;Jta( z@$L1CN8X80^#h?1pFFW^x^s37AVjLm0qr6Aw=}gG2e^=SbQ!J&{!L3eNPVkGKXCe> z&mp{Ut4OU(*8fjL`F6w@eDoAjlMJIKjfLo&u}N0L z9ma)_xcAqt@%qu7dhp^cMPI93%(-@?7jPm?AVhkb4dMD*P;6}sc1+ba8M81#VqU&{ zNKW%3)-xd{N)^u7Yx?9Gj0w*W+frk|gye22aHgd|K)nS$K`(NVBpli*h&g)j>XV69 zH}N9Ci3(CpxlGy9qAEX>x{1b=cQKm1UdQ)vRrofse-?DPG|D{ilOQfvirBTa&nnVO z4$2Z`eY~&Qm#_935Gz_=v}20vfcW@O4JEdodvyLJwfL8<43DKc!m7a0HJZmb>o6o> z-S!sE6X)`e)EGNapCJJPq#6uU9)pI`c!p-#X~hTK4pN8St-O@*I9lDG){)xHFF0A9|W zS*|VwUV#pZL&e9goD;}P{!XC0hr&gRDx+}bPVTBv}X975dH`N9tu69gy>CCIK~#!p~@j!^lWXUDbOZP^jnpWEjUtt!vVYu$B@v(Ca0Ly(fs z#Imgu$;`?$B9;DDZJmg=h`Q-r<$+aI|5>sN|2I_54x&h`cZbKue9ojvvoyhKLQ%T* zYuC?6!9A}lHQa2Z`VLtPW^B}p@-o}A+utFB!UwfXi_L&(%9;6Byv^p1(NB!EAjxi+ zby}GwcZ{!Vcw4R0x6VpT`&yZS8OWbM{g!!si`0Vw^(fQ%LuWdBn6$pov=Q!Kr$JR&s{i zjutt3mfVzk+!UK=&?1@K{7pSH3;1YVTyxTV1F3WDQKoQ5#ZZn%Zz14N0ApHe#GFI; zpa^-;3SdoFQm!1vHgq8ItI z@M=a8AWw53$P8*F$ZsAY%AdGMaHP@IWI}Gg8Z?FJfyEY-`<#9JD2mQjLv((wgYQA9 z9xVH@JHjBUAs~nvd&Lho8Oo4q=pDH-=ljxCQsr#I=bx3l=rbFktaCh!7i)I!rziQ2 zV|N_1Y5{K3UM^y8q}$yp@$b;qaFMT}h6GiLYX`+@d+kTZpo}{xa_80GnwxJFxh8?+ zI-5gw@AczbnwfWGP@ek~Jlnfd`1$00ZN_t(zbPz#fy=%C`UU<+_XlOiVXiPFx%K{Ug{<|Ho;$7!E!9gn&NuJj7xH<8yw%}a zT*x&8GaQQQXSoa?vs-5yvN97p=dg=6b>lG6OP20LuCtO!?auLH_u**!Nk#duP6 zl4=#&*kIlByhc)U$Qs|)c$2@}rH@99Je-sAt2zOA7y1Z0X;CZV<`@!+T3K;2zO5ls zN39}vPt9KVv`nM5KdI$>&>|kj-g!fQ2&f&Eshcg3WayOVp_XRHXs(8o3+3Imqd=z< zve6LgIWgGPXQ+Np^qDBb~U}@zEqVJzbSkT+oWo&(5!BbOo7sXhs zFEEks$992#lBbq8R}zu%*74;Ohbr|o@)EN zWgt~~E}TS0bjdP$=csLUa2qyGq%%iUMs_M`KHK{aAw=cGJ#vW=6+F)HX|B5q`1Z}k zWZ_*_Aq=&rG`}l6Q)U;pE1Tpn;Q2p+zt%i-%hLEHt7pWRAEuPMFOY?%mvgI`3i;Ae zW4XMSo)n-d0O61kMDt9p7)a5Wg-G0L&?FL5Rh& zqi85-+8a$5OKqS~SO3Yc8o_;ls_sbFH`T>Fg7DAC>kugYt-R3^Q=5+^=@Qs^=nWrz z4Po(VCa+<+%4AvK2~aa%^)Jj+(iqsPQsV|t>1k!5zf~o6bfzM>2rzWZrj2;k_Y3?* z3~VJ@+Rs=njtTBi+DxK2r__e|jl@o=x{~BdWZO>gf#GDr2^k)&k>E8R-5_<7n%FUz zit!^z2y1KSxk(T-J7Zyc<#nXapt`Y0Gg8$fALaKe3d%-Z-7H}DM*Hk2iz^V57jADV!eU7Z7kAe! zUYJY`-{Tg;(gqHEcgJfp#n2Z-8kt7+gq428`=-4(_cK=IoW5G@z_KHqOmhpPhdXak zdCyX+MwI>}Y;YDCup}L#@We=_9Ew&N=n){l;PYHwgSB>Q0dXlK(r+k0hF>l=nEIO2 zwE46ZCJXolPM66haF78N**`e0sFQeq$;^%%0%0Xkx#b8ik zWOx-@s7}k7lKk!&YH%Ks&JLAlv-M>8wOM)DmUN4wKtFmctlocZqq*jZ!3dH|6!H!; zVthhVCrPr6?9em@O-!cPEIoqKvHsC*dv{?!QeozX5@`f=7F@MpN7+MieQRGF-^xDn z2wd8OUNg!Agw2Km3gNLkmgwQ(q7mPPG9kE3kdO$IAr2ZI6k0yY8aQyck_7yyn~qovSa>~ihhtBhS; z{Fx>?`{}nUebt#7#E(HkiV6BA4dpx(1@AKXyd~`PXAh$Nx&77Wz3MNL=bINtsI)!1s&ZrUdCxq}0ld-JuMvq=q(j3J>gCZ{v139MCY1%Y!o z%kq&f?f%88vvu{lHp1abmwVXL!|=iT#{)z^x`)I<#aEQl^@s#Lc7Fp;%Q0Sq2AX7y zP5uD=xsK19;+reIY-Tdg1~!P8O1q*m^QMdb#@**57QulE#=6dPp!k)|CT;DKIuJ(m%Y#+biWAkbg?Q>cQYHb!C% zlvGa!pBe@M|2-(+x@QuGj6XLf-AnYO?RWrF*)}_v@NWqxood*jPf$)??=3mcd&7+1 zegMd)3bA`?Z_yi^+fbZ-StY+PIJ*kp0Sdj2HF5H@`b8qTc|P{|`rg2B{OO;+OWk$u zFB94zrkm#V6h~_AT@w6;XfDUPMakS3*6?*;?`&RVgG(dUt0`6^ZvS`4;}`!#m<~}I znj~i&!Yfo`#8RxS3W#ajs@3QR{-gn_ZCDDs2KNrv#wULEuKg_w6hpW14eRk&&UfFLeG8oqdurjYqyEb)unwc35sK5!Q47TMJE*D=`P? zM&gEB`gUbqc;-0V?C|sCp-KX|7_6)S9#Xm;j#tv3#IIv{1<0dhcb&w!Giyt zN8VGP!oMjJ+Xy@bP*(Z|J%d+5G=hZ7H%8HK^vOIPtHzQ>Xqi=Kip21oyq4-mtOgiY zag2UB`#I=&F6AN`0HN|WN3cLjD8<&XFbz4_fFam`;^S_@UF#$+3c-Z31jkSVkBaYQ zc`pDU#tlcxn#Aw(*}{p5r)ho0z{Ny(e*B0Y}8jbHRS!eb1y_4pk96BlY5N0 zzk7*fE~Na0My+6f7^-ADerNo`>9wZsT1uYBP(snh%u(xtZ-?5B9HtHo0e77kAqk?d zUS#>d83Z}}YDIPhi-1?Zc9&G*8*3+j+`#nJ-8#TZNCoh)Im@&o5E870OrJDBjyr-g zqdM0Xf6$$$fByUTvRvQvEB_Og#yWP#eW1s&Bk5u>t9*|Z0qYoUdeE83Hv>D{W60qf zuSQ@@MS^ER7J-|@y$H~&p&<3Za%62!_&qStf&^f*&tg3ylO-?7hr8AITx1LfbkMS( z&MSSNI_`716hz{f=6oYN0+>(c2Obi%sbmu)9NzwjWdKpqj6_8Fl=u zY;LP4vgVJ=@yk?aubhbkobf3CLAr3ME_A8|M}u-GkV5rWiFB?Go89wM3YYg7I{={C z=ya(+%}YyYGD7}p=D#LDyXE?6yd05)gbj~Hcz1$vyuP?NGOg%~PKw3#E#m+#0mk-rE|zw#rvK^? zbpKBOT|(wU{BJ#QTQ2bb=m7z_kpENvr?+*WW)mL9!lc7Kq8SN34@QL~RABr;J)Z9{?}YYNKK*Rdxig)8uu~5q6^EYJ z$IyxICu@FYnpzkxrnUm;LObDEgO;Hj9E*ccZAqY@h|OPpOy7<3j=Dj=Q)GP;9I`em zEBG^4;zBFjpddJ(i)_tHqGSBYp2dr|9EL$MX04`=%yGLhrfN)wt9Hs*YW293E&hi# zV9>`k3~G*p6ykyU+3uBku@T>|1cES@b8sxv#o>2bi^~3}ybwQ{I}=YKZ|Z5ZBPn*) zy_;#_ZHPP0U{Xm`=L6`R;aAoj%8!q~OXa!-;E4kucM;cgF)?&8T_K`CmH3f~&h=9n^n1rXH4NJfikC_D(7e zhQ_7sWdGiOs505da- zl@`tcxSRODyA>_$UF>a5U7Re9rR`iyogAD@T?}0;?d9!v

Kisxy~-huDeSzl;fF(-@_#ntUHoRWDKXTyxbdV`bmf9FcpfXt+5rY%(uu|uj+YZa}u?xbKmt56LCvq;oT@%Sa zk8x+IO&i=?M!Lxx`eW|@3Wx79ss-i!q3*a)Nfwd5MSx9h>S!ykI~Fg$fy}jwtg-uy zm1f!SvGeI-jdz<|*tn7c&8ORvn6z=Spd-O5BeVDivns2nqSME&Pq^ zqzo=VWZK7y&47Fp$k#1qLyruk4Z4^6a4l9tVd6T9dShPkd0p$78hQx;K?WMRbI2}z z%ei-VcR2iIiqgVr*K9TKc5`mXjXX&-5(!IhvFYyOwl&T4Kr^t6ehe4~vLg9j{}f@-*PJxU-YN zsPbpPZ9PM0(FlCtb1{v$0Ns?%*#yBSH3<>qhL_B|EbX7`DFxBWDo-O{A{qxSpt8C9 zUk)XCvwLg*bWlyV9Aq20A6VqqLtWv91Su2{fbX{$OPyY1kk} zWsjOk#$!TahF)8VjwC#XN!1v{z-~Aspk17uMxc^GdvAOH6{+w9v?nAJ;C1})lwN2I z<>-tKld`BFXvE-ITw5DzUrRv2Pa)BtqN7biQSb~+-`xQDmFfJvW!Ez<9N!N=)g6QD z@1p_6e1=k&mG#@3O)Digh3+!{*l`E7)!8Syi>YsbL`Gv$MfCL~A1~kqH8XOlOm7!x7;C3W3a0Q|u;b&XWCVzCBV+;5jv(MF;S_#MU`B^ zs2E%H(3hTLPiu`4WZ}h5fhK#6o$$ej2d{~#9*UN_cNB=pOr)8E2Dg%)QasO)_0_l8 zyR8Xdbnan7A3DrT4rk;c=qCyh)FrqzIthM-j`@qN>U)8WO_k(Gm@P=rH|qzAAHyj5 zuju>dUEc)y?tBL)2-D}d`T6?>oEhta<#Pv1R%L(QK(MQu*UM?|VG{7E4FE3?Mmx6CzGrz(pGm&VWb@Qor)~g(3v-`!G zX>=qNCWBSqui=`I2w(-EZ{Z-zgp5>7VSE0mO7fXf>`X3{Q>9G#C{Qilo^RZD4l6MT zKLPi?CO-4cV}E_w*&H(O)f!6c`6f63Wl^diUg2X^AtDZV9ID(`18QKj<0}{ucWr(m z7ldJXisH#9Qn;^)KGgm-cH5G!RS>PG6AAGtw-ZTC-)KRtl}*`}$56aW z7J(DBQ84P}3Eppfarby6ZsSq(X+!k>^%sR&>sSeSfbdhSnH8<-RYWAEp^+j4$Q`wxc(uIlxcN&7|V1#($LK z{?^SBIZtc*paFtrc5o+C)_`R2);Yxf{JnI2&obuFb zn1o0xMZnypDKar_6|TRa%0J|B7xX%5T5cV5_`d%8Q{tNY%?l3H44^bC^H;@8;g;f# ze)@0LFjm$9SrsR1;KX6K&2m=CnL;Ba)gZzf`@2GJBy!SaX*zh9u|JA0Pwc(DQ?m&N zFEfGD2fK$}$+x_L@X2JnH#ks0_0e}pjmx|HcUskCKuAxBJ>bRHih-^d*1{en$nK_~ zP!E6?hZ=2_GDwS|e|PZzTcwJ~0KkM$1k6lK!Nlrq;;EX6&&F}iEMQSTbbf(=Z=%;O z?4|XIVv{RyvM*v$G%O8<#17gvOwITU+e@E^g;j-y7(GG^A?2j23KI&g zp>Y3bM@X}Mq?QA#5?F!gp9rp4iB^$lo^KRytBd-(S}9R~hWs6>P`YMS(-^t^J#?Xa znL}UH`vHy*OhbEE(6?mF=s|;h6R@OYPU(>yvyyTpy%=Dx9%3>vQ2VS;s-x(u_4Q0o zZN9#;q4Xi3xml`^{6RvsTPYywFAYSRcB8j3Khid@Tfo^(iMl`^;>u2>D4B`SM)=qh`O?3TGE zuJ;d8vS(hwF)tgxXK>^sjh97mRb;ib#gcY~5e=m_AQqxkRPToXXu6*>evYz2+joZP zkkDAq&4MJts~4IzQ#|f)T>UQ795nm+1-W~X=O|~j%**SG?wS)Qgf09Aopz5k0(Kje z%#Y6|1_GN(hu`VpY*hCBP$yKkWnv3M+I?LRSjNmpz_iiMuC%EoKr>2nsd9Eu#HQI=_(A;sJ(y=S{|WBv0#2cp^11GB$^x zOnn~UUC#?7OWsY#fP}O&Iau5DKFJ2q(e=ba1!!q@kZ5wADw%s6e(z>f!&5H_{H=Skll=eEjV>EYh&|vE1@<5zMzo;@ymbBHGkfMB#F~~ zV8xuE4{y?6zKrPNVP^HA@9b>W2QstxOIw4j|0W#$-L^53zQ;~blUlQqTf3cN(Inr!9%ZyUIZld-ME+k8?(mhq| z@B%P$@9yKm0nQk2euXp+&W-GDy7L`Nv$q$b8Yva!f=~#UXGWhHZu#C+!0YDl!2#ITh-JtEhWZg5U(EyHDUxH^UC-kGam2vaWs8k z(At6+-)fB*dQn^-r(E!iyR^W8y6E|~>_DeR&4^b&CQy72eMfV0_;8fSQmdJGrv8ph zp66ae?N%XhADW;A-q`cRo}-XDcP%P_Vg|1rk*i?o3+@jywMWJ!-)N$+HQflXd2Lc> zs%*W#Phb4Z@s1@?39_x*rQgp6`aMB7&O4=i<*fGpx`@RhZ}1Eo>j{k@HiFp{obXy& z#+8(q1S6!aT`Kg8>WO%{=>|5xigz4yi-*A*s^$d)d7d8^TEor4iR@V|O!yUdKneDXgwNOQh%T1-_J@`P%*Z%T+3aXj zfeo7j8{0)ltmTBH^CrugRZ6}r@)=Cp`*f9fsc|ribLaQS^X_CO9!2|8ou2Tb z25XI06ttg%3Rw*QP^L_KNuRnxMUD zs8>0~!#@c)s0aE&A@t`UZAjZJ)%vqQ2+Z5oX~l(mhtUwtehbMf(=DcXY1l~P?k6uz z%yztSNQ?mtK|)|N+biCQ_mmV&^_b^Ade%16TkgG>~JU zpe#}MW)=9JHY*sB!XxsW@+Zwg8Hqcb9jom30~y8k1Y0?cM~14^<$<|=T!+#XiifQe z7bcr4f-8Ua=HYT+iW}z|d$rOR+6&qxDU(LLU2a3q-H>U;xbe3KL@1fZZz(tnZs2*p zq~#phcK9hDPJGwHbUe4G(kWpIN%QE3ey16#h=04@B!Av@FW@257#CF?wHj6z_|FC= z^nBxyQp|H1qhdig*i7yA)M9lefzmM>Ev5wR?YezFNdfR~Mtg(OeX!Nb8!Nmd5+G$%S%(*#ab*A60%wom(bV%pWex@6 zmr{~x>)+2`Io$&la@w#kergnhj^WjQpB+T9+1$DUF3d)rcRvvSwG{v-?mME zP5DF-&J^!GyD$EPLkDAoW+6pKiQR1=W-W>XCV^7+u3pQi|t@k<7CmZCs$@j3xws`n?db4c=>^+52pN)&0Cwds7bQ^ek z_!b6k{3LzgZHd7d<`Uu!H}8qh^z!cu5_gZo4?1W$-CZlxR=TjKI*r8B%sdFe3K8tY zn`rs9iY^wyyASXwc;GEC{ceU=u>P1eKQq)|j<-Am&UI`a|*u^PXQV?5?Ri&!U@XzjJPgg33H4jF}{7u!l zo1=7)*O1P#^Iad#TmsbOS9oc|oYm-@v9Fp%u%Wn*>Oo~!>Rw(HwqjM%p(hDDy7X5e z)Zgu*O%VM%NUkkFsA{+6(d{v?dgy4@MNhcalHkr6IvEBjXUv!wU{$wVdnPc*wERmKWol=XZNP`u3vBQQduA* zo`$aTJh_qB!d;%)8Mb25&9_n7({R%V#WeVjKEZ$O_r@J*hz){Qg1&}YhkaEwY_mPakD^Xlz+f?tGn@S~Q=Pt#;YU z!e7*#4HX?T=Eh*T#baLBJrPAd^j2%%4{FmziqUi<=^P;Ef%j#UaZ*J zx)jCq;wRs{AZ}|}xfHR={*3g&StP*dCgprD8vOk$MK&H;?xE^!)?%{_mY)nnwnp`N zd?A$<${C{*L*td|ya)`X^K-%O!7fv^WQ9!yNi;0nv}5|V=#Ea-5AL_3*Uu2^h?wE3 zm4d3UJXHIAD7U!XqaUjL95(wzTie*P3q6HjZ!+0cb$YwjHSgmr?`NOS`>9B%bqVlFYy&@8)Nrfb z*5U+s>IvH31}hD(G{kdL%*hN&Q|Fqz zX49Y1ULR0S^d8(aS1V%ruZsd)kEx2Qj)S;CCAm5pJ>Q|Jl{kof7^bm5mgjh0_T=SW zBBHAko~vm}OlWVgfY46`rgx$ci+6`cY;QydF6!bU!-8g~2nTbNnAP&l?0UoHYqNa{ z5>Uh zqB*9`jd@gJr_phS0`DM#YL+3EeZZb`vCZOJvkQ1-* zg{96ExXEkO@eJ)DQj)zD-%N;cd>r!y{oI9<#gv(BtG`kcLBx{eAPGopi=<~DDuV2i z5{_a%RJN>3?dXQGXeT4L)-f!#*VJPlZU=)`le?soYA}0$S02@hbg$#Q-MweSBF1A< z^Nk=*cd#h5V{DPBNR3DW{_g%N|Hd%6mH=O7kt&pHfa+HrXBV79wil;*!vr^}0W>Gt zMzqe>DRn98&zztEuP_gn6t^E5P=tbA4Xmkh>NJ0iNLE(+U`^@b&sxJe?7$0Ulwogmg8_YqZBH-t6VjP%LuaJm=ky0ROi(jPjvvKb=U17cjZ9it=`NZeHB%}%Rc z8Ev=1UU?J&jiXPN-Q0soK(7d$2<5`VYq3g0fTzfWYgZY5BXY=DNe*8V z6aWbfhl3Yd1iK^nmcJ9|+x*Ky1l{Zqj4x+0`%m1^za^oY5nef!`k=eCo>4>#=^q>u zD{crD>(K!F#*kOLX5tr>a!|#E9Ud%+9etlD^rKEn5MoRF5~ub`h-IaVB>A=CYSC)4 zBZpCNc8C3MhIrJH!NEZI;1}VpLq>K?Ri1pd463#Zyl#bIjoTQ+-Ct z4!V)udN1p6!;M#eEV}lPtFO6!Q@PuRHHa~_+(=I!itV)2T`q(w8G`~eYdCW{DCmJ` zi(SiKI=c`5Kom^0v!l=Gs7sTTU@a4$_*yqo-wcZ2zkVuq>khtI1FBBBC(3pVK#a%$ zYWK6D;!{`^g{BiCr|+l7@tez-1%ZU4&-EG}EPV(qtI=xyw4t7v?3?8oC$F}$n$@RKKh=*2=8SMotXh!tv2uO&Fq+^Rmxy9l3!?0Pmn$$NWq#ed4l z4(bP%lsQP4-h7~_Q4NwdA{Mi=b?@2>8R5nNxgLZyQ&($E^;7B?u`;E!v^h2aBXi`jFw#oOBP#MQ6fuPf30LF$n;GJbj)mWeUs&pZB%D?|HI%k&VT&x>bj zaYRCT^ImS$b^`72VSQrX7kp=WUp#3Hd=d9PJ|BG9%h%qX!pVi%ehLCzNcFUhH)O8n zBl04sC=e66e=9Z<6R>H_lG0jn9gznBzE<3OFP}BHvPjPJv;cGyEKX;%Sz#f)y1SlHXG%L2op+wj^pB2^#n#=1U9g-~ZN)q}5{p#7K*1ETQ+< zi5X$DvPzW7L?}>4=t9i%E1@`3oOIFK<^4)hPF_63Mke4i;~QJT$jXiyKKmy15=@=g z5WXsl4wjbj48ZI~MKDgGy)exM3jFwXxPfLF!H-zymsk~~N}@mmB-RH9(qf$F0@D32 z#tWnN8XVFVc`VRGFpk^TE3gb(RuuS7isIdfmFP(t0c%tiCB6MUfczX0Q--PheBJyT zh+JtB@-(lgK<3^&9H0nmzX11_ZQz_YVRW4{PWa(2hWd6H9YD-g;z4|3)RlFH_X;oM zwBFb0EvB>53D@#g&%sZpghy@oYGpHz<=a*T`<3V)|UqAIUJ7aN-#Mn3 zm-NIeg&u2Up%z^)&L(O-D~5szuS!}xVOTA)tI^?&L3cz2;Nsfa=&}}m1nbPLJ8czf z$?gAUT&L&~>|Sx$i4iA11(_a9y|kx65alOBcgwHCy4atVbP~PEQLJ3YDIpj3TJX!o zUtuzEF9VXV?vkeG84^})T>H*^5+M`Q>Ctv(Mg{5?dg>Q2sz>ujIV_)KqDt?)j=dWF z+p@*xN|@71=;~xCOs6KHTaRsaqJ5(IGEb3e6W!_E-xpaz>vO%ouQ}`O2lffv)GKXg zs+gU?dBg#niH@`MRZyp2AW5Pc&U^BauGg0}of%K)eCHHSZwSyRaL}ZI1T*OG?#4@6 z-Dc6%b)oHB?3W74>?vb;bG5Irk7%SR`zIJBBUQuikFulFumNZd5Au=I15;L87kufd z1s-w3*?VQ#Q75tujAKjp<|M(#0^%3)cY};lcLUuzCkaHv;3P(}iM~$}&IYm#_0(T3 zCM}g^M|QG3=+hMj86h(s*bMzk7FN_g zGm7|^SiBqp<4^$+BpzM&=dHTL8i0W~ps&~GLU;>jMLzW?eZAD&)uNcR)&w+xi24$z z9)qaH#b_8(lYa6SM<5@J!?=Zen0pSv_ml&5`bJhLp~4ZKo$!q3(fPIDvSZEp#*hl2 zOMfthB!c;nYRhRQ&+P3Zg)#g$T$PRa^s<{~VuHK}i0Jp8HG;@@5e{lBnH~J#t!GxW zu1Y*gO@K$lhUFln%rz?$WvOOFS|HItycOuM~UtuZc9FH6c3n-3S4)Nw^+g zOU|0q#C(+jpg|Jk^Ch3!D0KGdqNO$Bmjj%#^cJt=NFSM`x&>RJ#n&AmXr&ob_HLkN z!ri_dL)!L4&lbeq^*Ig^F%_!{CWaO61a?4G057E+_41q2M)s!jT(sfhy3$r2EtM%9 zfH?Ns2Evjj8wngdFi;dBU@FM;OE&x~eS3EmG}B|Ds)xdqqkepoLCU(9|4yaT8SZww zQiIrb9#E%8ycUBYqVeMO!H}Y*6p!{2s$t0YrMViUQjq2}@*QxNgGwm!D6JPwr4Yjt z*D&~IJDvZ1_h>ZW;Y^<|r|NB0?f%Q~#>MIAn|L~tuC8Uf|G31i=Ao&(Bbq?7U423u z!k#BM>Xs(}c{a6#VQeIDGnhXhZh(HWgbFAx00TShy^VRHDLJs2e-QKSKk@hf}al!K5yD2$?7Ru*z>yD2>D8o7;;5*G2JFYYu#gdIP z2cWW`8MOFoYs4!i#qgUhyr4^>lRbL}^7?%LL~Q{=x0TMov4!~7*tCnG*2$*;!IVqN ziBaGexS9Bb1~8}!Juy31*>3Xm+=YJ&446f``dXE0E<;i1#`J>5{>Y^6ILAl3yqTpv zH8MSMBt-L_b@$VxCW?8A-cwWy9NL&byYTpDmq32AU$UdFUu{BjHiGP_aq7!Lg6Y}5N3R+jATvKr zIu`Q@qLvd4fShQszivzDv@ukCQSXLL56oU~*>mnWl(osHwwPi4u6_3Fv0teU%3$-s zrM7EYV(goNa9w+XuO$(*K+@UIO|7$uL`rLRCfflCCib3d@|!xD06qM;t(x;cgEx-C zjJPs}ioPVMGH>c&%ET{@QRF0raC}WeP`^D@9iyg}A*lMY$y{P%2ahL^zyAVdgi-9S z`Oiie%+GbqZZ0b*06)L9+8h4&J8aW-^F8wj`j7EG?y}xp7uTZMjGgt|O*$uq88~gU z&MzO=c~$Y-N2maya{qH4)W|9)lp?Q1KAp2Vt`P^d!le*ScTWjBhOkDPgzZu^K)_+S z-xrgfux2MiqABe&VJQu;EC{a5$=}kH#qh<~IwLIjrkA)*?q1fZdRkBANax9ob zwvN*(J%y~|DvY^ddnGSBcVZvudmFNKbOp%;XKpc=%lg~ey0(it_*Fr(W|L|J`~2NQ zpt=iJnBZp!4h~m&)HhheKM1te6vMWa&Gw*5T-J9QtBKobH4mR)NwE$Ta<9cI!S6Y; zp2;v7IOPLx&{mz87Sv}&Uk`Nx!6}C2UrrDKXNxH^)@K=39T48LZTV9n_C5p5-^ICYNnxGo(Lzr|AH-6;-y=s822B z9M}%63F?p5@(E3y{Aa~`w4`k;1x0WO<~wP=am`EJ^V{^p4+9&S6w>gDvwlX#E7JO@ z%9lDOS%3kG~U3rwyn68jXElD(&7?h2N7Gg_+|l-aalh* zZB410?bRPC=WOqtSuYh_=9*i!u#qP6EQJeJ;2SLeP(5TO0DI1V5*KGTSV)0ghJk0=2A61hc zqP6GvYb{qCy)(UpcH}C?Pyy8#AJ+}>SBgejI#C%o9oX39xhv|!kf`fRSGcFJc3pH3I z{%HBF7xzSyQ2HuZZC*?RV=Shr_TD|NHS0(}UwrY%pvt+SPI8CY7vN3waT92I5uukg zme~7bF!5U>V6fgTFb&=2rtVu3-U8)U59SbLwIm1YvvFXJ8XMJ61iDYyOb`u+CVUd-cC zW0-?>b_j2@>0YJiH$SLQ-M-~gZgGQqDBnqQ$a4fnB zdi?1aaD;_EjsM9ps&qsa98XV<7kCp2AH%*z|5cU8o_zZbCKIg`ICc@J$p(Ol(l!bm zMAu?P#JjV>Qa?6O;h+TKSK7%y28o(fYS;~0GpH98+T^bHZ;C0e`x!X$1hrzIXIgKf601 z4Oy?+&-!jnZxEe|z`XGO7b4wG)|^m0i6FHgLM!PV>Su8;Z`*)4xpiJJm?Wut7n1Ka z4aNFJTkgjagk-Ih=5Pg#YjvaJ;u02EsN8Ao@1FXIlpwdCwa6;_ zFwh;9jt%fDI|H7Gz+~9rmx)eSnSZk)9Q z+m?&-u(|{bCJVpft4+~Yy`q82yMn#~*S7Cl+V5}>P4%NA-hozuFa6H9;6x(QeitI~ zbaD}PIrF6WJ+i|3Is1%(p$QR+?`iG8zNnPHOSBdG<9AH{w~HYZ^_> z27-XAVvq8~iCxbB@&z}J1fPiGl8YwA_qcOY@()^QoV4o)+JAcRC3V)oS4ERm)m;Ko ze(_@UnoaJ8l)XQ$`0(oRcN-_49*Ztl2@7uC6Ds+og!2#?_J#Ti#M~x=WA5B8)8)oO z58Y)8LBYk&W?~{~sPogC#%D;yPJ?BZ#d|y0U$`K^{;iw;>kn?cl;GxOroe#b=|!@J znS4*#@COH;MdG4=3C(Y?KQiiz+6P)mIt8X%9&`nKI?4I`pBz0l7@_a&wNgFhKMf6@ zcU>sF%$X@sostK9aWDh=U)K$@O_|Q|v68&hfUHHhvpEl$)Q=4VS8rF^w>yc#6`LJhExAgXy|3qq5yX+oJ*$;i$pFYVX>9f!`I1`Jjcs z7+Ir(blC5M5-qivoSN<#>qUnZi;whb$c4vOEz5|JhCtCys)C4>;jq8S?AIO$asGri z?s@EU&1ah344nV|1QY$&PNO|vEm6~Vs%X+zik)CRwFU=Il~$`+Q%Zn{?I@O{@-`9P z;2Lb^p8n_#sZO@;&=86q_5V(is#aqMbvE>pQw`#3WE*Qd1p`oN|!XjB?)C$C&nN5M9tbMvN|8Ase^`WiT9=V z4^DEAaVW#ktRFO2*P?X3e{t?NrK>7vqfj3XVD?S9=g$Mc zU|@}wzizBQ?TvWz8teSB*{<71dbEni_>AE^%^>T-WgsAtQu2hhOF+dIoVXmhyyt*f#HDiou-4ouMk2k`z>QiG>qy0NeWPvrDFT`g0) z>LXt{tNft0HFjUwcHl##_rTC_W~Sink2H&KPc8Q62oTqgPHL;qw%w0v-~OR*_!NLJ%YWZRV0+Hhq_Y+xtE-$QH9Es8 zHij9QecsR`gK%>WrY`Uz_@d+bLxaTONccQMayh>~FTS5xRI()?HaTNYN@*`B1i+%6 zW5M&KAL;tq=l!tDA0M1l8|}n)`BmdAyi`fpEdzr_WV}02HaZ)tq9L1VA$yiabAvqf zDJNrt@~SOZ8x%&Z2kHZ-Lz?G{BUObh@+ZAd3fA$A*^$^*RQMQ*-7a=4Ek~c>dl7x? zR@JvNq$LE7Hk0c=5=#M^mLb{;{2F52D39mPRry{@`TpmOF~zkL*QMZ;(zJ9tJ0Rb# zB(ejRJIGbHX;tMZAC)#x+WXvtAI)n2*xCImOLw_xp$~MwJAcVB!@{JxAhY9;zNBCG4a=t6pUEUhV$N*GZ z`pvuv5&5^>m1FA_o@>82=BQsl5QOz0v@r0?#>T|MbN_l?Y6g0%?xP32URbQRA+@-4 zh>CT41goC6=JtSqfA(NOyc1o@-_a5$vQ5DZ)mR4xwcqM2t-G&Zi;n#3?tm@kZ^r#y zYTaeoo6Mu-)*T|T_N0v%ThLg!GQka~mo~FZr;~QZ>sm!KjU0OhMj4fKqUo?BnI_eKQKBECIQJ%O{g*U1G3;^UpO!0X54+7Yotr`v*p^WfM19moX zFbnl1(zm_82?D(1M}R#iLg*+Y4v|UXwPn585vgpo!eX$$$!uh|f(=`);{l1~B}j_U z*O5y+u7B0Z2brN~{x%_ePElMx!^Oo?Nbgy%HuBY*f-L(>x-3?RuKYu-l@wRTkMUHI zT`d*N@-z1sp57`=T2l!yr;A%yLSV^Tc`r)#4;l>6SoXbE>z{*)BnNz5YTFY-yw%&v z2YPbjMF+G{^lZFsiph=X-s*0B4EgrEThdG!)FdWBjT)dBSu`8Q*IO|Cm{(X z_6|Kxv_d!28{0iM&rZgm&QF{M_b|syZnzaqhnmS76=K*^(U}{6vgl5aHUOU$7oCOe zL43acR<~_UDzz%a;KwS0BN9%dKY~T~mD3MYtFB2XtD;9MdUjIl(j>O^1nm82w)Nxa zCyE=S4h0MqUZXux2$%%&LuDiAe|s3%yfp9bqyJ)#*SNu|LpRb23zgDyiSB!Si$F8H zx_U}_JanE*Nw7Wo$|!7)dPn(>=5^@5jTz{0T8)i!XA|-hrQw^3K@F9?%-x{B+E86- zI<|M4`6H`h#@j3*=2LBHF(kxki=W-KSp#;}y(cwO^4F`H+}-LmFv5|D4_mSZ^V#m0 z3p{Owd;=*yI8-;xJSXIix7XioK;y@ikqeycBpddq*^~|rMS7F)>~8_nfg)-NNmA#T ziveBROcCPBG##AOe?Z*6*6;CzE9_4!+PgESt)jd{j-fE`pHn$r2&bNwzgB+CN)ks7 z&73@Iagv9*VOdqkntY#S{Yn<~>2p%l^o7sl{07+kHukQBW>82HS6cpkrc+OofxB$q zjZvRI?=zWN!hKH9S?BwbxKdWE43JVgjW<@^`=JF()U9NY5b4JO{vM*sKEZ$C=EQ=_ zw+Zi!u(#31s^*6tFbxX{)g1=54UyRa91$@}K0f@`_cJ7NAUmoWcDb{*@w<`&Wzi?s z&-8rfKiUlAp9TYJ*rhqG&|~WCbLK79DA}K*tEUq()9$-XCka1h6J6b4e!w3t_C)>g zD}xAvV{}1gMBx~Fj$v(NE!nA3C|-1ifo+Dd{^cnojvdK#`8h-m{JB)3lxxZ1#L7@l zPoiy&{4yHxTHBqCa90Ms>Hddn$cNNQ+dtTwgJ>}q&GOg-IbR>Y!0wl`B@F+a+HhA> zmt-v%`DX(!peVu5_jeWb@>UOoE0Ng#el07!qd$Zf9ND>1H7)R~E0Z}s2$;}Eo9THfKFIeb*^V8;^s zT5;KmpaD)PaUidK;yYv_ViMmcO70)^Z5n4Aup(8`i*U%A^aH};2)C~O;=z_rYWTkW zpWx>tm~jYC`QUMC=TBjv0$vCHtJbZ+#$}rn%_{?DHCK>^5!#(uyZyN}V(kSx7%#|C z%=Vw!R1@F8lPR*>XtB-2*s9Z{;-i^F)esD+rQH2Q#~uX3?#!qKnQPHJ3M*6U38$@8 z95=k4BXQL7rP@H&=aLI#UVhNe!%wz}PibH+IKVr&(Rgtw5Cac}KhSmd7i>6=M7K%S zLT)_U8Q(RCa-xH^c_xHAV$4s;p5^c!otd(_JT{xd+_AmFa${uy=$7XmzC8^apLEjL zAD^OO*UGYAM=tbV^odq}fIsuh!)3*WS?{6zyul#30elWQ|D-=~ReK4+Ivw(5{C5XY zp5IuGO8A;l>v2t#jqjs>x83=! zIsl?jwxOK0(^{KW3`^rIwrycsvtx>NT4Ikg;+Cr=1S0<^k04W3-9oy6u{jApEMn?s zlMskEI9y{nVP#6%j{jB2S-wTphijV#Nhybt?vfUyyQD!{Qt%<9JBN_&?yjL*q)WQH zLAr;bL0~WT{`7u&|AJY^thJ7H|L*I&PMU*XAcl`_8(Z2LajG!$f^`aUBT;aOb@{-= zQe6?HG6yae4o#iODAID-fufBiG+vSr_f1JJh{fP+d%Y1ZD|vXJe8qG-nN0D<&Bziu z4tM{Y+HnSolf}3~zEm&Uq@NU}XaR1#W_3j9E%Ne;k8UfDUD&z&jjP{?wgBI0y!-p-v11gN-H#%zIn(hsJUnAa z9ob`o{J5_4S%ZWpD_>*nb-m7S%xgLv@F!V&WL4WafgSyL?|-CuKZ`BlE$=(q5)A(e zhzcY+@Cr9r`xQEz2_OA_QJeA&tWb(PYQ|{d=BlH4pE=LNVofSA9WsiLj4H%pJeFEZ zH_hSo!_(ffqY2&xXv;PoWsvhqpqZh5l?C;%|L4a#w^1OC(n0Sz8LT?JpSY3#vEKeX`ybo#DueUrxIWh-Zsvq6?c5Zmy7*fpdBqG zJI0G{2lO-;0s>*Otsi`|CT{sf5<-7F^(aYpQ!*$^M5LiH^?Oyf9&TOZ3$`s}#6O(~ zdl_(7{#VZkQnnv5Q#}&u=%g9Dn{pYa>oE$h8v=PJ^ zOVPKPQ#%4)ZV!8orz^Br+Db;o2INTNto{Vf;B%9<1%{86?Gx3x*{?P5WY7aa&;62r zdRQ)k!w59}YSUk3oKJ-7Q!F+Q58KVXb;HNQVN}L$e~Q;~@n*x)y8~{9!fP~?)Mz{m zzR~nEo_Uvh-1*GqW|l3U`KMu601jFO|7w#%G*9k>pF7tGvFCWDE=6?P#kVo_x!*fP zWKSMneAxTu^MmEuvnpUF?Ku8YdmlWS%2&bAWqDwaa|5v-le24scD%IYx%Rb?Kr1C` zAl_W9SUT}RwH;|;51BPDA@IuDa}zStadwm55YZtGprVn_omm`N3Xe1V$j0x~9n{)L~0kSZ+V|VpvlEI^PEUQSlD6X(ET0NfS#?ilUeR z5Ws~AkitHB<`uAdm~|Kh%FLNp_*RJsab3~0wvtS$rJ6CKDSNY*<*M*uVWF*UT G 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 g|L+}bxqgpcH>Oxz5oCK literal 0 HcmV?d00001 diff --git a/ui/icons/new_menu/online.png.import b/ui/icons/new_menu/online.png.import new file mode 100644 index 0000000..df12baa --- /dev/null +++ b/ui/icons/new_menu/online.png.import @@ -0,0 +1,42 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c8sty10uue6nm" +path.s3tc="res://.godot/imported/online.png-3f69c41cde4beb29d8f23e574a61641f.s3tc.ctex" +path.etc2="res://.godot/imported/online.png-3f69c41cde4beb29d8f23e574a61641f.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://ui/icons/new_menu/online.png" +dest_files=["res://.godot/imported/online.png-3f69c41cde4beb29d8f23e574a61641f.s3tc.ctex", "res://.godot/imported/online.png-3f69c41cde4beb29d8f23e574a61641f.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=0 diff --git a/ui/icons/new_menu/play.png b/ui/icons/new_menu/play.png new file mode 100644 index 0000000000000000000000000000000000000000..aa61c525083f7a77771e94b0a7c4f0a575f4af32 GIT binary patch literal 25535 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 af!5=>u04F`SvS~C2IQqxq{<~t1O5-%kzU*Y literal 0 HcmV?d00001 diff --git a/ui/assets/title/netfishing_logo.png.import b/ui/icons/new_menu/play.png.import similarity index 55% rename from ui/assets/title/netfishing_logo.png.import rename to ui/icons/new_menu/play.png.import index 2aa351a..6fc788b 100644 --- a/ui/assets/title/netfishing_logo.png.import +++ b/ui/icons/new_menu/play.png.import @@ -2,20 +2,22 @@ importer="texture" type="CompressedTexture2D" -uid="uid://ckqayis1ckb2v" -path="res://.godot/imported/netfishing_logo.png-82ab9fce5851dcc5239eca178e8cde99.ctex" +uid="uid://7qe6siny4ru7" +path.s3tc="res://.godot/imported/play.png-f35bbfc9549b806b0a83d0c3b4c7dc74.s3tc.ctex" +path.etc2="res://.godot/imported/play.png-f35bbfc9549b806b0a83d0c3b4c7dc74.etc2.ctex" metadata={ -"vram_texture": false +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true } [deps] -source_file="res://ui/assets/title/netfishing_logo.png" -dest_files=["res://.godot/imported/netfishing_logo.png-82ab9fce5851dcc5239eca178e8cde99.ctex"] +source_file="res://ui/icons/new_menu/play.png" +dest_files=["res://.godot/imported/play.png-f35bbfc9549b806b0a83d0c3b4c7dc74.s3tc.ctex", "res://.godot/imported/play.png-f35bbfc9549b806b0a83d0c3b4c7dc74.etc2.ctex"] [params] -compress/mode=0 +compress/mode=2 compress/high_quality=false compress/lossy_quality=0.7 compress/uastc_level=0 @@ -37,4 +39,4 @@ 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 +detect_3d/compress_to=0 diff --git a/ui/icons/new_menu/settings.png b/ui/icons/new_menu/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..7d69c3b8b0c5bc0efc1154a1e8c6d45f039cbd73 GIT binary patch literal 8161 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 AX#fBK literal 0 HcmV?d00001 diff --git a/ui/icons/new_menu/settings.png.import b/ui/icons/new_menu/settings.png.import new file mode 100644 index 0000000..54dde27 --- /dev/null +++ b/ui/icons/new_menu/settings.png.import @@ -0,0 +1,42 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cxqwvyg0qryg1" +path.s3tc="res://.godot/imported/settings.png-3654f1ee86a2237bbc3c9af7e818343c.s3tc.ctex" +path.etc2="res://.godot/imported/settings.png-3654f1ee86a2237bbc3c9af7e818343c.etc2.ctex" +metadata={ +"imported_formats": ["s3tc_bptc", "etc2_astc"], +"vram_texture": true +} + +[deps] + +source_file="res://ui/icons/new_menu/settings.png" +dest_files=["res://.godot/imported/settings.png-3654f1ee86a2237bbc3c9af7e818343c.s3tc.ctex", "res://.godot/imported/settings.png-3654f1ee86a2237bbc3c9af7e818343c.etc2.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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=0 diff --git a/ui/save_slots_page.gd b/ui/save_slots_page.gd index ba142f7..74e3a7f 100644 --- a/ui/save_slots_page.gd +++ b/ui/save_slots_page.gd @@ -439,7 +439,7 @@ func _choose_import_path() -> void: _import_dialog.access = FileDialog.ACCESS_FILESYSTEM _import_dialog.use_native_dialog = false _import_dialog.filters = PackedStringArray([ - "*.nfsave ; NETfishing progression archive", + "*.nfsave ; straywild progression archive", ]) _import_dialog.file_selected.connect(_import_file_selected) if _interface_fonts != null: @@ -479,7 +479,7 @@ func _choose_export_path() -> void: _export_dialog.access = FileDialog.ACCESS_FILESYSTEM _export_dialog.use_native_dialog = false _export_dialog.filters = PackedStringArray([ - "*.nfsave ; NETfishing progression archive", + "*.nfsave ; straywild progression archive", ]) _export_dialog.file_selected.connect(_export_file_selected) if _interface_fonts != null: @@ -716,7 +716,7 @@ func _safe_filename(value: String) -> String: var result: String = value.strip_edges().to_lower().replace(" ", "-") for character: String in ["/", "\\", ":", "*", "?", "\"", "<", ">", "|"]: result = result.replace(character, "") - return "netfishing-save" if result.is_empty() else result + return "straywild-save" if result.is_empty() else result func _on_slots_changed() -> void: diff --git a/ui/settings_panel.gd b/ui/settings_panel.gd index 049b9c9..159b3c0 100644 --- a/ui/settings_panel.gd +++ b/ui/settings_panel.gd @@ -697,7 +697,7 @@ func _change_data_folder(path: String) -> void: ).to_lower() _refresh_data_page() return - _feedback.text = "data folder changed. NETfishing will close safely." + _feedback.text = "data folder changed. straywild will close safely." _refresh_data_page() get_tree().call_deferred("quit") else: @@ -708,16 +708,16 @@ func _change_data_folder(path: String) -> void: func _show_existing_data_folder_choice(path: String) -> void: var dialog := ConfirmationDialog.new() - dialog.title = "existing NETfishing data" + dialog.title = "existing straywild data" dialog.ok_button_text = "use selected data" dialog.dialog_text = ( - "the selected folder contains different NETfishing data.\n\n" + "the selected folder contains different straywild data.\n\n" + "choose one complete data set. data will not be merged." ) dialog.add_button("replace selected data", false, "replace") dialog.confirmed.connect(func() -> void: if _data_root.use_existing_root(path): - _feedback.text = "data folder changed. NETfishing will close safely." + _feedback.text = "data folder changed. straywild will close safely." get_tree().call_deferred("quit") else: _feedback.text = _data_root.error_message @@ -756,7 +756,7 @@ func _choose_identity_export(identity_type: String) -> void: _export_file_dialog.access = FileDialog.ACCESS_FILESYSTEM _export_file_dialog.use_native_dialog = false _export_file_dialog.filters = PackedStringArray([ - "*.nfidentity ; NETfishing identity backup", + "*.nfidentity ; straywild identity backup", ]) _export_file_dialog.file_selected.connect( _identity_export_file_selected @@ -786,7 +786,7 @@ func _choose_identity_import(identity_type: String) -> void: _backup_file_dialog.access = FileDialog.ACCESS_FILESYSTEM _backup_file_dialog.use_native_dialog = false _backup_file_dialog.filters = PackedStringArray([ - "*.nfidentity ; NETfishing identity backup", + "*.nfidentity ; straywild identity backup", ]) _backup_file_dialog.file_selected.connect( _identity_import_file_selected diff --git a/ui/title_credits_page.tscn b/ui/title_credits_page.tscn index 1fe54e0..2697ced 100644 --- a/ui/title_credits_page.tscn +++ b/ui/title_credits_page.tscn @@ -45,7 +45,7 @@ horizontal_alignment = 1 layout_mode = 2 theme_override_colors/font_color = Color(0.624, 0.812, 0.824, 1) theme_override_font_sizes/font_size = 18 -text = "NETfishing is created by Woofmeow" +text = "straywild is created by Woofmeow" horizontal_alignment = 1 [node name="Columns" type="HBoxContainer" parent="Paper/Margin/Layout"] diff --git a/ui/title_screen.gd b/ui/title_screen.gd index 07a61fd..3055e15 100644 --- a/ui/title_screen.gd +++ b/ui/title_screen.gd @@ -31,55 +31,18 @@ const SaveSlotsPageType = preload("res://ui/save_slots_page.gd") const CurrencyPresentationType = preload( "res://ui/currency_presentation.gd" ) -const DECORATIVE_FISH_TEXTURES: Array[Texture2D] = [ - preload("res://fish/species/bass/fish_bass_striped.png"), - preload("res://fish/species/bluegill/fish_bluegill.png"), - preload("res://fish/species/carp/fish_carp_common.png"), - preload("res://fish/species/sunfish/fish_sunfish.png"), -] -const DECORATIVE_BUBBLE_TEXTURES: Array[Texture2D] = [ - preload("res://ui/assets/title/bubbles/bubble1.png"), - preload("res://ui/assets/title/bubbles/bubble2.png"), - preload("res://ui/assets/title/bubbles/bubble3.png"), -] - -const FIRST_FISH_DELAY_MIN: float = 2.0 -const FIRST_FISH_DELAY_MAX: float = 5.0 -const NEXT_FISH_DELAY_MIN: float = 5.0 -const NEXT_FISH_DELAY_MAX: float = 12.0 -const CROSSING_DURATION_MIN: float = 8.0 -const CROSSING_DURATION_MAX: float = 16.0 -const FISH_LONGEST_SIDE_MIN: float = 120.0 -const FISH_LONGEST_SIDE_MAX: float = 210.0 -const FISH_EDGE_MARGIN: float = 24.0 -const BUBBLE_EVENT_DELAY_MIN: float = 4.0 -const BUBBLE_EVENT_DELAY_MAX: float = 10.0 -const BUBBLE_CLUSTER_DELAY_MIN: float = 0.25 -const BUBBLE_CLUSTER_DELAY_MAX: float = 0.65 -const BUBBLE_TRAVEL_DURATION_MIN: float = 7.0 -const BUBBLE_TRAVEL_DURATION_MAX: float = 14.0 -const BUBBLE_SCALE_MIN: float = 0.65 -const BUBBLE_SCALE_MAX: float = 1.15 -const BUBBLE_OPACITY_MIN: float = 0.55 -const BUBBLE_OPACITY_MAX: float = 0.90 -const BUBBLE_DRIFT_MIN: float = 10.0 -const BUBBLE_DRIFT_MAX: float = 45.0 -const BUBBLE_WOBBLE_MIN: float = 3.0 -const BUBBLE_WOBBLE_MAX: float = 9.0 -const BUBBLE_EDGE_MARGIN: float = 16.0 -const MAX_DECORATIVE_BUBBLES: int = 6 -const MAX_TRANSITION_BUBBLES: int = 30 -const LOGO_ASPECT_RATIO: float = 2560.0 / 760.0 +const LOGO_ASPECT_RATIO: float = 2560.0 / 480.0 const LOGO_WIDTH_FACTOR: float = 0.4784 const LOGO_MIN_WIDTH: float = 294.0 const LOGO_MAX_WIDTH: float = 662.0 const TITLE_HORIZONTAL_MARGIN: float = 48.0 const TITLE_DESKTOP_REFERENCE_SIZE: Vector2 = Vector2(1280.0, 720.0) const TITLE_COMPACT_REFERENCE_SIZE: Vector2 = Vector2(640.0, 480.0) -const BUBBLE_FIELD_MAX_WIDTH: float = 440.0 -const BUBBLE_FIELD_DESKTOP_HEIGHT: float = 318.0 +const BUBBLE_FIELD_MAX_WIDTH: float = 500.0 +const BUBBLE_FIELD_DESKTOP_HEIGHT: float = 360.0 const BUBBLE_FIELD_COMPACT_WIDTH: float = 294.0 const BUBBLE_FIELD_COMPACT_HEIGHT: float = 200.0 +const BUBBLE_FIELD_DESKTOP_OFFSET_Y: float = -10.0 const BUBBLE_COMPACT_HEIGHT_THRESHOLD: float = 560.0 const START_PROMPT_MIN_SCALE: float = 0.985 const START_PROMPT_MAX_SCALE: float = 1.015 @@ -87,6 +50,11 @@ const START_PROMPT_CYCLE_SECONDS: float = 3.0 const QUICK_MENU_ENTER_DURATION: float = 0.14 const QUICK_MENU_EXIT_DURATION: float = 0.10 const QUICK_MENU_ENTER_SCALE: float = 0.97 +const INTRO_PROMPT_FADE_DURATION: float = 0.24 +const INTRO_LOGO_FLOAT_DURATION: float = 0.72 +const INTRO_MENU_REVEAL_DELAY: float = 0.34 +const INTRO_MENU_REVEAL_DURATION: float = 0.30 +const INTRO_LOGO_CENTER_Y_RATIO: float = 0.43 signal new_game_requested(world_layout: StringName, world_seed: int) signal continue_game_requested @@ -113,6 +81,7 @@ enum ConfirmationAction { @onready var _quit_button: BubbleButtonType = %QuitButton @onready var _join_game_button: BubbleButtonType = %JoinGameButton @onready var _feedback_label: RichTextLabel = %FeedbackLabel +@onready var _continue_stats_drawer: RichTextLabel = %ContinueStatsDrawer @onready var _confirmation_page: TitleConfirmationBubblePageType = ( %ConfirmationPage ) @@ -121,11 +90,6 @@ enum ConfirmationAction { %TitlePresentationScaleRoot ) @onready var _background: ColorRect = %Background -@onready var _decorative_fish_layer: Control = %DecorativeFishLayer -@onready var _decorative_fish_timer: Timer = %DecorativeFishTimer -@onready var _decorative_bubble_layer: Control = %DecorativeBubbleLayer -@onready var _decorative_bubble_event_timer: Timer = %DecorativeBubbleEventTimer -@onready var _decorative_bubble_cluster_timer: Timer = %DecorativeBubbleClusterTimer @onready var _title_logo: TextureRect = %TitleLogo @onready var _playtest_label: Label = %PlaytestLabel @onready var _presentation_center: CenterContainer = %Center @@ -149,17 +113,6 @@ var _settings_manager: SettingsManagerType var _inspection: SaveInspectionType var _confirmation_action: ConfirmationAction = ConfirmationAction.NONE var _action_in_progress: bool = false -var _decorative_rng := RandomNumberGenerator.new() -var _decorative_fish: TextureRect -var _decorative_fish_tween: Tween -var _decorative_presentation_ready: bool = false -var _decorative_presentation_active: bool = false -var _decorative_generation: int = 0 -var _decorative_bubbles: Array[TextureRect] = [] -var _decorative_bubble_tweens: Dictionary[int, Tween] = {} -var _transition_bubble_ids: Dictionary[int, bool] = {} -var _pending_cluster_bubbles: int = 0 -var _minimal_presentation: bool = false var _awaiting_start_input: bool = false var _start_prompt_elapsed: float = 0.0 var _navigation_focus_active: bool = false @@ -219,27 +172,16 @@ func _ready() -> void: _settings_panel.closed.connect(_on_settings_closed) _settings_panel.closing.connect(_on_settings_closing) _settings_panel.opened.connect(_on_settings_opened) - _settings_panel.navigation_transition_started.connect( - _emit_navigation_bubble_flurry - ) _credits_page.back_requested.connect(_close_credits) _save_slots_page.back_requested.connect(_close_save_slots) _save_slots_page.play_requested.connect(_on_slot_play_requested) _save_slots_page.create_requested.connect(_on_new_slot_requested) _bubble_field.configure(_get_title_buttons()) - _bubble_field.motion_scale = 0.0 - _decorative_fish_timer.timeout.connect(_on_decorative_fish_timer_timeout) - _decorative_bubble_event_timer.timeout.connect( - _on_decorative_bubble_event_timer_timeout - ) - _decorative_bubble_cluster_timer.timeout.connect( - _on_decorative_bubble_cluster_timer_timeout - ) + _bubble_field.motion_scale = 1.0 visibility_changed.connect(_on_title_visibility_changed) resized.connect(_update_responsive_title_stage) get_window().size_changed.connect(_update_responsive_title_stage) _start_prompt_label.resized.connect(_update_start_prompt_pivot) - _decorative_rng.randomize() set_process(false) call_deferred("_update_responsive_title_stage") call_deferred("_update_start_prompt_pivot") @@ -269,19 +211,9 @@ func setup( Input.mouse_mode = Input.MOUSE_MODE_VISIBLE _refresh_save_inspection() show() - _decorative_presentation_ready = true - _start_decorative_presentation() _begin_title_entry() -func set_minimal_presentation(enabled: bool) -> void: - _minimal_presentation = enabled - if _minimal_presentation: - _stop_decorative_presentation() - elif visible: - _start_decorative_presentation() - - func reopen() -> void: _cancel_title_entry_transition() _cancel_title_settings_transition() @@ -295,7 +227,6 @@ func reopen() -> void: _save_slots_page.close_page() _refresh_save_inspection() show() - _start_decorative_presentation() _start_entry_prompt_animation() @@ -315,6 +246,8 @@ func reopen_to_menu() -> void: func open_join_game_page(endpoint: String = "") -> void: _cancel_title_entry_transition() _awaiting_start_input = false + _set_title_bubbles_interactive(false) + _release_primary_menu_focus() _start_prompt_center.hide() _presentation_center.hide() _settings_panel.hide() @@ -353,6 +286,7 @@ func _close_join_game() -> void: _presentation_center.show() _button_center.show() _start_prompt_center.hide() + _set_title_bubbles_interactive(true) _focus_initial_button() @@ -395,28 +329,6 @@ func is_awaiting_start_input() -> bool: return _awaiting_start_input -func is_decorative_presentation_active() -> bool: - return _decorative_presentation_active - - -func get_active_decorative_fish_count() -> int: - return 1 if is_instance_valid(_decorative_fish) else 0 - - -func get_active_decorative_bubble_count() -> int: - return _decorative_bubbles.size() - - -func is_decorative_bubble_scheduler_active() -> bool: - return ( - _decorative_presentation_active - and ( - not _decorative_bubble_event_timer.is_stopped() - or not _decorative_bubble_cluster_timer.is_stopped() - ) - ) - - func _update_title_layout() -> void: if not is_node_ready(): return @@ -464,6 +376,12 @@ func _update_title_layout() -> void: Vector2(field_width, field_height), compact_layout ) + _bubble_field.position = Vector2( + 0.0, + BUBBLE_FIELD_DESKTOP_OFFSET_Y + * field_height + / BUBBLE_FIELD_DESKTOP_HEIGHT, + ) _configure_title_controller_navigation() if not _title_settings_transition_active: call_deferred("_capture_title_bubble_rest_position") @@ -520,12 +438,6 @@ func _update_world_preview_resolution() -> void: _world_pixel_size, displayed_size ) - var shader_material := _background.material as ShaderMaterial - if shader_material != null: - shader_material.set_shader_parameter( - "virtual_pixel_density", - Vector2(grid_size) - ) var logo_material := _title_logo.material as ShaderMaterial if logo_material != null: var render_scale: float = ( @@ -542,23 +454,6 @@ func _update_world_preview_resolution() -> void: ) -func _snap_world_preview(value: Vector2) -> Vector2: - var displayed_size := Vector2i( - maxi(1, roundi(size.x)), - maxi(1, roundi(size.y)) - ) - var grid_size: Vector2i = PlayerSettings.get_world_grid_size( - _world_pixel_size, - displayed_size - ) - var render_scale: float = float(grid_size.y) / float(displayed_size.y) - var step: float = 1.0 / render_scale - return Vector2( - roundf(value.x / step) * step, - roundf(value.y / step) * step - ) - - func _process(delta: float) -> void: if not visible: return @@ -725,6 +620,9 @@ func _prepare_awaiting_start_input() -> void: _continue_stats_hovered = false _continue_stats_focused = false _cancel_continue_stats_fade() + _continue_stats_drawer.hide() + _continue_stats_drawer.modulate.a = 0.0 + _continue_stats_drawer.scale = Vector2(1.0, 0.001) _main_content.show() _start_prompt_center.show() _start_prompt_center.modulate.a = 1.0 @@ -775,7 +673,6 @@ func _reveal_primary_menu() -> void: _navigation_focus_active = false _release_title_focus() _bubble_motion_root.position = Vector2.ZERO - _branding_motion_root.position = Vector2.ZERO _bubble_field.pivot_offset = _bubble_field.size * 0.5 _bubble_field.scale = Vector2.ONE * QUICK_MENU_ENTER_SCALE _bubble_field.modulate.a = 0.0 @@ -784,20 +681,28 @@ func _reveal_primary_menu() -> void: _start_prompt_center, "modulate:a", 0.0, - QUICK_MENU_EXIT_DURATION + INTRO_PROMPT_FADE_DURATION ).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_IN) + _title_entry_transition.tween_property( + _branding_motion_root, + "position", + Vector2.ZERO, + INTRO_LOGO_FLOAT_DURATION + ).set_trans(Tween.TRANS_CUBIC).set_ease(Tween.EASE_IN_OUT) _title_entry_transition.tween_property( _bubble_field, "scale", Vector2.ONE, - QUICK_MENU_ENTER_DURATION - ).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT) + INTRO_MENU_REVEAL_DURATION + ).set_trans(Tween.TRANS_QUAD).set_ease(Tween.EASE_OUT).set_delay( + INTRO_MENU_REVEAL_DELAY + ) _title_entry_transition.tween_property( _bubble_field, "modulate:a", 1.0, - QUICK_MENU_ENTER_DURATION - ) + INTRO_MENU_REVEAL_DURATION + ).set_delay(INTRO_MENU_REVEAL_DELAY) _title_entry_transition.finished.connect( _finish_primary_menu_reveal.bind(generation), CONNECT_ONE_SHOT @@ -814,6 +719,7 @@ func _finish_primary_menu_reveal(generation: int) -> void: _title_entry_transition_active = false _start_prompt_center.hide() _start_prompt_center.modulate.a = 1.0 + _branding_motion_root.position = Vector2.ZERO _bubble_field.scale = Vector2.ONE _bubble_field.modulate.a = 1.0 _feedback_label.modulate.a = 0.0 @@ -855,10 +761,18 @@ func _prepare_intro_presentation(generation: int) -> void: return _branding_motion_root.size = _branding_slot.size _bubble_motion_root.size = _bubble_layout_slot.size - _branding_motion_root.position = Vector2.ZERO _bubble_motion_root.position = Vector2.ZERO _title_content_rest_position = _presentation_center.position _title_bubble_rest_position = _bubble_field.position + var branding_rect: Rect2 = _get_title_stage_rect(_branding_slot) + var desired_branding_center_y: float = ( + _title_presentation_scale_root.size.y + * INTRO_LOGO_CENTER_Y_RATIO + ) + _branding_motion_root.position = Vector2( + 0.0, + desired_branding_center_y - branding_rect.get_center().y, + ) _intro_geometry_ready = true @@ -908,7 +822,7 @@ func _update_continue_stats_visibility() -> void: and _presentation_center.visible ) if requested_visible: - _feedback_label.text = _get_continue_stats_text() + _continue_stats_drawer.text = _get_continue_stats_text() _fade_continue_stats_to(1.0 if requested_visible else 0.0) @@ -922,16 +836,47 @@ func _fade_continue_stats_to(target_opacity: float) -> void: if not is_node_ready(): return _cancel_continue_stats_fade() - if is_equal_approx(_feedback_label.modulate.a, target_opacity): - _feedback_label.modulate.a = target_opacity + var target_scale := Vector2( + 1.0, + 1.0 if target_opacity > 0.0 else 0.001, + ) + if target_opacity > 0.0: + _continue_stats_drawer.show() + if ( + is_equal_approx( + _continue_stats_drawer.modulate.a, + target_opacity, + ) + and _continue_stats_drawer.scale.is_equal_approx(target_scale) + ): + _continue_stats_drawer.modulate.a = target_opacity + _continue_stats_drawer.scale = target_scale + if target_opacity <= 0.0: + _continue_stats_drawer.hide() return - _continue_stats_fade = create_tween() + _continue_stats_fade = create_tween().set_parallel(true) _continue_stats_fade.tween_property( - _feedback_label, + _continue_stats_drawer, "modulate:a", target_opacity, QUICK_MENU_ENTER_DURATION ).set_trans(Tween.TRANS_CUBIC).set_ease(Tween.EASE_IN_OUT) + _continue_stats_fade.tween_property( + _continue_stats_drawer, + "scale", + target_scale, + QUICK_MENU_ENTER_DURATION + ).set_trans(Tween.TRANS_CUBIC).set_ease(Tween.EASE_IN_OUT) + if target_opacity <= 0.0: + _continue_stats_fade.chain().tween_callback( + _finish_continue_stats_hide + ) + + +func _finish_continue_stats_hide() -> void: + _continue_stats_fade = null + if _continue_stats_drawer.modulate.a <= 0.001: + _continue_stats_drawer.hide() func _cancel_continue_stats_fade() -> void: @@ -1180,7 +1125,6 @@ func _begin_confirmation_open() -> void: _confirmation_transition_generation += 1 _cancel_confirmation_transition() _confirmation_transition_active = true - _emit_navigation_bubble_flurry() _confirmation_title_content_rest_position = _presentation_center.position _set_confirmation_stage_rect() _confirmation_page.hide_page() @@ -1238,7 +1182,6 @@ func _begin_confirmation_return() -> void: _confirmation_transition_generation += 1 _cancel_confirmation_transition() _confirmation_transition_active = true - _emit_navigation_bubble_flurry() _confirmation_page.lock_interaction() var generation: int = _confirmation_transition_generation _confirmation_page.transition_out( @@ -1375,7 +1318,6 @@ func _begin_title_cluster_exit() -> void: _title_settings_transition_generation += 1 _cancel_title_settings_tween() _title_settings_transition_active = true - _emit_navigation_bubble_flurry() _title_content_rest_position = _presentation_center.position _title_bubble_rest_position = _bubble_field.position _set_title_bubbles_interactive(false) @@ -1475,6 +1417,8 @@ func _finish_title_cluster_return(generation: int) -> void: func _set_title_bubbles_interactive(interactive: bool) -> void: for bubble: BubbleButton in _get_title_buttons(): + if not interactive: + bubble.reset_hover_presentation() bubble.focus_mode = ( Control.FOCUS_ALL if interactive else Control.FOCUS_NONE ) @@ -1491,21 +1435,39 @@ func _configure_title_controller_navigation() -> void: ControllerFocusNavigationType.configure_spatial_neighbors( _get_title_buttons() ) - # The large Play bubble overlaps the inward edge of every surrounding - # bubble. Center-only spatial scoring otherwise links the four outside - # bubbles into a ring with no route back into Play. - _join_game_button.focus_neighbor_right = ( + _play_button.focus_neighbor_right = ( + _play_button.get_path_to(_join_game_button) + ) + _join_game_button.focus_neighbor_left = ( _join_game_button.get_path_to(_play_button) ) + _join_game_button.focus_neighbor_bottom = ( + _join_game_button.get_path_to(_settings_button) + ) _settings_button.focus_neighbor_left = ( _settings_button.get_path_to(_play_button) ) - _credits_button.focus_neighbor_right = ( + _settings_button.focus_neighbor_top = ( + _settings_button.get_path_to(_join_game_button) + ) + _settings_button.focus_neighbor_bottom = ( + _settings_button.get_path_to(_credits_button) + ) + _credits_button.focus_neighbor_left = ( _credits_button.get_path_to(_play_button) ) + _credits_button.focus_neighbor_top = ( + _credits_button.get_path_to(_settings_button) + ) + _credits_button.focus_neighbor_bottom = ( + _credits_button.get_path_to(_quit_button) + ) _quit_button.focus_neighbor_left = ( _quit_button.get_path_to(_play_button) ) + _quit_button.focus_neighbor_top = ( + _quit_button.get_path_to(_credits_button) + ) func _capture_title_bubble_rest_position() -> void: @@ -1575,7 +1537,7 @@ func _refresh_save_inspection() -> void: _delete_button.disabled = not _inspection.can_delete() _feedback_label.text = _center_feedback_text(_inspection.message) if _inspection.status == SaveInspectionType.Status.VALID_SUPPORTED: - _feedback_label.text = _get_continue_stats_text() + _continue_stats_drawer.text = _get_continue_stats_text() if not _inspection.can_continue(): _hide_continue_stats_context() else: @@ -1609,11 +1571,8 @@ func _on_quit_pressed() -> void: func _on_title_visibility_changed() -> void: - if not _decorative_presentation_ready: - return if visible: set_process(true) - _start_decorative_presentation() else: _hide_continue_stats_context() _stop_entry_prompt_animation() @@ -1621,482 +1580,3 @@ func _on_title_visibility_changed() -> void: _modal_restore_navigation_focus = false _reset_confirmation() _credits_page.close_page() - _stop_decorative_presentation() - - -func _start_decorative_presentation() -> void: - if ( - not _decorative_presentation_ready - or not visible - or _decorative_presentation_active - or _minimal_presentation - ): - return - _decorative_generation += 1 - _decorative_presentation_active = true - _schedule_next_decorative_fish( - FIRST_FISH_DELAY_MIN, - FIRST_FISH_DELAY_MAX - ) - _schedule_next_decorative_bubble_event( - BUBBLE_EVENT_DELAY_MIN, - BUBBLE_EVENT_DELAY_MAX - ) - - -func _stop_decorative_presentation() -> void: - _decorative_generation += 1 - _decorative_presentation_active = false - _decorative_fish_timer.stop() - if _decorative_fish_tween != null: - _decorative_fish_tween.kill() - _decorative_fish_tween = null - if is_instance_valid(_decorative_fish): - _decorative_fish.queue_free() - _decorative_fish = null - _decorative_bubble_event_timer.stop() - _decorative_bubble_cluster_timer.stop() - _pending_cluster_bubbles = 0 - for bubble_tween: Tween in _decorative_bubble_tweens.values(): - if bubble_tween != null: - bubble_tween.kill() - _decorative_bubble_tweens.clear() - for bubble: TextureRect in _decorative_bubbles: - if is_instance_valid(bubble): - bubble.queue_free() - _decorative_bubbles.clear() - _transition_bubble_ids.clear() - - -func _schedule_next_decorative_fish( - minimum_delay: float, - maximum_delay: float, -) -> void: - if not _decorative_presentation_active or not visible: - return - _decorative_fish_timer.start( - _decorative_rng.randf_range(minimum_delay, maximum_delay) - ) - - -func _on_decorative_fish_timer_timeout() -> void: - if ( - not _decorative_presentation_active - or not visible - or is_instance_valid(_decorative_fish) - ): - return - _spawn_decorative_fish(_decorative_generation) - - -func _spawn_decorative_fish(generation: int) -> void: - if ( - generation != _decorative_generation - or not _decorative_presentation_active - or not visible - or DECORATIVE_FISH_TEXTURES.is_empty() - ): - return - var layer_size: Vector2 = _decorative_fish_layer.size - if layer_size.x <= 1.0 or layer_size.y <= 1.0: - _schedule_next_decorative_fish(0.5, 1.0) - return - var texture: Texture2D = DECORATIVE_FISH_TEXTURES[ - _decorative_rng.randi_range(0, DECORATIVE_FISH_TEXTURES.size() - 1) - ] - var source_size: Vector2 = texture.get_size() - if source_size.x <= 0.0 or source_size.y <= 0.0: - _schedule_next_decorative_fish( - NEXT_FISH_DELAY_MIN, - NEXT_FISH_DELAY_MAX - ) - return - var longest_side: float = _decorative_rng.randf_range( - FISH_LONGEST_SIDE_MIN, - FISH_LONGEST_SIDE_MAX - ) - var presentation_scale: float = longest_side / maxf( - source_size.x, - source_size.y - ) - var presentation_size: Vector2 = source_size * presentation_scale - var fish_control := TextureRect.new() - fish_control.name = "DecorativeFish" - fish_control.texture = texture - fish_control.expand_mode = TextureRect.EXPAND_IGNORE_SIZE - fish_control.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED - fish_control.texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST - fish_control.mouse_filter = Control.MOUSE_FILTER_IGNORE - fish_control.custom_minimum_size = presentation_size - fish_control.size = presentation_size - fish_control.modulate.a = 0.46 - - var direction: float = ( - 1.0 - if _decorative_rng.randi_range(0, 1) == 1 - else -1.0 - ) - fish_control.flip_h = direction > 0.0 - var minimum_y: float = maxf(24.0, layer_size.y * 0.08) - var maximum_y: float = maxf( - minimum_y, - layer_size.y - presentation_size.y - maxf(24.0, layer_size.y * 0.08) - ) - var base_y: float = _decorative_rng.randf_range(minimum_y, maximum_y) - var bob_amplitude: float = _decorative_rng.randf_range(3.0, 8.0) - var bob_speed: float = _decorative_rng.randf_range(0.65, 1.15) - var crossing_duration: float = _decorative_rng.randf_range( - CROSSING_DURATION_MIN, - CROSSING_DURATION_MAX - ) - var horizontal_bounds: Vector2 = get_decorative_fish_crossing_bounds( - layer_size.x, - presentation_size.x, - direction, - ) - fish_control.position = Vector2(horizontal_bounds.x, base_y) - _decorative_fish_layer.add_child(fish_control) - _decorative_fish = fish_control - _decorative_fish_tween = create_tween() - _decorative_fish_tween.tween_method( - _update_decorative_fish.bind( - fish_control, - direction, - base_y, - bob_amplitude, - bob_speed, - crossing_duration, - generation - ), - 0.0, - 1.0, - crossing_duration - ) - _decorative_fish_tween.finished.connect( - _on_decorative_fish_finished.bind(fish_control, generation), - CONNECT_ONE_SHOT - ) - - -func _update_decorative_fish( - progress: float, - fish_control: TextureRect, - direction: float, - base_y: float, - bob_amplitude: float, - bob_speed: float, - crossing_duration: float, - generation: int, -) -> void: - if ( - generation != _decorative_generation - or not _decorative_presentation_active - or not is_instance_valid(fish_control) - ): - return - var horizontal_bounds: Vector2 = get_decorative_fish_crossing_bounds( - _decorative_fish_layer.size.x, - fish_control.size.x, - direction, - ) - fish_control.position.x = lerpf( - horizontal_bounds.x, horizontal_bounds.y, progress - ) - var bobbed_y: float = ( - base_y - + sin(progress * crossing_duration * bob_speed) * bob_amplitude - ) - fish_control.position.y = clampf( - bobbed_y, - 8.0, - maxf(8.0, _decorative_fish_layer.size.y - fish_control.size.y - 8.0) - ) - fish_control.position = _snap_world_preview(fish_control.position) - - -static func get_decorative_fish_crossing_bounds( - layer_width: float, - fish_width: float, - direction: float, -) -> Vector2: - var outside_left: float = -fish_width - FISH_EDGE_MARGIN - var outside_right: float = layer_width + FISH_EDGE_MARGIN - return ( - Vector2(outside_left, outside_right) - if direction > 0.0 - else Vector2(outside_right, outside_left) - ) - - -func _on_decorative_fish_finished( - fish_control: TextureRect, - generation: int, -) -> void: - if generation != _decorative_generation: - return - _decorative_fish_tween = null - if is_instance_valid(fish_control): - fish_control.queue_free() - if _decorative_fish == fish_control: - _decorative_fish = null - _schedule_next_decorative_fish( - NEXT_FISH_DELAY_MIN, - NEXT_FISH_DELAY_MAX - ) - - -func _schedule_next_decorative_bubble_event( - minimum_delay: float, - maximum_delay: float, -) -> void: - if not _decorative_presentation_active or not visible: - return - _decorative_bubble_event_timer.start( - _decorative_rng.randf_range(minimum_delay, maximum_delay) - ) - - -func _on_decorative_bubble_event_timer_timeout() -> void: - if not _decorative_presentation_active or not visible: - return - var available_slots: int = ( - MAX_DECORATIVE_BUBBLES - _get_idle_decorative_bubble_count() - ) - if available_slots <= 0: - _schedule_next_decorative_bubble_event( - BUBBLE_EVENT_DELAY_MIN, - BUBBLE_EVENT_DELAY_MAX - ) - return - var event_size: int = _choose_decorative_bubble_event_size() - event_size = mini(event_size, available_slots) - if not _spawn_decorative_bubble(_decorative_generation): - _schedule_next_decorative_bubble_event(0.5, 1.0) - return - _pending_cluster_bubbles = event_size - 1 - if _pending_cluster_bubbles > 0: - _start_decorative_bubble_cluster_timer() - else: - _schedule_next_decorative_bubble_event( - BUBBLE_EVENT_DELAY_MIN, - BUBBLE_EVENT_DELAY_MAX - ) - - -func _choose_decorative_bubble_event_size() -> int: - var roll: float = _decorative_rng.randf() - if roll < 0.75: - return 1 - if roll < 0.95: - return 2 - return 3 - - -func _start_decorative_bubble_cluster_timer() -> void: - _decorative_bubble_cluster_timer.start( - _decorative_rng.randf_range( - BUBBLE_CLUSTER_DELAY_MIN, - BUBBLE_CLUSTER_DELAY_MAX - ) - ) - - -func _on_decorative_bubble_cluster_timer_timeout() -> void: - if ( - not _decorative_presentation_active - or not visible - or _pending_cluster_bubbles <= 0 - ): - _pending_cluster_bubbles = 0 - return - if _get_idle_decorative_bubble_count() < MAX_DECORATIVE_BUBBLES: - _spawn_decorative_bubble(_decorative_generation) - _pending_cluster_bubbles -= 1 - if _pending_cluster_bubbles > 0: - _start_decorative_bubble_cluster_timer() - else: - _schedule_next_decorative_bubble_event( - BUBBLE_EVENT_DELAY_MIN, - BUBBLE_EVENT_DELAY_MAX - ) - - -func _spawn_decorative_bubble( - generation: int, - start_y_ratio: float = -1.0, - normalized_x_override: float = -1.0, - is_transition_bubble: bool = false, -) -> bool: - if ( - generation != _decorative_generation - or not _decorative_presentation_active - or not visible - or DECORATIVE_BUBBLE_TEXTURES.is_empty() - ): - return false - if is_transition_bubble: - if _transition_bubble_ids.size() >= MAX_TRANSITION_BUBBLES: - return false - elif _get_idle_decorative_bubble_count() >= MAX_DECORATIVE_BUBBLES: - return false - var layer_size: Vector2 = _decorative_bubble_layer.size - if layer_size.x <= 1.0 or layer_size.y <= 1.0: - return false - var texture: Texture2D = DECORATIVE_BUBBLE_TEXTURES[ - _decorative_rng.randi_range( - 0, - DECORATIVE_BUBBLE_TEXTURES.size() - 1 - ) - ] - var presentation_scale: float = _decorative_rng.randf_range( - BUBBLE_SCALE_MIN, - BUBBLE_SCALE_MAX - ) - var presentation_size: Vector2 = texture.get_size() * presentation_scale - var bubble := TextureRect.new() - bubble.name = "DecorativeBubble" - bubble.texture = texture - bubble.expand_mode = TextureRect.EXPAND_IGNORE_SIZE - bubble.stretch_mode = TextureRect.STRETCH_KEEP_ASPECT_CENTERED - bubble.texture_filter = CanvasItem.TEXTURE_FILTER_NEAREST - bubble.mouse_filter = Control.MOUSE_FILTER_IGNORE - bubble.size = presentation_size - bubble.modulate.a = _decorative_rng.randf_range( - BUBBLE_OPACITY_MIN, - BUBBLE_OPACITY_MAX - ) - _decorative_bubble_layer.add_child(bubble) - _decorative_bubbles.append(bubble) - if is_transition_bubble: - _transition_bubble_ids[bubble.get_instance_id()] = true - - var normalized_x: float = normalized_x_override - if normalized_x < 0.0: - normalized_x = _decorative_rng.randf_range(0.08, 0.92) - var drift_direction: float = ( - 1.0 if _decorative_rng.randi_range(0, 1) == 1 else -1.0 - ) - var horizontal_drift: float = ( - _decorative_rng.randf_range( - BUBBLE_DRIFT_MIN, - BUBBLE_DRIFT_MAX - ) - * drift_direction - ) - var wobble_amplitude: float = _decorative_rng.randf_range( - BUBBLE_WOBBLE_MIN, - BUBBLE_WOBBLE_MAX - ) - var wobble_cycles: float = _decorative_rng.randf_range(0.8, 1.6) - var wobble_phase: float = _decorative_rng.randf_range(0.0, TAU) - var travel_duration: float = _decorative_rng.randf_range( - BUBBLE_TRAVEL_DURATION_MIN, - BUBBLE_TRAVEL_DURATION_MAX - ) - if start_y_ratio >= 0.0: - var full_start_y: float = ( - layer_size.y + presentation_size.y + BUBBLE_EDGE_MARGIN - ) - var end_y: float = -presentation_size.y - BUBBLE_EDGE_MARGIN - var burst_start_y: float = ( - start_y_ratio * layer_size.y - presentation_size.y * 0.5 - ) - var remaining_distance: float = maxf(burst_start_y - end_y, 1.0) - var full_distance: float = maxf(full_start_y - end_y, 1.0) - travel_duration *= remaining_distance / full_distance - _update_decorative_bubble( - 0.0, - bubble, - normalized_x, - horizontal_drift, - wobble_amplitude, - wobble_cycles, - wobble_phase, - start_y_ratio, - generation - ) - var bubble_tween: Tween = create_tween() - _decorative_bubble_tweens[bubble.get_instance_id()] = bubble_tween - bubble_tween.tween_method( - _update_decorative_bubble.bind( - bubble, - normalized_x, - horizontal_drift, - wobble_amplitude, - wobble_cycles, - wobble_phase, - start_y_ratio, - generation - ), - 0.0, - 1.0, - travel_duration - ) - bubble_tween.finished.connect( - _on_decorative_bubble_finished.bind(bubble, generation), - CONNECT_ONE_SHOT - ) - return true - - -func _update_decorative_bubble( - progress: float, - bubble: TextureRect, - normalized_x: float, - horizontal_drift: float, - wobble_amplitude: float, - wobble_cycles: float, - wobble_phase: float, - start_y_ratio: float, - generation: int, -) -> void: - if ( - generation != _decorative_generation - or not _decorative_presentation_active - or not is_instance_valid(bubble) - ): - return - var layer_size: Vector2 = _decorative_bubble_layer.size - var start_y: float = ( - layer_size.y + bubble.size.y + BUBBLE_EDGE_MARGIN - ) - if start_y_ratio >= 0.0: - start_y = start_y_ratio * layer_size.y - bubble.size.y * 0.5 - var end_y: float = -bubble.size.y - BUBBLE_EDGE_MARGIN - var base_x: float = normalized_x * layer_size.x - var wobble: float = sin( - wobble_phase + progress * TAU * wobble_cycles - ) * wobble_amplitude - bubble.position = _snap_world_preview(Vector2( - base_x - + horizontal_drift * progress - + wobble - - bubble.size.x * 0.5, - lerpf(start_y, end_y, progress) - )) - - -func _on_decorative_bubble_finished( - bubble: TextureRect, - generation: int, -) -> void: - if generation != _decorative_generation: - return - if is_instance_valid(bubble): - _decorative_bubble_tweens.erase(bubble.get_instance_id()) - _transition_bubble_ids.erase(bubble.get_instance_id()) - _decorative_bubbles.erase(bubble) - bubble.queue_free() - - -func _get_idle_decorative_bubble_count() -> int: - return _decorative_bubbles.size() - _transition_bubble_ids.size() - - -func _emit_navigation_bubble_flurry() -> void: - # Page changes now use a quick fade and scale without travel bubbles. - pass - - -func _exit_tree() -> void: - _stop_decorative_presentation() diff --git a/ui/title_screen.tscn b/ui/title_screen.tscn index 4d02718..1888db9 100644 --- a/ui/title_screen.tscn +++ b/ui/title_screen.tscn @@ -1,29 +1,36 @@ -[gd_scene load_steps=25 format=3] +[gd_scene load_steps=28 format=3] [ext_resource type="Script" path="res://ui/title_screen.gd" id="1_script"] [ext_resource type="Theme" path="res://ui/game_theme.tres" id="2_theme"] [ext_resource type="PackedScene" path="res://ui/settings_panel.tscn" id="3_settings"] -[ext_resource type="Shader" path="res://ui/title_water_background.gdshader" id="4_water_shader"] -[ext_resource type="Texture2D" path="res://ui/assets/title/netfishing_logo.png" id="5_logo"] +[ext_resource type="Shader" path="res://ui/player_menu_pattern.gdshader" id="4_grass_shader"] +[ext_resource type="Texture2D" path="res://ui/assets/title/straywild_logo.png" id="5_logo"] [ext_resource type="Shader" path="res://ui/title_logo_underwater.gdshader" id="6_logo_shader"] [ext_resource type="Script" path="res://ui/components/bubble_menu/bubble_button.gd" id="7_bubble_button"] [ext_resource type="Script" path="res://ui/components/bubble_menu/bubble_cluster.gd" id="8_bubble_cluster"] [ext_resource type="Resource" path="res://ui/components/bubble_menu/bubble_menu_profile.tres" id="9_bubble_profile"] [ext_resource type="PackedScene" path="res://ui/title_confirmation_bubble_page.tscn" id="10_confirmation_page"] [ext_resource type="PackedScene" path="res://ui/network/join_game_page.tscn" id="11_join_page"] -[ext_resource type="Texture2D" path="res://ui/icons/pictograms/online_dark.png" id="12_online_dark"] -[ext_resource type="Texture2D" path="res://ui/icons/pictograms/settings_dark.png" id="13_settings_dark"] -[ext_resource type="Texture2D" path="res://ui/icons/pictograms/x_dark.png" id="14_x_dark"] +[ext_resource type="Texture2D" path="res://ui/icons/new_menu/online.png" id="12_online_dark"] +[ext_resource type="Texture2D" path="res://ui/icons/new_menu/settings.png" id="13_settings_dark"] +[ext_resource type="Texture2D" path="res://ui/icons/new_menu/close.png" id="14_x_dark"] [ext_resource type="PackedScene" path="res://ui/title_credits_page.tscn" id="15_credits_page"] -[ext_resource type="Texture2D" path="res://ui/icons/main_menu/continue.png" id="16_continue"] +[ext_resource type="Texture2D" path="res://ui/icons/new_menu/play.png" id="16_continue"] [ext_resource type="Texture2D" path="res://ui/icons/main_menu/new_game.png" id="17_new_game"] -[ext_resource type="Texture2D" path="res://ui/icons/main_menu/credits.png" id="18_credits"] +[ext_resource type="Texture2D" path="res://ui/icons/new_menu/credits.png" id="18_credits"] [ext_resource type="Texture2D" path="res://ui/icons/main_menu/delete_save.png" id="19_delete_save"] [ext_resource type="PackedScene" path="res://ui/new_game_setup_page.tscn" id="20_new_game_setup"] [ext_resource type="PackedScene" path="res://ui/save_slots_page.tscn" id="21_save_slots"] +[ext_resource type="Texture2D" path="res://world/generation/chunks/assets/chunk_0000_grass_lite.png" id="22_grass_pattern"] +[ext_resource type="Resource" path="res://ui/components/bubble_menu/title_menu_profile.tres" id="23_title_menu_profile"] +[ext_resource type="Resource" path="res://ui/components/bubble_menu/title_secondary_menu_profile.tres" id="24_title_secondary_menu_profile"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_title_water"] -shader = ExtResource("4_water_shader") +[sub_resource type="ShaderMaterial" id="ShaderMaterial_title_grass"] +shader = ExtResource("4_grass_shader") +shader_parameter/pattern_texture = ExtResource("22_grass_pattern") +shader_parameter/source_tile_size = Vector2(128, 128) +shader_parameter/display_scale = 1.0 +shader_parameter/scroll_velocity_pixels = Vector2(-7.5, -7.5) [sub_resource type="ShaderMaterial" id="ShaderMaterial_title_logo"] shader = ExtResource("6_logo_shader") @@ -39,6 +46,17 @@ corner_radius_top_right = 14 corner_radius_bottom_right = 14 corner_radius_bottom_left = 14 +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_continue_stats_drawer"] +content_margin_left = 10.0 +content_margin_top = 18.0 +content_margin_right = 10.0 +content_margin_bottom = 2.0 +bg_color = Color(0.031, 0.122, 0.169, 1) +corner_radius_top_left = 14 +corner_radius_top_right = 14 +corner_radius_bottom_right = 14 +corner_radius_bottom_left = 14 + [node name="TitleScreen" type="Control"] unique_name_in_owner = true z_index = 200 @@ -55,7 +73,7 @@ script = ExtResource("1_script") [node name="Background" type="ColorRect" parent="."] unique_name_in_owner = true visible = false -material = SubResource("ShaderMaterial_title_water") +material = SubResource("ShaderMaterial_title_grass") layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -64,42 +82,6 @@ grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 -[node name="DecorativeFishLayer" type="Control" parent="."] -unique_name_in_owner = true -z_index = 1 -clip_contents = true -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -mouse_filter = 2 - -[node name="DecorativeFishTimer" type="Timer" parent="."] -unique_name_in_owner = true -one_shot = true - -[node name="DecorativeBubbleLayer" type="Control" parent="."] -unique_name_in_owner = true -z_index = 2 -clip_contents = true -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -mouse_filter = 2 - -[node name="DecorativeBubbleEventTimer" type="Timer" parent="."] -unique_name_in_owner = true -one_shot = true - -[node name="DecorativeBubbleClusterTimer" type="Timer" parent="."] -unique_name_in_owner = true -one_shot = true - [node name="ResponsiveTitleStage" type="Control" parent="."] unique_name_in_owner = true z_index = 10 @@ -122,13 +104,13 @@ mouse_filter = 1 unique_name_in_owner = true z_index = 12 layout_mode = 1 -anchor_top = 1.0 +anchor_top = 0.5 anchor_right = 1.0 -anchor_bottom = 1.0 -offset_top = -104.0 -offset_bottom = -48.0 +anchor_bottom = 0.5 +offset_top = 45.0 +offset_bottom = 101.0 grow_horizontal = 2 -grow_vertical = 0 +grow_vertical = 2 mouse_filter = 2 [node name="StartPromptLabel" type="Label" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/StartPromptCenter"] @@ -136,8 +118,6 @@ unique_name_in_owner = true layout_mode = 2 mouse_filter = 2 theme_override_colors/font_color = Color(1, 1, 1, 1) -theme_override_colors/font_outline_color = Color(0.02, 0.075, 0.11, 0.9) -theme_override_constants/outline_size = 3 theme_override_font_sizes/font_size = 39 text = "press any key to start" horizontal_alignment = 1 @@ -202,27 +182,33 @@ texture = ExtResource("5_logo") expand_mode = 1 stretch_mode = 5 -[node name="VersionRow" type="Control" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/BrandingSlot/BrandingMotionRoot/BrandingContent"] +[node name="VersionRow" type="Control" parent="ResponsiveTitleStage/TitlePresentationScaleRoot"] unique_name_in_owner = true -custom_minimum_size = Vector2(0, 18) -layout_mode = 2 +z_index = 12 +custom_minimum_size = Vector2(280, 28) +layout_mode = 1 +anchor_left = 0.5 +anchor_top = 1.0 +anchor_right = 0.5 +anchor_bottom = 1.0 +offset_left = -140.0 +offset_top = -38.0 +offset_right = 140.0 +offset_bottom = -10.0 +grow_horizontal = 2 +grow_vertical = 0 mouse_filter = 2 -[node name="VersionAnchor" type="CenterContainer" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/BrandingSlot/BrandingMotionRoot/BrandingContent/VersionRow"] +[node name="VersionAnchor" type="CenterContainer" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/VersionRow"] layout_mode = 1 -anchor_left = 0.7 -anchor_top = 0.5 -anchor_right = 0.7 -anchor_bottom = 0.5 -offset_left = -140.0 -offset_top = -17.0 -offset_right = 140.0 -offset_bottom = 11.0 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 -[node name="PlaytestLabel" type="Label" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/BrandingSlot/BrandingMotionRoot/BrandingContent/VersionRow/VersionAnchor"] +[node name="PlaytestLabel" type="Label" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/VersionRow/VersionAnchor"] unique_name_in_owner = true layout_mode = 2 theme_override_colors/font_color = Color(0.682, 0.733, 0.761, 1) @@ -242,47 +228,75 @@ layout_mode = 2 [node name="BubbleLayoutSlot" type="Control" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter"] unique_name_in_owner = true -custom_minimum_size = Vector2(440, 318) +custom_minimum_size = Vector2(500, 360) layout_mode = 2 [node name="BubbleMotionRoot" type="Control" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot"] unique_name_in_owner = true layout_mode = 0 -offset_right = 440.0 -offset_bottom = 318.0 +offset_right = 500.0 +offset_bottom = 360.0 mouse_filter = 2 [node name="BubbleField" type="Control" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot"] unique_name_in_owner = true -custom_minimum_size = Vector2(440, 318) +custom_minimum_size = Vector2(500, 360) layout_mode = 0 -offset_right = 440.0 -offset_bottom = 318.0 +offset_right = 500.0 +offset_top = -10.0 +offset_bottom = 350.0 script = ExtResource("8_bubble_cluster") -profile = ExtResource("9_bubble_profile") +profile = ExtResource("23_title_menu_profile") +desktop_reference_size = Vector2(500, 360) +collision_separation_enabled = false [node name="PlayButton" type="Button" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot/BubbleField"] unique_name_in_owner = true -offset_left = 106.0 -offset_top = 71.0 -offset_right = 290.0 -offset_bottom = 249.0 +offset_left = 36.0 +offset_top = 30.0 +offset_right = 366.0 +offset_bottom = 360.0 texture_filter = 1 icon = ExtResource("16_continue") -tooltip_text = "play" -accessibility_name = "play" +accessibility_name = "play straywild" script = ExtResource("7_bubble_button") -profile = ExtResource("9_bubble_profile") -neutral_size = Vector2(184, 178) -desktop_anchor = Vector2(198, 160) -compact_anchor = Vector2(198, 164) -minimum_font_size = 19 -maximum_font_size = 30 -horizontal_amplitude = 1.8 -vertical_amplitude = 4.6 -motion_period = 5.8 -deformation_amplitude = 0.01 -deformation_period = 6.7 +profile = ExtResource("23_title_menu_profile") +neutral_size = Vector2(330, 330) +desktop_anchor = Vector2(201, 195) +compact_anchor = Vector2(201, 195) +minimum_font_size = 28 +maximum_font_size = 36 +icon_fill_ratio_override = 0.9 +horizontal_amplitude = 0.0 +vertical_amplitude = 0.0 +deformation_amplitude = 0.0 +hover_wiggle_amplitude = Vector2(7, 6) +hover_wiggle_period = 3.8 +hover_drawer_text = "play straywild" +hover_drawer_mode = 1 +elliptical_hit_area = false + +[node name="ContinueStatsDrawer" type="RichTextLabel" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot/BubbleField/PlayButton"] +unique_name_in_owner = true +show_behind_parent = true +z_index = -1 +visible = false +layout_mode = 0 +offset_left = 22.0 +offset_top = 314.0 +offset_right = 308.0 +offset_bottom = 360.0 +pivot_offset = Vector2(143, 0) +scale = Vector2(1, 0.001) +mouse_filter = 2 +theme_override_font_sizes/normal_font_size = 15 +text = "" +bbcode_enabled = true +scroll_active = false +autowrap_mode = 2 +horizontal_alignment = 1 +vertical_alignment = 1 +theme_override_styles/normal = SubResource("StyleBoxFlat_continue_stats_drawer") [node name="NewGameButton" type="Button" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot/BubbleField"] unique_name_in_owner = true @@ -313,75 +327,75 @@ deformation_period = 5.9 [node name="SettingsButton" type="Button" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot/BubbleField"] unique_name_in_owner = true -offset_left = 254.0 -offset_top = 12.0 -offset_right = 374.0 -offset_bottom = 128.0 +offset_left = 384.0 +offset_top = 116.0 +offset_right = 456.0 +offset_bottom = 188.0 texture_filter = 1 icon = ExtResource("13_settings_dark") -tooltip_text = "settings" accessibility_name = "settings" script = ExtResource("7_bubble_button") -profile = ExtResource("9_bubble_profile") -desktop_anchor = Vector2(314, 70) -compact_anchor = Vector2(333, 75) -compact_minimum_size = Vector2(94, 90) +profile = ExtResource("24_title_secondary_menu_profile") +neutral_size = Vector2(72, 72) +desktop_anchor = Vector2(420, 152) +compact_anchor = Vector2(420, 152) minimum_font_size = 15 -maximum_font_size = 22 -vertical_amplitude = 3.7 -motion_period = 4.9 -motion_phase = 2.5 -deformation_period = 6.3 +maximum_font_size = 20 +horizontal_amplitude = 0.0 +vertical_amplitude = 0.0 +deformation_amplitude = 0.0 +hover_wiggle_amplitude = Vector2(2.4, 1.2) +hover_wiggle_period = 1.9 +hover_drawer_text = "settings" +elliptical_hit_area = false [node name="CreditsButton" type="Button" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot/BubbleField"] unique_name_in_owner = true -offset_left = 54.0 -offset_top = 209.0 -offset_right = 138.0 -offset_bottom = 291.0 +offset_left = 384.0 +offset_top = 202.0 +offset_right = 456.0 +offset_bottom = 274.0 texture_filter = 1 icon = ExtResource("18_credits") -tooltip_text = "credits" accessibility_name = "credits" script = ExtResource("7_bubble_button") -profile = ExtResource("9_bubble_profile") -neutral_size = Vector2(84, 82) -desktop_anchor = Vector2(96, 250) -compact_anchor = Vector2(82, 258) -compact_minimum_size = Vector2(62, 62) -minimum_font_size = 12 -maximum_font_size = 17 -horizontal_amplitude = 1.4 -vertical_amplitude = 3.0 -motion_period = 5.0 -motion_phase = 1.8 -deformation_amplitude = 0.015 -deformation_period = 5.6 +profile = ExtResource("24_title_secondary_menu_profile") +neutral_size = Vector2(72, 72) +desktop_anchor = Vector2(420, 238) +compact_anchor = Vector2(420, 238) +minimum_font_size = 15 +maximum_font_size = 20 +horizontal_amplitude = 0.0 +vertical_amplitude = 0.0 +deformation_amplitude = 0.0 +hover_wiggle_amplitude = Vector2(2.4, 1.2) +hover_wiggle_period = 1.9 +hover_drawer_text = "credits" +elliptical_hit_area = false [node name="JoinGameButton" type="Button" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot/BubbleField"] unique_name_in_owner = true -offset_left = 21.0 -offset_top = 11.0 -offset_right = 143.0 -offset_bottom = 129.0 +offset_left = 384.0 +offset_top = 30.0 +offset_right = 456.0 +offset_bottom = 102.0 texture_filter = 1 icon = ExtResource("12_online_dark") -tooltip_text = "join game" -accessibility_name = "join game" +accessibility_name = "online" script = ExtResource("7_bubble_button") -profile = ExtResource("9_bubble_profile") -neutral_size = Vector2(122, 118) -desktop_anchor = Vector2(82, 70) -compact_anchor = Vector2(63, 75) -compact_minimum_size = Vector2(82, 80) +profile = ExtResource("24_title_secondary_menu_profile") +neutral_size = Vector2(72, 72) +desktop_anchor = Vector2(420, 66) +compact_anchor = Vector2(420, 66) minimum_font_size = 15 -maximum_font_size = 22 -horizontal_amplitude = 1.7 -vertical_amplitude = 3.8 -motion_period = 5.2 -motion_phase = 3.1 -deformation_amplitude = 0.015 -deformation_period = 5.7 +maximum_font_size = 20 +horizontal_amplitude = 0.0 +vertical_amplitude = 0.0 +deformation_amplitude = 0.0 +hover_wiggle_amplitude = Vector2(2.4, 1.2) +hover_wiggle_period = 1.9 +hover_drawer_text = "online" +elliptical_hit_area = false [node name="DeleteSaveButton" type="Button" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot/BubbleField"] unique_name_in_owner = true @@ -411,35 +425,41 @@ deformation_period = 5.4 [node name="QuitButton" type="Button" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent/ButtonCenter/BubbleLayoutSlot/BubbleMotionRoot/BubbleField"] unique_name_in_owner = true -offset_left = 255.0 -offset_top = 204.0 -offset_right = 349.0 -offset_bottom = 296.0 +offset_left = 384.0 +offset_top = 288.0 +offset_right = 456.0 +offset_bottom = 360.0 texture_filter = 1 icon = ExtResource("14_x_dark") -tooltip_text = "quit" -accessibility_name = "quit" +accessibility_name = "close" script = ExtResource("7_bubble_button") -profile = ExtResource("9_bubble_profile") -neutral_size = Vector2(94, 92) -desktop_anchor = Vector2(302, 250) -compact_anchor = Vector2(317, 254) -compact_minimum_size = Vector2(68, 68) +profile = ExtResource("24_title_secondary_menu_profile") +neutral_size = Vector2(72, 72) +desktop_anchor = Vector2(420, 324) +compact_anchor = Vector2(420, 324) minimum_font_size = 14 -maximum_font_size = 18 -horizontal_amplitude = 1.4 -vertical_amplitude = 3.2 -motion_period = 4.2 -motion_phase = 4.8 -deformation_amplitude = 0.02 -deformation_period = 4.8 +maximum_font_size = 20 +horizontal_amplitude = 0.0 +vertical_amplitude = 0.0 +deformation_amplitude = 0.0 +hover_wiggle_amplitude = Vector2(2.4, 1.2) +hover_wiggle_period = 1.9 +hover_drawer_text = "close" +elliptical_hit_area = false -[node name="FeedbackLabel" type="RichTextLabel" parent="ResponsiveTitleStage/TitlePresentationScaleRoot/Center/MainContent"] +[node name="FeedbackLabel" type="RichTextLabel" parent="ResponsiveTitleStage/TitlePresentationScaleRoot"] unique_name_in_owner = true +z_index = 12 visible = false -custom_minimum_size = Vector2(430, 44) -layout_mode = 2 -size_flags_horizontal = 4 +custom_minimum_size = Vector2(500, 44) +layout_mode = 1 +anchor_left = 0.5 +anchor_right = 0.5 +offset_left = -250.0 +offset_top = 224.0 +offset_right = 250.0 +offset_bottom = 268.0 +grow_horizontal = 2 text = "" bbcode_enabled = true scroll_active = false diff --git a/ui/title_water_background.gdshader b/ui/title_water_background.gdshader deleted file mode 100644 index ca12bc6..0000000 --- a/ui/title_water_background.gdshader +++ /dev/null @@ -1,97 +0,0 @@ -shader_type canvas_item; - -uniform vec4 surface_color : source_color = vec4(0.10, 0.45, 0.62, 1.0); -uniform vec4 middle_color : source_color = vec4(0.055, 0.285, 0.40, 1.0); -uniform vec4 depth_color : source_color = vec4(0.02, 0.16, 0.27, 1.0); -uniform vec2 virtual_pixel_density = vec2(320.0, 180.0); -uniform float color_step_count : hint_range(2.0, 16.0, 1.0) = 14.0; -uniform float continuous_depth_blend : hint_range(0.0, 0.25, 0.01) = 0.12; -uniform float wave_speed : hint_range(0.0, 0.5, 0.01) = 0.10; -uniform float wave_scale : hint_range(0.5, 8.0, 0.1) = 2.4; -uniform float wave_strength : hint_range(0.0, 0.05, 0.001) = 0.012; -uniform float caustic_strength : hint_range(0.0, 0.08, 0.001) = 0.018; -uniform bool animation_enabled = true; - -void fragment() { - vec2 grid_size = max(virtual_pixel_density, vec2(1.0)); - vec2 pixel_uv = (floor(UV * grid_size) + vec2(0.5)) / grid_size; - float continuous_depth = pixel_uv.y; - float caustic_level = 0.0; - if (animation_enabled) { - float motion = TIME * wave_speed; - float broad_wave = sin( - pixel_uv.x * wave_scale + motion - ); - float secondary_wave = sin( - pixel_uv.x * 1.1 + pixel_uv.y * 1.6 - motion * 0.65 - ); - float movement_falloff = 1.0 - pixel_uv.y * 0.75; - float depth_displacement = ( - (broad_wave * 0.65 + secondary_wave * 0.35) - * wave_strength - * movement_falloff - ); - continuous_depth = clamp( - pixel_uv.y - + depth_displacement, - 0.0, - 1.0 - ); - float caustic_wave = clamp( - ( - sin( - pixel_uv.x * 4.0 - + pixel_uv.y * 1.2 - + motion * 0.7 - ) - * sin( - pixel_uv.x * 1.7 - - pixel_uv.y * 2.2 - - motion * 0.55 - ) - - 0.25 - ) / 0.75, - 0.0, - 1.0 - ); - caustic_level = floor(caustic_wave * 3.0) / 3.0; - } - float depth_steps = max(2.0, floor(color_step_count)); - float band_index = floor( - continuous_depth * (depth_steps - 1.0) + 0.5 - ); - float band_depth = band_index / (depth_steps - 1.0); - float display_depth = mix( - band_depth, - continuous_depth, - clamp(continuous_depth_blend, 0.0, 0.25) - ); - - vec3 water_color; - if (display_depth < 0.5) { - water_color = mix( - surface_color.rgb, - middle_color.rgb, - display_depth * 2.0 - ); - } else { - water_color = mix( - middle_color.rgb, - depth_color.rgb, - (display_depth - 0.5) * 2.0 - ); - } - - float upper_water_mask = 1.0 - smoothstep( - 0.18, - 0.34, - pixel_uv.y - ); - water_color += ( - vec3(0.05, 0.12, 0.14) - * caustic_level - * upper_water_mask - * caustic_strength - ); - COLOR = vec4(clamp(water_color, vec3(0.0), vec3(1.0)), 1.0); -} diff --git a/ui/title_water_background.gdshader.uid b/ui/title_water_background.gdshader.uid deleted file mode 100644 index fda761b..0000000 --- a/ui/title_water_background.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c8s1g7tn771du diff --git a/world/environment/netfishing_environment.tres b/world/environment/straywild_environment.tres similarity index 87% rename from world/environment/netfishing_environment.tres rename to world/environment/straywild_environment.tres index 4f625e4..f4c5b75 100644 --- a/world/environment/netfishing_environment.tres +++ b/world/environment/straywild_environment.tres @@ -1,6 +1,6 @@ [gd_resource type="Environment" load_steps=2 format=3] -[ext_resource type="Sky" path="res://world/environment/netfishing_sky.tres" id="1_sky"] +[ext_resource type="Sky" path="res://world/environment/straywild_sky.tres" id="1_sky"] [resource] background_mode = 2 diff --git a/world/environment/netfishing_sky.gdshader b/world/environment/straywild_sky.gdshader similarity index 98% rename from world/environment/netfishing_sky.gdshader rename to world/environment/straywild_sky.gdshader index 22af7ad..83defee 100644 --- a/world/environment/netfishing_sky.gdshader +++ b/world/environment/straywild_sky.gdshader @@ -1,6 +1,6 @@ shader_type sky; -#include "res://world/environment/netfishing_sky_clouds.gdshaderinc" +#include "res://world/environment/straywild_sky_clouds.gdshaderinc" uniform vec4 sky_top_color : source_color = vec4(0.204, 0.498, 0.643, 1.0); uniform vec4 sky_horizon_color : source_color = vec4(0.663, 0.843, 0.847, 1.0); diff --git a/world/environment/netfishing_sky.gdshader.uid b/world/environment/straywild_sky.gdshader.uid similarity index 100% rename from world/environment/netfishing_sky.gdshader.uid rename to world/environment/straywild_sky.gdshader.uid diff --git a/world/environment/netfishing_sky.tres b/world/environment/straywild_sky.tres similarity index 89% rename from world/environment/netfishing_sky.tres rename to world/environment/straywild_sky.tres index 98fb4e0..553b687 100644 --- a/world/environment/netfishing_sky.tres +++ b/world/environment/straywild_sky.tres @@ -1,8 +1,8 @@ [gd_resource type="Sky" format=3 uid="uid://dersyay71dyat"] -[ext_resource type="Shader" uid="uid://chbcdlhui3ro4" path="res://world/environment/netfishing_sky.gdshader" id="1_sky_shader"] +[ext_resource type="Shader" uid="uid://chbcdlhui3ro4" path="res://world/environment/straywild_sky.gdshader" id="1_sky_shader"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_netfishing"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_straywild"] shader = ExtResource("1_sky_shader") shader_parameter/cloud_coverage = 0.0 shader_parameter/cloud_opacity = 0.0 @@ -36,4 +36,4 @@ shader_parameter/star_visibility = 0.0 shader_parameter/star_strength = 0.72 [resource] -sky_material = SubResource("ShaderMaterial_netfishing") +sky_material = SubResource("ShaderMaterial_straywild") diff --git a/world/environment/netfishing_sky_clouds.gdshaderinc b/world/environment/straywild_sky_clouds.gdshaderinc similarity index 100% rename from world/environment/netfishing_sky_clouds.gdshaderinc rename to world/environment/straywild_sky_clouds.gdshaderinc diff --git a/world/environment/netfishing_sky_clouds.gdshaderinc.uid b/world/environment/straywild_sky_clouds.gdshaderinc.uid similarity index 100% rename from world/environment/netfishing_sky_clouds.gdshaderinc.uid rename to world/environment/straywild_sky_clouds.gdshaderinc.uid diff --git a/world/interactables/fishing_shop_world.tscn b/world/interactables/fishing_shop_world.tscn index 7221005..760f3b6 100644 --- a/world/interactables/fishing_shop_world.tscn +++ b/world/interactables/fishing_shop_world.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=5 format=3] [ext_resource type="Script" path="res://world/fishing_shop_interaction.gd" id="1_shop"] -[ext_resource type="PackedScene" path="res://art/exported/characters/base/netfishing_base_character.glb" id="2_character"] +[ext_resource type="PackedScene" path="res://art/exported/characters/base/straywild_base_character.glb" id="2_character"] [ext_resource type="Script" path="res://world/world_character_display.gd" id="3_display"] [sub_resource type="SphereShape3D" id="InteractionShape"] diff --git a/world/test_world.tscn b/world/test_world.tscn index 18697aa..2a94f53 100644 --- a/world/test_world.tscn +++ b/world/test_world.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" path="res://world/test_world.gd" id="1_world"] [ext_resource type="PackedScene" path="res://world/generation/generated_world_region.tscn" id="2_island"] [ext_resource type="Script" path="res://world/below_world_failsafe.gd" id="3_water_trigger"] -[ext_resource type="Environment" path="res://world/environment/netfishing_environment.tres" id="4_environment"] +[ext_resource type="Environment" path="res://world/environment/straywild_environment.tres" id="4_environment"] [sub_resource type="BoxShape3D" id="NorthSouthBoundsShape"] size = Vector3(168.8772, 14, 2) diff --git a/world/world_time_visual_controller.gd b/world/world_time_visual_controller.gd index ec67e85..92614c5 100644 --- a/world/world_time_visual_controller.gd +++ b/world/world_time_visual_controller.gd @@ -206,7 +206,7 @@ func _prepare_runtime_environment() -> bool: runtime_sky.sky_material.duplicate(true) as ShaderMaterial ) if _sky_material == null: - push_error("World time visuals require the NETfishing sky material.") + push_error("World time visuals require the straywild sky material.") return false runtime_sky.sky_material = _sky_material _environment.sky = runtime_sky