anim_obj object, x_tile, x, y_tile, y, param**
Spawns an *object* at coordinate (*x*, *y*).
@@ -29,22 +29,26 @@ The y position also depends on the y offset defined by the object.
- *TODO: document each object*
-## `$D1`: `anim_1gfx` *gfx*
+## `$D1`: anim_1gfx gfx
-## `$D2`: `anim_2gfx` *gfx1*, *gfx2*
-## `$D3`: `anim_3gfx` *gfx1*, *gfx2*, *gfx3*
+## `$D2`: anim_2gfx gfx1, gfx2
-## `$D4`: `anim_4gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*
-## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5*
+## `$D3`: anim_3gfx gfx1, gfx2, gfx3
+
+
+## `$D4`: anim_4gfx gfx1, gfx2, gfx3, gfx4
+
+
+## `$D5`: anim_5gfx gfx1, gfx2, gfx3, gfx4, gfx5
Loads 1-5 sets of graphics. Will overwrite any previously loaded sets.
- *gfx*: `ANIM_GFX` constants (see [constants/battle_anim_constants.asm](/constants/battle_anim_constants.asm))
-## `$D6`: `anim_incobj` *object_id*
+## `$D6`: anim_incobj object_id
Increments an object's state.
@@ -52,7 +56,8 @@ Increments an object's state.
Objects are state machines. `anim_incobj` progresses the state of an object.
-## `$D7`: `anim_setobj` *object_id*, *state*
+
+## `$D7`: anim_setobj object_id, state
Sets an object's state to a specific value.
@@ -61,7 +66,8 @@ Sets an object's state to a specific value.
Objects are state machines. `anim_setobj` changes the state of an object.
-## `$D8`: `anim_incbgeffect` *bg_effect*
+
+## `$D8`: anim_incbgeffect bg_effect
Increments a bg effect's state.
@@ -74,6 +80,7 @@ Since there can't be two of the same bg effect, the effect type is used. This is
Temporarily creates sprites from the bottom row of the enemy frontpic, so that the player backpic can be moved around without corrupting the enemy frontpic.
+
## `$DA`: `anim_playerheadobj`
Temporarily creates sprites from the top row of the player backpic, so that the enemy frontpic can be moved around without corrupting the player backpic.
@@ -86,8 +93,10 @@ Sets `BattleAnimVar` to the result of [GetPokeBallWobble](/engine/battle_anims/g
## `$DC`: `anim_transform`
+
## `$DD`: `anim_raisesub`
+
## `$DE`: `anim_dropsub`
@@ -96,11 +105,12 @@ Sets `BattleAnimVar` to the result of [GetPokeBallWobble](/engine/battle_anims/g
Resets rOBP0 to the default (`q0123` or `%00011011`).
-## `$E0`: `anim_sound` *duration*, *tracks*, *sound_id*
+## `$E0`: anim_sound duration, tracks, sound_id
Plays a sound.
-## `$E1`: `anim_cry` *pitch*
+
+## `$E1`: anim_cry pitch
Plays the user's cry.
@@ -110,6 +120,7 @@ Plays the user's cry.
## `$E3`: `anim_oamon`
+
## `$E4`: `anim_oamoff`
@@ -128,6 +139,7 @@ Does nothing. Unused.
## `$E8`: `anim_updateactorpic`
+
## `$E9`: `anim_minimize`
@@ -135,40 +147,46 @@ Does nothing. Unused.
Does nothing. Unused.
+
## `$EB`: `anim_0xeb`
Does nothing. Unused.
+
## `$EC`: `anim_0xec`
Does nothing. Unused.
+
## `$ED`: `anim_0xed`
Does nothing. Unused.
-## `$EE`: `anim_if_param_and` *value*, *address*
+## `$EE`: anim_if_param_and value, address
-## `$EF`: `anim_jumpuntil` *address*
+
+## `$EF`: anim_jumpuntil address
Jumps to another script and decrements `param` until it reaches 0. Similar to `anim_loop`.
-## `$F0`: `anim_bgeffect` *bg_effect*, *unknown1*, *unknown2*, *unknown3*
+## `$F0`: anim_bgeffect bg_effect, unknown1, unknown2, unknown3
- *bg_effect*: `ANIM_BG` constants (see [constants/battle_anim_constants.asm](/constants/battle_anim_constants.asm))
-## `$F1`: `anim_bgp` *colors*
+## `$F1`: anim_bgp colors
Sets `rBGP` to *colors*.
-## `$F2`: `anim_obp0` *colors*
+
+## `$F2`: anim_obp0 colors
Sets `rOBP0` to *colors*.
-## `$F3`: `anim_obp1` *colors*
+
+## `$F3`: anim_obp1 colors
Sets `rOBP1` to *colors*.
@@ -180,45 +198,54 @@ Sets `rOBP1` to *colors*.
Does nothing. Unused.
+
## `$F6`: `anim_0xf6`
Does nothing. Unused.
+
## `$F7`: `anim_0xf7`
Does nothing. Unused.
-## `$F8`: `anim_if_param_equal` *value*, *address*
+## `$F8`: anim_if_param_equal value, address
Jumps to another script if `wBattleAnimParam` (aka `wKickCounter` or `wPresentPower`) is equal to *value*.
-## `$F9`: `anim_setvar` *value*
+
+## `$F9`: anim_setvar value
Sets `BattleAnimVar` to *value*.
+
## `$FA`: `anim_incvar`
Increments `BattleAnimVar` by 1.
-## `$FB`: `anim_if_var_equal` *value*, *address*
+
+## `$FB`: anim_if_var_equal value, address
Jumps to another script if `BattleAnimVar` is equal to *value*.
-## `$FC`: `anim_jump` *address*
+
+## `$FC`: anim_jump address
Jumps to another script.
-## `$FD`: `anim_loop` *count*, *address*
+
+## `$FD`: anim_loop count, address
Jumps to another script up to *count* times. Then does nothing, allowing execution to continue.
-## `$FE`: `anim_call` *address*
+
+## `$FE`: anim_call address
Calls a script.
There is no call stack. The return address is overwritten, so the maximum call depth is 1.
+
## `$FF`: `anim_ret`
Ends the script and returns to where it was called from. If there was no caller, the animation ends.
diff --git a/docs/event_commands.md b/docs/event_commands.md
index dfbe943f1..91486ad06 100644
--- a/docs/event_commands.md
+++ b/docs/event_commands.md
@@ -3,147 +3,147 @@
Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/scripting.asm:ScriptCommandTable](/engine/scripting.asm).
-## `$00`: `scall` *script*
+## `$00`: scall script
-## `$01`: `farscall` *script*
+## `$01`: farscall script
-## `$02`: `ptcall` *script*
+## `$02`: ptcall script
-## `$03`: `jump` *script*
+## `$03`: jump script
-## `$04`: `farjump` *script*
+## `$04`: farjump script
-## `$05`: `ptjump` *script*
+## `$05`: ptjump script
-## `$06`: `if_equal` *byte*, *script*
+## `$06`: if_equal byte, script
-## `$07`: `if_not_equal` *byte*, *script*
+## `$07`: if_not_equal byte, script
-## `$08`: `iffalse` *script*
+## `$08`: iffalse script
-## `$09`: `iftrue` *script*
+## `$09`: iftrue script
-## `$0A`: `if_greater_than` *byte*, *script*
+## `$0A`: if_greater_than byte, script
-## `$0B`: `if_less_than` *byte*, *script*
+## `$0B`: if_less_than byte, script
-## `$0C`: `jumpstd` *std_script*
+## `$0C`: jumpstd std_script
-## `$0D`: `callstd` *std_script*
+## `$0D`: callstd std_script
-## `$0E`: `callasm` *asm*
+## `$0E`: callasm asm
-## `$0F`: `special` *special_pointer*
+## `$0F`: special special_pointer
-## `$10`: `ptcallasm` *asm*
+## `$10`: ptcallasm asm
-## `$11`: `checkmapscene` *map*
+## `$11`: checkmapscene map
-## `$12`: `setmapscene` *map*, *scene_id*
+## `$12`: setmapscene map, scene_id
## `$13`: `checkscene`
-## `$14`: `setscene` *scene_id*
+## `$14`: setscene scene_id
-## `$15`: `writebyte` *value*
+## `$15`: writebyte value
-## `$16`: `addvar` *value*
+## `$16`: addvar value
-## `$17`: `random` *value*
+## `$17`: random value
## `$18`: `checkver`
-## `$19`: `copybytetovar` *address*
+## `$19`: copybytetovar address
-## `$1A`: `copyvartobyte` *address*
+## `$1A`: copyvartobyte address
-## `$1B`: `loadvar` *address*, *value*
+## `$1B`: loadvar address, value
-## `$1C`: `checkcode` *variable*
+## `$1C`: checkcode variable
-## `$1D`: `writevarcode` *variable*
+## `$1D`: writevarcode variable
-## `$1E`: `writecode` *variable*, *value*
+## `$1E`: writecode variable, value
-## `$1F`: `giveitem` *item_id*[, *quantity*=1]
+## `$1F`: giveitem item_id[, quantity=1]
-## `$20`: `takeitem` *item_id*[, *quantity*=1]
+## `$20`: takeitem item_id[, quantity=1]
-## `$21`: `checkitem` *item_id*
+## `$21`: checkitem item_id
-## `$22`: `givemoney` *account*, *value*
+## `$22`: givemoney account, value
-## `$23`: `takemoney` *account*, *value*
+## `$23`: takemoney account, value
-## `$24`: `checkmoney` *account*, *value*
+## `$24`: checkmoney account, value
-## `$25`: `givecoins` *value*
+## `$25`: givecoins value
-## `$26`: `takecoins` *value*
+## `$26`: takecoins value
-## `$27`: `checkcoins` *value*
+## `$27`: checkcoins value
-## `$28`: `addcellnum` *contact_id*
+## `$28`: addcellnum contact_id
-## `$29`: `delcellnum` *contact_id*
+## `$29`: delcellnum contact_id
-## `$2A`: `checkcellnum` *contact_id*
+## `$2A`: checkcellnum contact_id
-## `$2B`: `checktime` *time*
+## `$2B`: checktime time
- **`checkmorn`:** `checktime MORN`
- **`checkday`:** `checktime DAY`
- **`checknite`:** `checktime NITE`
-## `$2C`: `checkpoke` *mon_id*
+## `$2C`: checkpoke mon_id
-## `$2D`: `givepoke` *mon_id*, *level*[, *item*=0[, *trainer*=0, *ot_name*, *nickname*]]
+## `$2D`: givepoke mon_id, level[, item=0[, trainer=0, ot_name, nickname]]
-## `$2E`: `giveegg` *mon_id*, *level*
+## `$2E`: giveegg mon_id, level
-## `$2F`: `givepokeitem` *pointer*
+## `$2F`: givepokeitem pointer
-## `$30`: `checkpokeitem` *pointer*
+## `$30`: checkpokeitem pointer
-## `$31`: `checkevent` *event_flag*
+## `$31`: checkevent event_flag
-## `$32`: `clearevent` *event_flag*
+## `$32`: clearevent event_flag
-## `$33`: `setevent` *event_flag*
+## `$33`: setevent event_flag
-## `$34`: `checkflag` *engine_flag*
+## `$34`: checkflag engine_flag
-## `$35`: `clearflag` *engine_flag*
+## `$35`: clearflag engine_flag
-## `$36`: `setflag` *engine_flag*
+## `$36`: setflag engine_flag
## `$37`: `wildon`
## `$38`: `wildoff`
-## `$39`: `xycompare` *pointer*
+## `$39`: xycompare pointer
-## `$3A`: `warpmod` *warp_id*, *map*
+## `$3A`: warpmod warp_id, map
-## `$3B`: `blackoutmod` *map*
+## `$3B`: blackoutmod map
-## `$3C`: `warp` *map*, *x*, *y*
+## `$3C`: warp map, x, y
-## `$3D`: `readmoney` *account*, *memory*
+## `$3D`: readmoney account, memory
-## `$3E`: `readcoins` *memory*
+## `$3E`: readcoins memory
-## `$3F`: `vartomem` *memory*
+## `$3F`: vartomem memory
-## `$40`: `pokenamemem` *mon_id*, *memory*
+## `$40`: pokenamemem mon_id, memory
-## `$41`: `itemtotext` *item_id*, *memory*
+## `$41`: itemtotext item_id, memory
-## `$42`: `mapnametotext` *memory*
+## `$42`: mapnametotext memory
-## `$43`: `trainertotext` *trainer_id*, *trainer_group*, *memory*
+## `$43`: trainertotext trainer_id, trainer_group, memory
-## `$44`: `stringtotext` *text_pointer*, *memory*
+## `$44`: stringtotext text_pointer, memory
## `$45`: `itemnotify`
@@ -151,35 +151,35 @@ Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/s
## `$47`: `opentext`
-## `$48`: `refreshscreen` [*dummy*=0]
+## `$48`: refreshscreen [dummy=0]
## `$49`: `closetext`
-## `$4A`: `loadbytec2cf` *byte*
+## `$4A`: loadbytec2cf byte
-## `$4B`: `farwritetext` *text_pointer*
+## `$4B`: farwritetext text_pointer
-## `$4C`: `writetext` *text_pointer*
+## `$4C`: writetext text_pointer
-## `$4D`: `repeattext` *byte1*, *byte2*
+## `$4D`: repeattext byte1, byte2
## `$4E`: `yesorno`
-## `$4F`: `loadmenudata` *data_pointer*
+## `$4F`: loadmenudata data_pointer
## `$50`: `closewindow`
-## `$51`: `jumptextfaceplayer` *text_pointer*
+## `$51`: jumptextfaceplayer text_pointer
-## `$52`: `farjumptext` *text_pointer*
+## `$52`: farjumptext text_pointer
-## `$53`: `jumptext` *text_pointer*
+## `$53`: jumptext text_pointer
## `$54`: `waitbutton`
## `$55`: `buttonsound`
-## `$56`: `pokepic` *mon_id*
+## `$56`: pokepic mon_id
## `$57`: `closepokepic`
@@ -193,21 +193,21 @@ Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/s
## `$5C`: `loadmemtrainer`
-## `$5D`: `loadwildmon` *mon_id*, *level*
+## `$5D`: loadwildmon mon_id, level
-## `$5E`: `loadtrainer` *trainer_group*, *trainer_id*
+## `$5E`: loadtrainer trainer_group, trainer_id
## `$5F`: `startbattle`
## `$60`: `reloadmapafterbattle`
-## `$61`: `catchtutorial` *byte*
+## `$61`: catchtutorial byte
-## `$62`: `trainertext` *which_text*
+## `$62`: trainertext which_text
-## `$63`: `trainerflagaction` *action*
+## `$63`: trainerflagaction action
-## `$64`: `winlosstext` *win_text_pointer*, *loss_text_pointer*
+## `$64`: winlosstext win_text_pointer, loss_text_pointer
## `$65`: `scripttalkafter`
@@ -215,65 +215,65 @@ Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/s
## `$67`: `check_just_battled`
-## `$68`: `setlasttalked` *object_id*
+## `$68`: setlasttalked object_id
-## `$69`: `applymovement` *object_id*, *data_pointer*
+## `$69`: applymovement object_id, data_pointer
-## `$6A`: `applymovement2` *data_pointer*
+## `$6A`: applymovement2 data_pointer
## `$6B`: `faceplayer`
-## `$6C`: `faceobject` *object1*, *object2*
+## `$6C`: faceobject object1, object2
-## `$6D`: `variablesprite` *variable_sprite_id*, *sprite_id*
+## `$6D`: variablesprite variable_sprite_id, sprite_id
-## `$6E`: `disappear` *object_id*
+## `$6E`: disappear object_id
-## `$6F`: `appear` *object_id*
+## `$6F`: appear object_id
-## `$70`: `follow` *object2*, *object1*
+## `$70`: follow object2, object1
## `$71`: `stopfollow`
-## `$72`: `moveobject` *object_id*, *x*, *y*
+## `$72`: moveobject object_id, x, y
-## `$73`: `writeobjectxy` *object_id*
+## `$73`: writeobjectxy object_id
-## `$74`: `loademote` *emote_id*
+## `$74`: loademote emote_id
-## `$75`: `showemote` *emote_id*, *object_id*, *length*
+## `$75`: showemote emote_id, object_id, length
-## `$76`: `spriteface` *object_id*, *facing*
+## `$76`: spriteface object_id, facing
-## `$77`: `follownotexact` *object2*, *object1*
+## `$77`: follownotexact object2, object1
-## `$78`: `earthquake` *param*
+## `$78`: earthquake param
-## `$79`: `changemap` *bank*, *blockdata_pointer*
+## `$79`: changemap bank, blockdata_pointer
-## `$7A`: `changeblock` *x*, *y*, *block*
+## `$7A`: changeblock x, y, block
## `$7B`: `reloadmap`
## `$7C`: `reloadmappart`
-## `$7D`: `writecmdqueue` *queue_pointer*
+## `$7D`: writecmdqueue queue_pointer
-## `$7E`: `delcmdqueue` *byte*
+## `$7E`: delcmdqueue byte
-## `$7F`: `playmusic` *music_id*
+## `$7F`: playmusic music_id
## `$80`: `encountermusic`
-## `$81`: `musicfadeout` *music_id*, *length*
+## `$81`: musicfadeout music_id, length
## `$82`: `playmapmusic`
## `$83`: `dontrestartmapmusic`
-## `$84`: `cry` *mon_id*
+## `$84`: cry mon_id
-## `$85`: `playsound` *sfx_id*
+## `$85`: playsound sfx_id
## `$86`: `waitsfx`
@@ -281,68 +281,68 @@ Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/s
## `$88`: `specialsound`
-## `$89`: `passtoengine` *data_pointer*
+## `$89`: passtoengine data_pointer
-## `$8A`: `newloadmap` *which_method*
+## `$8A`: newloadmap which_method
-## `$8B`: `pause` *length*
+## `$8B`: pause length
-## `$8C`: `deactivatefacing` *length*
+## `$8C`: deactivatefacing length
-## `$8D`: `priorityjump` *script*
+## `$8D`: priorityjump script
## `$8E`: `warpcheck`
-## `$8F`: `ptpriorityjump` *script*
+## `$8F`: ptpriorityjump script
## `$90`: `return`
## `$91`: `end`
-## `$92`: `reloadandreturn` *which_method*
+## `$92`: reloadandreturn which_method
## `$93`: `end_all`
-## `$94`: `pokemart` *dialog_id*, *mart_id*
+## `$94`: pokemart dialog_id, mart_id
-## `$95`: `elevator` *floor_list*
+## `$95`: elevator floor_list
-## `$96`: `trade` *trade_id*
+## `$96`: trade trade_id
-## `$97`: `askforphonenumber` *contact_id*
+## `$97`: askforphonenumber contact_id
-## `$98`: `phonecall` *call_id*
+## `$98`: phonecall call_id
## `$99`: `hangup`
-## `$9A`: `describedecoration` *byte*
+## `$9A`: describedecoration byte
-## `$9B`: `fruittree` *tree_id*
+## `$9B`: fruittree tree_id
-## `$9C`: `specialphonecall` *call_id*
+## `$9C`: specialphonecall call_id
## `$9D`: `checkphonecall`
-## `$9E`: `verbosegiveitem` *item_id*[, *quantity*=1]
+## `$9E`: verbosegiveitem item_id[, quantity=1]
-## `$9F`: `verbosegiveitem2` *item_id*, *variable*
+## `$9F`: verbosegiveitem2 item_id, variable
-## `$A0`: `swarm` *swarm_id*, *map*
+## `$A0`: swarm swarm_id, map
## `$A1`: `halloffame`
## `$A2`: `credits`
-## `$A3`: `warpfacing` *facing*, *map*, *x*, *y*
+## `$A3`: warpfacing facing, map, x, y
-## `$A4`: `battletowertext` *memory*
+## `$A4`: battletowertext memory
-## `$A5`: `landmarktotext` *landmark_id*, *memory*
+## `$A5`: landmarktotext landmark_id, memory
-## `$A6`: `trainerclassname` *trainer_group*, *memory*
+## `$A6`: trainerclassname trainer_group, memory
-## `$A7`: `name` *type*, *id*, *memory*
+## `$A7`: name type, id, memory
-## `$A8`: `wait` *duration*
+## `$A8`: wait duration
## `$A9`: `check_save`
diff --git a/docs/map_scripts.md b/docs/map_scripts.md
index 9eb924504..d9396ed5b 100644
--- a/docs/map_scripts.md
+++ b/docs/map_scripts.md
@@ -1,24 +1,24 @@
# Map Scripts
-## `const_value set 2`
+## const_value set 2
const MAPNAME_OBJECTNAME
-## `MapName_MapScripts:`
+## MapName_MapScripts:
-### `.SceneScripts: db` *N*
+### .SceneScripts: db N
scene_script script
-### `.MapCallbacks: db` *N*
+### .MapCallbacks: db N
callback type, script
@@ -67,7 +67,7 @@ Callback types:
[Movement commands](movement_commands.md)
-## `MapName_MapEvents:`
+## MapName_MapEvents:
```asm
; filler
@@ -75,21 +75,21 @@ Callback types:
```
-### `.Warps: db` *N*
+### .Warps: db N
warp_def x, y, warp_id, map
-### `.CoordEvents: db` *N*
+### .CoordEvents: db N
coord_event x, y, scene_id, script
-### `.BGEvents: db` *N*
+### .BGEvents: db N
bg_event x, y, type, script
@@ -115,7 +115,7 @@ BG event types:
- `BGEVENT_COPY`
-### `.ObjectEvents: db` *N*
+### .ObjectEvents: db N
object_event x, y, sprite, movement, rx, ry, h1, h2, palette, type, range, script, event_flag
diff --git a/docs/movement_commands.md b/docs/movement_commands.md
index 56b55f53e..10792c88b 100644
--- a/docs/movement_commands.md
+++ b/docs/movement_commands.md
@@ -3,33 +3,33 @@
Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engine/movement.asm:MovementPointers](/engine/movement.asm).
-## `$00`−`$03`: `turn_head` *direction*
+## `$00`−`$03`: turn_head direction
-## `$04`−`$07`: `turn_step` *direction*
+## `$04`−`$07`: turn_step direction
-## `$08`−`$0B`: `slow_step` *direction*
+## `$08`−`$0B`: slow_step direction
-## `$0C`−`$0F`: `step` *direction*
+## `$0C`−`$0F`: step direction
-## `$10`−`$13`: `big_step` *direction*
+## `$10`−`$13`: big_step direction
-## `$14`−`$17`: `slow_slide_step` *direction*
+## `$14`−`$17`: slow_slide_step direction
-## `$18`−`$1B`: `slide_step` *direction*
+## `$18`−`$1B`: slide_step direction
-## `$1C`−`$1F`: `fast_slide_step` *direction*
+## `$1C`−`$1F`: fast_slide_step direction
-## `$20`−`$23`: `turn_away` *direction*
+## `$20`−`$23`: turn_away direction
-## `$24`−`$27`: `turn_in` *direction*
+## `$24`−`$27`: turn_in direction
-## `$28`−`$2B`: `turn_waterfall` *direction*
+## `$28`−`$2B`: turn_waterfall direction
-## `$2C`−`$2F`: `slow_jump_step` *direction*
+## `$2C`−`$2F`: slow_jump_step direction
-## `$30`−`$33`: `jump_step` *direction*
+## `$30`−`$33`: jump_step direction
-## `$34`−`$37`: `fast_jump_step` *direction*
+## `$34`−`$37`: fast_jump_step direction
## `$38`: `remove_sliding`
@@ -43,11 +43,11 @@ Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engi
## `$3D`: `hide_object`
-## `$3E`−`$46`: `step_sleep` *length*
+## `$3E`−`$46`: step_sleep length
## `$47`: `step_end`
-## `$48`: `step_48` *param*
+## `$48`: step_48 param
## `$49`: `remove_object`
@@ -61,7 +61,7 @@ Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engi
## `$4E`: `skyfall`
-## `$4F`: `step_dig` *length*
+## `$4F`: step_dig length
## `$50`: `step_bump`
@@ -73,12 +73,12 @@ Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engi
## `$54`: `show_emote`
-## `$55`: `step_shake` *displacement*
+## `$55`: step_shake displacement
## `$56`: `tree_shake`
-## `$57`: `rock_smash` *length*
+## `$57`: rock_smash length
-## `$58`: `return_dig` *length*
+## `$58`: return_dig length
## `$59`: `skyfall_top`
diff --git a/docs/music_commands.md b/docs/music_commands.md
index 7f7bd8b32..3329f8df1 100644
--- a/docs/music_commands.md
+++ b/docs/music_commands.md
@@ -5,27 +5,32 @@ Defined in [macros/scripts/audio.asm](/macros/scripts/audio.asm) and [audio/engi
*See also: [Sound Engine Commands](https://github.com/pret/pokecrystal/wiki/Sound-Engine-Commands)*
-## `musicheader` *n*, *index*, *address*
+## musicheader n, index, address
-## `note` *pitch*, *length*
+
+## note pitch, length
(Used on all channels)
The high nibble is the note to play. 0 is rest, 1 is `C_`, 2 is `C#`, etc; `$C` is `B_`.
The low nibble is the length of the note. 1 gets added to this, so 0 still has a length.
-## `sound` *pitch*, *octave*, *intensity*, *frequency*
-## `noise` *pitch*, *duration*, *intensity*, *frequency*
+## sound pitch, octave, intensity, frequency
-## `$D0`−`$D7`: `octave` *n*
+
+## noise pitch, duration, intensity, frequency
+
+
+## `$D0`−`$D7`: octave n
(Used in channels 1-3)
Sets the octave for the notes played on the channel.
`$D7` is the lowest octave, whereas `$D0` is the highest.
-## `$D8`: `notetype` *length*[, *intensity*]
+
+## `$D8`: notetype length[, intensity]
(Used in channels 1-4) (When using in channel 4, the *intensity* byte is not needed)
@@ -34,7 +39,8 @@ The first byte only reads the lower 4 bits, and multiplies it by the note length
The second byte is identical to the first byte in the `intensity` command.
-## `$D9`: `pitchoffset` *octave*, *key*
+
+## `$D9`: pitchoffset octave, key
(Used in channels 1-3)
@@ -42,7 +48,8 @@ Transposes all notes played on the channel by a value.
The high nibble determins how many octaves to subtract, while the low nibble is how many note values to add.
Ex: Setting a value of `$13` would make a `C_`4 play as a `D#`3.
-## `$DA`: `tempo` *tempo*
+
+## `$DA`: tempo tempo
(Used in channel 1)
@@ -53,7 +60,8 @@ This formula also works backwards to convert BPM to tempo: Tempo = 19200 / BPM
Only set or change this value when all playing channels are triggering a note or rest at the same time, otherwise desyncs may happen.
-## `$DB`: `dutycycle` *duty_cycle*
+
+## `$DB`: dutycycle duty_cycle
(Used on channels 1&2)
@@ -64,7 +72,8 @@ Sets the square duty (sound) for the current channel. To change the sound for ch
- 2 = 50% waveform: `____¯¯¯¯`
- 3 = 75% waveform: `__¯¯¯¯¯¯` (sounds the same as 25%)
-## `$DC`: `intensity` *intensity*
+
+## `$DC`: intensity intensity
(Used on channels 1-3) (Used to set instrument on channel 3)
@@ -74,9 +83,11 @@ This sets the volume and fade of the notes. The high nibble is the starting volu
For channel 3:
The high nibble sets the volume of channel 3. Only 4 values are accepted (0=Mute, 1=100% volume, 2=50% volume, 3=25% volume). The low nibble sets the instrument/waveform for channel 3 to play. Crystal natively has 10 instruments, values 0-9.
-## `$DD`: `soundinput` *input*
-## `$DE`: `sound_duty` *a*, *b*, *c*, *d*
+## `$DD`: soundinput input
+
+
+## `$DE`: sound_duty a, b, c, d
(Used on channels 1&2)
@@ -84,9 +95,11 @@ This cycles the channel through 4 duty definitions, one per frame.
Each pair of bits defines a duty, same as the `dutycycle` command.
This is mostly only used in cries, SFX, and Jigglypuff's song in RBY.
+
## `$DF`: `togglesfx`
-## `$E0`: `slidepitchto` *duration*, *octave*, *pitch*
+
+## `$E0`: slidepitchto duration, octave, pitch
(Used on channel 1)
@@ -95,7 +108,8 @@ The first byte tells how many frames to play the destination note for, before th
The high nibble of the second byte is the octave of the destination note.
The low nibble of the second byte is the destination note. If rest is used as the destination note, then the whole destination pitch becomes `$0000` (the lowest pitch).
-## `$E1`: `vibrato` *delay*, *extent*
+
+## `$E1`: vibrato delay, extent
(Used on channels 1-3)
@@ -105,20 +119,23 @@ Second byte, high nibble is the speed timer. It will decrement by one each frame
Second byte, low nibble is the pitch depth. Half of this value will alternate between adding to the pitch, and subtracting from the pitch each time speed timer resets. When this is an odd number, the value added to the pitch will be greater than the value subtracted from the pitch.
Ex: normal pitch of 405, if pitch depth = 3, it will alternate between 407 and 404. Speed timer does NOT reset when a new note is played. only when the song stops or changes. (Also, because a timer counts 0, a timer of 5 will take 6 frames to change.)
-## `$E2`: `unknownmusic0xe2` *unknown*
-## `$E3`: `togglenoise` *id*
+## `$E2`: unknownmusic0xe2 unknown
+
+
+## `$E3`: togglenoise id
(Used on channel 4)
Sets the "drum kit" to be used. This needs to be called before channel 4 can make any noise.
Calling it more than once in a song will mute the channel. (Keep it out of loops!)
-## `$E4`: `panning` *tracks*
-## `$E5`: `volume` *volume*
+## `$E4`: panning tracks
-## `$E6`: `tone` *tone*
+## `$E5`: volume volume
+
+## `$E6`: tone tone
(Used on channel 1-3)
@@ -126,52 +143,77 @@ This modifies the pitch of the notes (fine tuning).
It makes notes sound better if multiple channels play the same note simultaneously.
A lot of GSC songs set the main melody channel with a value of 1, and the secondary channel (not bass) as 2.
-## `$E7`: `unknownmusic0xe7` *unknown*
-## `$E8`: `unknownmusic0xe8` *unknown*
+## `$E7`: unknownmusic0xe7 unknown
-## `$E9`: `tempo_relative` *value*
-## `$EA`: `restartchannel` *address*
+## `$E8`: unknownmusic0xe8 unknown
-## `$EB`: `newsong` *id*
-## `$EC`: `sfxpriorityon`
+## `$E9`: tempo_relative value
-## `$ED`: `sfxpriorityoff`
-## `$EE`: `unknownmusic0xee` *address*
+## `$EA`: restartchannel address
-## `$EF`: `stereopanning` *tracks*
-## `$F0`: `sfxtogglenoise` *id*
+## `$EB`: newsong id
+
+
+## `$EC`: sfxpriorityon
+
+
+## `$ED`: