-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit a92552f
Showing
16 changed files
with
923 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Auto detect text files and perform LF normalization | ||
* text=auto |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Godot 4+ specific ignores | ||
.godot/ | ||
|
||
# Godot-specific ignores | ||
*.import | ||
*.tmp | ||
export.cfg | ||
export_presets.cfg | ||
|
||
# Imported translations (automatically generated from CSV files) | ||
*.translation | ||
|
||
# Mono-specific ignores | ||
.mono/ | ||
data_*/ | ||
mono_crash.*.json | ||
.DS_Store | ||
android/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
MIT License | ||
|
||
Copyright (c) 2024 PushupProgression | ||
|
||
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: | ||
|
||
The above copyright notice and this permission notice shall be included in all | ||
copies or substantial portions of 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 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# ***PushupProgression*** | ||
![Made with Godot](https://img.shields.io/badge/Made%20with-Godot-3776AB.svg?style=plastic&logo=godot-engine&logoColor=white) | ||
![Version](https://img.shields.io/badge/version-1.0.0-00BB1A.svg?style=plastic) | ||
|
||
An app for tracking pushup progress and reaching daily goals. Designed for smartphones. | ||
|
||
Created with [Godot Game Engine [4.3.dev4]](https://godotengine.org/). | ||
|
||
<br> | ||
|
||
<p align="center"><img src="app_screenshot.png" width="40%" ></p> | ||
|
||
## Roadmap | ||
* Implement pop-up confirmation for resetting saved progression | ||
* Provide reset options for saved progression (Note: Currently resets all progression) | ||
* Custom daily goals & pushups per session option | ||
* Visual theme update | ||
* Integrate logging system for saving and loading processes | ||
* Add notification for saved progression status | ||
* Show previous progression | ||
|
||
## Usage | ||
|
||
<details> | ||
<summary>Android</summary> | ||
|
||
1. [Download](https://github.com/Vandreic/PushupProgression/releases/latest) the latest release. | ||
2. Install the app and run. | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>Windows</summary> | ||
|
||
1. [Download](https://github.com/Vandreic/PushupProgression/releases/latest) the latest release. | ||
2. Run the executable. | ||
|
||
</details> | ||
|
||
<details> | ||
<summary>macOS / iOS / Linux</summary> | ||
|
||
PushupProgression hasn't been compiled for macOS, iOS, or Linux, but you can compile the source code yourself if desired. | ||
|
||
</details> | ||
|
||
## License | ||
PushupProgression is released under the [MIT License](LICENSE.md). |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
## Global Variables Singleton (Autoload). | ||
## | ||
## This singleton script serves as a central repository for storing and | ||
## accessing global variables used throughout the application. [br] | ||
## | ||
## Path: [code]res://global/global_variables.gd[/code] | ||
|
||
|
||
extends Node | ||
|
||
|
||
## Daily pushup goal. | ||
var daily_pushups_goal: int = 100 | ||
|
||
## Remaining pushup to reach daily goal. | ||
var remaining_pushups: int = 0 | ||
|
||
## Number of pushups in each session. | ||
var pushups_per_session: int = 10 | ||
|
||
## Total pushups sessions. | ||
var total_pushups_sessions: int = 0 | ||
|
||
## Total pushups. | ||
var total_pushups_today: int = 0 | ||
|
||
## Save data dictionary to store all progression data. | ||
var save_data_dict: Dictionary = {} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
; Engine configuration file. | ||
; It's best edited using the editor UI and not directly, | ||
; since the parameters that go here are not all obvious. | ||
; | ||
; Format: | ||
; [section] ; section goes between [] | ||
; param=value ; assign values to parameters | ||
|
||
config_version=5 | ||
|
||
[application] | ||
|
||
config/name="PushupProgression" | ||
config/version="1.0.0" | ||
run/main_scene="res://src/main/main.tscn" | ||
config/features=PackedStringArray("4.3", "GL Compatibility") | ||
config/icon="res://icon.svg" | ||
|
||
[autoload] | ||
|
||
GlobalVariables="*res://global/global_variables.gd" | ||
|
||
[display] | ||
|
||
window/size/viewport_width=720 | ||
window/size/viewport_height=1280 | ||
window/stretch/mode="canvas_items" | ||
window/stretch/aspect="expand" | ||
window/handheld/orientation=1 | ||
|
||
[file_customization] | ||
|
||
folder_colors={ | ||
"res://global/": "red", | ||
"res://src/main/": "red", | ||
"res://src/ui/": "blue", | ||
"res://src/utilities/": "red" | ||
} | ||
|
||
[rendering] | ||
|
||
renderer/rendering_method="gl_compatibility" | ||
renderer/rendering_method.mobile="gl_compatibility" | ||
textures/vram_compression/import_etc2_astc=true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
## Main Scene Script. | ||
## | ||
## Path: [code]res://src/main/main.gd[/code] | ||
|
||
|
||
class_name Main | ||
extends Node | ||
|
||
|
||
# Called when the node enters the scene tree for the first time. | ||
func _ready(): | ||
# Change window size if screen width < 1280 | ||
change_window_size() | ||
|
||
# Load save file | ||
get_tree().call_group("save_system", "load_data") | ||
# Update UI | ||
get_tree().call_group("ui_manager", "update_ui") | ||
|
||
|
||
## Change window size to 480x800 if screen height is less than 1280 pixels | ||
## (Used for 1920x1080 monitors) [br] | ||
## Position window in middle of screen after resizing. [br][br] | ||
## [b]Note:[/b] Used for PC. | ||
func change_window_size(): | ||
var current_screen_size: Vector2i = DisplayServer.screen_get_size(0) | ||
var window_size_hdpi = Vector2i(480, 800) | ||
|
||
# Change resolution if necessary | ||
if current_screen_size.y < 1280: | ||
DisplayServer.window_set_size(window_size_hdpi) | ||
# Position window in center of screen | ||
var new_x_pos = (current_screen_size.x * 1.5) - (DisplayServer.window_get_size().x / 2) | ||
var new_y_pos = (current_screen_size.y / 2) - (DisplayServer.window_get_size().y / 2) | ||
DisplayServer.window_set_position(Vector2i(new_x_pos, new_y_pos)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
[gd_scene load_steps=4 format=3 uid="uid://b8m5sfw05s6ty"] | ||
|
||
[ext_resource type="Script" path="res://src/main/main.gd" id="1_ui10i"] | ||
[ext_resource type="PackedScene" uid="uid://bv2v88irqyogj" path="res://src/ui/ui.tscn" id="2_06dc6"] | ||
[ext_resource type="Script" path="res://src/utilities/save_system.gd" id="3_vaodl"] | ||
|
||
[node name="Main" type="Node"] | ||
script = ExtResource("1_ui10i") | ||
|
||
[node name="UI" parent="." instance=ExtResource("2_06dc6")] | ||
|
||
[node name="ProgressionController" type="Node" parent="."] | ||
|
||
[node name="Utilities" type="Node" parent="."] | ||
|
||
[node name="SaveSystem" type="Node" parent="Utilities" groups=["save_system"]] | ||
script = ExtResource("3_vaodl") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
[gd_scene load_steps=5 format=3 uid="uid://bv2v88irqyogj"] | ||
|
||
[ext_resource type="Script" path="res://src/ui/ui_manager.gd" id="1_8wh5j"] | ||
[ext_resource type="Texture2D" uid="uid://d13gqxbmtf6rg" path="res://assets/progress _icon/progress_bar_under.png" id="2_miyvb"] | ||
[ext_resource type="Texture2D" uid="uid://be0a0aiqer2cv" path="res://assets/progress _icon/progress_bar_over.png" id="3_03rnj"] | ||
[ext_resource type="Texture2D" uid="uid://0eci0l65srde" path="res://assets/progress _icon/progress_bar_progress.png" id="4_hs708"] | ||
|
||
[node name="UI" type="CanvasLayer"] | ||
|
||
[node name="UIManager" type="Node" parent="." groups=["ui_manager"]] | ||
script = ExtResource("1_8wh5j") | ||
|
||
[node name="UIWindow" type="VBoxContainer" parent="."] | ||
anchors_preset = -1 | ||
anchor_left = 0.1 | ||
anchor_top = 0.05 | ||
anchor_right = 0.9 | ||
anchor_bottom = 0.987 | ||
theme_override_constants/separation = 60 | ||
|
||
[node name="QuoteLabel" type="Label" parent="UIWindow"] | ||
unique_name_in_owner = true | ||
layout_mode = 2 | ||
size_flags_vertical = 1 | ||
theme_override_font_sizes/font_size = 50 | ||
text = "Consistency is key!" | ||
horizontal_alignment = 1 | ||
vertical_alignment = 1 | ||
|
||
[node name="ProgressContainer" type="VBoxContainer" parent="UIWindow"] | ||
layout_mode = 2 | ||
theme_override_constants/separation = 20 | ||
|
||
[node name="ProgressLabel" type="Label" parent="UIWindow/ProgressContainer"] | ||
unique_name_in_owner = true | ||
custom_minimum_size = Vector2(0, 100) | ||
layout_mode = 2 | ||
theme_override_font_sizes/font_size = 30 | ||
text = "Today's progression: 0 pushups." | ||
horizontal_alignment = 1 | ||
vertical_alignment = 1 | ||
|
||
[node name="ProgressBar" type="TextureProgressBar" parent="UIWindow/ProgressContainer"] | ||
unique_name_in_owner = true | ||
layout_mode = 2 | ||
size_flags_horizontal = 4 | ||
size_flags_vertical = 4 | ||
fill_mode = 4 | ||
texture_under = ExtResource("2_miyvb") | ||
texture_over = ExtResource("3_03rnj") | ||
texture_progress = ExtResource("4_hs708") | ||
|
||
[node name="ProgressValueLabel" type="Label" parent="UIWindow/ProgressContainer/ProgressBar"] | ||
unique_name_in_owner = true | ||
layout_mode = 1 | ||
anchors_preset = 15 | ||
anchor_right = 1.0 | ||
anchor_bottom = 1.0 | ||
grow_horizontal = 2 | ||
grow_vertical = 2 | ||
theme_override_font_sizes/font_size = 30 | ||
text = "0%" | ||
horizontal_alignment = 1 | ||
vertical_alignment = 1 | ||
|
||
[node name="HBoxContainer" type="HBoxContainer" parent="UIWindow/ProgressContainer"] | ||
layout_mode = 2 | ||
|
||
[node name="DailyGoalLabel" type="Label" parent="UIWindow/ProgressContainer/HBoxContainer"] | ||
unique_name_in_owner = true | ||
layout_mode = 2 | ||
size_flags_horizontal = 2 | ||
theme_override_font_sizes/font_size = 30 | ||
text = "Goal: 100" | ||
horizontal_alignment = 1 | ||
vertical_alignment = 1 | ||
|
||
[node name="RemainingPushupsLabel" type="Label" parent="UIWindow/ProgressContainer/HBoxContainer"] | ||
unique_name_in_owner = true | ||
layout_mode = 2 | ||
size_flags_horizontal = 10 | ||
theme_override_font_sizes/font_size = 30 | ||
text = "Remaining: 50" | ||
horizontal_alignment = 1 | ||
vertical_alignment = 1 | ||
|
||
[node name="AddPushupsButton" type="Button" parent="UIWindow"] | ||
unique_name_in_owner = true | ||
custom_minimum_size = Vector2(400, 100) | ||
layout_mode = 2 | ||
size_flags_horizontal = 4 | ||
size_flags_vertical = 4 | ||
theme_override_font_sizes/font_size = 32 | ||
text = "Add 10 pushups" | ||
|
||
[node name="AppVersion" type="Label" parent="."] | ||
unique_name_in_owner = true | ||
modulate = Color(1, 1, 1, 0.117647) | ||
anchors_preset = 12 | ||
anchor_top = 1.0 | ||
anchor_right = 1.0 | ||
anchor_bottom = 1.0 | ||
offset_top = -36.0 | ||
grow_horizontal = 2 | ||
grow_vertical = 0 | ||
theme_override_font_sizes/font_size = 26 | ||
horizontal_alignment = 1 | ||
vertical_alignment = 1 | ||
|
||
[node name="ResetProgressionButton" type="Button" parent="."] | ||
unique_name_in_owner = true | ||
anchors_preset = 2 | ||
anchor_top = 1.0 | ||
anchor_bottom = 1.0 | ||
offset_top = -57.0 | ||
offset_right = 144.0 | ||
grow_vertical = 0 | ||
theme_override_font_sizes/font_size = 26 | ||
text = "Reset" |
Oops, something went wrong.