Releases: Ian-bug/RainingKeysPython
Release Notes - Version 1.3.5
Bug Fixes
- Fixed
NameError: name 'layout' is not definedin LaneSettingsGroup- Moved
self.setLayout(layout)fromupdate_from_config()toinit_ui()in core/ui/components.py:136
- Moved
UI Improvements
- Increased settings window default size to 400×670 (was 340×500)
Configuration Updates
- Updated default configuration to match current config.ini values:
- Added
fall_directionsetting with default value "up" - KeyViewer now enabled by default (was disabled)
- Default lane keys set to d, f, j, k
- SettingsManager now persists fall_direction setting
- Debug mode disabled by default (production-ready)
- Added
Technical Details
- Added
__post_init__method to AppConfig for default lane initialization - Improved settings persistence logic in SettingsManager
Files Changed
- core/configuration.py - Updated defaults and added post_init
- core/settings_manager.py - Added fall_direction load/save support
- core/gui.py - Increased window size
- core/ui/components.py - Fixed layout initialization bug
Build Artifacts
- RainingKeysPython.zip - Release build (no console)
- RainingKeysPython-debug.zip - Debug build (with console)
Release - v1.3.0
We are excited to release RainingKeys v1.3.0! This update brings a major architectural overhaul, a fresh dark theme, and improved configuration management.
🌟 New Features
Reset Configuration
- One-Click Reset: Added a "Reset Config to Defaults" button in the Settings window.
- Safety First: Quickly restore the application to its original state if settings become corrupted.
- Release Stability: Release builds now automatically reset configuration on first run (via build pipeline), ensuring a clean start for all users.
Dark Theme UI
- Modern Look: Implemented a consistent Dark Theme across the entire application.
- Better Usability: Added a Scroll Area to the settings window for better accessibility on small screens.
- Visual Hierarchy: Improved readability of settings controls with polished styling.
🛠 Internal Improvements
Architecture Overhaul
- Dependency Injection: Replaced global state with a robust
AppConfigdataclass system. - Modular Components: Refactored the UI into reusable components for better maintainability.
- Performance: Implemented geometry caching to reduce CPU usage during rendering.
Bug Fixes
- Fixed mutable state issues in key mapping configuration.
- Resolved UI styling inconsistencies.
🚀 How to Use
- Download
RainingKeysPython.zipfrom the Assets section below. - Extract the zip file to a folder of your choice.
- Run
RainingKeysPython.exeto start the application. - Configure your keys and visual settings via the Settings button.
Note: If you encounter any issues, try using the new "Reset Config" button in the settings.
Full Changelog: v1.2.0...v1.3.0
v1.2.0 - KeyViewer & Transparency
We are thrilled to introduce RainingKeys v1.2.0! This update focuses on visual customization, adding the KeyViewer panel and adjustable transparency.
🌟 New Features
⌨️ KeyViewer Panel
- Visual Keyboard: A new static panel that mirrors your configured lanes.
- Live Feedback: Keys light up when pressed.
- Hit Counters: Optional tracking of total key presses per lane.
- Smart Positioning: Place the panel Above or Below the rain. Changing the position automatically flips the fall direction (Down vs. Up).
👀 Enhanced Visuals
- Adjustable Transparency: Fine-tune the "Inactive Opacity" of the KeyViewer to make unpressed keys stand out or fade away.
- Custom Colors: Pick any RGBA color for your bars using the new color picker.
- Polished UI: Smoother, more consistent visual presentation.
⚙️ Improved Configuration
- Encoding Fixes: Resolved issues with UTF-8 BOM in config files, ensuring smoother upgrades and saving.
- Robust Build Script:
build.pynow handles encoding errors more gracefully.
🚀 How to Use
- Download RainingKeysPython.zip.
- Extract and run
RainingKeysPython.exe. - Open the Settings Window to enable the KeyViewer, change colors, and adjust transparency.
- Enjoy the rain!
Credits to AdofaiTweaks for inspiration!
v1.1.0: Dynamic Lanes & Interactive Config
RainingKeys v1.1.0 Release Notes
We are excited to announce the release of RainingKeys v1.1.0! This major update brings a fully interactive configuration GUI, dynamic lane customization, and a robust build system.
🌟 New Features
🛠️ Interactive Configuration GUI
- Live Adjustments: Move the overlay (
X,Yposition) and adjust visual settings (Scroll Speed,Fall Direction) in real-time. - User-Friendly Interface: No need to manually edit config files for basic adjustments.
🎹 Dynamic Lane System
- Custom Key Bindings: You are no longer limited to 4 keys! Bind any number of keys (e.g., 1, 4, 6, 10 lanes).
- Record & Play: Use the new "Record Lane Keys" button to easily define your lanes by pressing keys in order.
- Auto-Resizing: The overlay automatically adjusts its width to fit your custom lanes.
📦 Improved Build System
- One-Click Build: New
build.pyscript automates the entire process. - Dual Releases: Automatically generates both Release (windowed, no console) and Debug (console enabled) versions.
- Portable: Configuration is bundled with the executable.
🚀 How to Use
- Download
RainingKeysPython.zip. - Extract and run
RainingKeysPython.exe. - Use the Config Window to set up your keys and position.
- Enjoy!
🐞 Bug Fixes & Improvements
- Fixed issues with hardcoded lane mappings.
- Improved configuration persistence.
- Enhanced project structure for better maintainability.
Happy Playing!
v1.0.0 - Initial Release
RainingKeysPython is a high-performance, external rhythm game input visualizer. This is the first public release, featuring a fully functional "Rain-style" overlay that works on top of any game.
✨ Key Features
- External Overlay: Transparent, click-through window that stays on top of your game.
- Accurate Timing: Uses high-precision clocks for smooth, jitter-free falling animations.
- Live Configuration: Includes a GUI Control Panel to adjust settings in real-time.
- Change Scroll Speed.
- Switch Fall Direction (Up/Down).
- Move the overlay position.
- Zero Injection: Safe to use; does not inject into game memory or modify game files.
📦 Build & Distribution
- Automated Build System: Includes a build.py script to compile the project into a standalone
.exe. - Auto-Packaging: Automatically zips the build output (
RainingKeysPython.ziporRainingKeysPython-debug.zip). - Debug toggle: Easily switch between Console/Windowed mode via config.ini.
🚀 How to Use
- Download the release archive.
- Run
RainingKeysPython.exe. - The overlay and the settings window will open.
- Press
A,S,L,;(default keys) to see the visualization!