Use rgbds 0.5.0

This commit is contained in:
Rangi
2021-04-19 16:31:37 -04:00
parent 3521923096
commit 316fa4b695
28 changed files with 148 additions and 280 deletions

View File

@@ -2,33 +2,27 @@
table_width: MACRO
CURRENT_TABLE_WIDTH = \1
if DEF(CURRENT_TABLE_START)
PURGE CURRENT_TABLE_START
endc
if _NARG == 2
CURRENT_TABLE_START EQUS "\2"
REDEF CURRENT_TABLE_START EQUS "\2"
else
CURRENT_TABLE_START EQUS "._table_width\@"
CURRENT_TABLE_START:
REDEF CURRENT_TABLE_START EQUS "._table_width\@"
{CURRENT_TABLE_START}:
endc
ENDM
assert_table_length: MACRO
x = \1
assert x * CURRENT_TABLE_WIDTH == @ - CURRENT_TABLE_START, \
assert x * CURRENT_TABLE_WIDTH == @ - {CURRENT_TABLE_START}, \
"{CURRENT_TABLE_START}: expected {d:x} entries, each {d:CURRENT_TABLE_WIDTH} bytes"
ENDM
list_start: MACRO
list_index = 0
if DEF(CURRENT_LIST_START)
PURGE CURRENT_LIST_START
endc
if _NARG == 1
CURRENT_LIST_START EQUS "\1"
REDEF CURRENT_LIST_START EQUS "\1"
else
CURRENT_LIST_START EQUS "._list_start\@"
CURRENT_LIST_START:
REDEF CURRENT_LIST_START EQUS "._list_start\@"
{CURRENT_LIST_START}:
endc
ENDM
@@ -46,38 +40,26 @@ ENDM
def_grass_wildmons: MACRO
;\1: map id
if DEF(CURRENT_GRASS_WILDMONS_MAP)
PURGE CURRENT_GRASS_WILDMONS_MAP
endc
if DEF(CURRENT_GRASS_WILDMONS_LABEL)
PURGE CURRENT_GRASS_WILDMONS_LABEL
endc
CURRENT_GRASS_WILDMONS_MAP EQUS "\1"
CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
CURRENT_GRASS_WILDMONS_LABEL:
REDEF CURRENT_GRASS_WILDMONS_MAP EQUS "\1"
REDEF CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
{CURRENT_GRASS_WILDMONS_LABEL}:
map_id \1
ENDM
end_grass_wildmons: MACRO
assert GRASS_WILDDATA_LENGTH == @ - CURRENT_GRASS_WILDMONS_LABEL, \
assert GRASS_WILDDATA_LENGTH == @ - {CURRENT_GRASS_WILDMONS_LABEL}, \
"def_grass_wildmons {CURRENT_GRASS_WILDMONS_MAP}: expected {d:GRASS_WILDDATA_LENGTH} bytes"
ENDM
def_water_wildmons: MACRO
;\1: map id
if DEF(CURRENT_WATER_WILDMONS_MAP)
PURGE CURRENT_WATER_WILDMONS_MAP
endc
if DEF(CURRENT_WATER_WILDMONS_LABEL)
PURGE CURRENT_WATER_WILDMONS_LABEL
endc
CURRENT_WATER_WILDMONS_MAP EQUS "\1"
CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
CURRENT_WATER_WILDMONS_LABEL:
REDEF CURRENT_WATER_WILDMONS_MAP EQUS "\1"
REDEF CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
{CURRENT_WATER_WILDMONS_LABEL}:
map_id \1
ENDM
end_water_wildmons: MACRO
assert WATER_WILDDATA_LENGTH == @ - CURRENT_WATER_WILDMONS_LABEL, \
assert WATER_WILDDATA_LENGTH == @ - {CURRENT_WATER_WILDMONS_LABEL}, \
"def_water_wildmons {CURRENT_WATER_WILDMONS_MAP}: expected {d:WATER_WILDDATA_LENGTH} bytes"
ENDM

View File

@@ -70,24 +70,16 @@ rept _NARG / 4
endr
ENDM
dx: MACRO
x = 8 * ((\1) - 1)
rept \1
db ((\2) >> x) & $ff
x = x - 8
endr
ENDM
dt: MACRO ; three-byte (big-endian)
dx 3, \1
db LOW((\1) >> 16), HIGH(\1), LOW(\1)
ENDM
dd: MACRO ; four-byte (big-endian)
dx 4, \1
db HIGH((\1) >> 16), LOW((\1) >> 16), HIGH(\1), LOW(\1)
ENDM
bigdw: MACRO ; big-endian word
dx 2, \1 ; db HIGH(\1), LOW(\1)
db HIGH(\1), LOW(\1)
ENDM
dba: MACRO ; dbw bank, address

View File

@@ -8,44 +8,35 @@ ENDM
object_const_def EQUS "const_def 2"
def_scene_scripts: MACRO
if DEF(_NUM_SCENE_SCRIPTS)
PURGE _NUM_SCENE_SCRIPTS
endc
_NUM_SCENE_SCRIPTS EQUS "_NUM_SCENE_SCRIPTS_\@"
db _NUM_SCENE_SCRIPTS
_NUM_SCENE_SCRIPTS = 0
REDEF _NUM_SCENE_SCRIPTS EQUS "_NUM_SCENE_SCRIPTS_\@"
db {_NUM_SCENE_SCRIPTS}
{_NUM_SCENE_SCRIPTS} = 0
ENDM
scene_script: MACRO
;\1: script pointer
dw \1
dw 0 ; filler
_NUM_SCENE_SCRIPTS = _NUM_SCENE_SCRIPTS + 1
{_NUM_SCENE_SCRIPTS} = {_NUM_SCENE_SCRIPTS} + 1
ENDM
def_callbacks: MACRO
if DEF(_NUM_CALLBACKS)
PURGE _NUM_CALLBACKS
endc
_NUM_CALLBACKS EQUS "_NUM_CALLBACKS_\@"
db _NUM_CALLBACKS
_NUM_CALLBACKS = 0
REDEF _NUM_CALLBACKS EQUS "_NUM_CALLBACKS_\@"
db {_NUM_CALLBACKS}
{_NUM_CALLBACKS} = 0
ENDM
callback: MACRO
;\1: type: a MAPCALLBACK_* constant
;\2: script pointer
dbw \1, \2
_NUM_CALLBACKS = _NUM_CALLBACKS + 1
{_NUM_CALLBACKS} = {_NUM_CALLBACKS} + 1
ENDM
def_warp_events: MACRO
if DEF(_NUM_WARP_EVENTS)
PURGE _NUM_WARP_EVENTS
endc
_NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
db _NUM_WARP_EVENTS
_NUM_WARP_EVENTS = 0
REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
db {_NUM_WARP_EVENTS}
{_NUM_WARP_EVENTS} = 0
ENDM
warp_event: MACRO
@@ -55,16 +46,13 @@ warp_event: MACRO
;\4: warp destination: starts at 1
db \2, \1, \4
map_id \3
_NUM_WARP_EVENTS = _NUM_WARP_EVENTS + 1
{_NUM_WARP_EVENTS} = {_NUM_WARP_EVENTS} + 1
ENDM
def_coord_events: MACRO
if DEF(_NUM_COORD_EVENTS)
PURGE _NUM_COORD_EVENTS
endc
_NUM_COORD_EVENTS EQUS "_NUM_COORD_EVENTS_\@"
db _NUM_COORD_EVENTS
_NUM_COORD_EVENTS = 0
REDEF _NUM_COORD_EVENTS EQUS "_NUM_COORD_EVENTS_\@"
db {_NUM_COORD_EVENTS}
{_NUM_COORD_EVENTS} = 0
ENDM
coord_event: MACRO
@@ -76,16 +64,13 @@ coord_event: MACRO
db 0 ; filler
dw \4
dw 0 ; filler
_NUM_COORD_EVENTS = _NUM_COORD_EVENTS + 1
{_NUM_COORD_EVENTS} = {_NUM_COORD_EVENTS} + 1
ENDM
def_bg_events: MACRO
if DEF(_NUM_BG_EVENTS)
PURGE _NUM_BG_EVENTS
endc
_NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
db _NUM_BG_EVENTS
_NUM_BG_EVENTS = 0
REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
db {_NUM_BG_EVENTS}
{_NUM_BG_EVENTS} = 0
ENDM
bg_event: MACRO
@@ -95,16 +80,13 @@ bg_event: MACRO
;\4: script pointer
db \2, \1, \3
dw \4
_NUM_BG_EVENTS = _NUM_BG_EVENTS + 1
{_NUM_BG_EVENTS} = {_NUM_BG_EVENTS} + 1
ENDM
def_object_events: MACRO
if DEF(_NUM_OBJECT_EVENTS)
PURGE _NUM_OBJECT_EVENTS
endc
_NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
db _NUM_OBJECT_EVENTS
_NUM_OBJECT_EVENTS = 0
REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
db {_NUM_OBJECT_EVENTS}
{_NUM_OBJECT_EVENTS} = 0
ENDM
object_event: MACRO
@@ -135,7 +117,10 @@ object_event: MACRO
dw \9
shift
dw \9
_NUM_OBJECT_EVENTS = _NUM_OBJECT_EVENTS + 1
; the dummy PlayerObjectTemplate object_event has no def_object_events
if DEF(_NUM_OBJECT_EVENTS)
{_NUM_OBJECT_EVENTS} = {_NUM_OBJECT_EVENTS} + 1
endc
ENDM
trainer: MACRO