Skip to content

Commit 0ceab07

Browse files
committed
* Ch3: Add some more rooms.
1 parent d76f27f commit 0ceab07

9 files changed

Lines changed: 376 additions & 259 deletions

File tree

src/defines.asm

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,8 @@ e_sprgright = $1F ; Spring Right
269269
e_l3sinkpla = $20 ; LEVEL 3: sinking platform
270270
e_l3dustbun = $21 ; LEVEL 3: dust creature
271271
e_invisbar = $22 ; Invisible Barrier
272+
e_cameratgt = $23 ; Camera Target
273+
e_respchg = $24 ; Respawn Change
272274

273275
; Entity types that turn into other entities on load
274276
e_l0bridgea = $7D ; LEVEL 2: bridge that collapses in advance

src/g_level.asm

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1281,6 +1281,25 @@ gm_init_entity:
12811281
sta sprspace+sp_kind, x
12821282

12831283
; TODO: Seriously we should consider using a jump table here.
1284+
cmp #e_breakblck
1285+
beq @sizableEntity
1286+
cmp #e_invisbar
1287+
beq @sizableEntity
1288+
cmp #e_cameratgt
1289+
beq @sizableEntity
1290+
cmp #e_respchg
1291+
bne @notSizableEntity
1292+
1293+
@sizableEntity:
1294+
txa
1295+
tay
1296+
jsr gm_read_ent
1297+
sta sprspace+sp_wid, y
1298+
jsr gm_read_ent
1299+
sta sprspace+sp_hei, y
1300+
jmp @tyxReturn
1301+
1302+
@notSizableEntity:
12841303
cmp #e_l0bridgea
12851304
bne @notL0BridgeA
12861305

@@ -1371,18 +1390,6 @@ gm_init_entity:
13711390
rts
13721391

13731392
@notZipMover:
1374-
cmp #e_breakblck
1375-
bne @notBreakable
1376-
1377-
txa
1378-
tay
1379-
jsr gm_read_ent
1380-
sta sprspace+sp_wid, y
1381-
jsr gm_read_ent
1382-
sta sprspace+sp_hei, y
1383-
jmp @tyxReturn
1384-
1385-
@notBreakable:
13861393
cmp #e_l2chaser
13871394
bne @notChaser
13881395

@@ -1462,18 +1469,6 @@ gm_init_entity:
14621469
jmp @tyxReturn
14631470

14641471
@notDustCreature:
1465-
cmp #e_invisbar
1466-
bne @notInvisBarr
1467-
1468-
txa
1469-
tay
1470-
jsr gm_read_ent
1471-
sta sprspace+sp_wid, y
1472-
jsr gm_read_ent
1473-
sta sprspace+sp_hei, y
1474-
jmp @tyxReturn
1475-
1476-
@notInvisBarr:
14771472
; todo: more cases ...
14781473
rts
14791474

src/level3/layout.txt

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,8 @@ PaletteOverride,level3_08_x,3,11,2,4,11,2,5,11,2,6,11,2,7,11,2,8,11,2,9,11,2,10,
8484
NiceWarp,level3_08_x,level3_08_a
8585
level3_09_d,4736,-400
8686
Props,level3_09_d,5,0
87-
Spawn,level3_09_d,32,200
87+
Spawn,level3_09_d,24,136
88+
NiceWarp,level3_09_d,level3_09_d2
8889
level3_10_c,4992,-400
8990
Props,level3_10_c,10,0
9091
Spawn,level3_10_c,24,224
@@ -136,6 +137,11 @@ Spawn,level3_12_x,304,200
136137
level3_12_c,5632,-432
137138
Props,level3_12_c,4,10
138139
Spawn,level3_12_c,0,72
140+
level3_10_d,4992,-640
141+
Props,level3_10_d,0,0
142+
Spawn,level3_10_d,24,224
143+
Spawn,level3_10_d,264,112
144+
NiceWarp,level3_10_d,level3_10_c
139145
level3_13_b,5920,-192
140146
Props,level3_13_b,0,0
141147
Spawn,level3_13_b,0,128
@@ -155,23 +161,22 @@ Props,level3_13_x,2,0
155161
Spawn,level3_13_x,0,168
156162
Spawn,level3_13_x,304,40
157163
PaletteOverride,level3_13_x,16,11,3,17,11,3,18,11,3,4,12,2,5,12,2,6,12,2,7,12,2,8,12,2,9,12,2,10,12,2,11,12,2,12,12,2,13,12,2,14,12,2,15,12,2
158-
level3_11_z,5248,736
159-
Props,level3_11_z,0,0
160-
Spawn,level3_11_z,240,48
161-
Spawn,level3_11_z,0,176
162164
level3_12_d,5632,-672
163165
Props,level3_12_d,0,0
164166
Spawn,level3_12_d,24,168
165167
Spawn,level3_12_d,0,48
168+
level3_11_z,5248,736
169+
Props,level3_11_z,0,0
170+
Spawn,level3_11_z,240,48
171+
Spawn,level3_11_z,0,176
166172
level3_11_d,5312,-672
167173
Props,level3_11_d,4,2
168174
Spawn,level3_11_d,0,176
169175
Spawn,level3_11_d,304,48
170-
level3_10_d,4992,-640
171-
Props,level3_10_d,0,0
172-
Spawn,level3_10_d,24,224
173-
Spawn,level3_10_d,264,112
174-
NiceWarp,level3_10_d,level3_10_c
176+
level3_09_d2,4736,-640
177+
Props,level3_09_d2,0,0
178+
Spawn,level3_09_d2,0,128
179+
NiceWarp,level3_09_d2,level3_09_d
175180
Filler,3408,-176,416,0
176181
Filler,3392,208,80,0
177182
Filler,1216,-128,32,144

src/level3/roomlist.asm

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ level3:
22
.word level3_music ; music table
33
.word level3_banks ; list of banks for each room
44
.byte $03 ; environment type
5-
.byte $5C ; warp count
5+
.byte $62 ; warp count
66
.word level3_w_init
77
.word level3_w_s0_to_s1
88
.word level3_w_s1_to_s0
@@ -48,6 +48,8 @@ level3:
4848
.word level3_w_09_b_to_11_a
4949
.word level3_w_08_x_to_08_a
5050
.word level3_w_08_x_to_08_x2
51+
.word level3_w_09_d_to_10_d
52+
.word level3_w_09_d_to_09_d2
5153
.word level3_w_10_c_to_09_b
5254
.word level3_w_10_c_to_11_c
5355
.word level3_w_11_b_to_12_b
@@ -80,21 +82,25 @@ level3:
8082
.word level3_w_12_x_to_13_x
8183
.word level3_w_12_c_to_11_c
8284
.word level3_w_12_c_to_12_d
85+
.word level3_w_10_d_to_09_d
86+
.word level3_w_10_d_to_10_c
87+
.word level3_w_10_d_to_11_c
88+
.word level3_w_10_d_to_11_d
8389
.word level3_w_13_b_to_12_b
8490
.word level3_w_13_b_to_13_a
8591
.word level3_w_11_y_to_11_z
8692
.word level3_w_10_z_to_10_y
8793
.word level3_w_10_z_to_11_z
8894
.word level3_w_13_x_to_12_x
89-
.word level3_w_11_z_to_11_y
90-
.word level3_w_11_z_to_10_z
9195
.word level3_w_12_d_to_12_c
9296
.word level3_w_12_d_to_11_d
93-
.word level3_w_11_d_to_12_d
97+
.word level3_w_11_z_to_11_y
98+
.word level3_w_11_z_to_10_z
9499
.word level3_w_11_d_to_10_d
95-
.word level3_w_10_d_to_10_c
96-
.word level3_w_10_d_to_11_c
97-
.word level3_w_10_d_to_11_d
100+
.word level3_w_11_d_to_12_d
101+
.word level3_w_09_d2_to_09_d
102+
.word level3_w_09_d2_to_10_c
103+
.word level3_w_09_d2_to_10_d
98104
level3_banks:
99105
.byte prgb_lvl3a ; level3_w_init
100106
.byte prgb_lvl3a ; level3_w_s0_to_s1
@@ -141,6 +147,8 @@ level3_banks:
141147
.byte prgb_lvl3c ; level3_w_09_b_to_11_a
142148
.byte prgb_lvl3b ; level3_w_08_x_to_08_a
143149
.byte prgb_lvl3c ; level3_w_08_x_to_08_x2
150+
.byte prgb_lvl3d ; level3_w_09_d_to_10_d
151+
.byte prgb_lvl3d ; level3_w_09_d_to_09_d2
144152
.byte prgb_lvl3b ; level3_w_10_c_to_09_b
145153
.byte prgb_lvl3c ; level3_w_10_c_to_11_c
146154
.byte prgb_lvl3c ; level3_w_11_b_to_12_b
@@ -173,18 +181,22 @@ level3_banks:
173181
.byte prgb_lvl3c ; level3_w_12_x_to_13_x
174182
.byte prgb_lvl3c ; level3_w_12_c_to_11_c
175183
.byte prgb_lvl3d ; level3_w_12_c_to_12_d
184+
.byte prgb_lvl3c ; level3_w_10_d_to_09_d
185+
.byte prgb_lvl3c ; level3_w_10_d_to_10_c
186+
.byte prgb_lvl3c ; level3_w_10_d_to_11_c
187+
.byte prgb_lvl3d ; level3_w_10_d_to_11_d
176188
.byte prgb_lvl3c ; level3_w_13_b_to_12_b
177189
.byte prgb_lvl3c ; level3_w_13_b_to_13_a
178190
.byte prgb_lvl3d ; level3_w_11_y_to_11_z
179191
.byte prgb_lvl3c ; level3_w_10_z_to_10_y
180192
.byte prgb_lvl3d ; level3_w_10_z_to_11_z
181193
.byte prgb_lvl3a ; level3_w_13_x_to_12_x
182-
.byte prgb_lvl3c ; level3_w_11_z_to_11_y
183-
.byte prgb_lvl3d ; level3_w_11_z_to_10_z
184194
.byte prgb_lvl3c ; level3_w_12_d_to_12_c
185195
.byte prgb_lvl3d ; level3_w_12_d_to_11_d
186-
.byte prgb_lvl3d ; level3_w_11_d_to_12_d
196+
.byte prgb_lvl3c ; level3_w_11_z_to_11_y
197+
.byte prgb_lvl3d ; level3_w_11_z_to_10_z
187198
.byte prgb_lvl3d ; level3_w_11_d_to_10_d
188-
.byte prgb_lvl3c ; level3_w_10_d_to_10_c
189-
.byte prgb_lvl3c ; level3_w_10_d_to_11_c
190-
.byte prgb_lvl3d ; level3_w_10_d_to_11_d
199+
.byte prgb_lvl3d ; level3_w_11_d_to_12_d
200+
.byte prgb_lvl3c ; level3_w_09_d2_to_09_d
201+
.byte prgb_lvl3c ; level3_w_09_d2_to_10_c
202+
.byte prgb_lvl3d ; level3_w_09_d2_to_10_d

src/level3/rooms/0.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1191,7 +1191,7 @@ level3_12_x_t:
11911191
.byte $84,$05,$82,$FF
11921192
level3_12_x:
11931193
.byte 40, 0
1194-
.byte 72, 255, 73, 74
1194+
.byte 74, 255, 75, 76
11951195
.byte 216, 0, 0, 4
11961196
.byte 0
11971197
.byte 255

src/level3/rooms/1.asm

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -148,11 +148,11 @@ level3_09_b_p:
148148
.byte $00,$00,$00,$00,$00,$00,$00,$00
149149
.byte $00,$00,$00,$00,$00,$00,$00,$00
150150
.byte $00,$00,$00,$00,$00,$00,$00,$00
151-
.byte $44,$54,$01,$00,$11,$00,$10,$04
152-
.byte $44,$C5,$55,$55,$51,$55,$15,$04
153-
.byte $04,$00,$00,$F4,$51,$FF,$05,$04
154-
.byte $04,$40,$55,$C4,$01,$C0,$05,$07
155-
.byte $54,$15,$55,$05,$3F,$55,$05,$54
151+
.byte $41,$54,$01,$00,$11,$00,$10,$04
152+
.byte $41,$C5,$55,$55,$51,$55,$15,$04
153+
.byte $01,$00,$00,$F4,$51,$FF,$05,$04
154+
.byte $01,$40,$55,$C4,$01,$C0,$05,$07
155+
.byte $55,$15,$55,$05,$3F,$55,$05,$54
156156
.byte $54,$01,$50,$05,$FF,$55,$01,$00
157157
.byte $54,$C0,$43,$14,$50,$40,$01,$00
158158
.byte $04,$F0,$03,$14,$40,$7C,$0D,$54
@@ -191,14 +191,14 @@ level3_09_b_e:
191191
.byte $00,$10,$04
192192
.byte $FF
193193
level3_09_b_t:
194-
.byte $40,$34,$BE,$FE,$E8,$C1,$B5,$C3
195-
.byte $B4,$C1,$B5,$C1,$B4,$C1,$B4,$C1
196-
.byte $B5,$C0,$C1,$BE,$C5,$B4,$C7,$B5
197-
.byte $E8,$A8,$C1,$AC,$C1,$AF,$C1,$F3
198-
.byte $C1,$EA,$C1,$F0,$C1,$F5,$C1,$F5
199-
.byte $C1,$F6,$A5,$C1,$F3,$F0,$C1,$AD
200-
.byte $E1,$C1,$F5,$C1,$EB,$C1,$F1,$A8
201-
.byte $C1,$D1,$F0,$C1,$AC,$E2,$C1,$EC
194+
.byte $40,$34,$BE,$E8,$C1,$B5,$C3,$B4
195+
.byte $C1,$B5,$C1,$B4,$C1,$B4,$C1,$B5
196+
.byte $C0,$ED,$E8,$A8,$C1,$AC,$C1,$BE
197+
.byte $C5,$B4,$C7,$B5,$F0,$C1,$AD,$C1
198+
.byte $AF,$C1,$F3,$C1,$EA,$C1,$F0,$C1
199+
.byte $F5,$C1,$F5,$C1,$F6,$A5,$C1,$F3
200+
.byte $F0,$C1,$AC,$E1,$C1,$F5,$C1,$EB
201+
.byte $C1,$F1,$A8,$C1,$D1,$F3,$C1,$EC
202202
.byte $C1,$F2,$E8,$00,$E8,$C1,$B2,$C1
203203
.byte $B2,$C1,$AA,$E7,$C1,$F7,$C1,$F4
204204
.byte $C1,$F6,$E3,$C1,$D3,$C1,$D1,$E4

0 commit comments

Comments
 (0)