mirror of https://github.com/pret/pokecrystal.git
Start moving relevant macros into macros/text.asm.
This commit is contained in:
parent
0fa7b553bd
commit
9303752e3f
154
macros.asm
154
macros.asm
|
@ -8,18 +8,9 @@ INCLUDE "macros/movement.asm"
|
||||||
INCLUDE "macros/map.asm"
|
INCLUDE "macros/map.asm"
|
||||||
|
|
||||||
|
|
||||||
text EQUS "db $00," ; Start writing text.
|
RGB: MACRO
|
||||||
next EQUS "db $4e," ; Move a line down.
|
dw ((\3) << 10) + ((\2) << 5) + (\1)
|
||||||
line EQUS "db $4f," ; Start writing at the bottom line.
|
ENDM
|
||||||
para EQUS "db $51," ; Start a new paragraph.
|
|
||||||
cont EQUS "db $55," ; Scroll to the next line.
|
|
||||||
done EQUS "db $57" ; End a text box.
|
|
||||||
prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event).
|
|
||||||
|
|
||||||
; Pokedex text commands are only used with pokered.
|
|
||||||
; They are included for compatibility.
|
|
||||||
page EQUS "db $50," ; Start a new Pokedex page.
|
|
||||||
dex EQUS "db $e8, $50" ; End a Pokedex entry.
|
|
||||||
|
|
||||||
|
|
||||||
percent EQUS "* $ff / 100"
|
percent EQUS "* $ff / 100"
|
||||||
|
@ -29,8 +20,22 @@ FarCall EQU $08
|
||||||
Bankswitch EQU $10
|
Bankswitch EQU $10
|
||||||
JumpTable EQU $28
|
JumpTable EQU $28
|
||||||
|
|
||||||
|
farcall: MACRO ; bank, address
|
||||||
|
ld a, BANK(\1)
|
||||||
|
ld hl, \1
|
||||||
|
rst FarCall
|
||||||
|
ENDM
|
||||||
|
|
||||||
NONE EQU 0
|
callba EQUS "farcall"
|
||||||
|
|
||||||
|
callab: MACRO ; address, bank
|
||||||
|
ld hl, \1
|
||||||
|
ld a, BANK(\1)
|
||||||
|
rst FarCall
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
NONE EQU 0
|
||||||
|
|
||||||
|
|
||||||
dwb: MACRO
|
dwb: MACRO
|
||||||
|
@ -54,29 +59,22 @@ dbwww: MACRO
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
dn: MACRO
|
dn: MACRO
|
||||||
|
rept _NARG / 2
|
||||||
db (\1) << 4 + (\2)
|
db (\1) << 4 + (\2)
|
||||||
|
shift
|
||||||
|
shift
|
||||||
|
endr
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
dt: MACRO ; three-byte (big-endian)
|
dt: MACRO ; three-byte (big-endian)
|
||||||
db (\1 >> 16) & $ff
|
db ((\1) >> 16) & $ff
|
||||||
db (\1 >> 8) & $ff
|
db ((\1) >> 8) & $ff
|
||||||
db \1 & $ff
|
db (\1) & $ff
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
bigdw: MACRO ; big-endian word
|
bigdw: MACRO ; big-endian word
|
||||||
dw ((\1)/$100) + (((\1)&$ff)*$100)
|
db (\1) / $100
|
||||||
ENDM
|
db (\1) % $100
|
||||||
|
|
||||||
callab: MACRO ; address, bank
|
|
||||||
ld hl, \1
|
|
||||||
ld a, BANK(\1)
|
|
||||||
rst FarCall
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
callba: MACRO ; bank, address
|
|
||||||
ld a, BANK(\1)
|
|
||||||
ld hl, \1
|
|
||||||
rst FarCall
|
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,6 +82,40 @@ lb: MACRO ; r, hi, lo
|
||||||
ld \1, (\2) << 8 + (\3)
|
ld \1, (\2) << 8 + (\3)
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
bccoord: MACRO
|
||||||
|
coord bc, \1, \2
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
decoord: MACRO
|
||||||
|
coord de, \1, \2
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
hlcoord: MACRO
|
||||||
|
coord hl, \1, \2
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
coord: MACRO
|
||||||
|
ld \1, TileMap + SCREEN_WIDTH * (\3) + (\2)
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
; pic animations
|
||||||
|
frame: MACRO
|
||||||
|
db \1
|
||||||
|
db \2
|
||||||
|
ENDM
|
||||||
|
setrepeat: MACRO
|
||||||
|
db $fe
|
||||||
|
db \1
|
||||||
|
ENDM
|
||||||
|
dorepeat: MACRO
|
||||||
|
db $fd
|
||||||
|
db \1
|
||||||
|
ENDM
|
||||||
|
endanim: MACRO
|
||||||
|
db $ff
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
; Constant enumeration
|
; Constant enumeration
|
||||||
|
|
||||||
|
@ -97,24 +129,9 @@ const_value SET const_value + 1
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
TX_RAM: MACRO
|
|
||||||
db 1
|
|
||||||
dw \1
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
TX_FAR: MACRO
|
|
||||||
db $16
|
|
||||||
dw \1
|
|
||||||
db BANK(\1)
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
RGB: MACRO
|
|
||||||
dw (((\3) << 10) | ((\2) << 5) | (\1))
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
|
|
||||||
note: MACRO
|
note: MACRO
|
||||||
db (\1) << 4 + ((\2) - 1)
|
dn (\1), (\2) - 1
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
sound: macro
|
sound: macro
|
||||||
|
@ -145,36 +162,6 @@ A# EQU 11
|
||||||
B_ EQU 12
|
B_ EQU 12
|
||||||
|
|
||||||
|
|
||||||
bccoord: MACRO
|
|
||||||
ld bc, TileMap + SCREEN_WIDTH * (\2) + (\1)
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
decoord: MACRO
|
|
||||||
ld de, TileMap + SCREEN_WIDTH * (\2) + (\1)
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
hlcoord: MACRO
|
|
||||||
ld hl, TileMap + SCREEN_WIDTH * (\2) + (\1)
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
|
|
||||||
; pic animations
|
|
||||||
frame: MACRO
|
|
||||||
db \1
|
|
||||||
db \2
|
|
||||||
ENDM
|
|
||||||
setrepeat: MACRO
|
|
||||||
db $fe
|
|
||||||
db \1
|
|
||||||
ENDM
|
|
||||||
dorepeat: MACRO
|
|
||||||
db $fd
|
|
||||||
db \1
|
|
||||||
ENDM
|
|
||||||
endanim: MACRO
|
|
||||||
db $ff
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
|
|
||||||
; maps
|
; maps
|
||||||
|
|
||||||
|
@ -193,20 +180,13 @@ roam_map: MACRO
|
||||||
; A map and an arbitrary number of some more maps.
|
; A map and an arbitrary number of some more maps.
|
||||||
|
|
||||||
map \1
|
map \1
|
||||||
db \2
|
db \2
|
||||||
|
|
||||||
IF \2 > 0
|
rept \2
|
||||||
map \3
|
map \3
|
||||||
ENDC
|
shift
|
||||||
IF \2 > 1
|
endr
|
||||||
map \4
|
|
||||||
ENDC
|
|
||||||
IF \2 > 2
|
|
||||||
map \5
|
|
||||||
ENDC
|
|
||||||
IF \2 > 3
|
|
||||||
map \6
|
|
||||||
ENDC
|
|
||||||
db 0
|
db 0
|
||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,30 @@
|
||||||
text_from_ram: macro
|
text EQUS "db $00," ; Start writing text.
|
||||||
|
next EQUS "db $4e," ; Move a line down.
|
||||||
|
line EQUS "db $4f," ; Start writing at the bottom line.
|
||||||
|
para EQUS "db $51," ; Start a new paragraph.
|
||||||
|
cont EQUS "db $55," ; Scroll to the next line.
|
||||||
|
done EQUS "db $57" ; End a text box.
|
||||||
|
prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event).
|
||||||
|
|
||||||
|
; Pokedex text commands are only used with pokered.
|
||||||
|
; They are included for compatibility.
|
||||||
|
page EQUS "db $50," ; Start a new Pokedex page.
|
||||||
|
dex EQUS "db $e8, $50" ; End a Pokedex entry.
|
||||||
|
|
||||||
|
|
||||||
|
TX_RAM: MACRO
|
||||||
db 1
|
db 1
|
||||||
dw \1
|
dw \1
|
||||||
endm
|
ENDM
|
||||||
|
|
||||||
|
TX_FAR: MACRO
|
||||||
|
db $16
|
||||||
|
dw \1
|
||||||
|
db BANK(\1)
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
|
text_from_ram EQUS "TX_RAM"
|
||||||
|
|
||||||
text_dunno1: macro
|
text_dunno1: macro
|
||||||
db 5
|
db 5
|
||||||
|
@ -58,8 +81,4 @@ current_day: macro
|
||||||
db $15
|
db $15
|
||||||
endm
|
endm
|
||||||
|
|
||||||
text_jump: macro
|
text_jump EQUS "TX_FAR"
|
||||||
db $16
|
|
||||||
dw \1
|
|
||||||
db BANK(\1)
|
|
||||||
endm
|
|
||||||
|
|
Loading…
Reference in New Issue