mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-04 04:30:18 +00:00
tfv: slice limit mostly working
This commit is contained in:
parent
3a964b3573
commit
dfabd3d232
@ -1308,6 +1308,8 @@ victory_dance:
|
||||
|
||||
lda #34
|
||||
sta HERO_X
|
||||
lda #20
|
||||
sta HERO_Y
|
||||
|
||||
; update XP and money
|
||||
|
||||
@ -1337,57 +1339,15 @@ victory_dance_loop:
|
||||
beq victory_wave
|
||||
|
||||
victory_stand:
|
||||
lda HERO_X
|
||||
sta XPOS
|
||||
lda #20
|
||||
sta YPOS
|
||||
|
||||
lda #<tfv_stand_left_sprite
|
||||
sta INL
|
||||
lda #>tfv_stand_left_sprite
|
||||
sta INH
|
||||
jsr put_sprite_crop
|
||||
|
||||
lda HERO_X
|
||||
sec
|
||||
sbc #5
|
||||
sta XPOS
|
||||
lda #20
|
||||
sta YPOS
|
||||
|
||||
lda #<tfv_led_sword_sprite
|
||||
sta INL
|
||||
lda #>tfv_led_sword_sprite
|
||||
jsr draw_hero_and_sword
|
||||
jmp victory_draw_done
|
||||
|
||||
victory_wave:
|
||||
|
||||
lda HERO_X
|
||||
sta XPOS
|
||||
lda #20
|
||||
sta YPOS
|
||||
|
||||
lda #<tfv_victory_sprite
|
||||
sta INL
|
||||
lda #>tfv_victory_sprite
|
||||
sta INH
|
||||
jsr put_sprite_crop
|
||||
|
||||
lda HERO_X
|
||||
sec
|
||||
sbc #2
|
||||
sta XPOS
|
||||
lda #14
|
||||
sta YPOS
|
||||
|
||||
lda #<tfv_led_sword_sprite
|
||||
sta INL
|
||||
lda #>tfv_led_sword_sprite
|
||||
|
||||
jsr draw_hero_victory
|
||||
|
||||
victory_draw_done:
|
||||
sta INH
|
||||
jsr put_sprite_crop
|
||||
|
||||
jsr page_flip
|
||||
|
||||
@ -1821,66 +1781,112 @@ more_drop_loop:
|
||||
; Limit Break "Slice"
|
||||
; Run up and slap a bunch with sword
|
||||
; TODO: cause damage value to bounce around more?
|
||||
; TODO: run up to slice, not slide in
|
||||
;=========================
|
||||
;=========================
|
||||
|
||||
limit_break_slice:
|
||||
.if 0
|
||||
|
||||
int tx=34,ty=20;
|
||||
int damage=5;
|
||||
int i;
|
||||
lda #34
|
||||
sta HERO_X
|
||||
lda #20
|
||||
sta HERO_Y
|
||||
|
||||
while(tx>10) {
|
||||
lda #5
|
||||
sta DAMAGE_VAL
|
||||
|
||||
gr_copy_to_current(0xc00);
|
||||
slice_run_loop:
|
||||
|
||||
grsim_put_sprite(tfv_stand_left,tx,ty);
|
||||
grsim_put_sprite(tfv_led_sword,tx-5,ty);
|
||||
jsr gr_copy_to_current
|
||||
|
||||
; grsim_put_sprite(enemies[enemy_type].sprite,enemy_x,20);
|
||||
jsr draw_hero_and_sword
|
||||
|
||||
draw_battle_bottom(enemy_type);
|
||||
; draw enemy
|
||||
lda ENEMY_X
|
||||
sta XPOS
|
||||
lda #20
|
||||
sta YPOS
|
||||
jsr draw_enemy
|
||||
|
||||
page_flip();
|
||||
jsr draw_battle_bottom
|
||||
|
||||
tx-=1;
|
||||
jsr page_flip
|
||||
|
||||
usleep(20000);
|
||||
}
|
||||
lda #50
|
||||
jsr WAIT
|
||||
|
||||
; Slicing */
|
||||
for(i=0;i<20;i++) {
|
||||
dec HERO_X
|
||||
lda HERO_X
|
||||
cmp #10
|
||||
bcs slice_run_loop ; bge
|
||||
|
||||
gr_copy_to_current(0xc00);
|
||||
;==================
|
||||
; Slicing
|
||||
|
||||
; grsim_put_sprite(enemies[enemy_type].sprite,enemy_x,20);
|
||||
lda #20
|
||||
sta ANIMATE_LOOP
|
||||
slicing_loop:
|
||||
|
||||
if (i&1) {
|
||||
grsim_put_sprite(tfv_stand_left,tx,20);
|
||||
grsim_put_sprite(tfv_led_sword,tx-5,20);
|
||||
}
|
||||
else {
|
||||
grsim_put_sprite(tfv_victory,tx,20);
|
||||
grsim_put_sprite(tfv_led_sword,tx-2,14);
|
||||
}
|
||||
jsr gr_copy_to_current
|
||||
|
||||
damage_enemy(damage);
|
||||
; gr_put_num(2+(i%2),10+((i%2)*2),damage);
|
||||
; draw enemy
|
||||
lda ENEMY_X
|
||||
sta XPOS
|
||||
lda #20
|
||||
sta YPOS
|
||||
jsr draw_enemy
|
||||
|
||||
draw_battle_bottom(enemy_type);
|
||||
lda ANIMATE_LOOP
|
||||
and #1
|
||||
bne slice_raised
|
||||
|
||||
page_flip();
|
||||
slice_down:
|
||||
jsr draw_hero_and_sword
|
||||
|
||||
usleep(100000);
|
||||
}
|
||||
jmp done_slice_down
|
||||
|
||||
tx=34;
|
||||
ty=20;
|
||||
slice_raised:
|
||||
|
||||
gr_copy_to_current(0xc00);
|
||||
jsr draw_hero_victory
|
||||
|
||||
; grsim_put_sprite(enemies[enemy_type].sprite,enemy_x,20);
|
||||
done_slice_down:
|
||||
|
||||
jsr damage_enemy
|
||||
|
||||
; gr_put_num(2+(i%2),10+((i%2)*2),damage);
|
||||
lda ANIMATE_LOOP
|
||||
and #$1
|
||||
clc
|
||||
adc #2
|
||||
sta XPOS
|
||||
|
||||
lda ANIMATE_LOOP
|
||||
and #$1
|
||||
asl
|
||||
clc
|
||||
adc #10
|
||||
sta YPOS
|
||||
|
||||
jsr gr_put_num
|
||||
|
||||
jsr draw_battle_bottom
|
||||
|
||||
jsr page_flip
|
||||
|
||||
lda #150
|
||||
jsr WAIT
|
||||
|
||||
dec ANIMATE_LOOP
|
||||
bne slicing_loop
|
||||
|
||||
|
||||
|
||||
lda #34
|
||||
sta HERO_X
|
||||
lda #20
|
||||
sta HERO_Y
|
||||
|
||||
jsr gr_copy_to_current
|
||||
|
||||
; draw enemy
|
||||
lda ENEMY_X
|
||||
@ -1893,11 +1899,6 @@ limit_break_slice:
|
||||
|
||||
jsr draw_hero_and_sword
|
||||
|
||||
grsim_put_sprite(tfv_stand_left,tx,ty);
|
||||
grsim_put_sprite(tfv_led_sword,tx-5,ty);
|
||||
|
||||
.endif
|
||||
|
||||
jsr draw_battle_bottom
|
||||
|
||||
jsr page_flip
|
||||
@ -2593,6 +2594,40 @@ battle_actual_draw_enemy:
|
||||
jmp put_sprite_crop ; tail call
|
||||
|
||||
|
||||
|
||||
;============================
|
||||
; draw hero victory
|
||||
;============================
|
||||
; draws at HERO_X,HERO_Y
|
||||
|
||||
draw_hero_victory:
|
||||
lda HERO_X
|
||||
sta XPOS
|
||||
lda HERO_Y
|
||||
sta YPOS
|
||||
|
||||
lda #<tfv_victory_sprite
|
||||
sta INL
|
||||
lda #>tfv_victory_sprite
|
||||
sta INH
|
||||
jsr put_sprite_crop
|
||||
|
||||
lda HERO_X
|
||||
sec
|
||||
sbc #2
|
||||
sta XPOS
|
||||
lda #14
|
||||
sta YPOS
|
||||
|
||||
lda #<tfv_led_sword_sprite
|
||||
sta INL
|
||||
lda #>tfv_led_sword_sprite
|
||||
sta INH
|
||||
jsr put_sprite_crop
|
||||
|
||||
rts
|
||||
|
||||
|
||||
;============================
|
||||
; draw hero and sword
|
||||
;============================
|
||||
|
Loading…
x
Reference in New Issue
Block a user