2017-12-31 16:28:57 +01:00
|
|
|
@ commands
|
|
|
|
|
|
|
|
.macro loadspritegfx param0
|
|
|
|
.byte 0x0
|
|
|
|
.2byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro unloadspritegfx param0
|
|
|
|
.byte 0x1
|
|
|
|
.2byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro createsprite template, priority, argv:vararg
|
|
|
|
.byte 0x02
|
|
|
|
.4byte \template
|
|
|
|
.byte \priority
|
|
|
|
.byte (.Lsprite_\@_2 - .Lsprite_\@_1) / 2
|
|
|
|
.Lsprite_\@_1:
|
|
|
|
.2byte \argv
|
|
|
|
.Lsprite_\@_2:
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro createvisualtask addr, priority, argv:vararg
|
|
|
|
.byte 0x03
|
|
|
|
.4byte \addr
|
|
|
|
.byte \priority
|
|
|
|
.byte (.Lcreatetask_\@_2 - .Lcreatetask_\@_1) / 2
|
|
|
|
.Lcreatetask_\@_1:
|
|
|
|
.2byte \argv
|
|
|
|
.Lcreatetask_\@_2:
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro delay param0
|
|
|
|
.byte 0x4
|
|
|
|
.byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro waitforvisualfinish
|
|
|
|
.byte 0x5
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro hang1
|
|
|
|
.byte 0x6
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro hang2
|
|
|
|
.byte 0x7
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro end
|
|
|
|
.byte 0x8
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro playse param0
|
|
|
|
.byte 0x9
|
|
|
|
.2byte \param0
|
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro monbg battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0xa
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro clearmonbg battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0xb
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro setalpha param0
|
|
|
|
.byte 0xc
|
|
|
|
.2byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro blendoff
|
|
|
|
.byte 0xd
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro call param0
|
|
|
|
.byte 0xe
|
|
|
|
.4byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro return
|
|
|
|
.byte 0xf
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro setarg param0, param1
|
|
|
|
.byte 0x10
|
|
|
|
.byte \param0
|
|
|
|
.2byte \param1
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro choosetwoturnanim param0, param1
|
|
|
|
.byte 0x11
|
|
|
|
.4byte \param0
|
|
|
|
.4byte \param1
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro jumpifmoveturn param0, param1
|
|
|
|
.byte 0x12
|
|
|
|
.byte \param0
|
|
|
|
.4byte \param1
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro goto param0
|
|
|
|
.byte 0x13
|
|
|
|
.4byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro fadetobg param0
|
|
|
|
.byte 0x14
|
|
|
|
.byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro restorebg
|
|
|
|
.byte 0x15
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro waitbgfadeout
|
|
|
|
.byte 0x16
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro waitbgfadein
|
|
|
|
.byte 0x17
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro changebg param0
|
|
|
|
.byte 0x18
|
|
|
|
.byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro playsewithpan param0, param1
|
|
|
|
.byte 0x19
|
|
|
|
.2byte \param0
|
|
|
|
.byte \param1
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro setpan param0
|
|
|
|
.byte 0x1a
|
|
|
|
.byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro panse_1B param0, param1, param2, param3, param4
|
|
|
|
.byte 0x1b
|
|
|
|
.2byte \param0
|
|
|
|
.byte \param1
|
|
|
|
.byte \param2
|
|
|
|
.byte \param3
|
|
|
|
.byte \param4
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro loopsewithpan param0, param1, param2, param3
|
|
|
|
.byte 0x1c
|
|
|
|
.2byte \param0
|
|
|
|
.byte \param1
|
|
|
|
.byte \param2
|
|
|
|
.byte \param3
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro waitplaysewithpan param0, param1, param2
|
|
|
|
.byte 0x1d
|
|
|
|
.2byte \param0
|
|
|
|
.byte \param1
|
|
|
|
.byte \param2
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro setbldcnt param0
|
|
|
|
.byte 0x1e
|
|
|
|
.2byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro createsoundtask addr, argv:vararg
|
|
|
|
.byte 0x1F
|
|
|
|
.4byte \addr
|
|
|
|
.byte (.Lcreatetask_1F_\@_2 - .Lcreatetask_1F_\@_1) / 2
|
|
|
|
.Lcreatetask_1F_\@_1:
|
|
|
|
.2byte \argv
|
|
|
|
.Lcreatetask_1F_\@_2:
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro waitsound
|
|
|
|
.byte 0x20
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro jumpargeq param0, param1, param2
|
|
|
|
.byte 0x21
|
|
|
|
.byte \param0
|
|
|
|
.2byte \param1
|
|
|
|
.4byte \param2
|
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro monbg_22 battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0x22
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro clearmonbg_23 battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0x23
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro jumpifcontest param0
|
|
|
|
.byte 0x24
|
|
|
|
.4byte \param0
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro fadetobgfromset param0, param1, param2
|
|
|
|
.byte 0x25
|
|
|
|
.byte \param0
|
|
|
|
.byte \param1
|
|
|
|
.byte \param2
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro panse_26 param0, param1, param2, param3, param4
|
|
|
|
.byte 0x26
|
|
|
|
.2byte \param0
|
|
|
|
.byte \param1
|
|
|
|
.byte \param2
|
|
|
|
.byte \param3
|
|
|
|
.byte \param4
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro panse_27 param0, param1, param2, param3, param4
|
|
|
|
.byte 0x27
|
|
|
|
.2byte \param0
|
|
|
|
.byte \param1
|
|
|
|
.byte \param2
|
|
|
|
.byte \param3
|
|
|
|
.byte \param4
|
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro monbgprio_28 battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0x28
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro monbgprio_29
|
|
|
|
.byte 0x29
|
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro monbgprio_2A battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0x2a
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro invisible battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0x2b
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro visible battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0x2c
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro doublebattle_2D battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0x2d
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
2018-09-01 18:36:08 +02:00
|
|
|
.macro doublebattle_2E battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.byte 0x2e
|
2018-09-01 18:36:08 +02:00
|
|
|
.byte \battler
|
2017-12-31 16:28:57 +01:00
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro stopsound
|
|
|
|
.byte 0x2f
|
|
|
|
.endm
|
2018-09-10 21:19:19 +02:00
|
|
|
|
|
|
|
@ useful macros
|
|
|
|
.macro jumpreteq value, ptr
|
|
|
|
jumpargeq ARG_RET_ID, \value, \ptr
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro jumprettrue ptr
|
|
|
|
jumpreteq TRUE, \ptr
|
|
|
|
.endm
|
|
|
|
|
|
|
|
.macro jumpretfalse ptr
|
|
|
|
jumpreteq FALSE, \ptr
|
|
|
|
.endm
|