Skip to content

Releases: Ian-bug/RainingKeysPython

Release Notes - Version 1.3.5

16 Feb 16:56

Choose a tag to compare

Bug Fixes

  • Fixed NameError: name 'layout' is not defined in LaneSettingsGroup
    • Moved self.setLayout(layout) from update_from_config() to init_ui() in core/ui/components.py:136

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_direction setting 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)

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

25 Jan 12:43

Choose a tag to compare

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 AppConfig dataclass 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

  1. Download RainingKeysPython.zip from the Assets section below.
  2. Extract the zip file to a folder of your choice.
  3. Run RainingKeysPython.exe to start the application.
  4. 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

24 Dec 06:35

Choose a tag to compare

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.py now handles encoding errors more gracefully.

🚀 How to Use

  1. Download RainingKeysPython.zip.
  2. Extract and run RainingKeysPython.exe.
  3. Open the Settings Window to enable the KeyViewer, change colors, and adjust transparency.
  4. Enjoy the rain!

Credits to AdofaiTweaks for inspiration!

v1.1.0: Dynamic Lanes & Interactive Config

23 Dec 08:16

Choose a tag to compare

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, Y position) 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.py script 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

  1. Download RainingKeysPython.zip.
  2. Extract and run RainingKeysPython.exe.
  3. Use the Config Window to set up your keys and position.
  4. 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

21 Dec 15:37

Choose a tag to compare

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.zip or RainingKeysPython-debug.zip).
  • Debug toggle: Easily switch between Console/Windowed mode via config.ini.

🚀 How to Use

  1. Download the release archive.
  2. Run RainingKeysPython.exe.
  3. The overlay and the settings window will open.
  4. Press A, S, L, ; (default keys) to see the visualization!