summaryrefslogtreecommitdiff
path: root/asm/macros/event.inc
diff options
context:
space:
mode:
Diffstat (limited to 'asm/macros/event.inc')
-rw-r--r--asm/macros/event.inc90
1 files changed, 52 insertions, 38 deletions
diff --git a/asm/macros/event.inc b/asm/macros/event.inc
index eafd19b1c..915fc7142 100644
--- a/asm/macros/event.inc
+++ b/asm/macros/event.inc
@@ -345,11 +345,12 @@
.byte 0x32
.endm
- @ Plays the specified (song_number) song. The byte is apparently supposed to be 0x00.
- .macro playbgm song_number:req, unknown:req
+ @ Plays the specified (song_number) song. If save_song is TRUE, the
+ @ specified (song_number) will be saved as if savebgm was called with it.
+ .macro playbgm song_number:req, save_song:req
.byte 0x33
.2byte \song_number
- .byte \unknown
+ .byte \save_song
.endm
@ Saves the specified (song_number) song to be played later.
@@ -846,38 +847,40 @@
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
- @ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
- .macro multichoice x:req, y:req, list:req, b:req
+ @ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
+ @ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ .macro multichoice x:req, y:req, multichoiceId:req, ignoreBPress:req
.byte 0x6f
.byte \x
.byte \y
- .byte \list
- .byte \b
+ .byte \multichoiceId
+ .byte \ignoreBPress
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
- @ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list. The default argument determines
- @ the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00.
- @ If b is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
- .macro multichoicedefault x:req, y:req, list:req, default:req, b:req
+ @ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
+ @ The default argument determines the initial position of the cursor when the box is first opened; it is zero-indexed, and if it is too large, it is treated as 0x00.
+ @ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ .macro multichoicedefault x:req, y:req, multichoiceId:req, default:req, ignoreBPress:req
.byte 0x70
.byte \x
.byte \y
- .byte \list
+ .byte \multichoiceId
.byte \default
- .byte \b
+ .byte \ignoreBPress
.endm
@ Displays a multichoice box from which the user can choose a selection, and blocks script execution until a selection is made.
- @ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with list.
+ @ Lists of options are predefined (sMultichoiceLists) and the one to be used is specified with multichoiceId.
@ The per_row argument determines how many list items will be shown on a single row of the box.
- .macro multichoicegrid x:req, y:req, list:req, per_row:req, B:req
+ @ If ignoreBPress is set to a non-zero value, then the user will not be allowed to back out of the multichoice with the B button.
+ .macro multichoicegrid x:req, y:req, multichoiceId:req, per_row:req, ignoreBPress:req
.byte 0x71
.byte \x
.byte \y
- .byte \list
+ .byte \multichoiceId
.byte \per_row
- .byte \B
+ .byte \ignoreBPress
.endm
@ Nopped in Emerald.
@@ -886,21 +889,21 @@
.endm
@ Nopped in Emerald, but still consumes parameters.
- .macro erasebox byte1:req, byte2:req, byte3:req, byte4:req
+ .macro erasebox left:req, top:req, right:req, bottom:req
.byte 0x73
- .byte \byte1
- .byte \byte2
- .byte \byte3
- .byte \byte4
+ .byte \left
+ .byte \top
+ .byte \right
+ .byte \bottom
.endm
@ Nopped in Emerald, but still consumes parameters.
- .macro drawboxtext byte1:req, byte2:req, byte3:req, byte4:req
+ .macro drawboxtext left:req, top:req, multichoiceId:req, ignoreBPress:req
.byte 0x74
- .byte \byte1
- .byte \byte2
- .byte \byte3
- .byte \byte4
+ .byte \left
+ .byte \top
+ .byte \multichoiceId
+ .byte \ignoreBPress
.endm
@ Displays a box containing the front sprite for the specified (species) Pokemon species.
@@ -916,10 +919,10 @@
.byte 0x76
.endm
- @ Draws an image of the winner of the contest. In FireRed, this command is a nop. (The argument is discarded.)
- .macro showcontestwinner a:req
+ @ Draws an image of the winner of the contest. winnerId is any CONTEST_WINNER_* constant.
+ .macro showcontestpainting winnerId:req
.byte 0x77
- .byte \a
+ .byte \winnerId
.endm
@ Displays the string at pointer as braille text in a standard message box. The string must be formatted to use braille
@@ -930,6 +933,17 @@
.4byte \text
.endm
+ @ Formatting for the braille window, to be put at the start of a pointer used by braillemessage.
+ @ These are from RS and are ignored in Emerald (see ScrCmd_braillemessage, and comment above)
+ .macro brailleformat winLeft:req, winTop:req, winRight:req, winBottom:req, textLeft:req, textTop:req
+ .byte \winLeft
+ .byte \winTop
+ .byte \winRight
+ .byte \winBottom
+ .byte \textLeft
+ .byte \textTop
+ .endm
+
@ Gives the player one of the specified (species) Pokemon at level level holding item. The trailing 0s are unused parameters
.macro givemon species:req, level:req, item:req
.byte 0x79
@@ -1475,15 +1489,15 @@
.4byte \value
.endm
- @ Makes the Pokemon in the specified slot of the player's party obedient. It will not randomly disobey orders in battle.
- .macro setmonobedient slot:req
+ @ Sets the Pokemon in the specified slot of the player party's eventLegal bit.
+ .macro setmoneventlegal slot:req
.byte 0xcd
.2byte \slot
.endm
- @ Checks if the Pokemon in the specified slot of the player's party is obedient. If the Pokemon is disobedient,
- @ VAR_RESULT is TRUE. If the Pokemon is obedient (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
- .macro checkmonobedience slot:req
+ @ Checks if the Pokemon in the specified slot of the player's party has its eventLegal bit set. If it isn't set,
+ @ VAR_RESULT is TRUE. If the bit is set (or if the specified slot is empty or invalid), VAR_RESULT is FALSE.
+ .macro checkmoneventlegal slot:req
.byte 0xce
.2byte \slot
.endm
@@ -1550,11 +1564,11 @@
.2byte \y
.endm
- .macro cmdD8
+ .macro selectapproachingtrainer
.byte 0xd8
.endm
- .macro cmdD9
+ .macro lockfortrainer
.byte 0xd9
.endm
@@ -1562,7 +1576,7 @@
.byte 0xda
.endm
- .macro message3 pointer:req
+ .macro messageinstant pointer:req
.byte 0xdb
.4byte \pointer
.endm