mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 15:45:24 +13:00
parent
e1f6bb5393
commit
95ec2cf039
139 changed files with 863 additions and 437 deletions
87
macros/asserts.asm
Normal file
87
macros/asserts.asm
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
; Macros to verify assumptions about the data or code
|
||||
|
||||
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"
|
||||
ELSE
|
||||
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, \
|
||||
"{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"
|
||||
ELSE
|
||||
CURRENT_LIST_START EQUS "._list_start\@"
|
||||
CURRENT_LIST_START:
|
||||
ENDC
|
||||
ENDM
|
||||
|
||||
li: MACRO
|
||||
ASSERT !STRIN(\1, "@"), STRCAT("String terminator \"@\" in list entry: ", \1)
|
||||
db \1, "@"
|
||||
list_index = list_index + 1
|
||||
ENDM
|
||||
|
||||
assert_list_length: MACRO
|
||||
x = \1
|
||||
ASSERT x == list_index, \
|
||||
"{CURRENT_LIST_START}: expected {d:x} entries, got {d:list_index}"
|
||||
ENDM
|
||||
|
||||
def_grass_wildmons: MACRO
|
||||
;\1: encounter rate
|
||||
if DEF(CURRENT_GRASS_WILDMONS_LABEL)
|
||||
PURGE CURRENT_GRASS_WILDMONS_LABEL
|
||||
endc
|
||||
CURRENT_GRASS_WILDMONS_RATE = \1
|
||||
CURRENT_GRASS_WILDMONS_LABEL EQUS "._def_grass_wildmons_\1"
|
||||
CURRENT_GRASS_WILDMONS_LABEL:
|
||||
db \1
|
||||
ENDM
|
||||
|
||||
end_grass_wildmons: MACRO
|
||||
IF CURRENT_GRASS_WILDMONS_RATE == 0
|
||||
assert 1 == @ - CURRENT_GRASS_WILDMONS_LABEL, \
|
||||
"def_grass_wildmons {d:CURRENT_GRASS_WILDMONS_RATE}: expected 1 byte"
|
||||
ELSE
|
||||
assert WILDDATA_LENGTH == @ - CURRENT_GRASS_WILDMONS_LABEL, \
|
||||
"def_grass_wildmons {d:CURRENT_GRASS_WILDMONS_RATE}: expected {d:WILDDATA_LENGTH} bytes"
|
||||
ENDC
|
||||
ENDM
|
||||
|
||||
def_water_wildmons: MACRO
|
||||
;\1: encounter rate
|
||||
if DEF(CURRENT_WATER_WILDMONS_LABEL)
|
||||
PURGE CURRENT_WATER_WILDMONS_LABEL
|
||||
endc
|
||||
CURRENT_WATER_WILDMONS_RATE = \1
|
||||
CURRENT_WATER_WILDMONS_LABEL EQUS "._def_water_wildmons_\1"
|
||||
CURRENT_WATER_WILDMONS_LABEL:
|
||||
db \1
|
||||
ENDM
|
||||
|
||||
end_water_wildmons: MACRO
|
||||
IF CURRENT_WATER_WILDMONS_RATE == 0
|
||||
assert 1 == @ - CURRENT_WATER_WILDMONS_LABEL, \
|
||||
"def_water_wildmons {d:CURRENT_WATER_WILDMONS_RATE}: expected 1 byte"
|
||||
ELSE
|
||||
assert WILDDATA_LENGTH == @ - CURRENT_WATER_WILDMONS_LABEL, \
|
||||
"def_water_wildmons {d:CURRENT_WATER_WILDMONS_RATE}: expected {d:WILDDATA_LENGTH} bytes"
|
||||
ENDC
|
||||
ENDM
|
||||
|
|
@ -38,3 +38,11 @@ else
|
|||
const_value = \1
|
||||
endc
|
||||
ENDM
|
||||
|
||||
rb_skip: MACRO
|
||||
IF _NARG == 1
|
||||
rsset _RS + \1
|
||||
ELSE
|
||||
rsset _RS + 1
|
||||
ENDC
|
||||
ENDM
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue