Improve ending and credits

Code and data for ending cutscenes and end credits can now be relocated
This commit is contained in:
everything8215 2024-05-25 21:32:08 -04:00
parent 8b3e2afab0
commit 441c0abaa2
7 changed files with 1526 additions and 1086 deletions

View File

@ -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

View File

@ -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)

View File

@ -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
; ------------------------------------------------------------------------------

View File

@ -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

View File

@ -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