You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07: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:
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
|
Reference in New Issue
Block a user