mirror of
https://github.com/HarmonyHoney/ROTA.git
synced 2026-01-24 02:35:22 +00:00
Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c8113ab670 | ||
|
|
d38503f49f | ||
|
|
557a4284e6 | ||
|
|
bc03a013b8 |
49 changed files with 132 additions and 3995 deletions
|
|
@ -1,13 +0,0 @@
|
|||
# EditorConfig <http://EditorConfig.org>
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
|
||||
[*.{gd,dialogue}]
|
||||
indent_style = tab
|
||||
indent_size = 4
|
||||
|
||||
[*.{yaml,yml,xml}]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
18
.github/FUNDING.yml
vendored
18
.github/FUNDING.yml
vendored
|
|
@ -1,18 +0,0 @@
|
|||
github: HarmonyHoney
|
||||
ko_fi: hhoney
|
||||
custom:
|
||||
- https://harmonymonroe.itch.io/
|
||||
- https://store.steampowered.com/developer/HarmonyMonroe
|
||||
- https://www.youtube.com/@hhoney7
|
||||
|
||||
# Unused by keeping here as a reminder
|
||||
patreon: # Replace with a single Patreon username
|
||||
open_collective: # Replace with a single Open Collective username
|
||||
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||
liberapay: # Replace with a single Liberapay username
|
||||
issuehunt: # Replace with a single IssueHunt username
|
||||
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
||||
polar: # Replace with a single Polar username
|
||||
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
|
||||
thanks_dev: # Replace with a single thanks.dev username
|
||||
24
.github/workflows/flatpak.yml
vendored
24
.github/workflows/flatpak.yml
vendored
|
|
@ -1,24 +0,0 @@
|
|||
name: Flatpak
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master4
|
||||
pull_request:
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
flatpak:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/flathub-infra/flatpak-github-actions:freedesktop-24.08
|
||||
options: --privileged
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||
with:
|
||||
bundle: rota.flatpak
|
||||
manifest-path: linux/net.hhoney.rota.yml
|
||||
cache-key: "flatpak-builder-${{ github.sha }}"
|
||||
57
.github/workflows/godot.yml
vendored
57
.github/workflows/godot.yml
vendored
|
|
@ -1,57 +0,0 @@
|
|||
name: "Godot Engine"
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
release:
|
||||
types:
|
||||
- released
|
||||
|
||||
env:
|
||||
GODOT_VERSION: 3.6
|
||||
EXPORT_NAME: rota-ci
|
||||
|
||||
jobs:
|
||||
export:
|
||||
name: Export
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: docker.io/smks/godot-ci:3.6
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
lfs: true
|
||||
|
||||
- name: Set up export templates
|
||||
run: |
|
||||
mkdir -v -p ~/.local/share/godot/templates/
|
||||
mv /root/.local/share/godot/templates/${GODOT_VERSION}.stable ~/.local/share/godot/templates/${GODOT_VERSION}.stable
|
||||
|
||||
- name: Export
|
||||
run: |
|
||||
mkdir --verbose --parents ./export/linux
|
||||
godot --no-window --path=./project.godot --export-pack "Linux/X11" ./export/linux/${EXPORT_NAME}.pck
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ env.EXPORT_NAME }}
|
||||
path: export/linux/${{ env.EXPORT_NAME }}.pck
|
||||
|
||||
release:
|
||||
name: Release
|
||||
needs: export
|
||||
if: ${{ github.event_name == 'release' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Download artifact
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: ${{ env.EXPORT_NAME }}
|
||||
|
||||
- name: Upload to release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
mv '${{ env.EXPORT_NAME }}.pck' '${{ env.EXPORT_NAME }}-${{ github.ref_name }}.pck'
|
||||
gh release upload '${{ github.ref_name }}' '${{ env.EXPORT_NAME }}-${{ github.ref_name }}.pck' --repo '${{ github.repository }}'
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -2,7 +2,6 @@
|
|||
*.translation
|
||||
|
||||
# custom
|
||||
.flatpak-builder/
|
||||
.import/
|
||||
[Aa]ndroid/
|
||||
[Ee]xport/*/
|
||||
|
|
|
|||
25
LICENSE
25
LICENSE
|
|
@ -1,7 +1,24 @@
|
|||
Copyright (c) 2025 Harmony Honey Monroe
|
||||
This is free and unencumbered software released into the public domain.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||
distribute this software, either in source code form or as a compiled
|
||||
binary, for any purpose, commercial or non-commercial, and by any
|
||||
means.
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
In jurisdictions that recognize copyright laws, the author or authors
|
||||
of this software dedicate any and all copyright interest in the
|
||||
software to the public domain. We make this dedication for the benefit
|
||||
of the public at large and to the detriment of our heirs and
|
||||
successors. We intend this dedication to be an overt act of
|
||||
relinquishment in perpetuity of all present and future rights to this
|
||||
software under copyright law.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more information, please refer to <http://unlicense.org/>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
butler push win harmonymonroe/rota:win
|
||||
butler push linux harmonymonroe/rota:linux
|
||||
butler push mac harmonymonroe/rota:mac
|
||||
butler push web harmonymonroe/rota:web
|
||||
butler push android harmonymonroe/rota:android
|
||||
butler push win hhoneysoftware/rota:win
|
||||
butler push linux hhoneysoftware/rota:linux
|
||||
butler push mac hhoneysoftware/rota:mac
|
||||
butler push web hhoneysoftware/rota:web
|
||||
butler push android hhoneysoftware/rota:android
|
||||
pause
|
||||
|
|
|
|||
|
|
@ -214,9 +214,9 @@ architectures/armeabi-v7a=true
|
|||
architectures/arm64-v8a=true
|
||||
architectures/x86=false
|
||||
architectures/x86_64=false
|
||||
keystore/debug="C:/Dev/keys/harmony.keystore"
|
||||
keystore/debug_user="harmony"
|
||||
keystore/debug_password="harmony"
|
||||
keystore/debug=""
|
||||
keystore/debug_user=""
|
||||
keystore/debug_password=""
|
||||
keystore/release="C:/Dev/keys/harmony.keystore"
|
||||
keystore/release_user="harmony"
|
||||
keystore/release_password="harmony"
|
||||
|
|
@ -229,7 +229,7 @@ package/signed=true
|
|||
package/classify_as_game=true
|
||||
package/retain_data_on_uninstall=false
|
||||
package/exclude_from_recents=false
|
||||
launcher_icons/main_192x192="res://media/image/icon/android-icon192.png"
|
||||
launcher_icons/main_192x192=""
|
||||
launcher_icons/adaptive_foreground_432x432=""
|
||||
launcher_icons/adaptive_background_432x432=""
|
||||
graphics/opengl_debug=false
|
||||
|
|
|
|||
|
|
@ -1,33 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<filter id="a" height="100%" width="100%" x="0%" y="0%">
|
||||
<feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
</filter>
|
||||
<mask id="b">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.4" height="19.2" width="19.2" x="-1.6" y="-1.6"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="c">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<mask id="d">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.1" height="19.2" width="19.2" x="-1.6" y="-1.6"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="e">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<g mask="url(#b)">
|
||||
<g clip-path="url(#c)" transform="matrix(1 0 0 1 -168 -16)">
|
||||
<path d="m 24 44 c -4.433594 0 -8 3.566406 -8 8 v 17.5 h 44.875 c 10.316406 0 18.625 -8.308594 18.625 -18.625 c 0 -2.433594 -0.476562 -4.75 -1.316406 -6.875 z m 0 0" fill="#ffffff"/>
|
||||
</g>
|
||||
</g>
|
||||
<g mask="url(#d)">
|
||||
<g clip-path="url(#e)" transform="matrix(1 0 0 1 -168 -16)">
|
||||
<path d="m 23 54 l -7 27.125 v 8.875 h 112 v -8.875 l -7 -27.125 l -8 31 h -19 l -8 -21 l -8 21 h -5 l -8 -31 l -8 31 h -5 l -8 -21 l -8 21 h -5 z m 0 0" fill="#241f31"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="m 4 2 c -1.109375 0 -2 0.890625 -2 2 v 8 c 0 1.109375 0.890625 2 2 2 h 8 c 1.109375 0 2 -0.890625 2 -2 v -8 c 0 -1.109375 -0.890625 -2 -2 -2 z m 0 1 h 8 c 0.554688 0 1 0.445312 1 1 v 7 c 0 0.554688 -0.445312 1 -1 1 h -3 c 0 -0.019531 0 -0.039062 0 -0.0625 v -1.402344 l -1 -1 l -1 1 v 1.402344 c 0 0.023438 0 0.042969 0.003906 0.0625 h -3.003906 c -0.554688 0 -1 -0.445312 -1 -1 v -7 c 0 -0.554688 0.445312 -1 1 -1 z m 1.878906 1 c -0.253906 0 -0.511718 0.097656 -0.707031 0.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 1.414063 1.417969 l -1.410157 1.410156 c -0.394531 0.394532 -0.394531 1.023438 -0.003906 1.414063 c 0.390625 0.394531 1.023437 0.390625 1.414063 0 l 1.414062 -1.410157 l 1.414062 1.410157 c 0.394532 0.394531 1.023438 0.390625 1.414063 0 s 0.390625 -1.019531 0 -1.414063 l -1.414063 -1.414062 l 1.410157 -1.414063 c 0.394531 -0.390625 0.394531 -1.023437 0.003906 -1.414062 s -1.023437 -0.390625 -1.414063 0.003906 l -1.414062 1.410156 l -1.414062 -1.414062 c -0.195313 -0.195313 -0.453126 -0.292969 -0.707032 -0.292969 z m 0 0"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
File diff suppressed because it is too large
Load diff
|
Before Width: | Height: | Size: 185 KiB |
|
|
@ -1,9 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Name=ROTA
|
||||
GenericName=Puzzle Game
|
||||
Comment=Gravity bends beneath your feet
|
||||
Exec=godot-runner
|
||||
Icon=net.hhoney.rota
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=Game;KidsGame;
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<name>ROTA</name>
|
||||
<summary>Gravity bends beneath your feet</summary>
|
||||
<branding>
|
||||
<color type="primary" scheme_preference="light">#ffc3d6</color>
|
||||
<color type="primary" scheme_preference="dark">#850087</color>
|
||||
</branding>
|
||||
<developer_name translatable="no">HHoney Software</developer_name>
|
||||
<developer id="net.hhoney">
|
||||
<name translatable="no">HHoney Software</name>
|
||||
</developer>
|
||||
<description>
|
||||
<p>Move blocks and twist gravity to solve puzzles. Collect all 50 gems and explore 8 vibrant worlds.</p>
|
||||
<ul>
|
||||
<li>Rotate gravity as you walk over the edge!</li>
|
||||
<li>Push, pull and rotate gravity-blocks to traverse the stage and solve puzzles.</li>
|
||||
<li>Collect all 50 gems to unlock doors and explore 8 vibrant worlds!</li>
|
||||
<li>Listen to an original ambient soundtrack that will keep you relaxed while solving challenging puzzles. (:</li>
|
||||
<li>Watch out for spikes! 0:</li>
|
||||
</ul>
|
||||
</description>
|
||||
<id>net.hhoney.rota</id>
|
||||
<launchable type="desktop-id">net.hhoney.rota.desktop</launchable>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>MIT</project_license>
|
||||
<content_rating type="oars-1.1"></content_rating>
|
||||
<url type="homepage">https://hhoney.net</url>
|
||||
<url type="bugtracker">https://github.com/HarmonyHoney/ROTA/issues</url>
|
||||
<url type="donation">https://ko-fi.com/hhoney</url>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/1.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/2.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/3.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/4.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/5.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/6.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/7.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/8.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/9.png</image>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/HarmonyHoney/ROTA/6c7dafea0993700258f77a2412eef7fca5fa559c/media/image/assets/screens/10.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<releases type="external" url="https://github.com/HarmonyHoney/ROTA/raw/refs/heads/master4/linux/net.hhoney.rota.releases.xml" />
|
||||
<supports>
|
||||
<control>touch</control>
|
||||
</supports>
|
||||
<recommends>
|
||||
<control>keyboard</control>
|
||||
<control>gamepad</control>
|
||||
</recommends>
|
||||
</component>
|
||||
|
|
@ -1,179 +0,0 @@
|
|||
<releases>
|
||||
<release version="2025.08.18" date="2025-08-18">
|
||||
<description>
|
||||
<p>Soundtrack Update</p>
|
||||
<ul>
|
||||
<li>Two new songs have been added to ROTA</li>
|
||||
<li>Touch-screen bugfixes</li>
|
||||
<li>Player animation fixes</li>
|
||||
<li>Added a Sign to puzzle 1-5 showing the Zoom instructions</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="2025.04.29" date="2025-04-29">
|
||||
<description>
|
||||
<p>Updated logos, credits</p>
|
||||
<p>Fixed typo</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="2025.02.23" date="2025-02-23">
|
||||
<description>
|
||||
<p>Refreshed app icon and brand colors</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="2024.12.10" date="2024-12-10">
|
||||
<description>
|
||||
<p>Touch screen revisions</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="2024.12.6" date="2024-12-06T21:44:45Z">
|
||||
<description>
|
||||
<p>New Logos & Touch Screen Saving</p>
|
||||
<ul>
|
||||
<li>add new HHoney Software Logos</li>
|
||||
<li>"Touch Screen" option will now save and load between game sessions</li>
|
||||
</ul>
|
||||
<p>(:</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.9" date="2024-09-09T23:08:11Z">
|
||||
<description>
|
||||
<p>Patch 9 - Android Port & Touch Controls !</p>
|
||||
<ul>
|
||||
<li>ROTA on Android</li>
|
||||
<li>Touch Controls for any device</li>
|
||||
<li>Adjust Touch Control Margins</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.8" date="2024-09-09T23:08:11Z">
|
||||
<description>
|
||||
<p>Patch 8 - New Logo & Engine Upgrade</p>
|
||||
<ul>
|
||||
<li>Game Engine update from Godot 3.5.2 to Godot 3.6</li>
|
||||
<li>New Logo !</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.7" date="2023-05-27T05:42:05Z">
|
||||
<description>
|
||||
<p>Patch 7 - Arcade Action & Ultrawide Support</p>
|
||||
<ul>
|
||||
<li>"Wrap It Up" Arcade Cabinet located in the Grasslands (:</li>
|
||||
<li>Ultrawide Display Support! ROTA now expands to infinite width...</li>
|
||||
<li>Weather is silent when Disabled</li>
|
||||
<li>Weather Volume Option</li>
|
||||
</ul>
|
||||
<p>New Achievements:</p>
|
||||
<ul>
|
||||
<li>Shiny - Collect your first Gem</li>
|
||||
<li>Fast Fingers - Collect your first Clock</li>
|
||||
<li>Clock Collector - Collect 50 Clocks (=</li>
|
||||
<li>Wrap It Up - Clear the First Loop</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.6" date="2023-04-21T17:57:17Z">
|
||||
<description>
|
||||
<p>Patch 6 - High Refresh Rate Support! (=</p>
|
||||
<p>This update brings two new Options in the Menu:</p>
|
||||
<ul>
|
||||
<li>Interpolation</li>
|
||||
<li>Frame Limit</li>
|
||||
</ul>
|
||||
<p>Interpolation will smooth out player movement on higher refresh rate displays! Frame limit can limit the maximum Frames Per Second of the game (:</p>
|
||||
<p>Thanks to the pull request by neropatti! <3</p>
|
||||
</description>
|
||||
<issues>
|
||||
<issue url="https://github.com/HarmonyHoney/ROTA/pull/1">Add smoothing/interpolation to player visuals</issue>
|
||||
</issues>
|
||||
</release>
|
||||
<release version="1.5" date="2023-04-17T22:42:29Z">
|
||||
<description>
|
||||
<p>Breath of Life Update - Patch 5</p>
|
||||
<p>New friends have arrived in ROTA! The Sun, Moon and Stars have come along with them... ROTA is now populated with curious characters eager to meet you! Have a chat between puzzles! Clouds have filled with sky, bringing weather like rain and snow falling gently to the ground.</p>
|
||||
<p>Changes:</p>
|
||||
<ul>
|
||||
<li>New Characters moved in, populating ROTA!</li>
|
||||
<li>Chat with folks and get to know them (;</li>
|
||||
<li>Connect stray worlds and bring people together!</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Dynamic Weather System! Clouds fill the sky with falling Rain & Snow...</li>
|
||||
<li>Day & Night! Watch the Sun rise and Moon fall.</li>
|
||||
<li>Dynamic Lighting and Shadows! Illuminated by the Burning Star in Orbit.</li>
|
||||
<li>Stars come out at night! Twinkling in the distance...</li>
|
||||
<li>Background depth with Parallax layers!</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Doors hold a Vortex, sucking in travelers and spitting them out the other end!</li>
|
||||
<li>Door closing Sound Effect.</li>
|
||||
<li>World Door Unlock Cutscene! Combine the power of Gems and fill the socket...</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>All Menus overhauled! Simple & Clean.</li>
|
||||
<li>Pause Menu minified. The world keeps moving...</li>
|
||||
<li>UI animation improved when collecting a Gem or Clock!</li>
|
||||
<li>Hair physics rework! Smoother motions when swaying in the breeze (;</li>
|
||||
<li>Radial Blur effect with help from Guy Unger! <3</li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>Player D-Pad & Joystick input issues fixed! Movement feels more responsive.</li>
|
||||
<li>Camera speed V-Sync issue fixed!</li>
|
||||
<li>Performance improvements! Ignoring many objects off-screen.</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.4" date="2023-01-07T09:00:46Z">
|
||||
<description>
|
||||
<p>Patch 4 - Character Creator and Speedruns!</p>
|
||||
<p>Changes:</p>
|
||||
<ul>
|
||||
<li>Character Creator</li>
|
||||
<li>Speedrun Goals!</li>
|
||||
<li>Ending Scene</li>
|
||||
<li>Visual Overhaul, More Animations and Polygons! (=</li>
|
||||
<li>Input Responsiveness and Bugfixes</li>
|
||||
<li>Performance Optimations! (;</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.3" date="2022-06-29T00:29:02Z">
|
||||
<description>
|
||||
<p>Patch 3 - Demo! (:</p>
|
||||
<p>Hello everyone! ^.^ ROTA now has a free Demo!</p>
|
||||
<p>Explore and solve the first 8 puzzles before you buy the game!</p>
|
||||
<p>Cross-save is enabled, so any progress you make in the demo will carry over into the full game! (:</p>
|
||||
<p>Have fun and keep on rotating! <3</p>
|
||||
<p>- Harmony Honey</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.2" date="2022-05-29T09:43:38Z">
|
||||
<description>
|
||||
<p>Patch 2</p>
|
||||
<ul>
|
||||
<li>Fixed Gem placement on puzzle 3 in cobblestone.</li>
|
||||
<li>Fixed a bug with the player riding boxes.</li>
|
||||
</ul>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.1" date="2022-05-10T20:01:27Z">
|
||||
<description>
|
||||
<p>Patch 1</p>
|
||||
<p>Hello everyone, Patch 1 is now live!</p>
|
||||
<p>This build comes with two minor bug fixes:</p>
|
||||
<ul>
|
||||
<li>Menu scrolling re-worked</li>
|
||||
<li>Prevent the player from riding on boxes moving upward</li>
|
||||
</ul>
|
||||
<p>Thanks for the feedback! Please let me know if you see anything funny.</p>
|
||||
<p>Contact me on discord! (。◕‿◕。) Harmony <3#8571</p>
|
||||
</description>
|
||||
</release>
|
||||
<release version="1.0" date="2022-05-07T22:18:44Z">
|
||||
<description>
|
||||
<p>Launch Day!!</p>
|
||||
<p>ROTA is out now!! Thank you all for the support and positivity! Every order on itch comes with a steam key on launch! (:</p>
|
||||
</description>
|
||||
</release>
|
||||
</releases>
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<filter id="a" height="100%" width="100%" x="0%" y="0%">
|
||||
<feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
</filter>
|
||||
<linearGradient id="b" gradientUnits="userSpaceOnUse" x1="8.0000115" x2="120.0000115" y1="115.999977" y2="115.999977">
|
||||
<stop offset="0" stop-color="#ac7800"/>
|
||||
<stop offset="0.0384615" stop-color="#dc9500"/>
|
||||
<stop offset="0.0768555" stop-color="#ac7800"/>
|
||||
<stop offset="0.923077" stop-color="#ac7800"/>
|
||||
<stop offset="0.961538" stop-color="#dc9500"/>
|
||||
<stop offset="1" stop-color="#ac7800"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="c" gradientUnits="userSpaceOnUse" x1="64" x2="64" y1="13.999939" y2="93.11969">
|
||||
<stop offset="0" stop-color="#72f2fe"/>
|
||||
<stop offset="1" stop-color="#b084fd"/>
|
||||
</linearGradient>
|
||||
<mask id="d">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.4" height="153.6" width="153.6" x="-12.8" y="-12.8"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="e">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<mask id="f">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.1" height="153.6" width="153.6" x="-12.8" y="-12.8"/>
|
||||
</g>
|
||||
</mask>
|
||||
<clipPath id="g">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<path d="m 16 40 h 96 c 4.417969 0 8 3.582031 8 8 v 60 c 0 4.417969 -3.582031 8 -8 8 h -96 c -4.417969 0 -8 -3.582031 -8 -8 v -60 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#b)"/>
|
||||
<path d="m 16 28 c -4.433594 0 -8 3.566406 -8 8 v 34 h 32 c 15.511719 0 28 -12.488281 28 -28 c 0 -5.109375 -1.363281 -9.886719 -3.734375 -14 z m 0 0" fill="#8efe56"/>
|
||||
<path d="m 16 28 h 96 c 4.417969 0 8 3.582031 8 8 v 68 c 0 4.417969 -3.582031 8 -8 8 h -96 c -4.417969 0 -8 -3.582031 -8 -8 v -68 c 0 -4.417969 3.582031 -8 8 -8 z m 0 0" fill="url(#c)"/>
|
||||
<g mask="url(#d)">
|
||||
<g clip-path="url(#e)" transform="matrix(1 0 0 1 -8 -16)">
|
||||
<path d="m 24 44 c -4.433594 0 -8 3.566406 -8 8 v 17.5 h 44.875 c 10.316406 0 18.625 -8.308594 18.625 -18.625 c 0 -2.433594 -0.476562 -4.75 -1.316406 -6.875 z m 0 0" fill="#ffffff"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="m 120 72 v 32.019531 c 0 4.421875 -3.566406 7.984375 -8 7.980469 l -96 -0.09375 c -4.433594 -0.003906 -8 -3.558594 -8 -7.980469 v -31.925781 z m 0 0" fill="#dc9500"/>
|
||||
<path d="m 68.414062 98 c -0.359374 0 -0.722656 0.140625 -1 0.417969 l -1 1 c -0.550781 0.550781 -0.550781 1.445312 0 2 l 1 1 c 0.554688 0.550781 1.449219 0.550781 2 0 l 1 -1 c 0.554688 -0.554688 0.554688 -1.449219 0 -2 l -1 -1 c -0.277343 -0.277344 -0.636718 -0.417969 -1 -0.417969 z m 38.488282 4 c -1.609375 0 -2.902344 1.339844 -2.902344 3 s 1.292969 3 2.902344 3 h 0.195312 c 1.609375 0 2.902344 -1.339844 2.902344 -3 s -1.292969 -3 -2.902344 -3 z m 0 0" fill="#615c7d"/>
|
||||
<path d="m 68.414062 97 c -0.359374 0 -0.722656 0.140625 -1 0.417969 l -1 1 c -0.550781 0.550781 -0.550781 1.445312 0 2 l 1 1 c 0.554688 0.550781 1.449219 0.550781 2 0 l 1 -1 c 0.554688 -0.554688 0.554688 -1.449219 0 -2 l -1 -1 c -0.277343 -0.277344 -0.636718 -0.417969 -1 -0.417969 z m 38.488282 4 c -1.609375 0 -2.902344 1.339844 -2.902344 3 s 1.292969 3 2.902344 3 h 0.195312 c 1.609375 0 2.902344 -1.339844 2.902344 -3 s -1.292969 -3 -2.902344 -3 z m 0 0" fill="#dbd8d5"/>
|
||||
<path d="m 8 71 h 112 v 22 c -16.125 0 -15.945312 -8 -28 -8 s -12.167969 8 -28 8 s -15.945312 -8 -28 -8 s -9.636719 8 -28 8 z m 0 0" fill="#72c300"/>
|
||||
<path d="m 8 102.925781 v 1 c 0 4.421875 3.566406 7.976563 8 7.980469 l 96 0.09375 c 4.433594 0.003906 8 -3.558594 8 -7.980469 v -1 c 0 4.421875 -3.566406 7.984375 -8 7.980469 l -96 -0.09375 c -4.433594 -0.003906 -8 -3.558594 -8 -7.980469 z m 0 0" fill="#ffad02"/>
|
||||
<path d="m 95.320312 26 c 3.3125 0 6 2.6875 6 6 v 36.886719 c 0 3.3125 -2.6875 6 -6 6 s -6 -2.6875 -6 -6 v -36.886719 c 0 -3.3125 2.6875 -6 6 -6 z m 0 0" fill="#1bfd00"/>
|
||||
<g mask="url(#f)">
|
||||
<g clip-path="url(#g)" transform="matrix(1 0 0 1 -8 -16)">
|
||||
<path d="m 23 54 l -7 27.125 v 8.875 h 112 v -8.875 l -7 -27.125 l -8 31 h -19 l -8 -21 l -8 21 h -5 l -8 -31 l -8 31 h -5 l -8 -21 l -8 21 h -5 z m 0 0" fill="#241f31"/>
|
||||
</g>
|
||||
</g>
|
||||
<path d="m 8 70 l 7 -30 l 7 30 h 7 l 7 -20 l 7 20 h 7 l 7 -30 l 7 30 h 7 l 7 -20 l 7 20 h 21 l 7 -30 l 7 30 v 22 c -16.125 0 -15.945312 -8 -28 -8 s -12.167969 8 -28 8 s -15.945312 -8 -28 -8 s -9.636719 8 -28 8 z m 0 0" fill="#96fe00"/>
|
||||
<path d="m 112.292969 20.351562 c -3.136719 -3.132812 -8.179688 -3.132812 -11.316407 0 l -5.65625 5.65625 l -5.65625 -5.65625 c -3.132812 -3.132812 -8.179687 -3.132812 -11.3125 0 c -3.136718 3.132813 -3.136718 8.179688 0 11.3125 l 5.65625 5.65625 l -5.65625 5.660157 c -3.136718 3.132812 -3.136718 8.179687 0 11.3125 c 3.132813 3.132812 8.179688 3.132812 11.3125 0 l 5.65625 -5.65625 l 5.65625 5.65625 c 3.136719 3.132812 8.179688 3.132812 11.316407 0 c 3.132812 -3.132813 3.132812 -8.179688 0 -11.3125 l -5.660157 -5.660157 l 5.660157 -5.65625 c 3.132812 -3.132812 3.132812 -8.179687 0 -11.3125 z m 0 0" fill="#8b0000"/>
|
||||
<path d="m 112.292969 18.351562 c -3.136719 -3.132812 -8.179688 -3.132812 -11.316407 0 l -5.65625 5.65625 l -5.65625 -5.65625 c -3.132812 -3.132812 -8.179687 -3.132812 -11.3125 0 c -3.136718 3.132813 -3.136718 8.179688 0 11.3125 l 5.65625 5.65625 l -5.65625 5.660157 c -3.136718 3.132812 -3.136718 8.179687 0 11.3125 c 3.132813 3.132812 8.179688 3.132812 11.3125 0 l 5.65625 -5.65625 l 5.65625 5.65625 c 3.136719 3.132812 8.179688 3.132812 11.316407 0 c 3.132812 -3.132813 3.132812 -8.179688 0 -11.3125 l -5.660157 -5.660157 l 5.660157 -5.65625 c 3.132812 -3.132812 3.132812 -8.179687 0 -11.3125 z m 0 0" fill="#fe0000"/>
|
||||
<path d="m 84.007812 16 c -2.046874 0 -4.089843 0.785156 -5.65625 2.351562 c -1.695312 1.695313 -2.464843 3.949219 -2.328124 6.15625 c 0.117187 -1.875 0.886718 -3.71875 2.328124 -5.15625 c 3.132813 -3.136718 8.179688 -3.136718 11.3125 0 l 5.65625 5.65625 l 5.65625 -5.65625 c 3.132813 -3.136718 8.179688 -3.136718 11.316407 0 c 1.4375 1.4375 2.207031 3.28125 2.324219 5.15625 c 0.140624 -2.207031 -0.628907 -4.460937 -2.324219 -6.15625 c -3.136719 -3.136718 -8.183594 -3.136718 -11.316407 0 l -5.65625 5.65625 l -5.65625 -5.65625 c -1.566406 -1.566406 -3.613281 -2.351562 -5.65625 -2.351562 z m -0.5 19.820312 l -5.15625 5.160157 c -1.695312 1.695312 -2.464843 3.945312 -2.328124 6.15625 c 0.117187 -1.875 0.886718 -3.71875 2.328124 -5.15625 l 5.65625 -5.660157 z m 23.628907 0 l -0.5 0.5 l 5.65625 5.660157 c 1.4375 1.4375 2.207031 3.28125 2.324219 5.15625 c 0.140624 -2.210938 -0.628907 -4.460938 -2.324219 -6.15625 z m 0 0" fill="#ff7c7c"/>
|
||||
<path d="m 42 101 c 0 4.417969 -3.582031 8 -8 8 s -8 -3.582031 -8 -8 s 3.582031 -8 8 -8 s 8 3.582031 8 8 z m 0 0" fill="#615c7d"/>
|
||||
<path d="m 42 100 c 0 4.417969 -3.582031 8 -8 8 s -8 -3.582031 -8 -8 s 3.582031 -8 8 -8 s 8 3.582031 8 8 z m 0 0" fill="#dbd8d5"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 7 KiB |
|
|
@ -1,31 +0,0 @@
|
|||
id: net.hhoney.rota
|
||||
runtime: org.freedesktop.Platform
|
||||
runtime-version: '24.08'
|
||||
base: org.godotengine.godot.BaseApp
|
||||
base-version: '3.6'
|
||||
sdk: org.freedesktop.Sdk
|
||||
command: godot-runner
|
||||
finish-args:
|
||||
- --share=ipc
|
||||
- --socket=x11
|
||||
- --socket=pulseaudio
|
||||
- --device=all
|
||||
modules:
|
||||
- name: rota
|
||||
buildsystem: simple
|
||||
sources:
|
||||
|
||||
- type: dir
|
||||
path: ../
|
||||
|
||||
- type: file
|
||||
url: https://github.com/HarmonyHoney/ROTA/releases/download/flathub3/ROTA.pck
|
||||
sha256: fc7849b61e32c6ff6d8a8c4b31225c396ca845ee220436f75f665d60698c59a6
|
||||
|
||||
build-commands:
|
||||
- install -Dm644 ROTA.pck ${FLATPAK_DEST}/bin/godot-runner.pck
|
||||
- install -Dm644 linux/${FLATPAK_ID}.desktop ${FLATPAK_DEST}/share/applications/${FLATPAK_ID}.desktop
|
||||
- install -Dm644 linux/${FLATPAK_ID}.metainfo.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.metainfo.xml
|
||||
- install -Dm644 linux/${FLATPAK_ID}.releases.xml ${FLATPAK_DEST}/share/metainfo/${FLATPAK_ID}.releases.xml
|
||||
- install -Dm644 linux/${FLATPAK_ID}.svg ${FLATPAK_DEST}/share/icons/hicolor/scalable/apps/${FLATPAK_ID}.svg
|
||||
- install -Dm644 linux/${FLATPAK_ID}-symbolic.svg ${FLATPAK_DEST}/share/icons/hicolor/symbolic/apps/${FLATPAK_ID}-symbolic.svg
|
||||
Binary file not shown.
|
|
@ -1,15 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
path="res://.import/ost5.mp3-8a410e27a4dd1ce657a4b843180f824c.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://media/audio/music/ost5.mp3"
|
||||
dest_files=[ "res://.import/ost5.mp3-8a410e27a4dd1ce657a4b843180f824c.mp3str" ]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
Binary file not shown.
|
|
@ -1,15 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
path="res://.import/ost6.mp3-a69612ac29493fe5fcdc0b2994486269.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://media/audio/music/ost6.mp3"
|
||||
dest_files=[ "res://.import/ost6.mp3-a69612ac29493fe5fcdc0b2994486269.mp3str" ]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 55 KiB |
|
|
@ -1,35 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/harmony-monroe-square-white.png-ddf61032c5d50c1bf08c2fd5160a5188.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://media/image/UI/harmony-monroe-square-white.png"
|
||||
dest_files=[ "res://.import/harmony-monroe-square-white.png-ddf61032c5d50c1bf08c2fd5160a5188.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 44 KiB |
|
|
@ -1,35 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/harmony-monroe-white.png-b5ca7bdecdb1233b817bf2f49291c597.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://media/image/UI/harmony-monroe-white.png"
|
||||
dest_files=[ "res://.import/harmony-monroe-white.png-b5ca7bdecdb1233b817bf2f49291c597.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB |
|
|
@ -1,35 +0,0 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/android-icon192.png-8ced6154d62c44da16aa10ff020fc5cd.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://media/image/icon/android-icon192.png"
|
||||
dest_files=[ "res://.import/android-icon192.png-8ced6154d62c44da16aa10ff020fc5cd.stex" ]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/lossy_quality=0.7
|
||||
compress/hdr_mode=0
|
||||
compress/bptc_ldr=0
|
||||
compress/normal_map=0
|
||||
flags/repeat=0
|
||||
flags/filter=true
|
||||
flags/mipmaps=false
|
||||
flags/anisotropic=false
|
||||
flags/srgb=2
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/HDR_as_SRGB=false
|
||||
process/invert_color=false
|
||||
process/normal_map_invert_y=false
|
||||
stream=false
|
||||
size_limit=0
|
||||
detect_3d=true
|
||||
svg/scale=1.0
|
||||
|
|
@ -152,14 +152,14 @@ _global_script_class_icons={
|
|||
|
||||
[application]
|
||||
|
||||
config/name="ROTA: Bend Gravity"
|
||||
config/description="ROTA: Bend Gravity by Harmony Monroe
|
||||
harmonymonroe.com"
|
||||
config/name="ROTA"
|
||||
config/description="ROTA by Harmony Honey
|
||||
hhoney.net"
|
||||
run/main_scene="res://src/menu/Splash.tscn"
|
||||
config/use_custom_user_dir=true
|
||||
config/custom_user_dir_name="ROTA-Harmony"
|
||||
config/project_settings_override="user://override.cfg"
|
||||
boot_splash/image="res://media/image/UI/harmony-monroe-square-white.png"
|
||||
boot_splash/image="res://media/image/UI/title_splash.png"
|
||||
boot_splash/bg_color=Color( 0, 0, 0, 1 )
|
||||
config/icon="res://media/image/icon/icon256.png"
|
||||
config/windows_native_icon="res://media/image/icon/rota.ico"
|
||||
|
|
@ -185,6 +185,7 @@ Steam="*res://addons/steam_api/steam.gd"
|
|||
|
||||
window/size/width=1280
|
||||
window/size/height=720
|
||||
window/size/borderless=true
|
||||
window/size/test_width=1920
|
||||
window/size/test_height=1080
|
||||
window/stretch/mode="2d"
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
#  ROTA: Bend Gravity
|
||||
Made with [Godot Engine](https://github.com/godotengine/godot) 3.6.1 / Gravity Bending Puzzle Platformer
|
||||
#  ROTA
|
||||
Made with [Godot Engine](https://github.com/godotengine/godot) 3.6 / Gravity Bending Puzzle Platformer
|
||||
|
||||
Available for Linux, Windows, Mac, Web & Android !
|
||||
|
||||
Play on Steam [store.steampowered.com/app/1993830/ROTA/](https://store.steampowered.com/app/1993830/ROTA/)
|
||||
|
||||
Play on itch.io [harmonymonroe.itch.io/rota](https://harmonymonroe.itch.io/rota) (:
|
||||
Play now on [Steam](https://store.steampowered.com/app/1993830/ROTA/) or [itch.io](https://harmonyhoney.itch.io/rota) (:
|
||||
|
||||

|
||||
|
||||
|
|
|
|||
|
|
@ -522,23 +522,6 @@ func physics_frame():
|
|||
func _process(delta):
|
||||
if Engine.editor_hint: return
|
||||
|
||||
# squash squish and stretch
|
||||
sprites.scale = squish_from.linear_interpolate(Vector2.ONE, squish_ease.count(delta))
|
||||
|
||||
# blink anim
|
||||
if blink_clock < blink_time:
|
||||
blink_clock += delta
|
||||
else:
|
||||
var be = blink_ease.count(delta)
|
||||
spr_eyes.scale.y = lerp(1.0, 0.1, be)
|
||||
if be == 1.0:
|
||||
blink_ease.show = false
|
||||
elif be == 0.0:
|
||||
blink_ease.show = true
|
||||
blink_clock = 0.0
|
||||
blink_time = rand_range(blink_range.x, blink_range.y)
|
||||
|
||||
# death animation
|
||||
if is_dead:
|
||||
sprites.position += rot(velocity) * delta
|
||||
sprites.rotate(deg2rad(240) * -dir_x * delta)
|
||||
|
|
@ -546,13 +529,12 @@ func _process(delta):
|
|||
|
||||
if dead_clock < dead_time:
|
||||
dead_clock += delta
|
||||
if dead_clock >= dead_time:
|
||||
if dead_clock > dead_time:
|
||||
Cutscene.is_playing = false
|
||||
Shared.reset()
|
||||
|
||||
return
|
||||
|
||||
# grow and shrink in and out of scene
|
||||
if spr_easy.is_less or !spr_easy.show:
|
||||
var sec = spr_easy.count(delta, spr_easy.show and !Wipe.is_intro)
|
||||
var dp = to_local(door_exit.global_position) if is_instance_valid(door_exit) else rot(Vector2(0, -25))
|
||||
|
|
@ -621,6 +603,22 @@ func _process(delta):
|
|||
var r = lerp_angle(turn_from, turn_to, s)
|
||||
sprites.rotation = r
|
||||
emit_signal("turn_angle", r)
|
||||
|
||||
# squash squish and stretch
|
||||
sprites.scale = squish_from.linear_interpolate(Vector2.ONE, squish_ease.count(delta))
|
||||
|
||||
# blink anim
|
||||
if blink_clock < blink_time:
|
||||
blink_clock += delta
|
||||
else:
|
||||
var be = blink_ease.count(delta)
|
||||
spr_eyes.scale.y = lerp(1.0, 0.1, be)
|
||||
if be == 1.0:
|
||||
blink_ease.show = false
|
||||
elif be == 0.0:
|
||||
blink_ease.show = true
|
||||
blink_clock = 0.0
|
||||
blink_time = rand_range(blink_range.x, blink_range.y)
|
||||
|
||||
### Set Get
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=37 format=2]
|
||||
[gd_scene load_steps=35 format=2]
|
||||
|
||||
[ext_resource path="res://src/autoload/Audio.gd" type="Script" id=1]
|
||||
[ext_resource path="res://media/audio/sfx/coin1.wav" type="AudioStream" id=2]
|
||||
|
|
@ -34,14 +34,11 @@
|
|||
[ext_resource path="res://media/audio/sfx/zap0.wav" type="AudioStream" id=32]
|
||||
[ext_resource path="res://media/audio/music/arcade2.mp3" type="AudioStream" id=33]
|
||||
[ext_resource path="res://media/audio/sfx/oneup1.wav" type="AudioStream" id=34]
|
||||
[ext_resource path="res://media/audio/music/ost6.mp3" type="AudioStream" id=35]
|
||||
[ext_resource path="res://media/audio/music/ost5.mp3" type="AudioStream" id=36]
|
||||
|
||||
[node name="Audio" type="Node"]
|
||||
pause_mode = 2
|
||||
script = ExtResource( 1 )
|
||||
ost = [ ExtResource( 21 ), ExtResource( 24 ), ExtResource( 22 ), ExtResource( 23 ), ExtResource( 36 ), ExtResource( 35 ) ]
|
||||
wait_range = Vector2( 2, 5 )
|
||||
ost = [ ExtResource( 21 ), ExtResource( 24 ), ExtResource( 22 ), ExtResource( 23 ) ]
|
||||
|
||||
[node name="Music" type="Node" parent="."]
|
||||
|
||||
|
|
|
|||
|
|
@ -23,10 +23,15 @@ func _ready():
|
|||
visible = Shared.is_touch or ((OS.has_touchscreen_ui_hint() and OS.get_name() == "HTML5") or OS.get_name() == "Android")
|
||||
|
||||
func _input(event):
|
||||
if event is InputEventScreenTouch or event is InputEventScreenDrag:
|
||||
visible = true
|
||||
elif event is InputEventKey or event is InputEventJoypadButton or event is InputEventJoypadMotion:
|
||||
visible = Shared.is_touch
|
||||
if !Shared.is_touch:
|
||||
var d = event is InputEventScreenDrag
|
||||
var t = event is InputEventScreenTouch
|
||||
var k = event is InputEventKey
|
||||
var b = event is InputEventJoypadButton
|
||||
var m = event is InputEventJoypadMotion
|
||||
|
||||
if d or t or k or b or m:
|
||||
visible = d or t
|
||||
|
||||
func show_keys(arg_arrows := true, arg_c := true, arg_x := true, arg_pause := false, arg_passby := false):
|
||||
right.visible = arg_arrows
|
||||
|
|
@ -35,6 +40,10 @@ func show_keys(arg_arrows := true, arg_c := true, arg_x := true, arg_pause := fa
|
|||
top.visible = arg_pause
|
||||
|
||||
func set_game(arg := false):
|
||||
var i = "" if arg else "ui_"
|
||||
set_actions(i + "up", i + "down", i + "left", i + "right")
|
||||
buttons[0].action = "grab" if arg else "ui_cancel"
|
||||
buttons[1].action = "jump" if arg else "ui_accept"
|
||||
|
||||
for h in game_hide:
|
||||
h.visible = !arg
|
||||
|
|
@ -51,6 +60,11 @@ func set_game(arg := false):
|
|||
for f in buttons:
|
||||
f.passby_press = arg
|
||||
|
||||
func set_actions(_up, _down, _left, _right):
|
||||
for i in 4:
|
||||
btns[i].action = [_right, _down, _left, _up][i]
|
||||
btns[i].passby_press = !("ui_" in _up)
|
||||
|
||||
func margin(x := 20, y := 20):
|
||||
control.margin_left = x
|
||||
control.margin_right = -x
|
||||
|
|
|
|||
|
|
@ -82,7 +82,6 @@ margin_bottom = 150.0
|
|||
[node name="0" type="TouchScreenButton" parent="Control/HBoxLeft/DPad/Buttons"]
|
||||
shape = SubResource( 13 )
|
||||
shape_centered = false
|
||||
passby_press = true
|
||||
action = "ui_right"
|
||||
script = ExtResource( 3 )
|
||||
radius = 500.0
|
||||
|
|
@ -91,7 +90,6 @@ poly_path = NodePath("Polygon2D")
|
|||
poly_radius = 140.0
|
||||
poly_points = 7
|
||||
poly_deadzone = 10.0
|
||||
secondary_action = "right"
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="Control/HBoxLeft/DPad/Buttons/0"]
|
||||
modulate = Color( 1, 1, 1, 0.5 )
|
||||
|
|
@ -104,7 +102,6 @@ idle_color = Color( 1, 1, 1, 0.501961 )
|
|||
[node name="1" type="TouchScreenButton" parent="Control/HBoxLeft/DPad/Buttons"]
|
||||
shape = SubResource( 14 )
|
||||
shape_centered = false
|
||||
passby_press = true
|
||||
action = "ui_down"
|
||||
script = ExtResource( 3 )
|
||||
angle = 90.0
|
||||
|
|
@ -114,7 +111,6 @@ poly_path = NodePath("Polygon2D")
|
|||
poly_radius = 140.0
|
||||
poly_points = 7
|
||||
poly_deadzone = 10.0
|
||||
secondary_action = "down"
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="Control/HBoxLeft/DPad/Buttons/1"]
|
||||
modulate = Color( 1, 1, 1, 0.5 )
|
||||
|
|
@ -127,7 +123,6 @@ idle_color = Color( 1, 1, 1, 0.501961 )
|
|||
[node name="2" type="TouchScreenButton" parent="Control/HBoxLeft/DPad/Buttons"]
|
||||
shape = SubResource( 15 )
|
||||
shape_centered = false
|
||||
passby_press = true
|
||||
action = "ui_left"
|
||||
script = ExtResource( 3 )
|
||||
angle = 180.0
|
||||
|
|
@ -137,7 +132,6 @@ poly_path = NodePath("Polygon2D")
|
|||
poly_radius = 140.0
|
||||
poly_points = 7
|
||||
poly_deadzone = 10.0
|
||||
secondary_action = "left"
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="Control/HBoxLeft/DPad/Buttons/2"]
|
||||
modulate = Color( 1, 1, 1, 0.5 )
|
||||
|
|
@ -150,7 +144,6 @@ idle_color = Color( 1, 1, 1, 0.501961 )
|
|||
[node name="3" type="TouchScreenButton" parent="Control/HBoxLeft/DPad/Buttons"]
|
||||
shape = SubResource( 16 )
|
||||
shape_centered = false
|
||||
passby_press = true
|
||||
action = "ui_up"
|
||||
script = ExtResource( 3 )
|
||||
angle = 270.0
|
||||
|
|
@ -160,7 +153,6 @@ poly_path = NodePath("Polygon2D")
|
|||
poly_radius = 140.0
|
||||
poly_points = 7
|
||||
poly_deadzone = 10.0
|
||||
secondary_action = "up"
|
||||
|
||||
[node name="Polygon2D" type="Polygon2D" parent="Control/HBoxLeft/DPad/Buttons/3"]
|
||||
modulate = Color( 1, 1, 1, 0.5 )
|
||||
|
|
@ -195,7 +187,6 @@ physics_interpolation_mode = 1
|
|||
modulate = Color( 1, 1, 1, 0.156863 )
|
||||
shape = SubResource( 3 )
|
||||
shape_centered = false
|
||||
passby_press = true
|
||||
action = "ui_cancel"
|
||||
visibility_mode = 1
|
||||
script = ExtResource( 4 )
|
||||
|
|
@ -204,7 +195,6 @@ __meta__ = {
|
|||
}
|
||||
color_path = NodePath("../Poly")
|
||||
idle_color = Color( 1, 1, 1, 0.156863 )
|
||||
secondary_action = "grab"
|
||||
|
||||
[node name="Poly" type="Polygon2D" parent="Control/HBoxRight/C/Control"]
|
||||
modulate = Color( 1, 1, 1, 0.156863 )
|
||||
|
|
@ -248,7 +238,6 @@ margin_bottom = 75.0
|
|||
modulate = Color( 1, 1, 1, 0.156863 )
|
||||
shape = SubResource( 4 )
|
||||
shape_centered = false
|
||||
passby_press = true
|
||||
action = "ui_accept"
|
||||
visibility_mode = 1
|
||||
script = ExtResource( 4 )
|
||||
|
|
@ -257,7 +246,6 @@ __meta__ = {
|
|||
}
|
||||
color_path = NodePath("../Poly")
|
||||
idle_color = Color( 1, 1, 1, 0.156863 )
|
||||
secondary_action = "jump"
|
||||
|
||||
[node name="Poly" type="Polygon2D" parent="Control/HBoxRight/X/Control"]
|
||||
modulate = Color( 1, 1, 1, 0.156863 )
|
||||
|
|
@ -307,7 +295,6 @@ physics_interpolation_mode = 1
|
|||
modulate = Color( 1, 1, 1, 0.156863 )
|
||||
shape = SubResource( 3 )
|
||||
shape_centered = false
|
||||
passby_press = true
|
||||
action = "zoom"
|
||||
visibility_mode = 1
|
||||
script = ExtResource( 4 )
|
||||
|
|
@ -358,7 +345,6 @@ margin_bottom = 75.0
|
|||
modulate = Color( 1, 1, 1, 0.156863 )
|
||||
shape = SubResource( 5 )
|
||||
shape_centered = false
|
||||
passby_press = true
|
||||
action = "ui_pause"
|
||||
visibility_mode = 1
|
||||
script = ExtResource( 4 )
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=16 format=2]
|
||||
[gd_scene load_steps=15 format=2]
|
||||
|
||||
[ext_resource path="res://src/detail/Rocks.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://src/actor/door/DoorLittle.tscn" type="PackedScene" id=2]
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
[ext_resource path="res://src/detail/Candle.tscn" type="PackedScene" id=12]
|
||||
[ext_resource path="res://src/detail/Bench.tscn" type="PackedScene" id=13]
|
||||
[ext_resource path="res://src/detail/Lamppost.tscn" type="PackedScene" id=14]
|
||||
[ext_resource path="res://src/detail/SignZoom.tscn" type="PackedScene" id=15]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
|
||||
|
|
@ -140,7 +139,3 @@ rotation = -3.14159
|
|||
[node name="Lamppost" parent="Details" instance=ExtResource( 14 )]
|
||||
position = Vector2( 1000, 400 )
|
||||
rotation = 1.57079
|
||||
|
||||
[node name="SignZoom" parent="Details" instance=ExtResource( 15 )]
|
||||
position = Vector2( 110, 590 )
|
||||
rotation = -2.26893
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ __meta__ = {
|
|||
[node name="SolidTileMap" parent="." instance=ExtResource( 2 )]
|
||||
tile_data = PoolIntArray( 786413, -1610612736, 0, 786414, -1610612736, 0, 786415, -1610612736, 0, 786416, -1610612736, 0, 786417, -1610612736, 0, 851949, -1610612736, 0, 851950, -1610612736, 0, 851951, -1610612736, 0, 851952, -1610612736, 0, 851953, -1610612736, 0, 917485, -1610612736, 0, 917486, -1610612736, 0, 917487, -1610612736, 0, 917488, -1610612736, 0, 917489, 0, 0, 917490, 0, 0, 917491, 0, 0, 917492, 0, 0, 917493, 0, 0, 917494, 0, 0, 917495, 0, 0, 917496, 0, 0, 917497, 0, 0, 983021, -1610612736, 0, 983022, -1610612736, 0, 983023, -1610612736, 0, 983024, -1610612736, 0, 983025, 0, 0, 983026, 0, 0, 983027, 0, 0, 983028, 0, 0, 983029, 0, 0, 983030, 0, 0, 983031, 0, 0, 983032, 0, 0, 983033, 0, 0, 1048557, -1610612736, 0, 1048558, -1610612736, 0, 1048559, -1610612736, 0, 1048560, -1610612736, 0, 1048561, 0, 0, 1048562, 0, 0, 1048563, 0, 0, 1048564, 0, 0, 1048565, 0, 0, 1048566, 0, 0, 1048567, 0, 0, 1048568, 0, 0, 1048569, 0, 0, 1114093, -1610612736, 0, 1114094, -1610612736, 0, 1114095, -1610612736, 0, 1114096, -1610612736, 0, 1114097, -1610612736, 0, 1114098, -1610612736, 0, 1114099, -1610612736, 0, 1114100, -1610612736, 0, 1114101, -1610612736, 0, 1114102, 0, 0, 1114103, 0, 0, 1114104, 0, 0, 1114105, 0, 0, 1179629, -1610612736, 0, 1179630, -1610612736, 0, 1179631, -1610612736, 0, 1179632, -1610612736, 0, 1179633, -1610612736, 0, 1179634, -1610612736, 0, 1179635, -1610612736, 0, 1179636, -1610612736, 0, 1179637, -1610612736, 0, 1179638, 0, 0, 1179639, 0, 0, 1179640, 0, 0, 1179641, 0, 0, 1245165, -1610612736, 0, 1245166, -1610612736, 0, 1245167, -1610612736, 0, 1245174, -1610612736, 0, 1245175, 0, 0, 1245176, 0, 0, 1245177, 0, 0, 1310701, -1610612736, 0, 1310702, -1610612736, 0, 1310711, -1610612736, 0, 1310712, 0, 0, 1310713, 0, 0, 1310714, 0, 0, 1310715, 0, 0, 1310716, 0, 0, 1376237, -1610612736, 0, 1376238, -1610612736, 0, 1376247, -1610612736, 0, 1376248, 0, 0, 1376249, 0, 0, 1376250, 0, 0, 1376251, 0, 0, 1376252, 0, 0, 1441783, -1610612736, 0, 1441784, -1610612736, 0, 1441785, 0, 0, 1441786, 0, 0, 1441787, 0, 0, 1441788, 0, 0, 1507319, -1610612736, 0, 1507320, -1610612736, 0, 1507321, -1610612736, 0, 1507322, -1610612736, 0, 1507323, -1610612736, 0, 1507324, -1610612736, 0, 1572855, -1610612736, 0, 1572856, -1610612736, 0, 1572857, -1610612736, 0, 1572858, -1610612736, 0, 1572859, -1610612736, 0, 1572860, -1610612736, 0, 1638381, 0, 0, 1638382, 0, 0, 1638383, 0, 0, 1638384, 0, 0, 1638385, 0, 0, 1638386, 0, 0, 1703917, 0, 0, 1703918, 0, 0, 1703919, 0, 0, 1703920, 0, 0, 1703921, 0, 0, 1703922, 0, 0, 1703923, 0, 0, 1769451, 0, 0, 1769452, 0, 0, 1769453, 0, 0, 1769454, 0, 0, 1769455, 0, 0, 1769456, 0, 0, 1769457, 0, 0, 1769458, 0, 0, 1769459, 0, 0, 1834987, 0, 0, 1834988, 0, 0, 1834989, 0, 0, 1834990, 0, 0, 1834991, 0, 0, 1834992, 0, 0, 1834993, 0, 0, 1834994, 0, 0, 1834995, 0, 0, 1834998, 0, 0, 1834999, 0, 0, 1835000, 0, 0, 1835001, 0, 0, 1835002, 0, 0, 1835003, 0, 0, 1900534, 0, 0, 1900535, 0, 0, 1900536, 0, 0, 1900537, 0, 0, 1900538, 0, 0, 1900539, 0, 0 )
|
||||
detail = 1
|
||||
bg_palette = 1
|
||||
|
||||
[node name="SpikeMap" parent="." instance=ExtResource( 12 )]
|
||||
tile_data = PoolIntArray( 1310717, -1610612736, 0 )
|
||||
|
|
@ -100,7 +101,7 @@ dye = {
|
|||
}
|
||||
hairstyle_front = 3
|
||||
is_npc = true
|
||||
lines = [ "Hey cutie! ;P", "Have you tried turning it off and on again?", "Breathe in, breathe out", "It's so cozy between these trees", "It's nice to catch a break and relax", "I feel calm.", "I found a big worm here yesterday!", "Let the trees breathe into you", "Nature takes care of you <3" ]
|
||||
lines = [ "Hey cutie! ;P", "Have you tried turning it off and on again?", "Breathe in, breathe out", "It's so cozy between these trees", "I'ts nice to catch a break and relax", "I feel calm.", "I found a big worm here yesterday!", "Let the trees breathe into you", "Nature takes care of you <3" ]
|
||||
greeting = 0
|
||||
|
||||
[node name="NPC3" parent="Actors" instance=ExtResource( 5 )]
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
[ext_resource path="res://src/detail/FlowerPetals.tscn" type="PackedScene" id=10]
|
||||
[ext_resource path="res://src/detail/Candle.tscn" type="PackedScene" id=11]
|
||||
[ext_resource path="res://src/detail/Lamppost.tscn" type="PackedScene" id=12]
|
||||
[ext_resource path="res://media/image/UI/harmony-monroe-white.png" type="Texture" id=13]
|
||||
[ext_resource path="res://media/image/UI/hhoney_logo.svg" type="Texture" id=13]
|
||||
[ext_resource path="res://src/menu/MenuFile.gd" type="Script" id=14]
|
||||
[ext_resource path="res://src/menu/MenuTitle.gd" type="Script" id=15]
|
||||
[ext_resource path="res://src/menu/MenuFileDelete.gd" type="Script" id=16]
|
||||
|
|
@ -108,7 +108,7 @@ use_filter = true
|
|||
extra_spacing_bottom = -20
|
||||
font_data = ExtResource( 1 )
|
||||
|
||||
[sub_resource type="DynamicFont" id=26]
|
||||
[sub_resource type="DynamicFont" id=5]
|
||||
size = 40
|
||||
outline_color = Color( 0, 0, 0, 1 )
|
||||
use_mipmaps = true
|
||||
|
|
@ -613,7 +613,7 @@ margin_bottom = -15.0
|
|||
size_flags_horizontal = 4
|
||||
size_flags_vertical = 5
|
||||
custom_fonts/font = ExtResource( 21 )
|
||||
text = "2025.08.18"
|
||||
text = "Patch 2024-12-6"
|
||||
align = 1
|
||||
valign = 2
|
||||
|
||||
|
|
@ -627,9 +627,9 @@ custom_constants/separation = 0
|
|||
alignment = 1
|
||||
|
||||
[node name="Prefix" type="Label" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 14.0
|
||||
margin_top = 22.0
|
||||
margin_right = 512.0
|
||||
margin_bottom = 45.0
|
||||
margin_bottom = 53.0
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
text = " a game by"
|
||||
valign = 1
|
||||
|
|
@ -653,9 +653,9 @@ __meta__ = {
|
|||
}
|
||||
|
||||
[node name="Control" type="Control" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 45.0
|
||||
margin_top = 53.0
|
||||
margin_right = 512.0
|
||||
margin_bottom = 195.0
|
||||
margin_bottom = 203.0
|
||||
rect_min_size = Vector2( 0, 150 )
|
||||
|
||||
[node name="TextureRect" type="TextureRect" parent="Canvas/CenterContainer/Control/Credits/List/Control"]
|
||||
|
|
@ -667,19 +667,19 @@ expand = true
|
|||
stretch_mode = 6
|
||||
|
||||
[node name="Suffix" type="Label" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 195.0
|
||||
margin_top = 203.0
|
||||
margin_right = 512.0
|
||||
margin_bottom = 226.0
|
||||
margin_bottom = 234.0
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
text = "harmonymonroe.com "
|
||||
text = "hhoney.net "
|
||||
align = 2
|
||||
valign = 1
|
||||
|
||||
[node name="Spacer" type="Control" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 226.0
|
||||
margin_top = 234.0
|
||||
margin_right = 512.0
|
||||
margin_bottom = 244.0
|
||||
rect_min_size = Vector2( 0, 18 )
|
||||
rect_min_size = Vector2( 0, 10 )
|
||||
|
||||
[node name="Prefix2" type="Label" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 244.0
|
||||
|
|
@ -728,13 +728,13 @@ valign = 1
|
|||
[node name="Spacer2" type="Control" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 456.0
|
||||
margin_right = 512.0
|
||||
margin_bottom = 474.0
|
||||
rect_min_size = Vector2( 0, 18 )
|
||||
margin_bottom = 466.0
|
||||
rect_min_size = Vector2( 0, 10 )
|
||||
|
||||
[node name="HBoxContainer" type="HBoxContainer" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 474.0
|
||||
margin_top = 466.0
|
||||
margin_right = 512.0
|
||||
margin_bottom = 524.0
|
||||
margin_bottom = 516.0
|
||||
custom_constants/separation = 10
|
||||
alignment = 1
|
||||
|
||||
|
|
@ -771,30 +771,31 @@ texture = ExtResource( 27 )
|
|||
expand = true
|
||||
|
||||
[node name="Spacer3" type="Control" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 524.0
|
||||
margin_top = 516.0
|
||||
margin_right = 512.0
|
||||
margin_bottom = 534.0
|
||||
margin_bottom = 526.0
|
||||
rect_min_size = Vector2( 0, 10 )
|
||||
|
||||
[node name="HFlowContainer" type="HFlowContainer" parent="Canvas/CenterContainer/Control/Credits/List"]
|
||||
margin_top = 534.0
|
||||
margin_top = 526.0
|
||||
margin_right = 512.0
|
||||
margin_bottom = 670.0
|
||||
margin_bottom = 662.0
|
||||
|
||||
[node name="Label4" type="Label" parent="Canvas/CenterContainer/Control/Credits/List/HFlowContainer"]
|
||||
margin_left = 18.0
|
||||
margin_right = 284.0
|
||||
margin_left = 68.0
|
||||
margin_right = 444.0
|
||||
margin_bottom = 31.0
|
||||
size_flags_horizontal = 6
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
text = "Harmony Monroe"
|
||||
text = "Harmony Honey Monroe"
|
||||
align = 1
|
||||
valign = 1
|
||||
|
||||
[node name="Label8" type="Label" parent="Canvas/CenterContainer/Control/Credits/List/HFlowContainer"]
|
||||
margin_left = 325.0
|
||||
margin_right = 493.0
|
||||
margin_bottom = 31.0
|
||||
margin_left = 37.0
|
||||
margin_top = 35.0
|
||||
margin_right = 205.0
|
||||
margin_bottom = 66.0
|
||||
size_flags_horizontal = 6
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
text = "Guy Unger"
|
||||
|
|
@ -802,9 +803,9 @@ align = 1
|
|||
valign = 1
|
||||
|
||||
[node name="Label6" type="Label" parent="Canvas/CenterContainer/Control/Credits/List/HFlowContainer"]
|
||||
margin_left = 20.0
|
||||
margin_left = 284.0
|
||||
margin_top = 35.0
|
||||
margin_right = 210.0
|
||||
margin_right = 474.0
|
||||
margin_bottom = 66.0
|
||||
size_flags_horizontal = 6
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
|
|
@ -813,10 +814,10 @@ align = 1
|
|||
valign = 1
|
||||
|
||||
[node name="Label5" type="Label" parent="Canvas/CenterContainer/Control/Credits/List/HFlowContainer"]
|
||||
margin_left = 255.0
|
||||
margin_top = 35.0
|
||||
margin_right = 491.0
|
||||
margin_bottom = 66.0
|
||||
margin_left = 31.0
|
||||
margin_top = 70.0
|
||||
margin_right = 267.0
|
||||
margin_bottom = 101.0
|
||||
size_flags_horizontal = 6
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
text = "Raffaele Picca"
|
||||
|
|
@ -824,9 +825,9 @@ align = 1
|
|||
valign = 1
|
||||
|
||||
[node name="Label7" type="Label" parent="Canvas/CenterContainer/Control/Credits/List/HFlowContainer"]
|
||||
margin_left = 32.0
|
||||
margin_left = 334.0
|
||||
margin_top = 70.0
|
||||
margin_right = 178.0
|
||||
margin_right = 480.0
|
||||
margin_bottom = 101.0
|
||||
size_flags_horizontal = 6
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
|
|
@ -835,35 +836,13 @@ align = 1
|
|||
valign = 1
|
||||
|
||||
[node name="Label9" type="Label" parent="Canvas/CenterContainer/Control/Credits/List/HFlowContainer"]
|
||||
margin_left = 246.0
|
||||
margin_top = 70.0
|
||||
margin_right = 479.0
|
||||
margin_bottom = 101.0
|
||||
size_flags_horizontal = 6
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
text = "Cassidy Blaede"
|
||||
align = 1
|
||||
valign = 1
|
||||
|
||||
[node name="Label10" type="Label" parent="Canvas/CenterContainer/Control/Credits/List/HFlowContainer"]
|
||||
margin_left = 22.0
|
||||
margin_left = 85.0
|
||||
margin_top = 105.0
|
||||
margin_right = 245.0
|
||||
margin_right = 426.0
|
||||
margin_bottom = 136.0
|
||||
size_flags_horizontal = 6
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
text = "Will Thompson"
|
||||
align = 1
|
||||
valign = 1
|
||||
|
||||
[node name="Label11" type="Label" parent="Canvas/CenterContainer/Control/Credits/List/HFlowContainer"]
|
||||
margin_left = 294.0
|
||||
margin_top = 105.0
|
||||
margin_right = 489.0
|
||||
margin_bottom = 136.0
|
||||
size_flags_horizontal = 6
|
||||
custom_fonts/font = SubResource( 6 )
|
||||
text = "Micah Ilbery"
|
||||
text = "Cassidy James Blaede"
|
||||
align = 1
|
||||
valign = 1
|
||||
|
||||
|
|
@ -897,7 +876,7 @@ script = ExtResource( 3 )
|
|||
[node name="Title" type="Sprite" parent="Map"]
|
||||
process_priority = 1
|
||||
material = SubResource( 25 )
|
||||
position = Vector2( 1800, 640 )
|
||||
position = Vector2( 1800, 650 )
|
||||
scale = Vector2( 0.9, 0.9 )
|
||||
texture = ExtResource( 19 )
|
||||
|
||||
|
|
@ -917,15 +896,17 @@ __meta__ = {
|
|||
}
|
||||
|
||||
[node name="Demo" type="Label" parent="Map"]
|
||||
visible = false
|
||||
margin_left = 1500.0
|
||||
margin_top = 690.0
|
||||
margin_top = 700.0
|
||||
margin_right = 2100.0
|
||||
margin_bottom = 790.0
|
||||
custom_colors/font_color = Color( 0.25098, 0.25098, 0.25098, 1 )
|
||||
custom_fonts/font = SubResource( 26 )
|
||||
text = "BEND GRAVITY"
|
||||
margin_bottom = 800.0
|
||||
custom_colors/font_color = Color( 0.55, 0.55, 0.55, 1 )
|
||||
custom_fonts/font = SubResource( 5 )
|
||||
text = "DEMO"
|
||||
align = 1
|
||||
valign = 1
|
||||
script = ExtResource( 22 )
|
||||
|
||||
[node name="Details" type="Node2D" parent="Map"]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
[gd_scene load_steps=4 format=2]
|
||||
|
||||
[ext_resource path="res://media/image/UI/harmony-monroe-square-white.png" type="Texture" id=1]
|
||||
[ext_resource path="res://media/image/UI/title_splash.png" type="Texture" id=1]
|
||||
[ext_resource path="res://src/menu/Splash.gd" type="Script" id=2]
|
||||
[ext_resource path="res://media/audio/sfx/bell1.wav" type="AudioStream" id=3]
|
||||
|
||||
|
|
@ -27,7 +27,6 @@ anchor_right = 1.0
|
|||
anchor_bottom = 1.0
|
||||
texture = ExtResource( 1 )
|
||||
expand = true
|
||||
stretch_mode = 6
|
||||
|
||||
[node name="AudioStreamPlayer" type="AudioStreamPlayer" parent="."]
|
||||
stream = ExtResource( 3 )
|
||||
|
|
|
|||
|
|
@ -8,12 +8,11 @@ onready var color_node : CanvasItem = get_node_or_null(color_path)
|
|||
|
||||
export var press_color := Color(1,0,1, 1.0)
|
||||
export var idle_color := Color(1,1,1, 0.5)
|
||||
export var secondary_action := ""
|
||||
|
||||
func _ready():
|
||||
if is_instance_valid(button):
|
||||
button.connect("pressed", self, "press")
|
||||
button.connect("released", self, "release")
|
||||
button.connect("pressed", self, "interact")
|
||||
button.connect("released", self, "interact")
|
||||
|
||||
if is_instance_valid(color_node):
|
||||
color_node.modulate = idle_color
|
||||
|
|
@ -21,13 +20,3 @@ func _ready():
|
|||
func interact():
|
||||
if is_instance_valid(button) and is_instance_valid(color_node):
|
||||
color_node.modulate = press_color if button.is_pressed() else idle_color
|
||||
|
||||
func press():
|
||||
interact()
|
||||
if secondary_action != "":
|
||||
Input.action_press(secondary_action)
|
||||
|
||||
func release():
|
||||
interact()
|
||||
if secondary_action != "":
|
||||
Input.action_release(secondary_action)
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@ func fill_items():
|
|||
i.visible = Shared.light_enabled > 0
|
||||
if i.is_in_group("shadow") and i.visible:
|
||||
i.visible = Shared.shadow_enabled > 0
|
||||
if i.is_in_group("touch"):
|
||||
i.visible = TouchScreen.visible
|
||||
|
||||
.fill_items()
|
||||
|
||||
|
|
|
|||
|
|
@ -275,11 +275,11 @@ anchor_bottom = 1.0
|
|||
margin_left = 25.0
|
||||
size_flags_vertical = 6
|
||||
custom_fonts/font = ExtResource( 2 )
|
||||
text = "< TOGGLE >"
|
||||
text = "< OFF >"
|
||||
align = 2
|
||||
valign = 1
|
||||
|
||||
[node name="X" type="Control" parent="Control/Menu/List"]
|
||||
[node name="X" type="Control" parent="Control/Menu/List" groups=["touch"]]
|
||||
margin_top = 510.0
|
||||
margin_right = 640.0
|
||||
margin_bottom = 580.0
|
||||
|
|
@ -312,7 +312,7 @@ text = "< 2 >"
|
|||
align = 2
|
||||
valign = 1
|
||||
|
||||
[node name="Y" type="Control" parent="Control/Menu/List"]
|
||||
[node name="Y" type="Control" parent="Control/Menu/List" groups=["touch"]]
|
||||
margin_top = 580.0
|
||||
margin_right = 640.0
|
||||
margin_bottom = 650.0
|
||||
|
|
|
|||
|
|
@ -15,8 +15,6 @@ export var poly_points := 5 setget set_poly_points
|
|||
export var poly_deadzone := 3.0 setget set_poly_deadzone
|
||||
export var poly_dead_points := 5 setget set_poly_dead_points
|
||||
|
||||
export var secondary_action := ""
|
||||
|
||||
func set_radius(arg := radius):
|
||||
radius = arg
|
||||
act()
|
||||
|
|
@ -60,16 +58,6 @@ func set_poly_dead_points(arg := poly_dead_points):
|
|||
func _ready():
|
||||
act()
|
||||
poly_act()
|
||||
connect("pressed", self, "press")
|
||||
connect("released", self, "release")
|
||||
|
||||
func press():
|
||||
if secondary_action != "":
|
||||
Input.action_press(secondary_action)
|
||||
|
||||
func release():
|
||||
if secondary_action != "":
|
||||
Input.action_release(secondary_action)
|
||||
|
||||
func act():
|
||||
shape = ConvexPolygonShape2D.new()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue