shithub: pokecrystal

Download patch

ref: f036cdf13b0e215cd9a14cc9dba24f821a9679c0
parent: 9303752e3fac18a5245870a992a04d11772bed52
author: yenatch <[email protected]>
date: Tue Jan 20 09:26:16 EST 2015

Move around some more macros.

--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -1,3 +1,5 @@
+NONE EQU 0
+
 PARTY_LENGTH EQU 6
 
 MAX_ITEMS     EQU 20
--- a/macros.asm
+++ b/macros.asm
@@ -6,6 +6,8 @@
 INCLUDE "macros/move_anim.asm"
 INCLUDE "macros/movement.asm"
 INCLUDE "macros/map.asm"
+INCLUDE "macros/predef.asm"
+INCLUDE "macros/rst.asm"
 
 
 RGB: MACRO
@@ -15,29 +17,7 @@
 
 percent EQUS "* $ff / 100"
 
-; macros require rst vectors to be defined
-FarCall    EQU $08
-Bankswitch EQU $10
-JumpTable  EQU $28
 
-farcall: MACRO ; bank, address
-	ld a, BANK(\1)
-	ld hl, \1
-	rst FarCall
-	ENDM
-
-callba EQUS "farcall"
-
-callab: MACRO ; address, bank
-	ld hl, \1
-	ld a, BANK(\1)
-	rst FarCall
-	ENDM
-
-
-NONE EQU 0
-
-
 dwb: MACRO
 	dw \1
 	db \2
@@ -82,6 +62,7 @@
 	ld \1, (\2) << 8 + (\3)
 	ENDM
 
+
 bccoord: MACRO
 	coord bc, \1, \2
 	ENDM
@@ -129,68 +110,6 @@
 ENDM
 
 
-
-note: MACRO
-	dn (\1), (\2) - 1
-	ENDM
-
-sound: macro
-	db \1 ; duration
-	db \2 ; intensity
-	dw \3 ; frequency
-	endm
-
-noise: macro
-	db \1 ; duration
-	db \2 ; intensity
-	db \3 ; frequency
-	endm
-
-; pitch
-__ EQU 0
-C_ EQU 1
-C# EQU 2
-D_ EQU 3
-D# EQU 4
-E_ EQU 5
-F_ EQU 6
-F# EQU 7
-G_ EQU 8
-G# EQU 9
-A_ EQU 10
-A# EQU 11
-B_ EQU 12
-
-
-
-; maps
-
-map: MACRO
-; This is a really silly hack to get around an rgbds bug.
-
-; Ideally:
-;	db GROUP_\1, MAP_\1
-
-\1\@  EQUS "GROUP_\1"
-\1\@2 EQUS "MAP_\1"
-	db \1\@, \1\@2
-ENDM
-
-roam_map: MACRO
-; A map and an arbitrary number of some more maps.
-
-	map \1
-	db  \2
-
-	rept \2
-	map \3
-	shift
-	endr
-
-	db 0
-ENDM
-
-
 sine_wave: MACRO
 ; \1: amplitude
 
@@ -200,27 +119,4 @@
 	dw (sin(x) + (sin(x) & $ff)) >> 8
 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
--- a/macros/map.asm
+++ b/macros/map.asm
@@ -1,3 +1,29 @@
+map: MACRO
+; This is a silly hack to get around an rgbds bug.
+
+; Ideally:
+;	db GROUP_\1, MAP_\1
+
+\1\@  EQUS "GROUP_\1"
+\1\@2 EQUS "MAP_\1"
+	db \1\@, \1\@2
+ENDM
+
+roam_map: MACRO
+; A map and an arbitrary number of some more maps.
+
+	map \1
+	db  \2
+
+	rept \2
+	map \3
+	shift
+	endr
+
+	db 0
+ENDM
+
+
 person_event: macro
 	db \1 ; sprite
 	db \2 ; y
--- /dev/null
+++ b/macros/predef.asm
@@ -1,0 +1,21 @@
+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
--- /dev/null
+++ b/macros/rst.asm
@@ -1,0 +1,17 @@
+FarCall    EQU $08
+Bankswitch EQU $10
+JumpTable  EQU $28
+
+farcall: MACRO ; bank, address
+	ld a, BANK(\1)
+	ld hl, \1
+	rst FarCall
+	ENDM
+
+callba EQUS "farcall"
+
+callab: MACRO ; address, bank
+	ld hl, \1
+	ld a, BANK(\1)
+	rst FarCall
+	ENDM
--- a/macros/sound.asm
+++ b/macros/sound.asm
@@ -1,3 +1,35 @@
+note: MACRO
+	dn (\1), (\2) - 1
+	ENDM
+
+sound: macro
+	db \1 ; duration
+	db \2 ; intensity
+	dw \3 ; frequency
+	endm
+
+noise: macro
+	db \1 ; duration
+	db \2 ; intensity
+	db \3 ; frequency
+	endm
+
+; pitch
+__ EQU 0
+C_ EQU 1
+C# EQU 2
+D_ EQU 3
+D# EQU 4
+E_ EQU 5
+F_ EQU 6
+F# EQU 7
+G_ EQU 8
+G# EQU 9
+A_ EQU 10
+A# EQU 11
+B_ EQU 12
+
+
 octave: macro
 	db $d8 - (\1)
 	endm