tfv: fix issue with wrapping on main menu

This commit is contained in:
Vince Weaver 2021-01-19 17:20:36 -05:00
parent ad842faeed
commit c5976dc2c7
2 changed files with 76 additions and 23 deletions

View File

@ -285,7 +285,6 @@ enemy_no_menu:
enemy_done_charging:
; damage the hero
jsr damage_hero
@ -297,8 +296,71 @@ enemy_done_charging:
beq battle_no_inc_limit
inc HERO_LIMIT
battle_no_inc_limit:
;============================
;============================
;============================
lda #50
sta ANIMATE_LOOP
enemy_end_loop:
;======================
; copy over background
jsr gr_copy_to_current
; draw hero first so behind enemy
jsr draw_hero_and_sword
; if == 10 back to left
lda ANIMATE_LOOP
cmp #10
bne not_enemy_back
lda #0
sta ENEMY_X
lda #0
sta ENEMY_ATTACKING
not_enemy_back:
; draw enemy
lda ENEMY_X
sta XPOS
lda #20
sta YPOS
jsr draw_enemy
; let you finish menu commands?
lda MENU_STATE
cmp #MENU_NONE
beq enemy_no_menu2
jsr get_keypress
sta LAST_KEY
jsr battle_menu_keypress
enemy_no_menu2:
;============
; draw bottom
jsr draw_battle_bottom
lda ANIMATE_LOOP
cmp #10
bcc no_enemy_print_damage
; print damage
lda #25
@ -307,29 +369,19 @@ battle_no_inc_limit:
sta YPOS
jsr gr_put_num
; draw bottom
jsr draw_battle_bottom
no_enemy_print_damage:
; flip page
jsr page_flip
; wait 1s
dec ANIMATE_LOOP
bne enemy_end_loop
ldx #100
jsr long_wait
done_enemy_attack:
; done attacking
lda #0
sta ENEMY_ATTACKING
; move back to left
lda #0
sta ENEMY_X
; reset enemy time. FIXME: variable?
lda #100
sta ENEMY_COUNT

View File

@ -183,8 +183,17 @@ draw_battle_menu_main:
; wrap location
lda HERO_LIMIT
cmp #5
bcs limit5_wrap ; bge if limit >=5 then stop at 5
limit4_wrap:
lda MENU_POSITION
cmp #4
bcs limit4_wrap ; bge
bcc done_menu_wrap
lda #4
sta MENU_POSITION
bne done_menu_wrap ; bra
limit5_wrap:
lda MENU_POSITION
cmp #5
@ -193,14 +202,6 @@ limit5_wrap:
sta MENU_POSITION
bne done_menu_wrap ; bra
limit4_wrap:
lda MENU_POSITION
cmp #6
bcc done_menu_wrap
lda #6
sta MENU_POSITION
bne done_menu_wrap ; bra
done_menu_wrap:
lda #<battle_menu_main