mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Add a macro for enumeration.
"enum" is like "const" but uses variables instead. This might not be desired. It has been moved to the top of macros.asm so that included macros can be enumerated.
This commit is contained in:
parent
50734c961c
commit
e7a3ba0592
13
macros.asm
13
macros.asm
@ -1,3 +1,5 @@
|
|||||||
|
INCLUDE "macros/enum.asm"
|
||||||
|
|
||||||
INCLUDE "macros/event.asm"
|
INCLUDE "macros/event.asm"
|
||||||
INCLUDE "macros/sound.asm"
|
INCLUDE "macros/sound.asm"
|
||||||
INCLUDE "macros/text.asm"
|
INCLUDE "macros/text.asm"
|
||||||
@ -113,17 +115,6 @@ endanim: MACRO
|
|||||||
ENDM
|
ENDM
|
||||||
|
|
||||||
|
|
||||||
; Constant enumeration
|
|
||||||
|
|
||||||
const_def: MACRO
|
|
||||||
const_value SET 0
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
const: MACRO
|
|
||||||
\1 EQU const_value
|
|
||||||
const_value SET const_value + 1
|
|
||||||
ENDM
|
|
||||||
|
|
||||||
|
|
||||||
sine_wave: MACRO
|
sine_wave: MACRO
|
||||||
; \1: amplitude
|
; \1: amplitude
|
||||||
|
31
macros/enum.asm
Normal file
31
macros/enum.asm
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
; Enumerate variables
|
||||||
|
|
||||||
|
enum_start: macro
|
||||||
|
if _NARG >= 1
|
||||||
|
__enum__ = \1
|
||||||
|
else
|
||||||
|
__enum__ = 0
|
||||||
|
endc
|
||||||
|
if _NARG >= 2
|
||||||
|
__enumdir__ = \2
|
||||||
|
else
|
||||||
|
__enumdir__ = +1
|
||||||
|
endc
|
||||||
|
endm
|
||||||
|
|
||||||
|
enum: macro
|
||||||
|
\1 = __enum__
|
||||||
|
__enum__ = __enum__ + __enumdir__
|
||||||
|
endm
|
||||||
|
|
||||||
|
|
||||||
|
; Enumerate constants
|
||||||
|
|
||||||
|
const_def: MACRO
|
||||||
|
const_value = 0
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
const: MACRO
|
||||||
|
\1 EQU const_value
|
||||||
|
const_value = const_value + 1
|
||||||
|
ENDM
|
Loading…
Reference in New Issue
Block a user