List of Global Functions in Rhythm Heaven Megamix
From Rhythm Heaven Resource
Jump to navigationJump to search
0x00 - async_sub X, Y, Z
X = ID number of subruitine (Usually 0x56 and beyond)
Y = Time in ticks before executing (Usually 0)
Z = Category (Usually omitted, defaults to 0x7D0)
0x01<0> - get_async X, Y
X = Slot
Y = Time in ticks
0x01<1> - set_func X, Y
X = Slot
Y = Location to store in slot
0x02 - async_call X, Y
X = Location
Y = Time in Ticks
0x03<0> - kill_all
0x03<1> - kill_cat X
0x03<2> - kill_loc X
0x03<3> - kill_sub X
0x04 - sub X
X = Sub ID (Tickflow will wait until sub is completed before continuing)
0x05 - get_sync X
X = Get a function set by set_func
0x06 - call X
X = Location (Tickflow will wait until sub is completed before continuing)
0x07 - return
0x08 - stop
0x09 - set_cat X
X = Set current thread to the specified category
0x0A - set_condvar X
X = Conditional Variable
0x0B - add_condvar X
X = Conditional Variable
0x0C - push_condvar
0x0D - pop_condvar
0x0E<X> - rest X
X = Time in Ticks (1/48)
0x0F<0> - setrest X, Y
X = Slot to store rest in
Y = Time of rest in ticks
0x0F<1> - getrest X
X = Slot to take rest from
0x10<X> - rest for X/32 seconds (found in Pajama Party and one other location)
0x20 - 1 second
Used values: 0x96, 0xA0
0x11 - rest_reset
0x12 - unrest X
X = Time in ticks to skip
0x13 - ??? (Most likely unused)
0x14<X> - label X
X = ID of label
0x15<X> - goto X
X = ID of label to go to
0x16<0> - if X = If equal to X
0x16<1> - if_neq X = If not equel to X
0x16<2> - if_lt X = If less than X
0x16<3> - if_leq X = If less or equal to X
0x16<4> - if_gt X = If greater than X
0x16<5> - if_geq X = If greater or equal to X
0x17 - else
0x18 - endif
If X is equal to the conditional variable, do the first block of Tickflow
If not, do the second block of Tickflow
0x19 - switch
0x1A - case X
0x1B - break
0x1C - default
0x1D - endswitch
If the conditional variable is equal to X, run case X. If it's equal to Y, run case Y.
If it's not equal to any, run default. Use break to not run cases you don't want.
0x1E<0> - set_countdown X
X = Initial Value
0x1E<1> - set_countdown condvar
Sets initial value to condvar
0x1E<2> - get_countdown_init
Sets condvar to initial value
0x1E<3> - get_countdown_prog
Sets condvar to the progress
0x1E<4> - get_countdown
Sets condvar to the countdown value
0x1E<5> - dec_countdown
Increments progress by 1, thus decrements countdown by 1.
0x1F - ??? (Unused?)
0x20 - ??? (Unused?)
0x21 X - Tempo
X = Sets tempo to X/256 of the original tempo
0x22 X, Y, Z - Tempo, Relative
X = Multiplies tempo by X/256
Y = Lower bound
Z = Upper bound
0x23 0xXXXXXXX - ??? Also changes tempo (Usually right next to 0x53 and 0x4F)
0x24 X - speed X
X = Sets speed to X/256 of the original speed
0x25 X, Y, Z - speed_relative X, Y, Z
X = Multiplies speed by X/256
Y = Lower bound
Z = Upper bound
0x26 - ??? (Unused?)
0x27 X, Y - Speed control but based around 120 BPM? (Unused)*
X = ???
Y = Set speed to X/120 (0x78 = normal speed)
* Every tickflow file has 0x21 0x78 (set default tempo to 120 BPM), this is probably why this operation exists
0x28 X - engine X
X = Scene ID
0 - Spaceball
1 - The Clappy Trio
2 - Sneaky Spirits
3 - Rhythm Tweezers
4 - Bouncy Road
5 - Marching Orders
6 - Night Walk
7 - Quiz Show
8 - Bunny Hop
9 - Rat Race
0xA - Power Calligraphy
0xB - Space Dance
0xC - Tap Trial
0xD - Ninja Bodyguard
0xE - Airboarder
0xF - Lockstep
0x10 - Blue Birds
0x11 - The Dazzles
0x12 - Freeze Frame
0x13 - Glee Club
0x14 - Frog Hop
0x15 - Fan Club
0x16 - Dog Ninja
0x17 - Rhythm Rally
0x18 - Fillbots
0x19 - Shoot-'em-up
0x1A - Big Rock Finish
0x1B - Munchy Monk
0x1C - Built to Scale
0x1D - Air Rally
0x1E - Exhibition Match
0x1F - Flock Step
0x20 - Cheer Readers
0x21 - Double Date
0x22 - Catch of the Day
0x23 - Micro-Row
0x24 - Fork Lifter
0x25 - Hole in One
0x26 - Flipper-Flop
0x27 - Ringside
0x28 - Karate Man
0x29 - Working Dough
0x2A - Figure Fighter
0x2B - Love Rap
0x2C - Bossa Nova
0x2D - Screwbot Factory
0x2E - Launch Party
0x2F - Board Meeting
0x30 - Samurai Slice
0x31 - See-Saw
0x32 - Packing Pests
0x33 - Monkey Watch
0x34 - Blue Bear
0x35 - Animal Acrobat
0x36 - Tongue Lashing
0x37 - Super Samurai Slice
0x38 - Fruit Basket
0x39 - Second Contact
0x3A - Pajama Party
0x3B - Catchy Tune
0x3C - Sumo Brothers
0x3D - Tangotronic 3000
0x3E - Kitties!
0x3F - LumBEARjack
0x40 - Sick Beats
0x41 - Coin Toss
0x42 - Clap Trap
0x43 - Charging Chicken
0x44 - Black Screen
0x45 - ???
0x46 - Title Screen
0x47 - Game Select (Land)
0x48 - Game Select (Tower)
0x49 - Prologue
0x4A - Epilogue
0x4B - Opening
0x4C - Farewell/To Heaven World
0x4D - Gameplay Counts
0x4E - Letter After MED
0x4F - Intro
0x50 - Goat Stable
0x51 - Café
0x52 - Shop
0x53 - Museum
0x54 - Badges
0x55 - Memories
0x56 - Mascots
0x57 - Epilogue Slideshow
0x58 - Streetpass Terrace
0x59 - Challenge Land
0x5A - Challenge Train
0x5B - Challenge Train Results
0x5C - Challenge Train Results
0x5D - Challenge Train Results
0x5E - Challenge Course Select(?)
0x5F - ???
0x60 - Download Play Menu
0x61 - ???
0x62 - "Thank you for playing!" (Demo)
0x28<1> - Used in sub 4, likely used to determine whether a scene is completely loaded, sets condvar to 1 if so
0x28<2> - Load scene stored with engine<3> (Automatically applies a black screen to the bottom screen that must be unfaded with the 'fade' operation, stops all tickflow execution/music)
0x28<3> X - engine<3>, Store scene to be loaded later with 0x28<2>
X = Scene ID
0x28<2> and engine<3> are used for most menu transitions
0x28<4> X - engine<4>, Set touchscreen background (Timing Display effects will still be visible)
0 - Disable (Unused)
1 - Enable
0x29<0> - Set scene initialization counter to 0
0x29<1> X - Increase that counter by X (Unused)
0x29<2> - Decrease rest timer by the counter's value
Used in sub 4 to compensate for the time it takes for a remix to load the next game
0x2A<0> - game_model X, Y
0x2A<1> - game_cellanim X, Y
0x2A<2> - game_effect X, Y
0x2A<3> - game_layout X, Y
X = Assign a scene to Y
Y = Slot
0x2B X, Y - Version
X = Game Scene ID
Y = Version
0 - Practice (Short)/Karate Man Games/Endless Games
1 - Real Game (Short)
2 - Practice (Long)
3 - Real Game (Long)
4 - Practice (Arrange)
5 - Real Game (Arrange)
6 - Lush Remix
7 - Honeybee Remix
8 - Machine Remix
9 - Citrus Remix
0xA - Donut Remix
0xB - Barbershop Remix
0xC - Songbird Remix
0xD - Left-Hand Remix
0xE - Right-Hand Remix
0xF - Unused Remix
0x10 - Final Remix
0x2B<1> X - Check Setup
X = Game Scene ID
Used in Super Samurai Slice to determine which sfx to play for enemies coming out
from the bottom (water, bush or none)
0x2C - Stops most of the scene visually, some animations are still functional. Cues and some camera movements go on normally. (Unused)
0x2C<1> - Appears only once in sub56 in Airboarder, seems to set condvar to 1 for something. Seems to be used to stop beat animations at some point
0x2D X - Pausing
0 - Disable
1 - Enable
0x2E X - "Waiting for other players." (Used value: 0x18)
0x2F - ??? (Used in remix transitions)
0x30 - ??? (Used in remix transitions)
0x31<0> X, Y, Z - set_model X, Y, Z
0x31<1> X - remove_model X
0x31<2> X - has_model X (Sets coditional variable to 1 if X contains assets)
X = Slot to load Model to
Y = filename of Model
Z = Unknown, always 1
0x32 - ??? (Unused?)
0x33 - ??? (Unused?)
0x34 - ??? (Unused?)
0x35<0> X, u"Y", Z - set_cellanim X, Y, Z
0x35<1> X - cellanim_busy X (Sets coditional variable to 1 if X is changing)
0x35<2> X - remove_cellanim X
X = Slot to load Cellanim to
Y = filename of Cellanim
Z = Unknown, always -1
0x36 X, u"Y", Z - Accepts the same arguments as set_cellanim... except that it doesn't actually set the cellanim (but the loading mascot still appears) (Unused)
0x37 - Causes loading mascot to appear, unknown function (Unused)
0x38 - ??? (Unused?)
0x39<0> X, u"Y", Z - set_effect X, Y, Z
0x39<1> X - effect_busy X (Sets coditional variable to 1 if X is changing)
0x39<2> X - remove_effect X
X = Slot to load Effect to
Y = filename of Effect
Z = Unknown, always -1
0x3A X, u"Y", Z - Accepts the same arguments as set_effect... except that it doesn't actually set effects (but the loading mascot still appears) (Unused)
0x3B U, V, "W", X, Y, Z, S - Play Effects (Used for Quiz Show's Skill Star)
U = Which Screen
0+- Top (Unused)
2 - Bottom
V = Slot (Used value: 1)
W = Animation (Used value: "cmn_star00")
X = X Position (Used value: 0)
Y = Y Position (Used value: 0)
Z = Size (Used value: 0x100)
S = ??? (Used value: 0x18)
0x3C - ??? (Unused?)
0x3D - Stop any effect that's currently on screen
0x3E<0> X, u"Y", Z - set_layout X, Y, Z
0x3E<1> X - effect_layout X (Sets coditional variable to 1 if X is changing)
0x3E<2> X - remove_layout X
X = Slot to load Layout to
Y = filename of Layout
Z = Unknown, always -1
0x3F - ??? (Unused?)
0x40<0> 0xXXXXXXX - play_sfx 0xXXXXXXX
0x40<1> 0xXXXXXXX, Y - Play SFX w/ volume control
0x40<2> 0xXXXXXXX, Y, Z - Play SFX w/ pitch control
0xXXXXXXX = ID of the Sound Effect
Y = Volume of Sound Effect (0xFF is normal)
Z = Pitch of Sound Effect (0x17E is normal)
0x41 - ??? (Unused?)
0x42<X> Y - Manipulation of SFX befined by 0x48
X = Volume (0x100 = Default) (Used values: 0, 0xC8)
Y = Time n ticks (Used values: 0xB4, 0x12C)
0x43 X - Change Pitch of all SFX (0x100 is normal)
X = Pitch
Used values: 0XC0, 0x100, 0x140, 0x200
0x44 X - SFX Panning (Unused)
Example:
play_sfx 0xXXXXXXX
0x44 -0x100
Modifies panning for the play_sfx above to be full pan to the left
0x45 X - Delay SFX by X ticks (Used value: 0x80) (Only appears in unused Double Date subs)
0x46 0x78 - Delay SFX? (Found in Monkey Watch on the same beats as the counts)
0x47<X> - SFX Volume (Used value: 0x60) (0x100 is normal)
0x48<X> - Define sound effect to be manipulated by 0x42
X = Slot?
1 - Used in Catch of the Day
0xF - Used in Coin Toss
0x49 - ??? (Unused?)
0x4A - ??? (Unused?)
0x4B - ??? (Unused?)
0x4C - ??? (Unused?)
0x4D - ??? (Unused?)
0x4E - ??? (Unused?)
0x4F 0xXXXXXXX - Which tempo file will be used
0x50 0xXXXXXXX, Y - Play BCSTM file (used for the Café's music)
X = SFX ID
Used value: 0x1000002
Y = ??? (Always 1)
0x51 X - Music
0 - Best not to use this (unless you want a laugh)
1 - Play .aac music (Set up by 0x61<2>)
0x52 - Set condvar to 1 if something involving .aacs is true (does it check to see if the .aac is fully loaded and playable?) (Used in sub 1)
0x53 0xXXXXXXX - Set loopable audio to be used in 0x55. Almost always paired with 0x23. Seems to apply the tempo of the tempo file of 0xXXXXXXX regardless of the presence of 0x23
X = Sound Effect ID (The SFX value for songs match values with their respective tempo file. Ex: 0x1000132 is both the SFX value for Working Dough's practice theme and its tempo file value.)
0x54 0xXXXXXXX, Y - Play SFX as music (used in Quiz Show) (can be faded out with 0x57)
X = ID of the Sound Effect (Used values: 0x100019D, 0x100019E, 0x100019F)
Y = Use corresponding tempo file(?) (Used value: 1)
0 - No (Tempo will be default 120 bpm?) (Unused)
1 - Yes
0x55 X - Play sfx loaded in 0x53 (Used value: 1)
0x56 - Set condvar to 1 if something involving .bcgrps is true (same thing with 0x52 but with BCGRP files perhaps?) (Used in sub 2)
0x57 X - Music Fade Out
X = Time in ticks (Used values: 0, 0x1E, 0x30, 0x32, 0x78, 0xC0)
0x58 X, Y - Music Volume Control (Used in Sneaky Spirits practice and Quiz Show)
X = Volume (Used values: 0, 0xFF, 0x100)
Y = Time in Ticks (Used values: 1, 0x3C, 0x60)
0x59 X, Y - Something related to SFX. Found once in sub 0xC
X = ??? (Used value: 0x100)
Y = ??? (Used value: 0)
0x5A<W> X, Y, Z - All SFX volume control (Used in Flock Step)
W = Type(?)
0 - SFX
1 - Music
X = Volume (Used values: 0, 0x100)
Y = Time in ticks (Used values: 0, 0x240)
Z = ??? (Used values: 0)
0x5B - ??? (Unused?)
0x5C - ??? (Unused?)
0x5D X, u"Y" - Assign BCGRP (SFX file) to slot
X = Slot number (Vanilla game has a range between 0 and 9)
Y = BCGRP file name
0x5D<2> u"X" - Set SFX to be assigned to a slot (Used everywhere except medley remix asset loading, Quiz Show, Big Rock Finish, and Endless games)
X = BCGRP file name
0x5D<3> X - Assign SFX specified in 0x5D<2> to slot
X = Slot
0x5E - ??? (Unused?)
0x5F X - remove_sfx X
0x5F<1> - Clear any loaded BCGRPs
X = Slot to remove SFX Group from
0x60 - ??? (Unused?)
0x61 - Music-related
0x61<2> u"music" - Set the .aac file
music = filename of .aac music to play
0x61<3> 0 - ???
0x62 X - Unload .aac file
0x62<1> - Clear any loaded .aacs
X = Slot to remove .aac file from (Used value: 0)
0x63 0xXXXXXXX - Unloads tempo file
0x64 - Set condvar to 1 if all SFX is loaded completely (Used in sub 3)
0x65 - Display textbox with attributes specified by 0x65<1> - 0x65<0x10>
0x65<1> - M, "string" - Display textbox with string from which MSBT to use
0x65<2> - Remove textbox
0x65<3> X, Y - X, Y placement
Positive X values shift the box to the right, negative X values shift it to the left
Positive Y values shift the box lower, negative Y values shift it higher
0x65<4> X, Y - Width and height of the textbox
0x65<5> X - Text alignment within textbox
0 - Top left
1 - Top center
2 - Center
3 - Left center
4+- Nothing (uses whatever was set last)
0x65<6> 0 - ??? (Used in Dog Ninja's practice)
0x65<7> X - Tail (used to show who onscreen is speaking)
0 - Disable
1 - Enable
0x65<8> X - Which side
0 - Bottom
1 - Top
2+- Default (Center of screen)
0x65<9> X - Horizontal location of tail
0 - Very left of textbox
0x100 - Very right of textbox, possibly detached
0x100+- Detached
If left undefined - Center of textbox
0x65<0xA> X - Tail (used to show who onscreen is speaking) (Unused)
0x65<0xB> X - Which side (Used in Blue Birds)
0 - Left
1 - Right (Unused)
0x65<0xC> X - Vertical location of tail (Unused) (Moves the whole textbox instead)
Higher X values cause the textbox to be placed lower than specified while keeping the tail at the same spot
Negative X values cause the textbox to be placed higher than specified while keeping the tail at the same spot
0x65<0xD> X - Size of text, not bound by the size of the textbox (Used in Air Rally 2)
Used value: 0x3C
0x100 - Normal Size
0x65<0xE> - Reset 0x65<0xD> to normal size (Unused)
0x65<0xF> X - Size of text, but bound to the size of textbox (Used in Spaceball and Donut Remix)
Used values: 0xFF, 0x133
0x65<0x10> - Reset 0x65<0xF> to normal size (Used in Spaceball)
0x66 - M, "string" Sets strings from specified MSBT to display with 0x66<1>
0x66<1> - Display strings using attributes defined in 0x65
0x66<2> - Remove textbox
0x66<3> - Check if all strings of specified name have been displayed, sets condvar to 0 if not, which will loop back code execution to display the next string until it sets condvar to 1
Ex: 0x66 9, "rvlKarate00_tutorial_a"
0x66<1>
Will display both "rvlKarate00_tutorial_a_00" and "rvlKarate00_tutorial_a_01", which is "Welcome to Karate Training!" and "Watch out for flying objects, and press A to punch them!"
0x67 - Display text over translucent black box
0x67<1> M, "string" - Display string from specified MSBT
0x67<2> - Remove textbox
0x67<3> X - Vertical location of textbox
-0x64 - Aligned to top
0x64 - Aligned to bottom
Seems to default to -0x3C if 0x67<3> is not called
0x67<4> X - Height of textbox
0x68 - Display text w/out textbox
0x68<1> M, "string" - Display string from specified MSBT
0x68<2> - Remove string
0x68<3> X, Y - X, Y placement
Positive X values shift the string to the right, negative X values shift it to the left
Positive Y values shift the string lower, negative Y values shift it higher
0x68<4> X - Text alignment
0 - Left
1+- Center
M = Which msbt file
0 - common
1 - game_info
2 - layout
3 - map
4 - coffee
5 - bonus
6 - treasure
7 - agb
8 - ntr
9 - rvl
0xA - ctr
0xB - remix
0xC - agb_result
0xD - ntr_result
0xE - rvl_result
0xF - ctr_result
0x10 - remix_result
0x11 - demo_dl
0x69 - ??? (Used in practice for Bunny Hop, Catchy Tune, Flipper-Flop and Karate Man)
0x6A X - input X
0 - Disable
1 - Enable
0x6B<0> X - Automatic Inputs (Used in the Demo)
0 - Disable
1 - Enable
0x6B<1> X - Force Input
0 - A Button
1 - B Button
2 - D-Pad Left
3 - D-Pad Right
4 - D-Pad Up
5 - D-Pad Down
6 - A Button (Release)
7 - B Button (Release)
8 - D-Pad Left (Release)
9 - D-Pad Right (Release)
0xA - D-Pad Up (Release)
0xB - D-Pad Down (Release)
0x6C X - Leniency Overwrite (Meant to make faster tempos more forgiving)
0 - Off
1 - On
0x6C<1> X - Amount of Leniency
Used values: 0x100, 0x140, 0x115, 0x12E, 0x155, 0x1AA, 0x12A, 0x26A
Used only in Big Rock Finish and Built to Scale in the original game
0x6D X, 0xYYYYYYY, 0xZZZZZZZ - A Button Prompt (for textboxes)
X = Which button to use (Will always display A button prompt)
0 - None (Unused)
1 - A
2 - B (Unused)
3 - Either A/B (Unused)
Y = Sound Effect (Press)
Used value: 0x10002BA - SE_SEND_MES_ON
Z = Sound Effect (Release)
Used value: 0x10002BB - SE_SEND_MES_OFF
0x6D<1> - Checks if you've Pressed and Released the A button
0x6E - ??? (Unused?)
0x6F<X> - "Skip" in Pause menu
0 - Disable
1 - Enable
0x70 X - Related to the skip option in the pause menu. Found once in sub 0xC
X = ??? (Used value: 0)
0x70<1> 0xXX - Send player to sub 0xXX after skip
0x71 - Disables or resets something related to the Pause menu. Found once in sub 0xC
0x72<X> - "Start Over" in the Pause menu (Unused?)
0 - Disable
1 - Enable
0x73 - ??? (Unused?)
0x73<1> 0xXX - Send player to sub 0xXX after starting over (Unused?) (Super broken?)
0x74 - ??? (Unused?)
0x75 X - Sets your "Start Over" state
0 - You are not starting over
1 - You are starting over
0x75<1> - Checks if you are starting over, set condvar to 1 if yes
This is why prologues only play the first time you enter a game
0x76 X, Y - Solid Color
X = Which screen
0 - ??? (Unused)
1 - Top
2 - ??? (Unused)
3 - ??? (Unused)
4 - ??? (Unused)
5 - ??? (Unused)
6 - ??? (Unused)
7 - Both
Y = Flag
0 - Disable
1 - Enable
0x77 X, Y - Opacity of Solid Color
X = ??? (Used values: 1)
Y = Transparency (0 is invisible, 0xFF is opaque) (Used values: 0x78, 0xC0, 0xFF)
0x78 X, R, G, B - Solid Color (RGB values)
X = ??? (Used values: 1)
R = Red Color (Used values: 0, 0x80, 0xFF)
G = Green Color (Used values: 0, 0xFF)
B = Blue Color (Used values: 0, 0xFF)
0x79 X, Y - Depth of Solid Color
X = ??? (Used values: 1)
Y = Depth level (Used values: 0, 1, 8)
Ex: Setting Y to 0x10 in Micro-Row will place the overlay behind the Microbes, but in front of the background
0x7A X, Y - Solid color affects everything (except the "You") [Copied from Fever docs, this is used in Working Dough]
X = ??? (Used values: 1)
Y = ??? (Used values: 0, 1)
0x7B<W> X, Y, Z - Opacity of Solid Color (Gradual)
W = ???
X = Which Screen
0 - Bottom
1 - Top
Y = Transparency (Used values: 0, 0xA8, 0xE0, 0xFF)
Z = Time in ticks (Used values:0, 0xA, 0x12, 0x18, 0x30, 0x60, 0xC8, 0x180, 0x300)
0x7C X, Y, Z - fade X, Y, Z - Creates a black overlay that appears on the screen over Z ticks
0x7C<1> X, Y, Z - fade<1> X, Y, Z - Unfades any black overlay over Z ticks
X = Screen
1 - Top
2 - Bottom
7 - Both (seems to disable pausing if faded)
Y - ???
Z - Time in ticks
0x7C<2> X - Seems to be related to skipping the practice
0x7C<3> X - Sets condvar to 1 if there's a black overlay on X screen(?)
0x7D - ??? (Unused?)
0x7E<0> - zoom N, X, Y
0x7E<1> - zoom_gradual N, I, S, D, X, Y
0x7F<0> - pan N, X, Y
0x7F<1> - pan_gradual N, I, S, D, X, Y
0x80<0> - rotate N, A
0x80<1> - rotate_gradual N, I, S, D, A
N = View (Usually 3 or 4)
2 - Translations persist after scene transitions
I = Interpolation
0 - Linear
1 - Fast Start
2 - Fast End
3 - Fast Middle (Smooth)
4 - Slow Middle
S = Intensity of I
D = Duration
X, Y = x and y zoom factor (0x100 = default)
A = Angle
zoom 2, 0xF0, 0xF0 - perfect zoom out for true widescreen
0x81<X> - Used in while loading assets(?), seems to set condvar to 1 (Unknown function)
X = 0 or 1
0x82 X - ??? (Used values: 0x1F4, 0x3E8)
0x82<1> - Used in while loading assets(?), seems to set condvar to 1 (Unknown function)
0x83 X - ??? (Used value: 0) Used after sub 3
0x83<1> - ???
0x84 - ??? (Unused)
0x84<1> - ??? If 0x81 is 1, goes to this
0x84<2> X - ???
0 - ???
1 - ??? (Unused)
2 - Remove Timing Display (what?)
0x84<3> X - ???
Used values: 3
0x85 - ???
0x85<2> 4 - Used in Big Rock Finish after the leniency overwrite and before the randomizer for the patterns
0x86 - ??? Sets condvar to 1 for something, does 0x61<3> 0 if 0, seems related to setting the music file
0x87 X, Y - ??? Seems to be used in practice
X = ??? (Used values: 2, 3, 4, 5)
Y = ??? (Used values: 2, 3, 4, 5)
0x87<1> X, Y - ???
X = ??? (Used values: 0)
Y = ??? (Used values: 0)
0x87<2> X - ??? (Used values: 0, 2, 3, 4, 5)
0x87<3> X - ??? (Used values: 0, 2, 3, 4, 5)
0x88<X> - Check if playing in Challenge Land
0 - Something related to scores, sets condvar to 1 if (something)
1 - Set condvar depending on the Challenge Goal
0 - Score Goal
1 - Life Goal
2 - Monster Goal
2 - Set condvar to the amount of lives for Life Goal
3 - ??? (Unused)
4 - ??? (Unused)
5 - Apply "Tempo Up!" speed. Glitchy if triggered outside of Challenge Train (hence why you only see it nested in an if statement controlled by 0x88). Found in the beginning of almost every game
6 - ??? (Unused)
7 - Sets condvar to 1 if playing the "Wario... Where?" Challenge Train courses
0x89 - Loads challenge assets (Mii heads, hearts, monster, etc.) (Used in subs 8 and 9)
0x89<1> - ??? Possibly unload these assets? (Unused)
0x89<2> - Enables challenge assets to be used(?) (Used in subs 8 and 9)
0x89<3> - Possibly unloads or disables challenge assets(?) (Used in sub 0xB)
0x89<4> - Sets condvar to 1 if challenge assets are still loading (Used in subs 8 and 9)
0x89<5> - ??? (Unused)
0x89<6> - ??? Used just before a scene transition in remixes, sets condvar to 1, if 1 goes to 0x8A<7> (remix failsafe?)
0x8A - Start Mii head/Lives bobbing (Challenge Land)
0x8A<1> - ??? Used if 0x88 is 1
0x8A<2> - ??? Called every beat in a sub that's in a really weird spot within code.tickflow
0x8A<3> X - ???
0 - ???
1 - ???
0x8A<4> X, Y - Set Lives
X = ??? (Used values: 1)
Y = How many lives (Used values: 1, 2, 3)
0x8A<5> - Life hearts start pulsing (Used in sub 0x55)
0x8A<6> X - Monster Goal zoomout
0 - Disable
1 - Enable
0x8A<7> - ??? Used just before a scene transition in remixes, sets condvar to 1, if 1 goes to a stop
0x8B X, Y - "You"
X = ???
0 - ??? Used in almost every instance of the operation
1 - ??? (Unused)
2 - ??? Found in subs 0xB and 0xD
Note: All three X values seem to be visually and functionally the same.
Y = "You" Visibility
0 - Disable
1 - Enable
0x8C X - Mascot (Loading Icon)
0 - Disable
1 - Enable
0x8C<1> X - ??? Found near the debug TICKFLOW stuff at the bottom (Used value: 1)
0x8C<2> X - ??? Used just before setting the .aac (Used values: 2, 3, 4, 5)
0x8C<3> - ??? Used if 0x81 is 1
0x8D - ??? (Unused)
0x8E X - Score Counts Towards Specified Rating(?)
0 - First Comment
1 - Second Comment
2 - Third Comment
3 - Fourth Comment
0x8F X - Score Counts Towards Specified Comment
-1 - Practice (Doesn't count at all)
0 - First Comment
1 - Second Comment
2 - Third Comment
3 - Fourth Comment/You show strong fundamentals.
4 - You kept the beat well.
5 - You had great aim.
6 - You followed the example well.
7 - Skill Star
0x90 - ??? (Unused)
0x91 0, 0x64, 0x28 - Results text related, used only in Night Walk
0x92 X, Y - Score weight
X = Which comment (Used values: 0, 1, 2, 3, 4, 5, 6, 7)
Y = Score weight (basically how much of the game this comment represents)
0x93 X, M, "Superb string", "Try Again string" - Load Results Text
0x94 X, "Superb string", "OK string", "Try Again string" - Failsafe Common Results Text
0x95 M, "Caption string" - Load Results Caption Text
M = Which msbt file (see 0x65)
0x96 - ??? (Unused?)
0x97 X, Y - Score thereshold (Unused?)
X - OK threshold
Y - Superb threshold
Multiply the hex form of the score needed for the rating by 0x64 to get the value you want. For example, to set the OK threshold to 90, multiply 90's hex form, 0x5A, by 0x64 to get 0x2328. Use 0x2328 for your X value
0x98 X, Y - ??? (Related to Results text)
0x99<X> - Sets condvar to 1 if the player's performance at the time of checking will result in the specified rating (SUPPOSEDLY, WE ALL KNOW THE RATING SYSTEM ISN'T ENTIRELY PROPERLY UNDERSTOOD)
0 - ??? (Used in the Perfect screen sub for the Rating scene, does this check if you didn't miss between the beginning of tickflow execution and the time of checking?)
1 - Try Again
2 - OK
3 - Superb
0x9A<X> Y - ??? Used just before defining the tempo file
X = ??? (Used values: 0, 1)
Y = ??? (Used values: 0, 7, 8, 0x14, 0xC8, 0x258, 0x3E8)
0x9B - Used in practice if 0xA7<3> is 0
0x9C - Load "X more times!"/"X more sets!" and "Clear!" assets into memory (Used in sub 8)
0x9C<1> - ??? Possibly unload these assets? (Unused)
0x9C<2> - Enable "X more times!"/"X more sets!" to be used(?) (the 0x9E and 0x9F family of operations will not work if this is not called before it)
0x9C<3> - Disable "X more times!"/"X more sets!" from being used, or unload the assets(?) (Used in subs 0xC and 0xD)
0x9C<4> - Sets condvar to 1 if "X more times!"/"X more sets!" and "Clear!" assets are still loading into memory (Used in sub 8)
0x9D X - Rhythm Help Display (Layout)
0 - 1 rows, large buttons, index 0-3
1 - 2 rows, large buttons, index 0-3
2 - 3 rows, large buttons, index 0-3 (Unused)
3 - 1 rows, small buttons, index 0-7 ([Un]used in Cheer Readers)
4 - 2 rows, small buttons, index 0-7
5 - 3 rows, small buttons, index 0-7 ([Un]used in Big Rock Finish)
6 - 2 rows, small buttons, index 0-7 ([Un]used in Karate Man Kicks!)
6 - 2 rows, small buttons, index 0-7
7 - 3 rows, small buttons, index 0-7 (Unused)
8+- Nothing (Unused)
0x9D<1> - Show Rhythm Help Display
0x9E X, Y, Z - Rhythm Help Display
0x9E<1> X, Y - Blink specified button (Also makes a pitched click based on its position and type) (used in the Rhythm Help Display subs)
0x9E<2> X, Y, Z - Expect input at specified button in Z ticks, if something's there (used in Rhythm Help Display subs)
X = Slot (0 ~ 7)
Y = Row
0 - Row 1
1 - Row 2
2 - Row 3 (Unused)
Z = Time in ticks
0x9E<3> - ??? (Used in games where you have to hold buttons)
0x9E<4> X, Y, Z - Enlarge buttons (for offbeats) (X = even numbers, Z = 1 always)
X = Slot (0 ~ 7)
Y = Row
0 - Row 1
1 - Row 2
2 - Row 3 (Unused)
Z = Button
0 - A Button
1 - A Button (Hold)
2 - A Button (Release)
3 - B Button
4 - B Button (Hold)
5 - B Button (Release)
6 - D-pad (Right) (Unused)
7 - D-pad (Left) (Unused)
8 - D-pad (Any direction)
9 - Holding (Between Hold and Release)
0xA - Nothing
0xB+- Glitchy
0x9F X - "X more times!"/"X more sets!" (Used values: 1, 2, 3, 4, 0x10)
0x9F<1> - Decrease "X more times" counter
0x9F<2> - Sets condvar to however many times the counter has been decreased minus 1 (Used in See-Saw's practice to stop byte execution)
0x9F<3> - Sets condvar to whatever 0x9F was most recently set to (Unused)
0x9F<4> - Sets condvar to 1 if all inputs were hit since the last 0xA2
0x9F<5> X - Performance check
0 - Inputs count towards decreasing "X more times counter"
1 - Decrease "X more times" counter if input(s) are hit AND inputs affected by 0x9F<5> 0 OR 2 were also hit since the last 0xA2.
2 - Track performance
3 - ??? Found in Karate Man Combos! and Karate Man Senior
0x9F<6> - Sets condvar to whatever 0x9F<5> was most recently set to (Unused)
0x9F<7> - Show the "X more times!"/"X more sets!" text
0x9F<8> X, Y - Position of the "X more times!"/"X more sets!" text
X = X position (Used values: -0xBE, 0, 0xBE)
Y = Y position (Used values: -0x64, -0x3C, -0x32, -0x28, 0x32, 0x64)
0x9F<9> X - Size of "X more times!"/"X more sets!" text (Used value: 0x100)
0x9F<0xA> X - Text alignment (Used values: 0, 1, 2)
0 - Center
1 - Right
2 - Left
0xA0 8, 0x50983C, 3 - ??? (Used in Shoot-'em-up practice)
0xA0<1> X - ??? (Used in Figure Fighter practice) (Used values: 4, 6)
0xA1<X> - Set related
0 - Start current set?
1 - End current set
2 - ??? (Found only in Rhythm Tweezers and its sections in remixes)
0xA2<X> - Performance
0 - Start/restart tracking performance
1 - ???
2 - Set condvar to 1 if the player missed since the last check
3 - ???
4 - Checks how many times the set has been failed
0xA3 X, Y - Make inputs detectable in Rhythm Help Display
X - see 0x6B<1> for unused values
0 - A Button
1 - B Button
2 - D-Pad Left
3 - D-Pad Right
4 - D-Pad Up
5 - D-Pad Down
6 - A Button (Release)
7 - B Button (Release)
Y - Flag
0 - Disable
1 - Enable
0xA4 X - Prologue Scene (Handles the animation and jingle, but not the name)
0 - The Clappy Trio
1 - Sneaky Spirits
2 - Rhythm Tweezers
3 - Glee Club
4 - Rhythm Rally
5 - Fillbots
6 - Shoot-'em-up
7 - Air Rally
8 - Micro-Row
9 - Flipper-Flop
0xA - Figure Fighter
0xB - Fruit Basket
0xC - First Contact
0xD - Catchy Tune
0xE - LumBEARjack
0xF - Spaceball
0x10 - The Clappy Trio 2
0x11 - Sneaky Spirits 2
0x12 - Rhythm Tweezers 2
0x13 - Bouncy Road
0x14 - Marching Orders
0x15 - Night Walk
0x16 - Quiz Show
0x17 - Bunny Hop
0x18 - Rat Race
0x19 - Power Calligraphy
0x1A - Space Dance
0x1B - Tap Trial
0x1C - Ninja Bodyguard
0x1D - Airboarder
0x1E - Lockstep
0x1F - Blue Birds
0x20 - The Dazzles
0x21 - Freeze Frame
0x22 - Glee Club 2
0x23 - Frog Hop
0x24 - Fan Club
0x25 - Dog Ninja
0x26 - Rhythm Rally 2
0x27 - Fillbots 2
0x28 - Shoot-'em-up 2
0x29 - Big Rock Finish
0x2A - Munchy Monk
0x2B - Built to Scale
0x2C - Air Rally 2
0x2D - Exhibition Match
0x2E - Flock Step
0x2F - Cheer Readers
0x30 - Double Date
0x31 - Catch of the Day
0x32 - Micro-Row 2
0x33 - Fork Lifter
0x34 - Hole in One
0x35 - Flipper-Flop 2
0x36 - Ringside
0x37 - Working Dough
0x38 - Figure Fighter 2
0x39 - Love Rap
0x3A - Bossa Nova
0x3B - Screwbot Factory
0x3C - Launch Party
0x3D - Board Meeting
0x3E - Samurai Slice
0x3F - See-Saw
0x40 - Packing Pests
0x41 - Monkey Watch
0x42 - Blue Bear
0x43 - Animal Acrobat
0x44 - Tongue Lashing
0x45 - Super Samurai Slice
0x46 - Fruit Basket 2
0x47 - Second Contact
0x48 - Pajama Party
0x49 - Catchy Tune 2
0x4A - Sumo Brothers
0x4B - Tangotronic 3000
0x4C - Kitties!
0x4D - LumBEARjack 2
0x4E - The Snappy Trio
0x4F - Cosmic Dance
0x50 - Tap Trial 2
0x51 - Jumpin' Jazz
0x52 - Fan Club 2
0x53 - Cosmic Rhythm Rally
0x54 - Hole in One 2
0x55 - Working Dough 2
0x56 - Figure Fighter 3
0x57 - Jungle Gymnast
0x58 - Super Samurai Slice 2
0x59 - Karate Man
0x5A - Karate Man Returns!
0x5B - Karate Man Kicks!
0x5C - Karate Man Combos!
0x5D - Karate Man Senior
0x5E - Lush Remix
0x5F - Final Remix
0x60 - Honeybee Remix
0x61 - Machine Remix
0x62 - Citrus Remix
0x63 - Donut Remix
0x64 - Barbershop Remix
0x65 - Songbird Remix
0x66 - Left-Hand Remix
0x67 - Right-Hand Remix
0xA4<1> X - Prologue Scene (Endless Games)
0 - Sick Beats (Saffron Trial)
1 - Sick Beats (Slatwater Trial)
2 - Sick Beats (Paprika Trial)
3 - Sick Beats (Endless Game)
4 - Coin Toss (Saffron Trial)
5 - Coin Toss (Slatwater Trial)
6 - Coin Toss (Paprika Trial)
7 - Coin Toss (Endless Game)
8 - Clap Trap (Saffron Trial)
9 - Clap Trap (Slatwater Trial)
0xA - Clap Trap (Paprika Trial)
0xB - Clap Trap (Endless Game)
0xC - Charging Chicken (Saffron Trial)
0xD - Charging Chicken (Slatwater Trial)
0xE - Charging Chicken (Paprika Trial)
0xF - Charging Chicken (Endless Game)
0xA4<2> X - ???
0 - Disable(?)
1 - Enable(?)
0xA5 X - Related to Practice?
0 - ??? (Used near the debug stuff at the bottom)
1 - ??? (Used when the game starts)
0xA6 X - Practice Indicator
0 - No Practice
1 - Practice
0xA6<1> X - Skip Prologue
0 - A Button
1 - X Button
0xA7<X> - Sets condvar to 1 if:
0 - ??? (Goes to label 0xC5, which is where the debug stuff is)
1 - ??? (Unused)
2 - You press X on the prologue (uses argument: 7)
3 - Playing Challenge Land in multiplayer
0xA8 - Epilogue (Same IDs as Prologue Scene) (Doesn't affect the Epilogues in the Museum)
0xA8<1> X - Image ID
0xA8<2> X - Image ID (Endless Game) (Always the same as The Clappy Trio's)
0xA8<3> - ??? (Unused)
0xA8<4> X - Text ID
0xA8<5> X - Text ID (Endless Game) (Always the same as The Clappy Trio's)
0xA9 - "Saving..." (Unused) (Actually saves the game)
0xAA - Load Perfect related assets (Used in subs 8 and 9)
0xAA<1> - Possibly unload these assets? (Unused)
0xAA<2> - Sets condvar to 1 if Perfect assets are still loading (Used in subs 8 and 9)
0xAB<X> - "Go for Perfect!" flag?
0 - ??? (Unused)
1 - ???
2 - ??? (Unused)
3 - ??? Uses argument 1, sets condvar to 1, if 1, activates 0xAC 0, else 0xAD 0
4 - ???
0xAB<1> - ???
0xAB<2> - ??? Used 3 times in two different subs for the results scene
0xAB<3> X - Check if playing a "Go for Perfect!" challenge (?) (Used value: 1)
0xAB<4> - Check if entered through Perfect Campaign(?)
0xAC X - "Go for Perfect!" P placement
0 - Top Left
1 - Top Right (Unused)
2 - Bottom Left (Unused)
3 - Bottom Right (Unused)
0xAC<1> - Remove "Go for Perfect!"
0xAC<2> - Blink "Go for Perfect!"
0xAC<3> - ???
0xAC<4> - Sets condvar to 1 if failed the campaign (?)
0xAD X - Skill Star
0 - Enable
1 - Disable (Unused)
0xAD<1> - ??? (Unused)
0xAD<2> X - Sets Skill Star
0 - Not Obtained (Unused)
1 - Obtained
0xAE X - star X
X = Time in ticks before star is collected (Used values: 0x90, 0xA0, 0xA8, 0xB0, 0xC0, 0xD8, 0xF0, 0x108, 0x118, 0x120, 0x138, 0x150, 0x168, 0x180, 0x1B0, 0x1E0, 0x210, 0x270, 0x288, 0x2D0)
0xAF 0 - Related to score/performance
0xAF<1> - ???
0xAF<2> X, Y, "Z" - Gate explanation
X = ???
0 - Normal
1 - Empty string (Game over?)
2 - Empty string (Game start?)
7 - ???
Z = string
"" - None
"agbVirus_explain" - "Protect us from those viruses!"
"gate_explain_score"- "Catch it N times!"
"gate_explain_score_sword" - "Stop N times!"
"gate_explain_score_chicken" - "Get to the goal!"
0xAF<3> 0 - Sets condvar to 1 if something (causes a loop if 0) (Only used in Coin Toss's Trials)
0xAF<4> X - "Aim for X!" (Used values: 0xA, 0xF, 0x14)
0xAF<5> X - ??? Used in Endless Games
0xAF<6> X - Score Counter
0xAF<7> X - ???
0 - Disable
1 - Enable
0xB0 - Load Song Title & Artist
0xB0<1> - Display Strings
0xB0<2> - ??? (Unused)
0xB0<3> - ??? (Unused)
0xB0<4> M, "string" - Set Top Line (Song Name)
0xB0<5> M, "string" - Set Bottom Line (Artist)
0xB0<6> M, "string", Y - Display Subtitle (Used in Cheer Readers)
M = Which msbt file (see 0x65)
Y = placement?
1 - Top
2 - Bottom
0xB0<7> - Remove Song Title & Artist?
0xB0<8> X - Something with the subtitle? (Used in Cheer Readers)
X = placement?
1 - Top
2 - Bottom
0xB0<9> - Remove Song Title & Artist
0xB0<0xA> X - Remove Subtitle?
X = placement?
1 - Top
2 - Bottom
0xB1 - ??? Used near the start of remixes
0xB2 0 - Sets condvar to 1 if the player hasn't missed in Sneaky Spirits in Barbershop Remix apparently (Used in Flipper-Flop's second section of Barbershop Remix)
0xB3 - ??? (Unused?)
0xB4 0, 1 - Used in Sneaky Spirits in Barbershop Remix
0xB5<pointer to string> - Print to debugger. Used during development, prints a string to a PARTNER-CTR-DEBUGGER(?)'s debugging terminal or connected PC.
0xB6<X> - ??? Something at the start of each game
0 - ???
1 - ???
0xB7 - Sets condvar to 1 if (something), Something related to tempo files
0xB8<X> - random X
Stores a random number between 0 and X in condvar
0xB9 - Sets condvar to 1 if (something), found in Launch Party
0xBA - ???
0xBB - ??? Sets condvar to 1 if (something)
0xBC - ??? Used when 0xBB is 0
0xBD - ???
0xBE - seems to play a cowbell sound after a delay(?) (Unused)
0xBF - ??? (Unused?)
0xC0 - ??? (Unused?)
0xC1 - ??? (Unused?)
0xC2 - ??? (Unused?)
0xC3 - ??? (Unused?)
0xC4 - ??? (Unused?)
0xC5 - ??? (Unused?)
0xC6 - ??? (Unused?)
0xC7 - ??? (Unused?)
0xC8 - ??? (Unused?)
0xC9 - ??? (Unused?)
0xCA - ??? (Unused?)
0xCB - ??? (Unused?)
0xCC - ??? (Unused?)
0xCD - ??? (Unused?)
0xCE - ??? (Unused?)
0xCF - ??? (Unused?)
0xD0 - ??? (Unused?)
0xD1 - ??? (Unused?)
0xD2 - ??? (Unused?)
0xD3 - ??? (Unused?)
0xD4 - ??? (Unused?)
0xD5 - ??? (Unused?)
0xD6 - ??? (Unused?)
0xD7 - ??? (Unused?)
0xD8 - ??? (Unused?)
0xD9 - ??? (Unused?)
0xDA - ??? (Unused?)
0xDB - ??? (Unused?)
0xDC - ??? (Unused?)
0xDD - ??? (Unused?)
0xDE - ??? (Unused?)
0xDF - ??? (Unused?)
0xE0 - ??? (Unused?)
0xE1 - ??? (Unused?)
0xE2 - ??? (Unused?)
0xE3 - ??? (Unused?)
0xE4 - ??? (Unused?)
0xE5 - ??? (Unused?)
0xE6 - ??? (Unused?)
0xE7 - ??? (Unused?)
0xE8 - ??? (Unused?)
0xE9 - ??? (Unused?)
0xEA - ??? (Unused?)
0xEB - ??? (Unused?)
0xEC - ??? (Unused?)
0xED - ??? (Unused?)
0xEE - ??? (Unused?)
0xEF - ??? (Unused?)
0xF0 - ??? (Unused?)
0xF1 - ??? (Unused?)
0xF2 - ??? (Unused?)
0xF3 - ??? (Unused?)
0xF4 - ??? (Unused?)
0xF5 - ??? (Unused?)
0xF6 - ??? (Unused?)
0xF7 - ??? (Unused?)
0xF8 - ??? (Unused?)
0xF9 - ??? (Unused?)
0xFA - ??? (Unused?)
0xFB - ??? (Unused?)
0xFC - ??? (Unused?)
0xFD - ??? (Unused?)
0xFE - ??? (Unused?)
0xFF - ??? (Unused?)
0x100 and up are Scene-Specific