aboutsummaryrefslogtreecommitdiff
path: root/mklevelinfo.pl
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-09-02 00:00:39 -0400
committerB. Watson <yalhcru@gmail.com>2016-09-02 00:00:39 -0400
commit2501dc4ecbfc45170a84503a90eb15f5770e6918 (patch)
tree3b9ebc8179ab484f8293a989609f0561b9b92384 /mklevelinfo.pl
parente9ec302bb089104385c020356dd47b64d6bd09a7 (diff)
downloadjumpmanjr-2501dc4ecbfc45170a84503a90eb15f5770e6918.tar.gz
bombs and level maps
Diffstat (limited to 'mklevelinfo.pl')
-rw-r--r--mklevelinfo.pl14
1 files changed, 9 insertions, 5 deletions
diff --git a/mklevelinfo.pl b/mklevelinfo.pl
index 2e481e1..a95bc10 100644
--- a/mklevelinfo.pl
+++ b/mklevelinfo.pl
@@ -16,17 +16,21 @@
17 => [ 2, 'time_bonus', 'amount of time bonus at start of level' ],
19 => [ 1, 'offs', 'always $00' ],
20 => [ 2, 'unkn_table0', 'pointer to ROM table or $06xx' ],
- 22 => [ 2, 'map0', 'map data' ],
- 24 => [ 2, 'map1', 'map data' ],
- 26 => [ 2, 'bomblist', 'addr of list of bombs, indexed by player position on coarse 8x8 grid. terminated by $FF.' ],
+ 22 => [ 2, 'map', 'used to draw the level initially (see also map_changes)' ],
+ 24 => [ 2, 'map_bombs', 'start of bombs in map data (which must come last!)' ],
+ 26 => [ 2, 'bomblist', 'addr of list of bombs, indexed by player position on coarse 8x8 grid. 2 bytes each, 1st is coarse-grid position, 2nd is: hi 4 bits = change_map index, lo 4 = indirect sub (unused). terminated by $FF.' ],
28 => [ 2, 'map_changes', 'address of list of addresses of map data, used for changing the map when certain bombs are picked up' ],
- 30 => [ 2, 'offs', 'always $0000' ],
+ 30 => [ 2, 'indirect_subs', 'pointer to list of indirect subs, always $0000 in this game' ],
32 => [ 2, 'sub_bomb', 'called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine' ],
34 => [ 2, 'sub_start', 'called at start of level, $06E6 for some levels, or else a ROM subroutine' ],
36 => [ 2, 'sub6', 'always $9740 aka game_main_loop' ],
38 => [ 2, 'sub_eol', 'called at end of level (all bombs picked up). $06E6 for all but level07' ],
40 => [ 6, 'offs', 'all zeroes' ],
- 46 => [ 9, 'offs', 'unknown' ],
+ 46 => [ 1, 'colpf3', 'color (not sure what gets drawn in this color yet)' ],
+ 47 => [ 1, 'colpf0', 'color for girders and up-ropes' ],
+ 48 => [ 1, 'colpf1', 'color for ladders and down-ropes' ],
+ 49 => [ 1, 'colpf2', 'color for bombs' ],
+ 50 => [ 5, 'offs', 'unknown' ],
55 => [ 3, 'offs', 'unknown, always $00 $00 $00' ],
58 => [ 2, 'offs', 'unknown, not a ROM address' ],
60 => [ 4, 'offs', 'unknown, level05 (walls) has $ff $ff $ff $ff, all others $00 $00 $00 $00' ],