db $7 ; people
db SPRITE_HIKER, $3 + 4, $5 + 4, $ff, $d0, TRAINER | $1, BLACKBELT + $C8, $1
db SPRITE_HIKER, $4 + 4, $3 + 4, $ff, $d3, TRAINER | $2, BLACKBELT + $C8, $2
db SPRITE_HIKER, $6 + 4, $3 + 4, $ff, $d3, TRAINER | $3, BLACKBELT + $C8, $3
db SPRITE_HIKER, $5 + 4, $5 + 4, $ff, $d2, TRAINER | $4, BLACKBELT + $C8, $4
db SPRITE_HIKER, $7 + 4, $5 + 4, $ff, $d2, TRAINER | $5, BLACKBELT + $C8, $5
db SPRITE_BALL, $1 + 4, $4 + 4, $ff, $ff, $6 ; person
db SPRITE_BALL, $1 + 4, $5 + 4, $ff, $ff, $7 ; person
db 7
object SPRITE_HIKER, 3, 5, FACE, DOWN, 1, BLACKBELT, 1
object SPRITE_HIKER, 4, 3, FACE, LEFT, 2, BLACKBELT, 2
object SPRITE_HIKER, 6, 3, FACE, LEFT, 3, BLACKBELT, 3
object SPRITE_HIKER, 5, 5, FACE, RIGHT, 4, BLACKBELT, 4
object SPRITE_HIKER, 7, 5, FACE, RIGHT, 5, BLACKBELT, 5
object SPRITE_BALL, 1, 4, FACE, STAY, 6
object SPRITE_BALL, 1, 5, FACE, STAY, 7
It would also help to describe what each parameter is and/or create shortcuts. For instance, $ff, $d3
means "face left".
object: macro
; sprite, x, y, action, direction, script
; - item_id
; - trainer, id
...
endm
Trainers and items take an extra two bytes and one byte respectively, so they can be inferred from _NARG
.