summaryrefslogtreecommitdiff
path: root/src/macros
diff options
context:
space:
mode:
Diffstat (limited to 'src/macros')
-rw-r--r--src/macros/code.asm32
-rw-r--r--src/macros/constants.asm19
-rw-r--r--src/macros/data.asm19
-rw-r--r--src/macros/scripts.asm116
4 files changed, 153 insertions, 33 deletions
diff --git a/src/macros/code.asm b/src/macros/code.asm
index 276bd6a..9e8a4ce 100644
--- a/src/macros/code.asm
+++ b/src/macros/code.asm
@@ -1,20 +1,3 @@
-INCROM: MACRO
-INCBIN "baserom.gbc", \1, \2 - \1
-ENDM
-
-const_def: MACRO
-if _NARG > 0
-const_value = \1
-else
-const_value = 0
-endc
-ENDM
-
-const: MACRO
-\1 EQU const_value
-const_value = const_value + 1
-ENDM
-
lb: MACRO ; r, hi, lo
ld \1, (\2) << 8 + ((\3) & $ff)
ENDM
@@ -39,19 +22,6 @@ else
endc
ENDM
-; the rst $38 handler is a single ret
+; the rst $38 handler is a single ret instruction
; probably used for testing purposes during development
debug_ret EQUS "rst $38"
-
-emptybank: MACRO
- rept $4000
- db $ff
- endr
-ENDM
-
-textpointer: MACRO
- dw ((\1 + ($4000 * (BANK(\1) - 1))) - (TextOffsets + ($4000 * (BANK(TextOffsets) - 1)))) & $ffff
- db ((\1 + ($4000 * (BANK(\1) - 1))) - (TextOffsets + ($4000 * (BANK(TextOffsets) - 1)))) >> 16
- const \1_
-GLOBAL \1_
-ENDM
diff --git a/src/macros/constants.asm b/src/macros/constants.asm
new file mode 100644
index 0000000..ceb0c7f
--- /dev/null
+++ b/src/macros/constants.asm
@@ -0,0 +1,19 @@
+const_def: MACRO
+if _NARG > 0
+const_value = \1
+else
+const_value = 0
+endc
+ENDM
+
+const: MACRO
+\1 EQU const_value
+const_value = const_value + 1
+ENDM
+
+deck_const: MACRO
+if const_value >= 2
+\1_ID EQU const_value + -2
+endc
+ const \1
+ENDM
diff --git a/src/macros/data.asm b/src/macros/data.asm
index 2fd4b7d..80978b7 100644
--- a/src/macros/data.asm
+++ b/src/macros/data.asm
@@ -1,3 +1,7 @@
+INCROM: MACRO
+INCBIN "baserom.gbc", \1, \2 - \1
+ENDM
+
dn: MACRO
db \1 << 4 | \2
ENDM
@@ -40,7 +44,20 @@ rgb: MACRO
dw (\3 << 10 | \2 << 5 | \1)
ENDM
-; macros used in data/cards.asm, but might be useful elsewhere eventually
+emptybank: MACRO
+ rept $4000
+ db $ff
+ endr
+ENDM
+
+; poketcg specific macros below
+
+textpointer: MACRO
+ dw ((\1 + ($4000 * (BANK(\1) - 1))) - (TextOffsets + ($4000 * (BANK(TextOffsets) - 1)))) & $ffff
+ db ((\1 + ($4000 * (BANK(\1) - 1))) - (TextOffsets + ($4000 * (BANK(TextOffsets) - 1)))) >> 16
+ const \1_
+GLOBAL \1_
+ENDM
energy: MACRO
en = 0
diff --git a/src/macros/scripts.asm b/src/macros/scripts.asm
index 9c46f96..b9ab4ec 100644
--- a/src/macros/scripts.asm
+++ b/src/macros/scripts.asm
@@ -4,4 +4,118 @@ run_script: MACRO
db \1_index
ENDM
-; TODO: macros for scripts (constants/overworld_scripts_constants.asm)
+; TODO: create macros for overworld scripts after their usage and arguments are figured out.
+; For example (current OWScript_GiveBoosterPacks_index):
+
+; const SCRIPT_GIVE_BOOSTER_PACKS ; $0c
+;give_booster_packs: MACRO
+; db SCRIPT_GIVE_BOOSTER_PACKS
+; db \1, \2, \3
+;ENDM
+
+ const_def
+ const OWScript_EndScriptLoop1_index ; $00
+ const OWScript_CloseTextBox_index ; $01
+ const OWScript_PrintTextString_index ; $02
+ const Func_ccdc_index ; $03
+ const OWScript_AskQuestionJump_index ; $04
+ const OWScript_StartBattle_index ; $05
+ const Func_cd83_index ; $06
+ const Func_cda8_index ; $07
+ const OWScript_PrintTextCloseBox_index ; $08
+ const Func_cdcb_index ; $09
+ const Func_ce26_index ; $0a
+ const Func_ce84_index ; $0b
+ const OWScript_GiveBoosterPacks_index ; $0c
+ const Func_cf0c_index ; $0d
+ const Func_cf12_index ; $0e
+ const Func_cf3f_index ; $0f
+ const Func_cf4c_index ; $10
+ const Func_cf53_index ; $11
+ const Func_cf7b_index ; $12
+ const Func_cf2d_index ; $13
+ const Func_cf96_index ; $14
+ const Func_cfc6_index ; $15
+ const Func_cfd4_index ; $16
+ const Func_d00b_index ; $17
+ const Func_d025_index ; $18
+ const Func_d032_index ; $19
+ const Func_d03f_index ; $1a
+ const OWScript_ScriptJump_index ; $1b
+ const Func_d04f_index ; $1c
+ const Func_d055_index ; $1d
+ const OWScript_MovePlayer_index ; $1e
+ const Func_cee2_index ; $1f
+ const Func_d080_index ; $20
+ const Func_d088_index ; $21
+ const Func_d095_index ; $22
+ const Func_d0be_index ; $23
+ const Func_d0ce_index ; $24
+ const Func_d0d9_index ; $25
+ const Func_d0f2_index ; $26
+ const Func_ce4a_index ; $27
+ const Func_ceba_index ; $28
+ const Func_d103_index ; $29
+ const Func_d125_index ; $2a
+ const Func_d135_index ; $2b
+ const Func_d16b_index ; $2c
+ const Func_cd4f_index ; $2d
+ const Func_cd94_index ; $2e
+ const Func_ce52_index ; $2f
+ const Func_cdd8_index ; $30
+ const Func_cdf5_index ; $31
+ const Func_d195_index ; $32
+ const Func_d1ad_index ; $33
+ const Func_d1b3_index ; $34
+ const OWScript_EndScriptCloseText_index ; $35
+ const Func_d244_index ; $36
+ const Func_d24c_index ; $37
+ const OWScript_OpenDeckMachine_index ; $38
+ const Func_d271_index ; $39
+ const Func_d36d_index ; $3a
+ const Func_ce6f_index ; $3b
+ const Func_d209_index ; $3c
+ const Func_d38f_index ; $3d
+ const Func_d396_index ; $3e
+ const Func_cd76_index ; $3f
+ const Func_d39d_index ; $40
+ const Func_d3b9_index ; $41
+ const Func_d3c9_index ; $42
+ const Func_d3d1_index ; $43
+ const Func_d3d4_index ; $44
+ const Func_d3e0_index ; $45
+ const Func_d3fe_index ; $46
+ const Func_d408_index ; $47
+ const Func_d40f_index ; $48
+ const Func_d416_index ; $49
+ const Func_d423_index ; $4a
+ const Func_d429_index ; $4b
+ const Func_d41d_index ; $4c
+ const Func_d42f_index ; $4d
+ const Func_d435_index ; $4e
+ const Func_cce4_index ; $4f
+ const Func_d2f6_index ; $50
+ const Func_d317_index ; $51
+ const Func_d43d_index ; $52
+ const OWScript_EndScriptLoop2_index ; $53
+ const OWScript_EndScriptLoop3_index ; $54
+ const OWScript_EndScriptLoop4_index ; $55
+ const OWScript_EndScriptLoop5_index ; $56
+ const OWScript_EndScriptLoop6_index ; $57
+ const OWScript_CustomModifyEventFlags_index ; $58
+ const Func_d460_index ; $59
+ const OWScript_JumpIfFlagSet_index ; $5a
+ const Func_d484_index ; $5b
+ const Func_d49e_index ; $5c
+ const Func_d4a6_index ; $5d
+ const Func_d4ae_index ; $5e
+ const OWScript_SetEventFlags_index ; $5f
+ const Func_d4c3_index ; $60
+ const Func_d4ca_index ; $61
+ const OWScript_JumpIfFlagNotSet_index ; $62
+ const Func_d452_index ; $63
+ const OWScript_EndScriptLoop7_index ; $64
+ const OWScript_EndScriptLoop8_index ; $65
+ const OWScript_EndScriptLoop9_index ; $66
+ const OWScript_EndScriptLoop10_index ; $67
+