mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-22 15:12:18 +13:00
parent
d7808d110f
commit
6b5be9129c
101 changed files with 958 additions and 958 deletions
|
|
@ -1,7 +1,7 @@
|
|||
def_object_events: MACRO
|
||||
REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
|
||||
MACRO def_object_events
|
||||
REDEF _NUM_OBJECT_EVENTS EQUS "_NUM_OBJECT_EVENTS_\@"
|
||||
db {_NUM_OBJECT_EVENTS}
|
||||
{_NUM_OBJECT_EVENTS} = 0
|
||||
DEF {_NUM_OBJECT_EVENTS} = 0
|
||||
ENDM
|
||||
|
||||
;\1 x position
|
||||
|
|
@ -13,7 +13,7 @@ ENDM
|
|||
;\7 items only: item id
|
||||
;\7 trainers only: trainer class/pokemon id
|
||||
;\8 trainers only: trainer number/pokemon level
|
||||
object_event: MACRO
|
||||
MACRO object_event
|
||||
db \3
|
||||
db \2 + 4
|
||||
db \1 + 4
|
||||
|
|
@ -29,42 +29,42 @@ object_event: MACRO
|
|||
ELSE
|
||||
db \6
|
||||
ENDC
|
||||
{_NUM_OBJECT_EVENTS} += 1
|
||||
DEF {_NUM_OBJECT_EVENTS} += 1
|
||||
ENDM
|
||||
|
||||
def_warp_events: MACRO
|
||||
REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
|
||||
MACRO def_warp_events
|
||||
REDEF _NUM_WARP_EVENTS EQUS "_NUM_WARP_EVENTS_\@"
|
||||
db {_NUM_WARP_EVENTS}
|
||||
{_NUM_WARP_EVENTS} = 0
|
||||
DEF {_NUM_WARP_EVENTS} = 0
|
||||
ENDM
|
||||
|
||||
;\1 x position
|
||||
;\2 y position
|
||||
;\3 destination map (-1 = wLastMap)
|
||||
;\4 destination warp id; starts at 1 (internally at 0)
|
||||
warp_event: MACRO
|
||||
MACRO warp_event
|
||||
db \2, \1, \4 - 1, \3
|
||||
_WARP_{d:{_NUM_WARP_EVENTS}}_X = \1
|
||||
_WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2
|
||||
{_NUM_WARP_EVENTS} += 1
|
||||
DEF _WARP_{d:{_NUM_WARP_EVENTS}}_X = \1
|
||||
DEF _WARP_{d:{_NUM_WARP_EVENTS}}_Y = \2
|
||||
DEF {_NUM_WARP_EVENTS} += 1
|
||||
ENDM
|
||||
|
||||
def_bg_events: MACRO
|
||||
REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
|
||||
MACRO def_bg_events
|
||||
REDEF _NUM_BG_EVENTS EQUS "_NUM_BG_EVENTS_\@"
|
||||
db {_NUM_BG_EVENTS}
|
||||
{_NUM_BG_EVENTS} = 0
|
||||
DEF {_NUM_BG_EVENTS} = 0
|
||||
ENDM
|
||||
|
||||
;\1 x position
|
||||
;\2 y position
|
||||
;\3 sign id
|
||||
bg_event: MACRO
|
||||
MACRO bg_event
|
||||
db \2, \1, \3
|
||||
{_NUM_BG_EVENTS} += 1
|
||||
DEF {_NUM_BG_EVENTS} += 1
|
||||
ENDM
|
||||
|
||||
;\1 source map
|
||||
def_warps_to: MACRO
|
||||
MACRO def_warps_to
|
||||
FOR n, _NUM_WARP_EVENTS
|
||||
warp_to _WARP_{d:n}_X, _WARP_{d:n}_Y, \1_WIDTH
|
||||
ENDR
|
||||
|
|
@ -73,18 +73,18 @@ ENDM
|
|||
;\1 x position
|
||||
;\2 y position
|
||||
;\3 map width
|
||||
warp_to: MACRO
|
||||
MACRO warp_to
|
||||
event_displacement \3, \1, \2
|
||||
ENDM
|
||||
|
||||
|
||||
;\1 first bit offset / first object id
|
||||
def_trainers: MACRO
|
||||
IF _NARG == 1
|
||||
CURRENT_TRAINER_BIT = \1
|
||||
ELSE
|
||||
CURRENT_TRAINER_BIT = 1
|
||||
ENDC
|
||||
MACRO def_trainers
|
||||
IF _NARG == 1
|
||||
DEF CURRENT_TRAINER_BIT = \1
|
||||
ELSE
|
||||
DEF CURRENT_TRAINER_BIT = 1
|
||||
ENDC
|
||||
ENDM
|
||||
|
||||
;\1 event flag
|
||||
|
|
@ -92,22 +92,22 @@ ENDM
|
|||
;\3 TextBeforeBattle
|
||||
;\4 TextAfterBattle
|
||||
;\5 TextEndBattle
|
||||
trainer: MACRO
|
||||
_ev_bit = \1 % 8
|
||||
_cur_bit = CURRENT_TRAINER_BIT % 8
|
||||
MACRO trainer
|
||||
DEF _ev_bit = \1 % 8
|
||||
DEF _cur_bit = CURRENT_TRAINER_BIT % 8
|
||||
ASSERT _ev_bit == _cur_bit, \
|
||||
"Expected \1 to be bit {d:_cur_bit}, got {d:_ev_bit}"
|
||||
db CURRENT_TRAINER_BIT
|
||||
db \2 << 4
|
||||
dw wEventFlags + (\1 - CURRENT_TRAINER_BIT) / 8
|
||||
dw \3, \5, \4, \4
|
||||
CURRENT_TRAINER_BIT += 1
|
||||
DEF CURRENT_TRAINER_BIT += 1
|
||||
ENDM
|
||||
|
||||
;\1 x position
|
||||
;\2 y position
|
||||
;\3 movement data
|
||||
map_coord_movement: MACRO
|
||||
MACRO map_coord_movement
|
||||
dbmapcoord \1, \2
|
||||
dw \3
|
||||
ENDM
|
||||
|
|
@ -117,10 +117,10 @@ ENDM
|
|||
;\2 map id
|
||||
;\3 tileset
|
||||
;\4 connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
|
||||
map_header: MACRO
|
||||
CURRENT_MAP_WIDTH = \2_WIDTH
|
||||
CURRENT_MAP_HEIGHT = \2_HEIGHT
|
||||
CURRENT_MAP_OBJECT EQUS "\1_Object"
|
||||
MACRO map_header
|
||||
DEF CURRENT_MAP_WIDTH = \2_WIDTH
|
||||
DEF CURRENT_MAP_HEIGHT = \2_HEIGHT
|
||||
DEF CURRENT_MAP_OBJECT EQUS "\1_Object"
|
||||
\1_h::
|
||||
db \3
|
||||
db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH
|
||||
|
|
@ -131,7 +131,7 @@ CURRENT_MAP_OBJECT EQUS "\1_Object"
|
|||
ENDM
|
||||
|
||||
; Comes after map_header and connection macros
|
||||
end_map_header: MACRO
|
||||
MACRO end_map_header
|
||||
dw {CURRENT_MAP_OBJECT}
|
||||
PURGE CURRENT_MAP_WIDTH, CURRENT_MAP_HEIGHT, CURRENT_MAP_OBJECT
|
||||
ENDM
|
||||
|
|
@ -142,63 +142,63 @@ ENDM
|
|||
;\3 map id
|
||||
;\4 offset of the target map relative to the current map
|
||||
; (x offset for east/west, y offset for north/south)
|
||||
connection: MACRO
|
||||
MACRO connection
|
||||
|
||||
; Calculate tile offsets for source (current) and target maps
|
||||
_src = 0
|
||||
_tgt = (\4) + 3
|
||||
IF _tgt < 2
|
||||
_src = -_tgt
|
||||
_tgt = 0
|
||||
ENDC
|
||||
; Calculate tile offsets for source (current) and target maps
|
||||
DEF _src = 0
|
||||
DEF _tgt = (\4) + 3
|
||||
IF _tgt < 2
|
||||
DEF _src = -_tgt
|
||||
DEF _tgt = 0
|
||||
ENDC
|
||||
|
||||
IF !STRCMP("\1", "north")
|
||||
_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src
|
||||
_map = _tgt
|
||||
_win = (\3_WIDTH + 6) * \3_HEIGHT + 1
|
||||
_y = \3_HEIGHT * 2 - 1
|
||||
_x = (\4) * -2
|
||||
_len = CURRENT_MAP_WIDTH + 3 - (\4)
|
||||
IF _len > \3_WIDTH
|
||||
_len = \3_WIDTH
|
||||
ENDC
|
||||
IF !STRCMP("\1", "north")
|
||||
DEF _blk = \3_WIDTH * (\3_HEIGHT - 3) + _src
|
||||
DEF _map = _tgt
|
||||
DEF _win = (\3_WIDTH + 6) * \3_HEIGHT + 1
|
||||
DEF _y = \3_HEIGHT * 2 - 1
|
||||
DEF _x = (\4) * -2
|
||||
DEF _len = CURRENT_MAP_WIDTH + 3 - (\4)
|
||||
IF _len > \3_WIDTH
|
||||
DEF _len = \3_WIDTH
|
||||
ENDC
|
||||
|
||||
ELIF !STRCMP("\1", "south")
|
||||
_blk = _src
|
||||
_map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt
|
||||
_win = \3_WIDTH + 7
|
||||
_y = 0
|
||||
_x = (\4) * -2
|
||||
_len = CURRENT_MAP_WIDTH + 3 - (\4)
|
||||
IF _len > \3_WIDTH
|
||||
_len = \3_WIDTH
|
||||
ENDC
|
||||
ELIF !STRCMP("\1", "south")
|
||||
DEF _blk = _src
|
||||
DEF _map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt
|
||||
DEF _win = \3_WIDTH + 7
|
||||
DEF _y = 0
|
||||
DEF _x = (\4) * -2
|
||||
DEF _len = CURRENT_MAP_WIDTH + 3 - (\4)
|
||||
IF _len > \3_WIDTH
|
||||
DEF _len = \3_WIDTH
|
||||
ENDC
|
||||
|
||||
ELIF !STRCMP("\1", "west")
|
||||
_blk = (\3_WIDTH * _src) + \3_WIDTH - 3
|
||||
_map = (CURRENT_MAP_WIDTH + 6) * _tgt
|
||||
_win = (\3_WIDTH + 6) * 2 - 6
|
||||
_y = (\4) * -2
|
||||
_x = \3_WIDTH * 2 - 1
|
||||
_len = CURRENT_MAP_HEIGHT + 3 - (\4)
|
||||
IF _len > \3_HEIGHT
|
||||
_len = \3_HEIGHT
|
||||
ENDC
|
||||
ELIF !STRCMP("\1", "west")
|
||||
DEF _blk = (\3_WIDTH * _src) + \3_WIDTH - 3
|
||||
DEF _map = (CURRENT_MAP_WIDTH + 6) * _tgt
|
||||
DEF _win = (\3_WIDTH + 6) * 2 - 6
|
||||
DEF _y = (\4) * -2
|
||||
DEF _x = \3_WIDTH * 2 - 1
|
||||
DEF _len = CURRENT_MAP_HEIGHT + 3 - (\4)
|
||||
IF _len > \3_HEIGHT
|
||||
DEF _len = \3_HEIGHT
|
||||
ENDC
|
||||
|
||||
ELIF !STRCMP("\1", "east")
|
||||
_blk = (\3_WIDTH * _src)
|
||||
_map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3
|
||||
_win = \3_WIDTH + 7
|
||||
_y = (\4) * -2
|
||||
_x = 0
|
||||
_len = CURRENT_MAP_HEIGHT + 3 - (\4)
|
||||
IF _len > \3_HEIGHT
|
||||
_len = \3_HEIGHT
|
||||
ENDC
|
||||
ELIF !STRCMP("\1", "east")
|
||||
DEF _blk = (\3_WIDTH * _src)
|
||||
DEF _map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3
|
||||
DEF _win = \3_WIDTH + 7
|
||||
DEF _y = (\4) * -2
|
||||
DEF _x = 0
|
||||
DEF _len = CURRENT_MAP_HEIGHT + 3 - (\4)
|
||||
IF _len > \3_HEIGHT
|
||||
DEF _len = \3_HEIGHT
|
||||
ENDC
|
||||
|
||||
ELSE
|
||||
fail "Invalid direction for 'connection'."
|
||||
ENDC
|
||||
ELSE
|
||||
fail "Invalid direction for 'connection'."
|
||||
ENDC
|
||||
|
||||
db \3
|
||||
dw \2_Blocks + _blk
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue