Skip to content

feat: introduce MainMenuV2#637

Open
Acivev wants to merge 60 commits into
osudroid:GLESfrom
Acivev:GLES2-new-main-menu
Open

feat: introduce MainMenuV2#637
Acivev wants to merge 60 commits into
osudroid:GLESfrom
Acivev:GLES2-new-main-menu

Conversation

@Acivev

@Acivev Acivev commented May 19, 2026

Copy link
Copy Markdown
Member

Replaces the legacy MainScene menu with a fully rewritten main menu
inspired by osu!lazer :3

New components:

  • Logo: beat-synced pulse, kiai scale burst
  • Spectrum: single-VBO audio visualizer ring (Full / Low / Off quality)
  • SideFlashes: additive gradient flashes on each beat
  • StarFountain: kiai-triggered particle fountains
  • MusicPlayerPanel: seekbar, playback controls, track info

Changes:

  • UIGradientBox added to reco1l.andengine.ui as a reusable primitive
  • CatJamCircleShader added for the kiai CatJam overlay
  • Spectrum quality setting added to Graphics settings (Full / Low / Off)
  • MainScene, SongMenu, LobbyScene, SettingsFragment updated for coexistence

Copilot AI review requested due to automatic review settings May 19, 2026 17:21

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces MainMenuV2, a rewritten main menu scene inspired by osu!lazer, and rewires multiple entry/exit points (song select, lobby, settings, beatmap listing, back/exit handling) to coexist with or transition into the new menu. It also adds new visual components (spectrum ring, side flashes, star fountains, CatJam overlay) plus supporting primitives/settings.

Changes:

  • Add MainMenuV2 and new menu components (logo effects, spectrum visualizer with quality levels, side flashes, star fountain, music player panel).
  • Add reusable rendering primitive UIGradientBox and a custom CatJam circle-mask shader/sprite pipeline.
  • Wire the app flow to use MainMenuV2 (song menu back, lobby back, settings interactions, beatmap listing music control) and add a graphics setting for spectrum quality.

Reviewed changes

Copilot reviewed 19 out of 22 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
src/ru/nsu/ccfit/zuev/osu/menu/SongMenu.java Redirect song menu “back” flow to MainMenuV2.
src/ru/nsu/ccfit/zuev/osu/MainScene.java Redirect legacy MainScene.show() to MainMenuV2 when present.
src/ru/nsu/ccfit/zuev/osu/MainActivity.java Instantiate MainMenuV2, set it as the initial scene, and route replay/banner/exit handling to it.
src/ru/nsu/ccfit/zuev/osu/GlobalManager.java Add global storage/accessors for MainMenuV2; remove eager MainScene creation in init().
src/ru/nsu/ccfit/zuev/osu/Config.java Add kiaiCatJam toggle and spectrum quality preference getters/setters.
src/com/reco1l/andengine/ui/UIGradientBox.kt New gradient rectangle primitive using per-vertex alpha.
src/com/osudroid/ui/v2/multi/LobbyScene.kt Route lobby “back” to MainMenuV2.
src/com/osudroid/ui/v1/SettingsFragment.kt Refresh online/timing via MainMenuV2 and use it as the “old scene” for HUD editor autoplay launch.
src/com/osudroid/beatmaplisting/BeatmapListing.kt Route preview pause/resume music control via MainMenuV2.
src/com/acivev/ui/menu/main/StarFountain.kt New kiai-triggered particle fountain effect.
src/com/acivev/ui/menu/main/Spectrum.kt New single-VBO spectrum ring with quality throttling options.
src/com/acivev/ui/menu/main/SideFlashes.kt New beat/kiai-driven side gradient flash effect.
src/com/acivev/ui/menu/main/MusicPlayerPanel.kt New collapsible now-playing panel with seek + controls.
src/com/acivev/ui/menu/main/MainMenuV2.kt New main menu scene implementation and app navigation entry points.
src/com/acivev/ui/menu/main/Logo.kt New logo behavior (beat pulse, kiai burst, CatJam toggle/overlay, spectrum integration).
src/com/acivev/ui/menu/main/KiaiCatJamSprite.kt Sprite implementation for CatJam frames clipped to a circle via shader.
src/com/acivev/andengine/opengl/CatJamMaskedShader.kt GLSL shader used by the CatJam sprite masking approach.
res/xml/settings_graphics.xml Add spectrum visualizer quality setting.
res/values/strings_temporary_for_locals.xml Add strings/arrays for spectrum quality preference UI.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/ru/nsu/ccfit/zuev/osu/MainActivity.java
Comment thread src/ru/nsu/ccfit/zuev/osu/MainActivity.java Outdated
Comment thread src/ru/nsu/ccfit/zuev/osu/MainActivity.java
Comment thread src/ru/nsu/ccfit/zuev/osu/MainActivity.java
Comment thread src/ru/nsu/ccfit/zuev/osu/menu/SongMenu.java
Comment thread src/com/osudroid/ui/v1/SettingsFragment.kt
Comment thread src/com/osudroid/ui/v2/multi/LobbyScene.kt
Comment thread src/com/acivev/ui/menu/main/Spectrum.kt
Comment thread src/com/acivev/ui/menu/main/SideFlashes.kt Outdated
Comment thread src/com/acivev/andengine/opengl/CatJamMaskedShader.kt

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 22 changed files in this pull request and generated 4 comments.

Comment thread src/ru/nsu/ccfit/zuev/osu/MainActivity.java
Comment thread src/com/acivev/ui/menu/main/Spectrum.kt Outdated
Comment thread src/com/acivev/ui/menu/main/MainMenuV2.kt
Comment thread src/com/acivev/ui/menu/main/MusicPlayerPanel.kt Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 23 changed files in this pull request and generated 2 comments.

Comment thread src/ru/nsu/ccfit/zuev/osu/GlobalManager.java Outdated
Comment thread src/com/acivev/andengine/opengl/CatJamCircleShader.kt Outdated

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 23 changed files in this pull request and generated 6 comments.

Comment thread src/ru/nsu/ccfit/zuev/osu/GlobalManager.java Outdated
Comment thread src/ru/nsu/ccfit/zuev/osu/MainActivity.java Outdated
Comment thread src/ru/nsu/ccfit/zuev/osu/menu/SongMenu.java
Comment thread src/com/osudroid/ui/v2/multi/LobbyScene.kt
Comment thread src/com/acivev/ui/menu/main/MainMenuV2.kt Outdated
Comment thread src/ru/nsu/ccfit/zuev/osu/MainActivity.java

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 23 changed files in this pull request and generated 2 comments.

Comment thread src/com/acivev/ui/menu/main/MainMenuV2.kt Outdated
Comment thread src/com/acivev/ui/menu/main/MainMenuV2.kt

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 20 out of 23 changed files in this pull request and generated 6 comments.

Comment thread src/ru/nsu/ccfit/zuev/osu/GlobalManager.java Outdated
Comment thread src/com/acivev/ui/menu/main/MainMenuV2.kt Outdated
Comment thread src/com/acivev/ui/menu/main/MainMenuV2.kt Outdated
Comment thread src/com/acivev/ui/menu/main/MainMenuV2.kt Outdated
Comment thread src/ru/nsu/ccfit/zuev/osu/MainActivity.java Outdated
Comment thread src/com/osudroid/ui/v1/SettingsFragment.kt Outdated
@Rian8337 Rian8337 added the release-stream:gles Issues/pull requests that targets the GLES release stream. label Jun 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release-stream:gles Issues/pull requests that targets the GLES release stream. size/XXL

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants