diff options
author | Bryan Bishop <kanzure@gmail.com> | 2014-06-27 21:33:08 -0500 |
---|---|---|
committer | Bryan Bishop <kanzure@gmail.com> | 2014-06-27 21:33:08 -0500 |
commit | 1ecfe6bd23bb9b4e1886342c082bd5c3a108abbb (patch) | |
tree | 8190d5b11ebec4505c5494baf74b339ae9c82078 /macros.asm | |
parent | 1fbe471b74908be6e89777857bf7407ef427225b (diff) | |
parent | d6fbdfb8decf6231d6b43fbfcba63f9ce60308dc (diff) |
Merge pull request #256 from yenatch/master
Fix predefs and battle code.
Diffstat (limited to 'macros.asm')
-rw-r--r-- | macros.asm | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/macros.asm b/macros.asm index aa8876055..5973de043 100644 --- a/macros.asm +++ b/macros.asm @@ -13,6 +13,8 @@ page EQUS "db $50," ; Start a new Pokedex page. dex EQUS "db $e8, $50" ; End a Pokedex entry. +percent EQUS "* $ff / 100" + ; macros require rst vectors to be defined FarCall EQU $08 Bankswitch EQU $10 @@ -118,15 +120,15 @@ B_ EQU 12 bccoord: MACRO - ld bc, TileMap + SCREEN_WIDTH * \2 + \1 + ld bc, TileMap + SCREEN_WIDTH * (\2) + (\1) ENDM decoord: MACRO - ld de, TileMap + SCREEN_WIDTH * \2 + \1 + ld de, TileMap + SCREEN_WIDTH * (\2) + (\1) ENDM hlcoord: MACRO - ld hl, TileMap + SCREEN_WIDTH * \2 + \1 + ld hl, TileMap + SCREEN_WIDTH * (\2) + (\1) ENDM @@ -194,3 +196,25 @@ x = x + \1 * $40000 endr ENDM + +add_predef: MACRO +\1Predef:: + dw \1 + db BANK(\1) +ENDM + +predef_id: MACRO +; Some functions load the predef id +; without immediately calling Predef. + ld a, (\1Predef - PredefPointers) / 3 +ENDM + +predef: MACRO + predef_id \1 + call Predef +ENDM + +predef_jump: MACRO + predef_id \1 + jp Predef +ENDM |