peasant: trogdor: move to the new page1 background code
This commit is contained in:
parent
07af48da44
commit
bedb385b31
|
@ -69,25 +69,7 @@ new_location:
|
||||||
sta INH
|
sta INH
|
||||||
jsr load_custom_verb_table
|
jsr load_custom_verb_table
|
||||||
|
|
||||||
|
;===============================
|
||||||
|
|
||||||
;=====================
|
|
||||||
; load bg
|
|
||||||
|
|
||||||
lda MAP_LOCATION
|
|
||||||
sec
|
|
||||||
sbc #LOCATION_BASE
|
|
||||||
tax
|
|
||||||
|
|
||||||
lda map_backgrounds_low,X
|
|
||||||
sta getsrc_smc+1
|
|
||||||
lda map_backgrounds_hi,X
|
|
||||||
sta getsrc_smc+2
|
|
||||||
|
|
||||||
lda #$40
|
|
||||||
|
|
||||||
jsr decompress_lzsa2_fast
|
|
||||||
|
|
||||||
; load priority to $400
|
; load priority to $400
|
||||||
; indirectly as we can't trash screen holes
|
; indirectly as we can't trash screen holes
|
||||||
|
|
||||||
|
@ -109,6 +91,27 @@ new_location:
|
||||||
|
|
||||||
jsr gr_copy_to_page1
|
jsr gr_copy_to_page1
|
||||||
|
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; load bg
|
||||||
|
|
||||||
|
lda MAP_LOCATION
|
||||||
|
sec
|
||||||
|
sbc #LOCATION_BASE
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda map_backgrounds_low,X
|
||||||
|
sta getsrc_smc+1
|
||||||
|
lda map_backgrounds_hi,X
|
||||||
|
sta getsrc_smc+2
|
||||||
|
|
||||||
|
lda #$20
|
||||||
|
|
||||||
|
jsr decompress_lzsa2_fast
|
||||||
|
|
||||||
|
jsr hgr_copy
|
||||||
|
|
||||||
|
;===================
|
||||||
; put peasant text
|
; put peasant text
|
||||||
|
|
||||||
lda #<peasant_text
|
lda #<peasant_text
|
||||||
|
@ -122,35 +125,34 @@ new_location:
|
||||||
|
|
||||||
jsr print_score
|
jsr print_score
|
||||||
|
|
||||||
;=====================
|
|
||||||
; move peasant
|
|
||||||
|
|
||||||
; lda #20
|
|
||||||
; sta PEASANT_X
|
|
||||||
; lda #150
|
|
||||||
; sta PEASANT_Y
|
|
||||||
|
|
||||||
;====================
|
|
||||||
; save background
|
|
||||||
|
|
||||||
lda PEASANT_X
|
|
||||||
sta CURSOR_X
|
|
||||||
lda PEASANT_Y
|
|
||||||
sta CURSOR_Y
|
|
||||||
|
|
||||||
;=======================
|
|
||||||
; draw initial peasant
|
|
||||||
|
|
||||||
jsr save_bg_1x28
|
|
||||||
|
|
||||||
jsr draw_peasant
|
|
||||||
|
|
||||||
|
;===========================
|
||||||
|
;===========================
|
||||||
|
;===========================
|
||||||
|
; main loop
|
||||||
|
;===========================
|
||||||
|
;===========================
|
||||||
|
;===========================
|
||||||
game_loop:
|
game_loop:
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; move peasant
|
||||||
|
|
||||||
jsr move_peasant
|
jsr move_peasant
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; always draw peasant
|
||||||
|
|
||||||
|
jsr draw_peasant
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; increment frame
|
||||||
|
|
||||||
inc FRAME
|
inc FRAME
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; check keyboard
|
||||||
|
|
||||||
jsr check_keyboard
|
jsr check_keyboard
|
||||||
|
|
||||||
lda LEVEL_OVER
|
lda LEVEL_OVER
|
||||||
|
@ -235,6 +237,7 @@ level_over:
|
||||||
.include "move_peasant.s"
|
.include "move_peasant.s"
|
||||||
|
|
||||||
.include "gr_copy.s"
|
.include "gr_copy.s"
|
||||||
|
.include "hgr_copy.s"
|
||||||
|
|
||||||
.include "new_map_location.s"
|
.include "new_map_location.s"
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
|
|
||||||
;============================
|
;============================
|
||||||
; draw peasant
|
; draw peasant (tiny)
|
||||||
;============================
|
;============================
|
||||||
draw_peasant:
|
draw_peasant_tiny:
|
||||||
lda PEASANT_X
|
lda PEASANT_X
|
||||||
sta CURSOR_X
|
sta CURSOR_X
|
||||||
lda PEASANT_Y
|
lda PEASANT_Y
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
.if 0
|
||||||
;======================
|
;======================
|
||||||
; save bg 1x5
|
; save bg 1x5
|
||||||
;======================
|
;======================
|
||||||
|
@ -78,3 +79,5 @@ save_sprite_1x5:
|
||||||
;.byte $00
|
;.byte $00
|
||||||
;xsave:
|
;xsave:
|
||||||
;.byte $00
|
;.byte $00
|
||||||
|
|
||||||
|
.endif
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
; Move that Peasant!
|
; Move that Peasant (tiny)!
|
||||||
|
|
||||||
move_peasant_tiny:
|
move_peasant_tiny:
|
||||||
|
|
||||||
|
@ -6,21 +6,27 @@ move_peasant_tiny:
|
||||||
|
|
||||||
lda PEASANT_XADD
|
lda PEASANT_XADD
|
||||||
ora PEASANT_YADD
|
ora PEASANT_YADD
|
||||||
bne really_move_peasant
|
bne really_move_peasant_tiny
|
||||||
|
|
||||||
jmp peasant_the_same
|
jmp peasant_the_same_tiny
|
||||||
|
|
||||||
really_move_peasant:
|
really_move_peasant_tiny:
|
||||||
|
|
||||||
; restore bg behind peasant
|
; restore bg behind peasant
|
||||||
|
|
||||||
lda PEASANT_X
|
|
||||||
sta CURSOR_X
|
|
||||||
|
|
||||||
lda PEASANT_Y
|
lda PEASANT_Y
|
||||||
sta CURSOR_Y
|
sta SAVED_Y1
|
||||||
|
clc
|
||||||
|
adc #5
|
||||||
|
sta SAVED_Y2
|
||||||
|
|
||||||
jsr restore_bg_1x5
|
ldx PEASANT_X
|
||||||
|
txa
|
||||||
|
inx
|
||||||
|
|
||||||
|
jsr hgr_partial_restore
|
||||||
|
|
||||||
|
; jsr restore_bg_1x5
|
||||||
|
|
||||||
; move peasant
|
; move peasant
|
||||||
|
|
||||||
|
@ -104,23 +110,23 @@ done_movey:
|
||||||
; if we moved off screen, don't re-draw peasant
|
; if we moved off screen, don't re-draw peasant
|
||||||
|
|
||||||
lda LEVEL_OVER
|
lda LEVEL_OVER
|
||||||
bne peasant_the_same
|
bne peasant_the_same_tiny
|
||||||
|
|
||||||
; save behind new position
|
; save behind new position
|
||||||
|
|
||||||
lda PEASANT_X
|
; lda PEASANT_X
|
||||||
sta CURSOR_X
|
; sta CURSOR_X
|
||||||
|
|
||||||
lda PEASANT_Y
|
; lda PEASANT_Y
|
||||||
sta CURSOR_Y
|
; sta CURSOR_Y
|
||||||
|
|
||||||
jsr save_bg_1x5
|
; jsr save_bg_1x5
|
||||||
|
|
||||||
; draw peasant
|
; draw peasant
|
||||||
|
|
||||||
jsr draw_peasant
|
; jsr draw_peasant
|
||||||
|
|
||||||
peasant_the_same:
|
peasant_the_same_tiny:
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
|
@ -67,23 +67,8 @@ new_location:
|
||||||
sta INH
|
sta INH
|
||||||
jsr load_custom_verb_table
|
jsr load_custom_verb_table
|
||||||
|
|
||||||
;=====================
|
|
||||||
; load bg
|
|
||||||
|
|
||||||
lda MAP_LOCATION
|
|
||||||
sec
|
|
||||||
sbc #LOCATION_BASE
|
|
||||||
tax
|
|
||||||
|
|
||||||
lda map_backgrounds_low,X
|
|
||||||
sta getsrc_smc+1
|
|
||||||
lda map_backgrounds_hi,X
|
|
||||||
sta getsrc_smc+2
|
|
||||||
|
|
||||||
lda #$40
|
|
||||||
|
|
||||||
jsr decompress_lzsa2_fast
|
|
||||||
|
|
||||||
|
;========================
|
||||||
; load priority to $400
|
; load priority to $400
|
||||||
; indirectly as we can't trash screen holes
|
; indirectly as we can't trash screen holes
|
||||||
|
|
||||||
|
@ -105,6 +90,27 @@ new_location:
|
||||||
|
|
||||||
jsr gr_copy_to_page1
|
jsr gr_copy_to_page1
|
||||||
|
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; load bg
|
||||||
|
|
||||||
|
lda MAP_LOCATION
|
||||||
|
sec
|
||||||
|
sbc #LOCATION_BASE
|
||||||
|
tax
|
||||||
|
|
||||||
|
lda map_backgrounds_low,X
|
||||||
|
sta getsrc_smc+1
|
||||||
|
lda map_backgrounds_hi,X
|
||||||
|
sta getsrc_smc+2
|
||||||
|
|
||||||
|
lda #$20
|
||||||
|
|
||||||
|
jsr decompress_lzsa2_fast
|
||||||
|
|
||||||
|
jsr hgr_copy
|
||||||
|
|
||||||
|
;=====================
|
||||||
; update name/score
|
; update name/score
|
||||||
|
|
||||||
jsr update_top
|
jsr update_top
|
||||||
|
@ -120,9 +126,9 @@ new_location:
|
||||||
;=======================
|
;=======================
|
||||||
; draw initial peasant
|
; draw initial peasant
|
||||||
|
|
||||||
jsr save_bg_1x5
|
; jsr save_bg_1x5
|
||||||
|
|
||||||
jsr draw_peasant
|
jsr draw_peasant_tiny
|
||||||
|
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
|
@ -132,11 +138,35 @@ new_location:
|
||||||
ldy #>trogdor_entry_message
|
ldy #>trogdor_entry_message
|
||||||
jsr finish_parse_message
|
jsr finish_parse_message
|
||||||
|
|
||||||
|
|
||||||
|
;==========================
|
||||||
|
;==========================
|
||||||
|
;==========================
|
||||||
|
; main loop
|
||||||
|
;==========================
|
||||||
|
;==========================
|
||||||
|
;==========================
|
||||||
|
|
||||||
game_loop:
|
game_loop:
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; move peasant
|
||||||
|
|
||||||
jsr move_peasant_tiny
|
jsr move_peasant_tiny
|
||||||
|
|
||||||
|
;===================
|
||||||
|
; always draw peasant
|
||||||
|
|
||||||
|
jsr draw_peasant_tiny
|
||||||
|
|
||||||
|
;====================
|
||||||
|
; increment frame
|
||||||
|
|
||||||
inc FRAME
|
inc FRAME
|
||||||
|
|
||||||
|
;====================
|
||||||
|
; check keyboard
|
||||||
|
|
||||||
jsr check_keyboard
|
jsr check_keyboard
|
||||||
|
|
||||||
lda LEVEL_OVER
|
lda LEVEL_OVER
|
||||||
|
@ -269,9 +299,10 @@ draw_sprite_h:
|
||||||
|
|
||||||
.include "move_peasant_tiny.s"
|
.include "move_peasant_tiny.s"
|
||||||
.include "draw_peasant_tiny.s"
|
.include "draw_peasant_tiny.s"
|
||||||
.include "hgr_1x5_save_bg.s"
|
;.include "hgr_1x5_save_bg.s"
|
||||||
|
|
||||||
.include "gr_copy.s"
|
.include "gr_copy.s"
|
||||||
|
.include "hgr_copy.s"
|
||||||
|
|
||||||
.include "keyboard.s"
|
.include "keyboard.s"
|
||||||
.include "wait.s"
|
.include "wait.s"
|
||||||
|
|
Loading…
Reference in New Issue