diff --git a/ootw/Makefile b/ootw/Makefile index 7c5af603..f5ca33cc 100644 --- a/ootw/Makefile +++ b/ootw/Makefile @@ -57,6 +57,7 @@ ootw_c2.o: ootw_c2.s \ gr_copy.s gr_copy_offset.s gr_fast_clear.s gr_pageflip.s gr_unrle.s \ gr_putsprite.s gr_putsprite_flipped.s gr_putsprite_crop.s \ keyboard.s gr_run_sequence.s physicist.s \ + ootw_c2_miners.s \ ootw_graphics/sprites/sprites_physicist.inc \ ootw_c2_cage.s ootw_c2_jail.s ootw_c2_elevator.s ootw_c2_intro.s \ ootw_graphics/cage/ootw_c2_cage.inc \ diff --git a/ootw/ootw_c2.s b/ootw/ootw_c2.s index 684e2934..3f00da65 100644 --- a/ootw/ootw_c2.s +++ b/ootw/ootw_c2.s @@ -151,6 +151,9 @@ end_message: .include "random16.s" .include "keyboard.s" +; background miners +.include "ootw_c2_miners.s" + ; room backgrounds .include "ootw_graphics/cage/ootw_c2_cage.inc" .include "ootw_graphics/l2jail/ootw_c2_jail.inc" @@ -160,3 +163,5 @@ end_message: .include "ootw_graphics/l2intro/ootw_l2intro.inc" ; city movie .include "ootw_graphics/city/city_movie.inc" + + diff --git a/ootw/ootw_c2_cage.s b/ootw/ootw_c2_cage.s index 9b5c24fe..37e0ad23 100644 --- a/ootw/ootw_c2_cage.s +++ b/ootw/ootw_c2_cage.s @@ -54,6 +54,8 @@ cage_loop: ;======================= ; draw miners mining + jsr ootw_draw_miners + ;=============================== ; check keyboard diff --git a/ootw/ootw_c2_miners.s b/ootw/ootw_c2_miners.s new file mode 100644 index 00000000..617eb8e6 --- /dev/null +++ b/ootw/ootw_c2_miners.s @@ -0,0 +1,99 @@ +; Ootw Checkpoint2 -- the background miners +; I suspect they are working against their will + +ootw_draw_miners: + + ; move miners +miner1: + lda #10 + sta XPOS + lda #32 + sta YPOS + + lda #0 + + inc miner1_smc+1 + bpl miner1_nomove + +miner1_smc: + lda #0 ; smc + lsr + lsr + lsr + lsr +miner1_nomove: + and #$6 + tay + + lda miner_sprites,Y + sta INL + lda miner_sprites+1,Y + sta INH + + jsr put_sprite_crop + +miner2: + + + + lda #15 + sta XPOS + lda #28 + sta YPOS + + lda #0 + + inc miner2_smc+1 + bpl miner2_nomove + +miner2_smc: + lda #67 ; smc + lsr + lsr + lsr + lsr +miner2_nomove: + and #$6 + tay + + lda miner_sprites,Y + sta INL + lda miner_sprites+1,Y + sta INH + + jmp put_sprite_crop ; tail call + + +miner_sprites: + .word miner_sprite0 + .word miner_sprite1 + .word miner_sprite2 + .word miner_sprite3 + +miner_sprite0: + .byte 3,4 + .byte $87,$7A,$AA + .byte $55,$AA,$AA + .byte $00,$AA,$AA + .byte $55,$AA,$AA + +miner_sprite1: + .byte 3,4 + .byte $AA,$87,$AA + .byte $55,$AA,$A7 + .byte $00,$AA,$AA + .byte $55,$AA,$AA + +miner_sprite2: + .byte 3,4 + .byte $AA,$AA,$AA + .byte $55,$8A,$77 + .byte $00,$AA,$A7 + .byte $55,$AA,$AA + +miner_sprite3: + .byte 3,4 + .byte $AA,$AA,$AA + .byte $55,$AA,$7A + .byte $00,$A8,$77 + .byte $55,$AA,$AA diff --git a/ootw/ootw_graphics/cage/Makefile b/ootw/ootw_graphics/cage/Makefile index e99fbe07..52b3409b 100644 --- a/ootw/ootw_graphics/cage/Makefile +++ b/ootw/ootw_graphics/cage/Makefile @@ -8,8 +8,8 @@ all: ootw_c2_cage.inc ##### ootw_c2_cage.inc: $(PNG2RLE) \ - ootw_c2_cage.png - $(PNG2RLE) asm ootw_c2_cage.png cage_rle > ootw_c2_cage.inc + ootw_c2_nocage.png + $(PNG2RLE) asm ootw_c2_nocage.png cage_rle > ootw_c2_cage.inc ##### diff --git a/ootw/ootw_graphics/cage/ootw_c2_cage.inc b/ootw/ootw_graphics/cage/ootw_c2_cage.inc index c53bb5cc..96e520c5 100644 --- a/ootw/ootw_graphics/cage/ootw_c2_cage.inc +++ b/ootw/ootw_graphics/cage/ootw_c2_cage.inc @@ -1,47 +1,54 @@ cage_rle: .byte $28 ; ysize=48 - .byte $A4,$22, $A5,$00, $22,$22, $02, $55, $A6,$00, $22 - .byte $00, $20,$20, $00, $20, $22, $00,$00, $66 - .byte $55, $22, $66,$66, $A5,$88, $A5,$22, $02, $A3,$00 - .byte $22,$22, $00, $02, $00, $55, $A3,$00, $22,$22 - .byte $A3,$00, $22,$22, $00, $02, $A3,$00, $66, $55 - .byte $22, $66,$66, $A6,$88, $A4,$22, $00, $20, $A5,$00 - .byte $20,$20, $55, $02, $22, $20, $22,$22, $AA,$00 - .byte $66, $55, $22, $66,$66, $A6,$88, $A3,$22, $00,$00 - .byte $02, $A4,$00, $78, $08, $98, $78, $08,$08 - .byte $78, $22,$22, $02,$02, $22, $A7,$00, $66, $55 - .byte $22, $66,$66, $A6,$88, $A3,$22, $A7,$00, $77, $00 - .byte $66, $77, $00,$00, $77, $22,$22, $00,$00, $02 - .byte $A7,$00, $66, $55, $22, $66,$66, $A6,$88, $22,$22 - .byte $A8,$00, $77, $00, $05, $77, $60,$60, $77 - .byte $22,$22, $AA,$00, $66, $55, $22, $66,$66, $88,$88 - .byte $65, $A3,$88, $22,$22, $A8,$00, $77, $66, $00 - .byte $77, $66,$66, $77, $22,$22, $00, $02, $20 - .byte $A3,$00, $22, $A3,$00, $66, $55, $22, $66,$66 - .byte $A6,$88, $22, $02, $A8,$00, $77, $06, $40 - .byte $77, $00, $55, $77, $22,$22, $02, $22 - .byte $02, $A7,$00, $66, $55, $22, $66,$66, $A7,$88 - .byte $A9,$00, $77, $00, $44, $77, $50, $55 - .byte $77, $22, $00,$00, $02, $A7,$00, $20, $66 - .byte $55, $22, $66,$66, $A7,$88, $A9,$00, $77, $00 - .byte $F4, $77, $00,$00, $77, $22, $50, $52 - .byte $22, $A7,$00, $02, $66, $55, $22, $66,$66 - .byte $A7,$88, $A9,$00, $A5,$08, $58, $08, $02, $05,$05 - .byte $02, $00,$00, $20,$20, $00,$00, $22, $00, $66 - .byte $55, $22, $66,$66, $A7,$88, $AE,$00, $55, $A7,$00 - .byte $02,$02, $A4,$00, $55,$55, $22, $66,$66, $A7,$88, $A8,$00 - .byte $20, $22, $A4,$00, $05, $00, $22, $AB,$00 - .byte $55,$55, $22, $66,$66, $A7,$88, $A7,$00, $22,$22, $55 - .byte $22, $00, $55, $00, $22,$22, $00, $22 - .byte $AA,$00, $55,$55, $22, $66,$66, $A7,$88, $A5,$00, $20,$20 - .byte $02, $22, $55, $02, $00, $55, $A3,$22 - .byte $AC,$00, $55,$55, $22, $66,$66, $A7,$88, $A5,$00, $02,$02 - .byte $A4,$00, $20,$20, $00, $02,$02, $AC,$00, $55,$55, $22 - .byte $66,$66, $A7,$88, $AB,$00, $02,$02, $A8,$00, $20,$20, $00,$00 - .byte $02, $00,$00, $55,$55, $22, $66,$66, $A7,$88, $AC,$00 - .byte $22, $A8,$00, $22,$22, $00, $A7,$25, $66,$66, $A7,$88 - .byte $A3,$60, $AF,$00, $A6,$60, $A7,$62, $66,$66, $A7,$68, $22 - .byte $00,$00, $20,$20, $A8,$00, $22,$22, $A4,$00, $55, $00 - .byte $55, $00, $55, $22, $52, $00, $55 - .byte $22, $52, $00, $55, $00, $55, $00 - .byte $55, $00, $55, $00, $55, $A0,$A0,$00 + .byte $A5,$22, $A4,$00, $20, $62,$62, $20, $00,$00, $20 + .byte $02, $00,$00, $20,$20, $22, $20, $00, $22 + .byte $20, $00, $22, $66, $55, $22, $66,$66 + .byte $A5,$88, $A6,$22, $A5,$00, $A3,$22, $62, $00, $A3,$20 + .byte $00,$00, $06, $66,$66, $22, $20, $66,$66, $00,$00 + .byte $66, $55, $22, $66,$66, $A6,$88, $A5,$22, $A3,$00 + .byte $22, $00,$00, $02,$02, $00,$00, $22,$22, $66,$66, $22,$22 + .byte $00, $A4,$02, $A3,$00, $66, $55, $22, $66,$66 + .byte $A6,$88, $A4,$22, $A6,$00, $20, $A3,$22, $26, $62,$62 + .byte $66,$66, $26, $22, $A8,$00, $66, $55, $22 + .byte $66,$66, $A6,$88, $A4,$22, $A5,$00, $20, $62, $22 + .byte $62, $22,$22, $62, $A3,$66, $22, $02, $22 + .byte $A7,$00, $66, $55, $22, $66,$66, $A6,$88, $A3,$22 + .byte $A6,$00, $02, $26,$26, $66, $22, $A5,$66, $22 + .byte $00, $02, $20, $A6,$00, $66, $55, $22 + .byte $66,$66, $88,$88, $65, $A3,$88, $22,$22, $02, $A7,$00 + .byte $22,$22, $66,$66, $22, $A4,$66, $22, $20,$20, $22 + .byte $A4,$00, $02, $00, $66, $55, $22, $66,$66 + .byte $A6,$88, $22,$22, $A8,$00, $22, $A8,$66, $A4,$22, $00,$00 + .byte $22, $A3,$00, $66, $55, $22, $66,$66, $A7,$88 + .byte $02, $A9,$00, $22, $26, $62, $A5,$66, $22 + .byte $66, $26, $02, $00,$00, $02, $A3,$00, $66 + .byte $55, $22, $66,$66, $A7,$88, $AA,$00, $22, $26 + .byte $66, $62, $66, $26, $66, $22,$22, $66 + .byte $02, $A6,$00, $22, $66, $55, $22, $66,$66 + .byte $A7,$88, $AA,$00, $22,$22, $66,$66, $26, $22, $66 + .byte $62, $66,$66, $20, $A7,$00, $66, $55, $22 + .byte $66,$66, $A7,$88, $AB,$00, $22,$22, $26, $A3,$66, $26 + .byte $66,$66, $22, $00, $20, $A3,$00, $22, $00 + .byte $55,$55, $22, $66,$66, $A7,$88, $AC,$00, $22, $02 + .byte $26,$26, $22, $02,$02, $22, $62, $22, $62 + .byte $00,$00, $22, $20, $00, $55,$55, $22, $66,$66 + .byte $A7,$88, $A9,$00, $22,$22, $A3,$00, $A3,$22, $00,$00, $02 + .byte $66, $62, $66, $00,$00, $22, $66, $00 + .byte $55,$55, $22, $66,$66, $A7,$88, $A9,$00, $02,$02, $AA,$00 + .byte $02, $22, $A3,$00, $02, $00, $55,$55, $22 + .byte $66,$66, $A7,$88, $AB,$00, $20, $00,$00, $62, $66 + .byte $AC,$00, $55,$55, $22, $66,$66, $A7,$88, $A7,$00, $20,$20 + .byte $22, $00, $22,$22, $20, $66,$66, $22,$22, $20 + .byte $A9,$00, $55,$55, $22, $66,$66, $A7,$88, $A7,$00, $22 + .byte $66, $26, $00, $22, $26, $22, $26 + .byte $A4,$22, $A9,$00, $55,$55, $22, $66,$66, $A7,$88, $A7,$00 + .byte $22, $66,$66, $00, $02, $62, $66,$66, $26 + .byte $22,$22, $AA,$00, $55,$55, $22, $66,$66, $A7,$88, $A5,$00 + .byte $22, $00, $02,$02, $06, $00, $22,$22, $26,$26 + .byte $22, $02, $AB,$00, $55,$55, $22, $66,$66, $A7,$88 + .byte $AB,$00, $22, $02, $AF,$00, $55,$55, $22, $66,$66 + .byte $A7,$88, $A0,$19,$00, $A3,$20, $A3,$25, $66,$66, $A7,$88, $A3,$60 + .byte $AF,$00, $A7,$60, $A6,$62, $66,$66, $A7,$68, $22, $A0,$12,$00 + .byte $55, $00, $55, $00, $55, $22, $52 + .byte $00, $55, $22, $52, $00, $55, $00 + .byte $55, $00, $55, $00, $55, $00, $55 .byte $A1 diff --git a/ootw/ootw_graphics/cage/ootw_c2_nocage.png b/ootw/ootw_graphics/cage/ootw_c2_nocage.png new file mode 100644 index 00000000..26f5fddf Binary files /dev/null and b/ootw/ootw_graphics/cage/ootw_c2_nocage.png differ