Label battle script macro arguments

This commit is contained in:
GriffinR
2021-10-13 16:39:21 -04:00
parent fc15b0d5f0
commit def6cc8158
6 changed files with 386 additions and 383 deletions
+222 -215
View File
@@ -3,10 +3,10 @@
.byte 0x0
.endm
.macro accuracycheck param0:req, param1:req
.macro accuracycheck failPtr:req, move:req
.byte 0x1
.4byte \param0
.2byte \param1
.4byte \failPtr
.2byte \move
.endm
.macro attackstring
@@ -77,9 +77,9 @@
.2byte \id
.endm
.macro waitmessage param0:req
.macro waitmessage time:req
.byte 0x12
.2byte \param0
.2byte \time
.endm
.macro printfromtable ptr:req
@@ -109,10 +109,17 @@
.byte \battler
.endm
.macro tryfaintmon battler:req, param1:req, ptr:req
.macro tryfaintmon battler:req
.byte 0x19
.byte \battler
.byte \param1
.byte FALSE
.4byte NULL
.endm
.macro tryfaintmon_spikes battler:req, ptr:req
.byte 0x19
.byte \battler
.byte TRUE
.4byte \ptr
.endm
@@ -140,9 +147,9 @@
.4byte \ptr
.endm
.macro jumpifability param0:req, ability:req, ptr:req
.macro jumpifability battler:req, ability:req, ptr:req
.byte 0x1e
.byte \param0
.byte \battler
.byte \ability
.4byte \ptr
.endm
@@ -163,11 +170,11 @@
.4byte \ptr
.endm
.macro jumpifstatus3condition battler:req, status3:req, param2:req, ptr:req
.macro jumpifstatus3condition battler:req, status3:req, condition:req, ptr:req
.byte 0x21
.byte \battler
.4byte \status3
.byte \param2
.byte \condition
.4byte \ptr
.endm
@@ -207,118 +214,118 @@
.4byte \ptr
.endm
.macro jumpifbyte ifflag:req, param1:req, param2:req, param3:req
.macro jumpifbyte ifflag:req, val:req, byte:req, ptr:req
.byte 0x29
.byte \ifflag
.4byte \param1
.byte \param2
.4byte \param3
.4byte \val
.byte \byte
.4byte \ptr
.endm
.macro jumpifhalfword ifflag:req, param1:req, param2:req, param3:req
.macro jumpifhalfword ifflag:req, val:req, hword:req, ptr:req
.byte 0x2a
.byte \ifflag
.4byte \param1
.2byte \param2
.4byte \param3
.4byte \val
.2byte \hword
.4byte \ptr
.endm
.macro jumpifword ifflag:req, param1:req, param2:req, param3:req
.macro jumpifword ifflag:req, val:req, word:req, ptr:req
.byte 0x2b
.byte \ifflag
.4byte \param1
.4byte \param2
.4byte \param3
.4byte \val
.4byte \word
.4byte \ptr
.endm
.macro jumpifarrayequal param0:req, param1:req, param2:req, param3:req
.macro jumpifarrayequal val1:req, val2:req, size:req, ptr:req
.byte 0x2c
.4byte \param0
.4byte \param1
.byte \param2
.4byte \param3
.4byte \val1
.4byte \val2
.byte \size
.4byte \ptr
.endm
.macro jumpifarraynotequal param0:req, param1:req, param2:req, param3:req
.macro jumpifarraynotequal val1:req, val2:req, size:req, ptr:req
.byte 0x2d
.4byte \param0
.4byte \param1
.byte \param2
.4byte \param3
.4byte \val1
.4byte \val2
.byte \size
.4byte \ptr
.endm
.macro setbyte ptr:req, param1:req
.macro setbyte ptr:req, byte:req
.byte 0x2e
.4byte \ptr
.byte \param1
.byte \byte
.endm
.macro addbyte ptr:req, param1:req
.macro addbyte ptr:req, byte:req
.byte 0x2f
.4byte \ptr
.byte \param1
.byte \byte
.endm
.macro subbyte ptr:req, param1:req
.macro subbyte ptr:req, byte:req
.byte 0x30
.4byte \ptr
.byte \param1
.byte \byte
.endm
.macro copyarray param0:req, param1:req, param2:req
.macro copyarray dest:req, src:req, size:req
.byte 0x31
.4byte \param0
.4byte \param1
.byte \param2
.4byte \dest
.4byte \src
.byte \size
.endm
.macro copyarraywithindex param0:req, param1:req, param2:req, param3:req
.macro copyarraywithindex dest:req, src:req, index:req, size:req
.byte 0x32
.4byte \param0
.4byte \param1
.4byte \param2
.byte \param3
.4byte \dest
.4byte \src
.4byte \index
.byte \size
.endm
.macro orbyte ptr:req, param1:req
.macro orbyte ptr:req, byte:req
.byte 0x33
.4byte \ptr
.byte \param1
.byte \byte
.endm
.macro orhalfword ptr:req, param1:req
.macro orhalfword ptr:req, hword:req
.byte 0x34
.4byte \ptr
.2byte \param1
.2byte \hword
.endm
.macro orword ptr:req, param1:req
.macro orword ptr:req, word:req
.byte 0x35
.4byte \ptr
.4byte \param1
.4byte \word
.endm
.macro bicbyte ptr:req, param1:req
.macro bicbyte ptr:req, byte:req
.byte 0x36
.4byte \ptr
.byte \param1
.byte \byte
.endm
.macro bichalfword ptr:req, param1:req
.macro bichalfword ptr:req, hword:req
.byte 0x37
.4byte \ptr
.2byte \param1
.2byte \hword
.endm
.macro bicword ptr:req, param1:req
.macro bicword ptr:req, word:req
.byte 0x38
.4byte \ptr
.4byte \param1
.4byte \word
.endm
.macro pause param0:req
.macro pause time:req
.byte 0x39
.2byte \param0
.2byte \time
.endm
.macro waitstate
@@ -373,18 +380,18 @@
.byte 0x44
.endm
.macro playanimation battler:req, param1:req, param2:req
.macro playanimation battler:req, animType:req, arg=NULL
.byte 0x45
.byte \battler
.byte \param1
.4byte \param2
.byte \animType
.4byte \arg
.endm
.macro playanimation2 battler:req, param1:req, param2:req
.macro playanimation_var battler:req, animType:req, arg=NULL
.byte 0x46
.byte \battler
.4byte \param1
.4byte \param2
.4byte \animType
.4byte \arg
.endm
.macro setgraphicalstatchangevalues
@@ -398,10 +405,10 @@
.byte \statchange
.endm
.macro moveend param0:req, param1:req
.macro moveend endMode:req, endState:req
.byte 0x49
.byte \param0
.byte \param1
.byte \endMode
.byte \endState
.endm
@ Help macros for 5 uses of moveend command
@@ -466,16 +473,16 @@
.4byte \ptr
.endm
.macro openpartyscreen param0:req, param1:req
.macro openpartyscreen battler:req, ptr:req
.byte 0x50
.byte \param0
.4byte \param1
.byte \battler
.4byte \ptr
.endm
.macro switchhandleorder battler:req, param1:req
.macro switchhandleorder battler:req, state:req
.byte 0x51
.byte \battler
.byte \param1
.byte \state
.endm
.macro switchineffects battler:req
@@ -488,14 +495,14 @@
.byte \battler
.endm
.macro playse param0:req
.macro playse song:req
.byte 0x54
.2byte \param0
.2byte \song
.endm
.macro fanfare param0:req
.macro fanfare song:req
.byte 0x55
.2byte \param0
.2byte \song
.endm
.macro playfaintcry battler:req
@@ -512,21 +519,21 @@
.byte \battler
.endm
.macro handlelearnnewmove param0:req, param1:req, param2:req
.macro handlelearnnewmove learnedMovePtr:req, nothingToLearnPtr:req, isFirstMove:req
.byte 0x59
.4byte \param0
.4byte \param1
.byte \param2
.4byte \learnedMovePtr
.4byte \nothingToLearnPtr
.byte \isFirstMove
.endm
.macro yesnoboxlearnmove param0:req
.macro yesnoboxlearnmove forgotMovePtr:req
.byte 0x5a
.4byte \param0
.4byte \forgotMovePtr
.endm
.macro yesnoboxstoplearningmove param0:req
.macro yesnoboxstoplearningmove noPtr:req
.byte 0x5b
.4byte \param0
.4byte \noPtr
.endm
.macro hitanimation battler:req
@@ -547,9 +554,9 @@
.byte 0x5f
.endm
.macro incrementgamestat param0:req
.macro incrementgamestat stat:req
.byte 0x60
.byte \param0
.byte \stat
.endm
.macro drawpartystatussummary battler:req
@@ -562,9 +569,9 @@
.byte \battler
.endm
.macro jumptocalledmove param0:req
.macro jumptocalledmove notChosenMove:req
.byte 0x63
.byte \param0
.byte \notChosenMove
.endm
.macro statusanimation battler:req
@@ -578,11 +585,11 @@
.4byte \status2
.endm
.macro chosenstatusanimation battler:req, param1:req, param2:req
.macro chosenstatusanimation battler:req, isStatus2:req, status:req
.byte 0x66
.byte \battler
.byte \param1
.4byte \param2
.byte \isStatus2
.4byte \status
.endm
.macro yesnobox
@@ -651,10 +658,10 @@
.byte 0x75
.endm
.macro various battler:req, param1:req
.macro various battler:req, id:req
.byte 0x76
.byte \battler
.byte \param1
.byte \id
.endm
.macro setprotectlike
@@ -674,9 +681,9 @@
.4byte \ptr
.endm
.macro tryhealhalfhealth param0:req, battler:req
.macro tryhealhalfhealth ptr:req, battler:req
.byte 0x7b
.4byte \param0
.4byte \ptr
.byte \battler
.endm
@@ -696,14 +703,14 @@
.byte 0x7f
.endm
.macro manipulatedamage param0:req
.macro manipulatedamage mode:req
.byte 0x80
.byte \param0
.byte \mode
.endm
.macro trysetrest param0:req
.macro trysetrest ptr:req
.byte 0x81
.4byte \param0
.4byte \ptr
.endm
.macro jumpifnotfirstturn ptr:req
@@ -715,23 +722,23 @@
.byte 0x83
.endm
.macro jumpifcantmakeasleep param0:req
.macro jumpifcantmakeasleep ptr:req
.byte 0x84
.4byte \param0
.4byte \ptr
.endm
.macro stockpile
.byte 0x85
.endm
.macro stockpiletobasedamage param0:req
.macro stockpiletobasedamage ptr:req
.byte 0x86
.4byte \param0
.4byte \ptr
.endm
.macro stockpiletohpheal param0:req
.macro stockpiletohpheal ptr:req
.byte 0x87
.4byte \param0
.4byte \ptr
.endm
.macro negativedamage
@@ -756,23 +763,23 @@
.byte 0x8c
.endm
.macro setmultihitcounter param0:req
.macro setmultihitcounter val:req
.byte 0x8d
.byte \param0
.byte \val
.endm
.macro initmultihitstring
.byte 0x8e
.endm
.macro forcerandomswitch param0:req
.macro forcerandomswitch ptr:req
.byte 0x8f
.4byte \param0
.4byte \ptr
.endm
.macro tryconversiontypechange param0:req
.macro tryconversiontypechange ptr:req
.byte 0x90
.4byte \param0
.4byte \ptr
.endm
.macro givepaydaymoney
@@ -783,9 +790,9 @@
.byte 0x92
.endm
.macro tryKO param0:req
.macro tryKO ptr:req
.byte 0x93
.4byte \param0
.4byte \ptr
.endm
.macro damagetohalftargethp
@@ -800,9 +807,9 @@
.byte 0x96
.endm
.macro tryinfatuating param0:req
.macro tryinfatuating ptr:req
.byte 0x97
.4byte \param0
.4byte \ptr
.endm
.macro updatestatusicon battler:req
@@ -826,9 +833,9 @@
.byte 0x9c
.endm
.macro mimicattackcopy param0:req
.macro mimicattackcopy ptr:req
.byte 0x9d
.4byte \param0
.4byte \ptr
.endm
.macro metronome
@@ -843,48 +850,48 @@
.byte 0xa0
.endm
.macro counterdamagecalculator param0:req
.macro counterdamagecalculator ptr:req
.byte 0xa1
.4byte \param0
.4byte \ptr
.endm
.macro mirrorcoatdamagecalculator param0:req
.macro mirrorcoatdamagecalculator ptr:req
.byte 0xa2
.4byte \param0
.4byte \ptr
.endm
.macro disablelastusedattack param0:req
.macro disablelastusedattack ptr:req
.byte 0xa3
.4byte \param0
.4byte \ptr
.endm
.macro trysetencore param0:req
.macro trysetencore ptr:req
.byte 0xa4
.4byte \param0
.4byte \ptr
.endm
.macro painsplitdmgcalc param0:req
.macro painsplitdmgcalc ptr:req
.byte 0xa5
.4byte \param0
.4byte \ptr
.endm
.macro settypetorandomresistance param0:req
.macro settypetorandomresistance ptr:req
.byte 0xa6
.4byte \param0
.4byte \ptr
.endm
.macro setalwayshitflag
.byte 0xa7
.endm
.macro copymovepermanently param0:req
.macro copymovepermanently ptr:req
.byte 0xa8
.4byte \param0
.4byte \ptr
.endm
.macro trychoosesleeptalkmove param0:req
.macro trychoosesleeptalkmove ptr:req
.byte 0xa9
.4byte \param0
.4byte \ptr
.endm
.macro setdestinybond
@@ -899,32 +906,32 @@
.byte 0xac
.endm
.macro tryspiteppreduce param0:req
.macro tryspiteppreduce ptr:req
.byte 0xad
.4byte \param0
.4byte \ptr
.endm
.macro healpartystatus
.byte 0xae
.endm
.macro cursetarget param0:req
.macro cursetarget ptr:req
.byte 0xaf
.4byte \param0
.4byte \ptr
.endm
.macro trysetspikes param0:req
.macro trysetspikes ptr:req
.byte 0xb0
.4byte \param0
.4byte \ptr
.endm
.macro setforesight
.byte 0xb1
.endm
.macro trysetperishsong param0:req
.macro trysetperishsong ptr:req
.byte 0xb2
.4byte \param0
.4byte \ptr
.endm
.macro rolloutdamagecalculation
@@ -957,23 +964,23 @@
.byte 0xb9
.endm
.macro jumpifnopursuitswitchdmg param0:req
.macro jumpifnopursuitswitchdmg ptr:req
.byte 0xba
.4byte \param0
.4byte \ptr
.endm
.macro setsunny
.byte 0xbb
.endm
.macro maxattackhalvehp param0:req
.macro maxattackhalvehp ptr:req
.byte 0xbc
.4byte \param0
.4byte \ptr
.endm
.macro copyfoestats param0:req
.macro copyfoestats ptr:req
.byte 0xbd
.4byte \param0
.4byte \ptr
.endm
.macro rapidspinfree
@@ -984,9 +991,9 @@
.byte 0xbf
.endm
.macro recoverbasedonsunlight param0:req
.macro recoverbasedonsunlight ptr:req
.byte 0xc0
.4byte \param0
.4byte \ptr
.endm
.macro hiddenpowercalc
@@ -997,15 +1004,15 @@
.byte 0xc2
.endm
.macro trysetfutureattack param0:req
.macro trysetfutureattack ptr:req
.byte 0xc3
.4byte \param0
.4byte \ptr
.endm
.macro trydobeatup param0:req, param1:req
.macro trydobeatup endPtr:req, failPtr:req
.byte 0xc4
.4byte \param0
.4byte \param1
.4byte \endPtr
.4byte \failPtr
.endm
.macro setsemiinvulnerablebit
@@ -1041,107 +1048,107 @@
.byte 0xcc
.endm
.macro cureifburnedparalysedorpoisoned param0:req
.macro cureifburnedparalysedorpoisoned ptr:req
.byte 0xcd
.4byte \param0
.4byte \ptr
.endm
.macro settorment param0:req
.macro settorment ptr:req
.byte 0xce
.4byte \param0
.4byte \ptr
.endm
.macro jumpifnodamage param0:req
.macro jumpifnodamage ptr:req
.byte 0xcf
.4byte \param0
.4byte \ptr
.endm
.macro settaunt param0:req
.macro settaunt ptr:req
.byte 0xd0
.4byte \param0
.4byte \ptr
.endm
.macro trysethelpinghand param0:req
.macro trysethelpinghand ptr:req
.byte 0xd1
.4byte \param0
.4byte \ptr
.endm
.macro tryswapitems param0:req
.macro tryswapitems ptr:req
.byte 0xd2
.4byte \param0
.4byte \ptr
.endm
.macro trycopyability param0:req
.macro trycopyability ptr:req
.byte 0xd3
.4byte \param0
.4byte \ptr
.endm
.macro trywish param0:req, param1:req
.macro trywish turnNumber:req, ptr:req
.byte 0xd4
.byte \param0
.4byte \param1
.byte \turnNumber
.4byte \ptr
.endm
.macro trysetroots param0:req
.macro trysetroots ptr:req
.byte 0xd5
.4byte \param0
.4byte \ptr
.endm
.macro doubledamagedealtifdamaged
.byte 0xd6
.endm
.macro setyawn param0:req
.macro setyawn ptr:req
.byte 0xd7
.4byte \param0
.4byte \ptr
.endm
.macro setdamagetohealthdifference param0:req
.macro setdamagetohealthdifference ptr:req
.byte 0xd8
.4byte \param0
.4byte \ptr
.endm
.macro scaledamagebyhealthratio
.byte 0xd9
.endm
.macro tryswapabilities param0:req
.macro tryswapabilities ptr:req
.byte 0xda
.4byte \param0
.4byte \ptr
.endm
.macro tryimprison param0:req
.macro tryimprison ptr:req
.byte 0xdb
.4byte \param0
.4byte \ptr
.endm
.macro trysetgrudge param0:req
.macro trysetgrudge ptr:req
.byte 0xdc
.4byte \param0
.4byte \ptr
.endm
.macro weightdamagecalculation
.byte 0xdd
.endm
.macro assistattackselect param0:req
.macro assistattackselect ptr:req
.byte 0xde
.4byte \param0
.4byte \ptr
.endm
.macro trysetmagiccoat param0:req
.macro trysetmagiccoat ptr:req
.byte 0xdf
.4byte \param0
.4byte \ptr
.endm
.macro trysetsnatch param0:req
.macro trysetsnatch ptr:req
.byte 0xe0
.4byte \param0
.4byte \ptr
.endm
.macro trygetintimidatetarget param0:req
.macro trygetintimidatetarget ptr:req
.byte 0xe1
.4byte \param0
.4byte \ptr
.endm
.macro switchoutabilities battler:req
@@ -1149,10 +1156,10 @@
.byte \battler
.endm
.macro jumpifhasnohp battler:req, param1:req
.macro jumpifhasnohp battler:req, ptr:req
.byte 0xe3
.byte \battler
.4byte \param1
.4byte \ptr
.endm
.macro getsecretpowereffect
@@ -1171,28 +1178,28 @@
.byte 0xe7
.endm
.macro settypebasedhalvers param0:req
.macro settypebasedhalvers ptr:req
.byte 0xe8
.4byte \param0
.4byte \ptr
.endm
.macro setweatherballtype
.byte 0xe9
.endm
.macro tryrecycleitem param0:req
.macro tryrecycleitem ptr:req
.byte 0xea
.4byte \param0
.4byte \ptr
.endm
.macro settypetoterrain param0:req
.macro settypetoterrain ptr:req
.byte 0xeb
.4byte \param0
.4byte \ptr
.endm
.macro pursuitrelated param0:req
.macro pursuitdoubles ptr:req
.byte 0xec
.4byte \param0
.4byte \ptr
.endm
.macro snatchsetbattlers
@@ -1211,18 +1218,18 @@
.byte 0xf0
.endm
.macro trysetcaughtmondexflags param0:req
.macro trysetcaughtmondexflags ptr:req
.byte 0xf1
.4byte \param0
.4byte \ptr
.endm
.macro displaydexinfo
.byte 0xf2
.endm
.macro trygivecaughtmonnick param0:req
.macro trygivecaughtmonnick ptr:req
.byte 0xf3
.4byte \param0
.4byte \ptr
.endm
.macro subattackerhpbydmg
@@ -1241,9 +1248,9 @@
.byte 0xf7
.endm
.macro trainerslideout param0:req
.macro trainerslideout position:req
.byte 0xf8
.byte \param0
.byte \position
.endm
@ various command changed to more readable macros
@@ -1357,11 +1364,11 @@
@ helpful macros
.macro setstatchanger stat:req, stages:req, down:req
setbyte sSTATCHANGER \stat | \stages << 4 | \down << 7
setbyte sSTATCHANGER, \stat | \stages << 4 | \down << 7
.endm
.macro setmoveeffect effect:req
setbyte cEFFECT_CHOOSER \effect
setbyte cEFFECT_CHOOSER, \effect
.endm
.macro chosenstatus1animation battler:req, status:req
@@ -1413,11 +1420,11 @@
.endm
.macro jumpifstatus3 battler:req, status:req, jumpptr:req
jumpifstatus3condition \battler, \status, 0x0, \jumpptr
jumpifstatus3condition \battler, \status, FALSE, \jumpptr
.endm
.macro jumpifnostatus3 battler:req, status:req, jumpptr:req
jumpifstatus3condition \battler, \status, 0x1, \jumpptr
jumpifstatus3condition \battler, \status, TRUE, \jumpptr
.endm
.macro jumpifmovehadnoeffect jumpptr:req