Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
6c7f203
[FEATURE] Implement a custom splash screen #308
ikostan Mar 5, 2026
d3a6387
Revert "[FEATURE] Implement a custom splash screen #308"
ikostan Mar 5, 2026
339116c
Add logo assets and update project/export
ikostan Mar 5, 2026
9407704
Update custom_shell.html
ikostan Mar 5, 2026
691e7b2
Update custom_shell.html
ikostan Mar 5, 2026
bd1bd82
Update custom_shell.html
ikostan Mar 5, 2026
482c874
Refine loading UI and export settings
ikostan Mar 6, 2026
ff47fb8
[DOCUMENTATION] Milestone #12 README.md update #317
ikostan Mar 6, 2026
c13d376
Update README.md
ikostan Mar 6, 2026
db52c10
Update README.md
ikostan Mar 6, 2026
8058b18
suggestion: A fixed 40px font size for the status text may cause layo…
ikostan Mar 6, 2026
bf6480d
Update README.md
ikostan Mar 6, 2026
54e0448
Add splash screen and threaded loader
ikostan Mar 6, 2026
93a8199
Update splash_screen.gd
ikostan Mar 6, 2026
92324d3
Update splash_screen.gd
ikostan Mar 6, 2026
fbd9378
Update splash_screen.tscn
ikostan Mar 6, 2026
2940215
Update scripts/splash_screen.gd
ikostan Mar 6, 2026
c1c7f5b
Update scripts/splash_screen.gd
ikostan Mar 6, 2026
7a8708f
Merge branch 'implement-a-custom-splash-screen' of https://github.com…
ikostan Mar 6, 2026
70422a3
Update splash_screen.tscn
ikostan Mar 6, 2026
0575e74
Playwright tests fixes
ikostan Mar 6, 2026
135d295
style: format code with Black and isort
deepsource-autofix[bot] Mar 6, 2026
d14707e
Resolve a startup target instead of treating cold starts as load fail…
ikostan Mar 7, 2026
f1e104c
Update README.md
ikostan Mar 7, 2026
bfe6d8e
Merge branch 'implement-a-custom-splash-screen' of https://github.com…
ikostan Mar 7, 2026
a1d7a76
issue: Avoid duplicate CodeRabbit entries and inconsistent naming in …
ikostan Mar 7, 2026
100c866
Update splash_screen.gd
ikostan Mar 7, 2026
e196fa9
New HTML page
ikostan Mar 7, 2026
a17b86c
Playwright tests fixes
ikostan Mar 8, 2026
bed6c2f
Update difficulty_flow_test.py
ikostan Mar 8, 2026
038439c
Update back_flow_test.py
ikostan Mar 8, 2026
face01a
Update custom_shell.html
ikostan Mar 8, 2026
284b2c4
Create old_custom_shell.html
ikostan Mar 8, 2026
1603e5f
Update splash_screen.gd
ikostan Mar 9, 2026
d4dd13f
Update back_flow_test.py
ikostan Mar 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 61 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ You can play this game on [Itch.io](https://ikostan.itch.io/sky-lock-assault)
7. [Signing Setup for GitHub Desktop](/files/docs/Signing_Setup_GitHub_Desktop.md)
8. BOTS:
- [Dependabot](https://docs.github.com/en/code-security/dependabot)
- [Coderabbitai](https://github.com/coderabbitai)
Comment thread
sourcery-ai[bot] marked this conversation as resolved.
Outdated
- [Snyk](https://docs.snyk.io/)
- [Sourcery AI](https://docs.sourcery.ai/)
- [CodeRabbit AI](https://github.com/coderabbitai)
Comment thread
ikostan marked this conversation as resolved.
Outdated
Expand Down Expand Up @@ -207,26 +208,70 @@ these GPL requirements, a separate license is available upon request.
- Version tagging in CI/CD – Issue #285.
- Dynamic speed bar color changes (partially merged in PR #275/#288,
but full threshold logic ongoing) – Issue #286.
- Improve input mappings with conflict handling and unbound warnings:
- Conflict detection + confirmation dialog when assigning already-used inputs.
- Per-device tracking, last-used device persistence, and device-aware
remap prompts.
- HUD warnings for unbound critical controls during gameplay.
- Support opening key-mapping menu directly from other menus.
- Expanded tests for input remap and settings behaviors.
- Ensure menu navigation bindings & legacy input migration:
- Guaranteed binding of core navigation actions (ui_accept, ui_up, etc.).
- Initial focus management for gameplay/options menus and restored focus flows.
- Improved keyboard/gamepad input label generation and legacy config migration.
- Updated default gamepad throttle mappings to match expectations.
- Expanded test coverage around menu navigation and input handling.
- Enable keyboard & d-pad navigation for audio settings and key mappings:
- Full keyboard + gamepad navigation support for audio settings.
- Focus highlighting on volume rows and unified accept action for slider/toggle.
- Better modifier key handling (Ctrl/Shift/Alt/Meta) in remapping UI.
- Refined conflict handling in key remapping logic and focus restoration
from audio → main menu.
- CI/tooling version bumps and asset import config additions.

---

## Milestones

## Input & Navigation Improvements (Milestone 12)

Milestone 12 focused on making the game more navigable and responsive
to user input devices:

### Input Remapping
- Conflict detection dialog when assigning existing bindings
- Per-device last input selection persists between sessions
- Critical control warnings if actions are unbound
- Remap menu accessible from all relevant UI paths

### Menu Navigation
- Keyboard + gamepad (D-Pad) support for all menu flows
- Guaranteed core navigation actions remain bound
- Focus restoration when leaving submenus (Audio → Options → Main)
- Modifier key respect (Ctrl/Shift/Alt/Meta) in remapping UI

### Audio Settings Controls
- Use keyboard/gamepad accept action for sliders and toggles
- Focus highlighting for better visual feedback
- Unified UI interactions without relying on the mouse

### Godot Resource Migration
- Replaced hard-coded globals with a `GameSettingsResource`
- Easier inspector-based editing and persistence
- Safer loading with fallback on corrupted configs

### Known Limitations

* Some complex menu flows may still rely on mouse until additional
focus neighbors are defined.
Comment thread
sourcery-ai[bot] marked this conversation as resolved.
Outdated
* Modifier-aware remapping requires explicit key+modifier press for
unique bindings.

- **Planned (Milestone 9: Expansions and Polish)**:
- Mobile exports (Android/iOS) with touch controls and
optimizations – Issues #35, #41, #43.
- Multiplayer (co-op/competitive) using Godot's High-Level Multiplayer API,
with security/testing – Issues #34, #36, #42.
- AI enemies with pathfinding (NavigationServer) and behavior
trees – Issues #40, #44.
- Refactor fuel/speed dictionaries to dedicated StatManager class – Issue #276.
- Add signals for fuel, speed, and weapons in player.gd – Issues #278, #279, #280.
- Convert hard-coded fuel elements to Godot Resources – Issue #281.
- Multi-level progression with scenes – Issue #21.
- Optimize performance (e.g., web-specific) – Issues #27, #37.
- Asset management/polish, bug fixes, feedback
guides – Issues #29, #31, #33, #38, #86, #90.
- Audio enhancements (e.g., refactor duplicated SFX volume logic) – Issue #267.
- Particle effects for explosions/weapons.

Track progress via [Milestones](https://github.com/ikostan/SkyLockAssault/milestones).

---

### Known Issues

- Harmless console warning on desktop fullscreen
Expand Down
Binary file added assets/godot_logo_bg_removed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions assets/godot_logo_bg_removed.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://cs3bksakdbt0u"
path="res://.godot/imported/godot_logo_bg_removed.png-caadf3749ad830a08d0cf4bc77bc06ca.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://assets/godot_logo_bg_removed.png"
dest_files=["res://.godot/imported/godot_logo_bg_removed.png-caadf3749ad830a08d0cf4bc77bc06ca.ctex"]

[params]

compress/mode=0
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=1
Binary file added assets/ikostan_logo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions assets/ikostan_logo.jpg.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://b2ti7wqvn4apd"
path="res://.godot/imported/ikostan_logo.jpg-a946f4d1402ce4b446871347ed0d40a5.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://assets/ikostan_logo.jpg"
dest_files=["res://.godot/imported/ikostan_logo.jpg-a946f4d1402ce4b446871347ed0d40a5.ctex"]

[params]

compress/mode=0
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=1
Binary file added assets/ikostan_logo_bg_removed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions assets/ikostan_logo_bg_removed.png.import
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
[remap]

importer="texture"
type="CompressedTexture2D"
uid="uid://b7jpd8lq6kokg"
path="res://.godot/imported/ikostan_logo_bg_removed.png-ec2a705d4cc66e2dca57040f0f45ffef.ctex"
metadata={
"vram_texture": false
}

[deps]

source_file="res://assets/ikostan_logo_bg_removed.png"
dest_files=["res://.godot/imported/ikostan_logo_bg_removed.png-ec2a705d4cc66e2dca57040f0f45ffef.ctex"]

[params]

compress/mode=0
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=1
1 change: 1 addition & 0 deletions assets/logo_large_monochrome_light.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading