mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-10-21 03:23:57 +00:00
tfv: end-of-battle animation
This commit is contained in:
parent
5a3db0f576
commit
d6cdf30217
@ -1315,56 +1315,110 @@ enemy_attack:
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
victory_string:
|
||||||
|
.byte 13,21,"EXPERIENCE +2",0
|
||||||
|
.byte 16,22,"MONEY +1",0
|
||||||
|
|
||||||
|
|
||||||
;====================================
|
;====================================
|
||||||
; victory dance
|
; victory dance
|
||||||
;====================================
|
;====================================
|
||||||
|
|
||||||
victory_dance:
|
victory_dance:
|
||||||
|
|
||||||
.if 0
|
lda #34
|
||||||
|
sta HERO_X
|
||||||
|
|
||||||
int ax=34;
|
; update XP and money
|
||||||
int i;
|
|
||||||
int saved_drawpage;
|
|
||||||
|
|
||||||
saved_drawpage=ram[DRAW_PAGE];
|
inc HERO_XP
|
||||||
|
inc HERO_XP
|
||||||
|
|
||||||
ram[DRAW_PAGE]=PAGE2; ; 0xc00
|
inc HERO_MONEY
|
||||||
|
|
||||||
clear_bottom();
|
|
||||||
|
|
||||||
vtab(21);
|
ldx #25
|
||||||
htab(10);
|
stx ANIMATE_LOOP
|
||||||
move_cursor();
|
victory_dance_loop:
|
||||||
print("EXPERIENCE +2");
|
|
||||||
experience+=2;
|
|
||||||
|
|
||||||
vtab(22);
|
jsr gr_copy_to_current
|
||||||
htab(10);
|
|
||||||
move_cursor();
|
|
||||||
print("MONEY +1");
|
|
||||||
money+=1;
|
|
||||||
|
|
||||||
ram[DRAW_PAGE]=saved_drawpage;
|
jsr clear_bottom
|
||||||
|
|
||||||
for(i=0;i<25;i++) {
|
lda #<victory_string
|
||||||
|
sta OUTL
|
||||||
|
lda #>victory_string
|
||||||
|
sta OUTH
|
||||||
|
jsr move_and_print
|
||||||
|
jsr move_and_print
|
||||||
|
|
||||||
gr_copy_to_current(0xc00);
|
txa
|
||||||
|
and #1
|
||||||
|
beq victory_wave
|
||||||
|
|
||||||
if (i&1) {
|
victory_stand:
|
||||||
grsim_put_sprite(tfv_stand_left,ax,20);
|
lda HERO_X
|
||||||
grsim_put_sprite(tfv_led_sword,ax-5,20);
|
sta XPOS
|
||||||
}
|
lda #20
|
||||||
else {
|
sta YPOS
|
||||||
grsim_put_sprite(tfv_victory,ax,20);
|
|
||||||
grsim_put_sprite(tfv_led_sword,ax-2,14);
|
|
||||||
}
|
|
||||||
|
|
||||||
page_flip();
|
lda #<tfv_stand_left_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>tfv_stand_left_sprite
|
||||||
|
sta INH
|
||||||
|
jsr put_sprite_crop
|
||||||
|
|
||||||
usleep(200000);
|
lda HERO_X
|
||||||
|
sec
|
||||||
|
sbc #5
|
||||||
|
sta XPOS
|
||||||
|
lda #20
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
|
lda #<tfv_led_sword_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>tfv_led_sword_sprite
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
victory_draw_done:
|
||||||
|
sta INH
|
||||||
|
jsr put_sprite_crop
|
||||||
|
|
||||||
|
jsr page_flip
|
||||||
|
|
||||||
|
|
||||||
|
; delay
|
||||||
|
lda #255
|
||||||
|
jsr WAIT
|
||||||
|
|
||||||
|
dec ANIMATE_LOOP
|
||||||
|
bne victory_dance_loop
|
||||||
|
|
||||||
.endif
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;===========================
|
;===========================
|
||||||
|
@ -61,6 +61,18 @@ tfv_defeat_sprite:
|
|||||||
.byte $88,$AA,$AA,$22,$bA,$bA,$dA
|
.byte $88,$AA,$AA,$22,$bA,$bA,$dA
|
||||||
.byte $88,$22,$22,$22,$dd,$db,$dd
|
.byte $88,$22,$22,$22,$dd,$db,$dd
|
||||||
|
|
||||||
|
tfv_victory_sprite:
|
||||||
|
.byte $4,$6
|
||||||
|
.byte $AA,$BD,$2b,$AA
|
||||||
|
.byte $AB,$DB,$22,$AA
|
||||||
|
.byte $AA,$AA,$22,$AA
|
||||||
|
.byte $AA,$AA,$22,$AA
|
||||||
|
.byte $AA,$2A,$A2,$22
|
||||||
|
.byte $AA,$82,$AA,$82
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;================
|
;================
|
||||||
; Bird Sprites
|
; Bird Sprites
|
||||||
;================
|
;================
|
||||||
|
@ -88,6 +88,11 @@ HERO_HP = $91 ; hero's hit points
|
|||||||
HERO_HP_MAX = $92 ; hero's max hit points
|
HERO_HP_MAX = $92 ; hero's max hit points
|
||||||
HERO_MP = $93 ; hero's magic points
|
HERO_MP = $93 ; hero's magic points
|
||||||
HERO_LIMIT = $94 ; hero's limit break count
|
HERO_LIMIT = $94 ; hero's limit break count
|
||||||
|
HERO_LEVEL = $95 ; hero's level
|
||||||
|
HERO_XP = $96 ; hero's experience points
|
||||||
|
HERO_MONEY = $97 ; hero's money
|
||||||
|
HERO_INVENTORY = $98 ; hero's inventory
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;==================GAME STATE (not in save game)==============
|
;==================GAME STATE (not in save game)==============
|
||||||
@ -101,7 +106,7 @@ SOUND_STATUS = $A6
|
|||||||
SOUND_IN_LC = $01 ; $01 sound effects in language card
|
SOUND_IN_LC = $01 ; $01 sound effects in language card
|
||||||
SOUND_MOCKINGBOARD = $02 ; mockingboard detected
|
SOUND_MOCKINGBOARD = $02 ; mockingboard detected
|
||||||
JS_BUTTON_STATE = $A7
|
JS_BUTTON_STATE = $A7
|
||||||
|
ANIMATE_LOOP = $A8
|
||||||
|
|
||||||
HERO_X = $B0 ; used in battle
|
HERO_X = $B0 ; used in battle
|
||||||
HERO_STATE = $B1 ; used in battle
|
HERO_STATE = $B1 ; used in battle
|
||||||
|
Loading…
Reference in New Issue
Block a user