mirror of https://github.com/pret/pokecrystal.git
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/sound.asm"
|
||||
INCLUDE "macros/text.asm"
|
||||
|
@ -113,17 +115,6 @@ endanim: MACRO
|
|||
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
|
||||
; \1: amplitude
|
||||
|
|
|
@ -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