List of Hardcoded Subs in Rhythm Heaven Megamix
Below is a list of hardcoded subs in Rhythm Heaven Megamix, and what they do.
For the tickflow code of every sub, see this document. Synchronous subs end with return. Asynchronous subs end with stop. Call synchronous subs with sub. Call asynchronous subs with async_sub.
List
0x0
Constantly checks if a textbox is on screen. If there’s a textbox, pause tickflow execution until the textbox goes away.
0x1
Possibly checks if .aac (the music file) is fully loaded and ready to be played? If not, pause tickflow
0x2
Possibly checks if .bcgrp (the sfx file) is fully loaded and ready to be played back? If not, pause tickflow.
0x3
Pauses tickflow until all sfx is loaded properly
0x4 (sub_Glb_scene_init_wait_loop)
Initializes the next game scene. Used in Remix transitions to keep it on beat (scene loading can and will make tickflow execution offbeat from the music without this.)
0x5 (sub_Glb_prologue_res_loading_wait_loop)
Pause tickflow until resources for the prologue is done loading.
0x6 (sub_Glb_prologue_end_wait_loop)
Wait for prologue to finish/be skipped before continuing tickflow execution.
0x7
Pause tickflow execution if two conditions (0x81 and 0x83<2>) are not fulfilled.
0x8 (sub_Glb_game_load_cmn_res)
Game setup (load Perfect assets, Challenge Train assets, Practice assets), game will crash without this.
0x9 (sub_Glb_game_load_cmn_res_without_tutorial)
Game setup, without practice. Usually used for Remixes. (Load Perfect assets and Challenge Train assets), game will crash without this.
0xA (sub_Glb_game_init)
Game initialization (not found in remixes.)
0xB (sub_Glb_game_exit)
Load results screen assets, go to results screen.
0xC (sub_Glb_skip_common)
Triggered when you skip or complete the practice (resets the game state.)
0xD (sub_Glb_retry_common)
Triggered when you retry the minigame. Very similar to sub 0xC.
0xE (sub_Glb_retry_remix_medley)
Triggered when you retry a medley-type remix. Calls sub 0xD and then switches to scene 0x44.
0xF (sub_Glb_treasure_result)
Not called normally, rather, it is called in sub 0xB. Goes to challenge train results.
0x10
Disable pausing for 0.25 beats
0x11
Disable pausing for 0.5 beats
0x12
Disable pausing for 1 beat
0x13
Disable pausing for 2 beats
0x14
Disable pausing for 4 beats
0x15
Disable something for 0.25 beats
0x16
Disable something for 0.5 beats
0x17
Disable something for 1 beat
0x18
Disable something for 2 beats
0x19
Disable something for 4 beats
0x1A
Disable something else for 0.25 beats
0x1B
Disable something else for 0.5 beats
0x1C
Disable something else for 1 beat
0x1D
Disable something else for 2 beats
0x1E
Disable something else for 4 beats
0x1F
4/4 drum beat
0x20
4/4 looping drum beat
0x21
3/4 drum beat
0x22
3/4 looping drum beat
0x23
Vocal "1, 2, 3, 4"
0x24
Vocal "1... 2... 1, 2, 3, 4"
0x25
Vocal "1, 2, 3" (pitch progressively gets lower)
0x26
Vocal "1, 2, 3" (pitch progressively gets lower, played twice)
0x27
Vocal "3, 4"
0x28
Vocal "3, Go!"
0x29
A simple textbox remover.
0x2A
A simple text string remover.
0x2B
Rhythm Help Display: 1 row
0x2C
Rhythm Help Display: 2 rows, fast 0-7 then slow 0-3
0x2D
Rhythm Help Display: 2 lines simultaneously
0x2E
Rhythm Help Display: Rows 1 and 3 simultaneously, then row 2, slow, index 0-3 only
0x2F
Rhythm Help Display: 2 rows, goes through row 1 then stops until the next set
0x30
Rhythm Help Display: 2 rows
0x31
Rhythm Help Display: 3 rows
0x32
Rhythm Help Display: 1 row, swing
0x33
Rhythm Help Display: 2 rows, swing (Used in Glee Club 2)
0x34
Rhythm Help Display: 3 rows, swing
0x35
Rhythm Help Display: 2 rows, fast 4 beats to complete
0x36
Rhythm Help Display: 3 rows, fast 7 beats to complete
0x37
Rhythm Help Display: 1 row, slow, 4 beats long Used in Super Samurai Slice
0x38
Rhythm Help Display: 2 rows, slow, index 0-3 only (Used in Blue Birds, Glee Club and Exhibition Match)
0x39
Rhythm Help Display: 2 lines simultaneously
0x3A
Rhythm Help Display: 2 rows, goes through row 1 then stops until the next set
0x3B
Rhythm Help Display: Broken sequence
0x3C
Rhythm Help Display: 2 rows, goes through row 1 then stops until the next set (Used in Airboarder)
0x3D
Rhythm Help Display: Broken sequence
0x3E
Rhythm Help Display: Broken sequence
0x3F
Rhythm Help Display: Broken sequence
0x40
Rhythm Help Display: Broken sequence
0x41
Rhythm Help Display: Broken sequence
0x42
Rhythm Help Display: Broken sequence
0x43
Set 0x8E to 0
0x44
Set 0x8E to 1
0x45
Set 0x8E to 2
0x46
Set 0x8E to 3
0x47
Set 0x8E to 4
0x48
Set 0x8E to 5
0x49
Set 0x8E to 6
0x4A
Set 0x8E to 7
0x4B
Set 0x8F to 0
0x4C
Set 0x8F to 1
0x4D
Set 0x8F to 2
0x4E
Set 0x8F to 3
0x4F
Set 0x8F to 4
0x50
Set 0x8F to 5
0x51
Set 0x8F to 6
0x52
Set 0x8F to 7
0x53
Activates all Challenge Land things (Mii heads bobbing, Monster Goal zoom out, Heart pulsing, Perfect icon flashing). Calls subs 0x54 and 0x55
0x54
"Go for Perfect!" blinking
0x55
Life Goal heart pulsing
Game-Specific Subs
Any sub with a value starting at 0x56 is game specific. What may be a sub to start the real game in for one engine might be a sub to simply call a certain cue in another game. See this for in-depth documentation for all the different games.