mirror of
https://github.com/everything8215/ff6.git
synced 2024-10-07 02:23:31 +00:00
Improve ending and credits
Code and data for ending cutscenes and end credits can now be relocated
This commit is contained in:
parent
8b3e2afab0
commit
441c0abaa2
@ -1428,7 +1428,7 @@ _inputcheck:
|
||||
@091f: cpx #$08
|
||||
bcs _08c5 ; return if a monster
|
||||
lda $3ed8,x
|
||||
cmp #$0d
|
||||
cmp #CHAR::UMARO
|
||||
beq _08c5 ; return if umaro
|
||||
lda $3255,x
|
||||
bpl _08c5 ; return if character has a valid ai script
|
||||
@ -3439,7 +3439,7 @@ Cmd_06:
|
||||
_1610: cpy #$08
|
||||
bcs FightAttack
|
||||
lda $3ed8,y
|
||||
cmp #$0d
|
||||
cmp #CHAR::UMARO
|
||||
beq _163b ; branch if Umaro
|
||||
|
||||
FightAttack:
|
||||
@ -14228,7 +14228,7 @@ ValidateSpellList:
|
||||
sta $0003,y
|
||||
@56c7: clr_ay
|
||||
lda $3ed8,x
|
||||
cmp #$0c
|
||||
cmp #CHAR::GOGO
|
||||
beq @56e5 ; branch if character is gogo
|
||||
iny2
|
||||
bcs @56e5 ; branch if character doesn't have a spell list
|
||||
@ -15394,7 +15394,7 @@ WinBattle:
|
||||
beq @5e59 ; branch if exp. egg not equipped
|
||||
jsr AddExp
|
||||
@5e59: lda $3ed8,y ; actor number
|
||||
cmp #$0c
|
||||
cmp #CHAR::GOGO
|
||||
bcs @5e73 ; branch if >= $0c (gogo)
|
||||
jsr GetSpellListPtr
|
||||
ldx $3010,y
|
||||
@ -15430,7 +15430,7 @@ WinBattle:
|
||||
sta $f2
|
||||
jsr CheckLevelUp
|
||||
lda $3ed8,y
|
||||
cmp #$0c
|
||||
cmp #CHAR::GOGO
|
||||
bcs @5eb9 ; branch if actor >= $0c (gogo)
|
||||
jsr ShowLearnedMagicMsg
|
||||
@5eb9: dey2 ; next character
|
||||
@ -15450,7 +15450,7 @@ WinBattle:
|
||||
ora $1d29,x ; add to known lores
|
||||
sta $1d29,x
|
||||
tya
|
||||
adc #$8b ; $8b (condemned, first lore)
|
||||
adc #ATTACK::CONDEMNED ; $8b (condemned, first lore)
|
||||
sta $2f35 ; set variable 0
|
||||
lda #$2d ; battle message $2d "learned <s>"
|
||||
jsr ShowMsg
|
||||
@ -15697,7 +15697,7 @@ IncLearnMagic:
|
||||
clc
|
||||
adc $ee ; add amount to learn
|
||||
bcs @6064 ; branch on overflow (should never happen)
|
||||
cmp #$64
|
||||
cmp #100
|
||||
bcc @6066 ; branch if total is less than 100
|
||||
@6064: lda #$80
|
||||
@6066: sta ($f4),y ; set msb in learn %
|
||||
@ -15961,12 +15961,12 @@ LearnAbilities:
|
||||
cmp #CHAR::TERRA
|
||||
beq @61fc ; branch if character is terra
|
||||
ldx #$0020
|
||||
cmp #$06
|
||||
cmp #CHAR::CELES
|
||||
beq @61fc ; branch if character is celes
|
||||
|
||||
; learn swdtech
|
||||
ldx #$0000
|
||||
cmp #$02
|
||||
cmp #CHAR::CYAN
|
||||
bne @61e0 ; branch if character is not cyan
|
||||
jsr GetAbilityBit
|
||||
beq @6221
|
||||
@ -15980,7 +15980,7 @@ LearnAbilities:
|
||||
|
||||
; learn blitz
|
||||
@61e0: ldx #$0008
|
||||
cmp #$05
|
||||
cmp #CHAR::SABIN
|
||||
bne @6221 ; return if character is not sabin
|
||||
jsr GetAbilityBit
|
||||
beq @6221
|
||||
@ -16039,7 +16039,7 @@ GetAbilityBit:
|
||||
|
||||
; [ add experience ]
|
||||
|
||||
; x = pointer to character data (+$1600)
|
||||
; X: pointer to character data (+$1600)
|
||||
|
||||
AddExp:
|
||||
@6235: php
|
||||
|
@ -381,7 +381,7 @@ TitleState_02:
|
||||
jsr _7e7897
|
||||
.if !LANG_EN
|
||||
lda #0
|
||||
ldy #$5323
|
||||
ldy #.loword(_7e5323)
|
||||
jsr CreateTask
|
||||
.endif
|
||||
ldy #30
|
||||
@ -430,7 +430,7 @@ TitleState_04:
|
||||
sty $15
|
||||
.if !LANG_EN
|
||||
lda #0
|
||||
ldy #$7667
|
||||
ldy #.loword(DefaultAnimTask)
|
||||
jsr CreateTask
|
||||
longa
|
||||
lda #$79f6
|
||||
@ -461,7 +461,7 @@ TitleState_05:
|
||||
jsr _7e5306
|
||||
.else
|
||||
lda #0
|
||||
ldy #$7667
|
||||
ldy #.loword(DefaultAnimTask)
|
||||
jsr CreateTask
|
||||
longa
|
||||
lda #$79f9
|
||||
@ -613,6 +613,7 @@ TitleState_0b:
|
||||
|
||||
.if !LANG_EN
|
||||
|
||||
_7e5323:
|
||||
@5323: tax
|
||||
jmp ($5327,x)
|
||||
|
||||
|
@ -2522,7 +2522,8 @@ _ca12f3:
|
||||
activate_party 1
|
||||
sort_obj
|
||||
call _cac8e1
|
||||
_ca1379:
|
||||
|
||||
game_ending:
|
||||
switch $01CC=1
|
||||
lock_camera
|
||||
call _caf61a
|
||||
@ -8352,7 +8353,7 @@ _ca36b1:
|
||||
.endproc ; FinalBattle_proc
|
||||
|
||||
FinalBattle := FinalBattle_proc::start
|
||||
_ca1379 := FinalBattle_proc::_ca1379
|
||||
GameEnding := FinalBattle_proc::game_ending
|
||||
|
||||
; ------------------------------------------------------------------------------
|
||||
|
||||
|
@ -16109,7 +16109,7 @@ NPCProp_0163:
|
||||
NPCProp_0164:
|
||||
|
||||
make_npc {15, 14}, $039a
|
||||
set_npc_event _ca1379
|
||||
set_npc_event GameEnding
|
||||
set_npc_dir DOWN
|
||||
set_npc_speed SLOWER
|
||||
set_npc_gfx KEFKA, STRAGO_RELM_GAU_GOGO
|
||||
@ -16179,7 +16179,7 @@ NPCProp_0164:
|
||||
NPCProp_0165:
|
||||
|
||||
make_npc {15, 13}, $039a
|
||||
set_npc_event _ca1379
|
||||
set_npc_event GameEnding
|
||||
set_npc_dir DOWN
|
||||
set_npc_speed SLOWER
|
||||
set_npc_gfx KEFKA, STRAGO_RELM_GAU_GOGO
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -757,155 +757,157 @@ ColosseumVSSprite:
|
||||
; ------------------------------------------------------------------------------
|
||||
|
||||
; double-headed coin animation data (Edgar's ending scene)
|
||||
@ec93: .addr @ed71
|
||||
EdgarCoinAnim:
|
||||
@ec93: .addr EdgarCoinSprite1
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ee22
|
||||
.addr EdgarCoinSprite6
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ee22
|
||||
.addr EdgarCoinSprite6
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ee22
|
||||
.addr EdgarCoinSprite6
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ee22
|
||||
.addr EdgarCoinSprite6
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ee22
|
||||
.addr EdgarCoinSprite6
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $b4
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $b4
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $46
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ee22
|
||||
.addr EdgarCoinSprite6
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ed71
|
||||
.addr EdgarCoinSprite1
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ee22
|
||||
.addr EdgarCoinSprite6
|
||||
.byte $04
|
||||
.addr @ed96
|
||||
.addr EdgarCoinSprite2
|
||||
.byte $04
|
||||
.addr @edbb
|
||||
.addr EdgarCoinSprite3
|
||||
.byte $04
|
||||
.addr @ede0
|
||||
.addr EdgarCoinSprite4
|
||||
.byte $04
|
||||
.addr @ee05
|
||||
.addr EdgarCoinSprite5
|
||||
.byte $04
|
||||
.addr @ee22
|
||||
.addr EdgarCoinSprite6
|
||||
.byte $fe
|
||||
|
||||
EdgarCoinSprite1:
|
||||
@ed71: .byte 9
|
||||
.byte $01,$00,$0c,$38
|
||||
.byte $09,$00,$0d,$38
|
||||
@ -917,6 +919,7 @@ ColosseumVSSprite:
|
||||
.byte $09,$10,$13,$38
|
||||
.byte $11,$10,$14,$38
|
||||
|
||||
EdgarCoinSprite2:
|
||||
@ed96: .byte 9
|
||||
.byte $00,$00,$15,$38
|
||||
.byte $08,$00,$16,$38
|
||||
@ -928,6 +931,7 @@ ColosseumVSSprite:
|
||||
.byte $08,$10,$1c,$38
|
||||
.byte $10,$10,$1d,$38
|
||||
|
||||
EdgarCoinSprite3:
|
||||
@edbb: .byte 9
|
||||
.byte $02,$00,$1e,$38
|
||||
.byte $0a,$00,$1f,$38
|
||||
@ -939,6 +943,7 @@ ColosseumVSSprite:
|
||||
.byte $09,$10,$25,$38
|
||||
.byte $11,$10,$26,$38
|
||||
|
||||
EdgarCoinSprite4:
|
||||
@ede0: .byte 9
|
||||
.byte $05,$00,$27,$38
|
||||
.byte $0d,$00,$28,$38
|
||||
@ -950,6 +955,7 @@ ColosseumVSSprite:
|
||||
.byte $09,$10,$2e,$38
|
||||
.byte $11,$10,$2f,$38
|
||||
|
||||
EdgarCoinSprite5:
|
||||
@ee05: .byte 7
|
||||
.byte $05,$00,$30,$38
|
||||
.byte $0d,$00,$31,$38
|
||||
@ -959,6 +965,7 @@ ColosseumVSSprite:
|
||||
.byte $09,$10,$35,$38
|
||||
.byte $11,$10,$36,$38
|
||||
|
||||
EdgarCoinSprite6:
|
||||
@ee22: .byte 9
|
||||
.byte $01,$00,$37,$38
|
||||
.byte $09,$00,$38,$38
|
||||
|
Loading…
Reference in New Issue
Block a user