RGBDS syntax updates (#358)

New MACRO and DEF syntax
This commit is contained in:
vulcandth 2022-06-06 16:25:31 -05:00 committed by GitHub
parent d7808d110f
commit 6b5be9129c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
101 changed files with 958 additions and 958 deletions

View file

@ -1,4 +1,4 @@
special_effect: MACRO
MACRO special_effect
db \1
dw \2
ENDM

View file

@ -1,4 +1,4 @@
anim_special_effect: MACRO
MACRO anim_special_effect
db \1
dw \2
ENDM

View file

@ -94,7 +94,7 @@ SubanimationPointers:
; db frame block id, base coordinate id, frame block mode
; ENDR
subanim: MACRO
MACRO subanim
db (\1 << 5) | \2
ENDM

View file

@ -1,4 +1,4 @@
bench_guy_text: MACRO
MACRO bench_guy_text
db \1, \2
db_tx_pre \3
ENDM

View file

@ -1,4 +1,4 @@
hidden_coin: MACRO
MACRO hidden_coin
db \1, \3, \2
ENDM

View file

@ -1,4 +1,4 @@
hidden_item: MACRO
MACRO hidden_item
db \1, \3, \2
ENDM

View file

@ -174,14 +174,14 @@ HiddenObjectPointers:
dw CeruleanCityHiddenObjects
dw Route4HiddenObjects
hidden_object: MACRO
MACRO hidden_object
db \2 ; y coord
db \1 ; x coord
db \3 ; item id
dba \4 ; object routine
ENDM
hidden_text_predef: MACRO
MACRO hidden_text_predef
db \2 ; y coord
db \1 ; x coord
db_tx_pre \3 ; text id
@ -191,7 +191,7 @@ ENDM
; Some hidden objects use SPRITE_FACING_* values,
; but these do not actually prevent the player
; from interacting with them in any direction.
ANY_FACING EQU $d0
DEF ANY_FACING EQU $d0
TradeCenterHiddenObjects:
hidden_object 5, 4, ANY_FACING, CableClubRightGameboy

View file

@ -1,4 +1,4 @@
growth_rate: MACRO
MACRO growth_rate
; [1]/[2]*n**3 + [3]*n**2 + [4]*n - [5]
dn \1, \2
if \3 < 0

View file

@ -1,4 +1,4 @@
mon_icon_header: MACRO
MACRO mon_icon_header
dw \1 tile \2
db \3
db BANK(\1)

View file

@ -1,4 +1,4 @@
vend_item: MACRO
MACRO vend_item
db \1
bcd3 \2
ENDM

View file

@ -1,4 +1,4 @@
force_bike_surf: MACRO
MACRO force_bike_surf
db \1, \3, \2
ENDM

View file

@ -17,7 +17,7 @@ DungeonWarpList:
db -1 ; end
fly_warp: MACRO
MACRO fly_warp
event_displacement \1_WIDTH, \2, \3
db ((\3) & $01) ;sub-block Y
db ((\2) & $01) ;sub-block X
@ -38,7 +38,7 @@ DungeonWarpData:
fly_warp POKEMON_MANSION_2F, 18, 14
special_warp_spec: MACRO
MACRO special_warp_spec
db \1
fly_warp \1, \2, \3
db \4
@ -56,7 +56,7 @@ ColosseumSpec2:
special_warp_spec COLOSSEUM, 6, 4, CLUB
fly_warp_spec: MACRO
MACRO fly_warp_spec
db \1, 0
dw \2
ENDM

View file

@ -39,8 +39,8 @@ MapSpriteSets:
db $02 ; ROUTE_25
assert_table_length FIRST_INDOOR_MAP
EAST_WEST EQU 1
NORTH_SOUTH EQU 2
DEF EAST_WEST EQU 1
DEF NORTH_SOUTH EQU 2
; Format:
; 00: determines whether the map is split EAST_WEST or NORTH_SOUTH
@ -64,7 +64,7 @@ SplitMapSpriteSets:
SpriteSets:
; each sprite set has 9 walking sprites and 2 still sprites
SPRITE_SET_LENGTH EQU 9 + 2
DEF SPRITE_SET_LENGTH EQU 9 + 2
; sprite set $01
table_width 1

View file

@ -1,4 +1,4 @@
external_map: MACRO
MACRO external_map
dn \2, \1
dw \3
ENDM
@ -47,7 +47,7 @@ ExternalMapEntries:
assert_table_length FIRST_INDOOR_MAP
internal_map: MACRO
MACRO internal_map
db \1 + 1
dn \3, \2
dw \4

View file

@ -214,7 +214,7 @@ AttackAnimationPointers:
; if \2 is a subanimation_id:
;\3: tileset_id
;\4: delay
battle_anim: MACRO
MACRO battle_anim
IF _NARG == 4
db (\3 << 6) | \4
db \1 - 1

View file

@ -1,4 +1,4 @@
move: MACRO
MACRO move
db \1 ; animation (interchangeable with move id)
db \2 ; effect
db \3 ; power

View file

@ -1,4 +1,4 @@
mon_cry: MACRO
MACRO mon_cry
db (\1 - CRY_SFX_START) / 3
db \2, \3
ENDM

View file

@ -1,10 +1,10 @@
add_predef: MACRO
MACRO add_predef
\1Predef::
IF _NARG == 1
dba \1
ELSE
dbw \2, \1
ENDC
IF _NARG == 1
dba \1
ELSE
dbw \2, \1
ENDC
ENDM
PredefPointers::

View file

@ -1,51 +1,51 @@
ATTR_BLK: MACRO
MACRO ATTR_BLK
; This is a command macro.
; Use ATTR_BLK_DATA for data sets.
db ($4 << 3) + ((\1 * 6) / 16 + 1)
db \1
ENDM
ATTR_BLK_DATA: MACRO
MACRO ATTR_BLK_DATA
db \1 ; which regions are affected
db \2 + (\3 << 2) + (\4 << 4) ; palette for each region
db \5, \6, \7, \8 ; x1, y1, x2, y2
ENDM
PAL_SET: MACRO
MACRO PAL_SET
db ($a << 3) + 1
dw \1, \2, \3, \4
ds 7, 0
ENDM
PAL_TRN: MACRO
MACRO PAL_TRN
db ($b << 3) + 1
ds 15, 0
ENDM
MLT_REQ: MACRO
MACRO MLT_REQ
db ($11 << 3) + 1
db \1 - 1
ds 14, 0
ENDM
CHR_TRN: MACRO
MACRO CHR_TRN
db ($13 << 3) + 1
db \1 + (\2 << 1)
ds 14, 0
ENDM
PCT_TRN: MACRO
MACRO PCT_TRN
db ($14 << 3) + 1
ds 15, 0
ENDM
MASK_EN: MACRO
MACRO MASK_EN
db ($17 << 3) + 1
db \1
ds 14, 0
ENDM
DATA_SND: MACRO
MACRO DATA_SND
db ($f << 3) + 1
dw \1 ; address
db \2 ; bank

View file

@ -1,4 +1,4 @@
overworld_sprite: MACRO
MACRO overworld_sprite
dw \1
db \2 tiles
db BANK(\1)

View file

@ -15,7 +15,7 @@ TextBoxCoordTable:
db MON_SPRITE_POPUP, 6, 4, 14, 13
db -1 ; end
text_box_text: MACRO
MACRO text_box_text
db \1 ; text box ID
db \2, \3, \4, \5 ; text box coordinates
dw \6 ; text pointer

View file

@ -1,4 +1,4 @@
add_tx_pre: MACRO
MACRO add_tx_pre
\1_id::
dw \1
ENDM

View file

@ -1,4 +1,4 @@
tile_ids: MACRO
MACRO tile_ids
dw \1
dn \3, \2
ENDM

View file

@ -1,4 +1,4 @@
bookshelf_tile: MACRO
MACRO bookshelf_tile
db \1, \2
db_tx_pre \3
ENDM

View file

@ -1,4 +1,4 @@
coll_tiles: MACRO
MACRO coll_tiles
IF _NARG
db \# ; all args
ENDC

View file

@ -14,7 +14,7 @@ DoorTileIDPointers:
dbw PLATEAU, .PlateauDoorTileIDs
db -1 ; end
door_tiles: MACRO
MACRO door_tiles
IF _NARG
db \# ; all args
ENDC

View file

@ -1,4 +1,4 @@
spinner: MACRO
MACRO spinner
; \1: source
; \2: offset (BANK() chokes on literals)
; \3: dest

View file

@ -1,4 +1,4 @@
tileset: MACRO
MACRO tileset
db BANK(\1_GFX)
dw \1_Block, \1_GFX, \1_Coll
db \2, \3, \4 ; counter tiles

View file

@ -4,7 +4,7 @@ WarpTileListPointers:
dw .FacingLeftWarpTiles
dw .FacingRightWarpTiles
warp_carpet_tiles: MACRO
MACRO warp_carpet_tiles
IF _NARG
db \# ; all args
ENDC

View file

@ -26,7 +26,7 @@ WarpTileIDPointers:
dw .PlateauWarpTileIDs
assert_table_length NUM_TILESETS
warp_tiles: MACRO
MACRO warp_tiles
IF _NARG
db \# ; all args
ENDC

View file

@ -1,9 +1,9 @@
move_choices: MACRO
MACRO move_choices
IF _NARG
db \# ; all args
ENDC
db 0 ; end
list_index += 1
DEF list_index += 1
ENDM
; move choice modification methods that are applied for each trainer class

View file

@ -1,4 +1,4 @@
pic_money: MACRO
MACRO pic_money
dw \1
bcd3 \2
ENDM

View file

@ -1,4 +1,4 @@
two_option_menu: MACRO
MACRO two_option_menu
db \1, \2, \3
dw \4
ENDM