Files
openroller/docs/re_gc_song_select.md
tsuki 831d96e562 Initial public source release
Split reusable rendering and format support into vectorail-core and vectorail-gc.
2026-08-02 17:05:27 +02:00

62 lines
2.2 KiB
Markdown

# GC-style song selection
Running the stage player without a stage path opens the graphical song
selector backed by `data/boot/stage_param.dat`:
```sh
./tools/run_stage_player.sh
```
Passing a stage remains the direct reverse/debug path:
```sh
./tools/run_stage_player.sh GC/data/stage/ac_oshama_hard.dat
```
The selector renders the original English `selectmusic2` and `selectmode2`
RVB/MTX scenes. Exact task flow, coordinates, animation bindings, and the
container reverse are recorded in `docs/re_gc_menu_exe.md` from
`game471.exe` itself.
What is already wired:
- the original portrait 720x1280 `SELECT MUSIC` and `SELECT MODE` scenes;
- original MovieClip frame labels, display-list depth updates, transforms,
alpha fades, and RGB color transforms;
- the original `common_eng` controller HUD and animated Yume navigator scenes;
- the executable's purple-to-pink background strip, rotating wire sphere,
translucent menu geometry, and `balloon.dds` lower backing layer;
- genre filtering from the catalog genre byte;
- the twelve dynamically linked `mc_music_link`/`mc_index_link` carousel
slots with their executable positions and opacity table, including original
`s_j_eng.dds` genre headings as real scrolling entries;
- title rows, jacket, source and artist cut directly from each original
`data/stage/2d/<imageKey>_menu.dds` atlas;
- SIMPLE/NORMAL/HARD/EXTRA availability and selected-state MovieClips from the
same catalog;
- separate select-music and difficulty states, matching the task transition
proven in the executable;
- launch through the selected difficulty's exact `ac_*` stage ID.
Entries are included only when both their menu atlas and at least one local
stage `.dat` exist. This dump currently yields 887 playable songs from the 924
master catalog records. Only the visible carousel window is uploaded to the
GPU, rather than all jackets at once.
Controls:
```text
Up / Down, W / S previous / next song
PageUp / PageDown jump by eight songs
Q / E or Tab genre
Enter or Space enter difficulty screen
Escape close selector
Difficulty state:
```text
Arrows, W / S, A / D difficulty
Enter or Space play
Escape back to music selection
```