Users browsing this thread: 1 Guest(s)
Switching Ending Scenes

#1
Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
So, I have no interest in actually changing the ending cutscenes (the background images that play over the names of the cast), but I do wonder what would be needed to switch them. I've two specific ones in mind, Terra and Strago. I want Terra to have the book and Strago to have the wine glasses. How would I go about that?
  Find
Quote  

#2
Posts: 2,548
Threads: 98
Thanks Received: 147
Thanks Given: 156
Joined: Aug 2009
Reputation: 52
Status
Nattak\'d
In the event code, this one is the book used for Strago:
CA/25C1: BA Play ending cinematic $78
And this one is the wine glasses:
CA/215D: BA Play ending cinematic $5A
So swap those values. I'm not sure if it will mess up the sync to the song any, timing might have to be slightly tweaked. ALSO, it will not just swap the cinematic graphic, but the character name as well...so this might be a prob lol. You'd most likely have to change the ending names after all for this.


We are born, live, die and then do the same thing over again.
Quote  

#3
Posts: 3,966
Threads: 279
Thanks Received: 233
Thanks Given: 56
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
One way to keep the name and have a different scene is swapping pointers in this table:

Code:
C3/C406:    BEC5        ; 00: Fade screen before ending scene
C3/C408:    D4C5        ; 01: Return to event script
C3/C40A:    69C8        ; 02: Show aerial-view panning clouds
C3/C40C:    A6C8        ; 03: Wait before fading screen
C3/C40E:    ADC8        ; 04: Show spinning clouds
C3/C410:    E1C5        ; 05: Start sideview airship scene
C3/C412:    81C6        ; 06: Bogus...
C3/C414:    DCC6        ; 07: Bogus...
C3/C416:    DCC6        ; 08: Bogus...
C3/C418:    94C7        ; 09: Start aerial-view airship scene
C3/C41A:    D2C7        ; 0A: Show aerial-view airship
C3/C41C:    E1C7        ; 0B: Fade screen to white
C3/C41E:    D1C8        ; 0C: Start boat scene
C3/C420:    17C9        ; 0D: Show boat sprite
C3/C422:    CDC9        ; 0E: Bogus...
C3/C424:    CDC9        ; 0F: Bogus...
C3/C426:    CDC9        ; 10: Start skimming airship scene
C3/C428:    8CCA        ; 11: Show swooping bird
C3/C42A:    BECA        ; 12: Unused...
C3/C42C:    BECA        ; 13: Unused...
C3/C42E:    17CD        ; 14: Start frontview airship scene
C3/C430:    A0CD        ; 15: Show late bird flock
C3/C432:    EACD        ; 16: Bogus...
C3/C434:    EACD        ; 17: Bogus...
C3/C436:    A6CE        ; 18: Start aerial-view plains scene
C3/C438:    ECCE        ; 19: Bogus...
C3/C43A:    ECCE        ; 1A: Bogus...
C3/C43C:    ECCE        ; 1B: Bogus...
C3/C43E:    ECCE        ; 1C: Start rearview airship scene
C3/C440:    18D0        ; 1D: Bogus...
C3/C442:    18D0        ; 1E: Bogus...
C3/C444:    18D0        ; 1F: Bogus...
C3/C446:    2FD0        ; 20: Start smoking airship scene
C3/C448:    96D0        ; 21: Fade smoking airship
C3/C44A:    22D1        ; 22: Bogus...
C3/C44C:    22D1        ; 23: Bogus...
C3/C44E:    22D1        ; 24: Bogus...
C3/C450:    94C7        ; 25: Bogus...
C3/C452:    94C7        ; 26: Bogus...
C3/C454:    94C7        ; 27: Bogus...
C3/C456:    6EE2        ; 28: Start Shadow's scene
C3/C458:    B2E2        ; 29: Fade in "Shadow as"
C3/C45A:    C1E2        ; 2A: Switch Shadow's names
C3/C45C:    D0E2        ; 2B: Fade all but Shadow's name
C3/C45E:    94C7        ; 2C: Bogus...
C3/C460:    CEE6        ; 2D: Start first book scene
C3/C462:    DFE6        ; 2E: Animate first book
C3/C464:    EEE6        ; 2F: Wait 480 frames
C3/C466:    FAE6        ; 30: Pixelate and fade first book
C3/C468:    94C7        ; 31: Bogus...
C3/C46A:    F8E2        ; 32: Start Cyan's scene
C3/C46C:    19E3        ; 33: Fade in "Cyan as"
C3/C46E:    28E3        ; 34: Switch Cyan's names
C3/C470:    37E3        ; 35: Fade all but Cyan's name
C3/C472:    94C7        ; 36: Bogus...
C3/C474:    94C7        ; 37: Bogus...
C3/C476:    E7E2        ; 38: Fade actor's true name
C3/C478:    94C7        ; 39: Bogus...
C3/C47A:    94C7        ; 3A: Bogus...
C3/C47C:    94C7        ; 3B: Bogus...
C3/C47E:    E1E3        ; 3C: Start Mog's scene
C3/C480:    FDE3        ; 3D: Fade in "Mog as"
C3/C482:    0CE4        ; 3E: Switch Mog's names
C3/C484:    1BE4        ; 3F: Fade all but Mog's name
C3/C486:    4BE3        ; 40: Start Edgar and Sabin's scene
C3/C488:    64E3        ; 41: Fade in "Edgar as"
C3/C48A:    73E3        ; 42: Switch Edgar's names
C3/C48C:    82E3        ; 43: Show Sabin's name, fade Edgar's
C3/C48E:    A2E3        ; 44: Delete Edgar's name
C3/C490:    B2E3        ; 45: Switch Sabin's names
C3/C492:    32E4        ; 46: Start Gogo's scene
C3/C494:    59E4        ; 47: Fade in "Gogo as"
C3/C496:    7CE4        ; 48: Switch Gogo's names
C3/C498:    8BE4        ; 49: Fade all but Gogo's name
C3/C49A:    11E7        ; 4A: Start last book scene
C3/C49C:    2AE7        ; 4B: Wait 180 frames
C3/C49E:    36E7        ; 4C: Stop last book and fade in text
C3/C4A0:    49E7        ; 4D: Pixelate and fade last book
C3/C4A2:    94C7        ; 4E: Bogus...
C3/C4A4:    CDE3        ; 4F: Fade all but Sabin's name
C3/C4A6:    FAE4        ; 50: Start Gau's scene
C3/C4A8:    13E5        ; 51: Fade in "Gau as"
C3/C4AA:    22E5        ; 52: Switch Gau's names; create face
C3/C4AC:    34E5        ; 53: Fade all but Gau's name
C3/C4AE:    94C7        ; 54: Bogus...
C3/C4B0:    94C7        ; 55: Bogus...
C3/C4B2:    94C7        ; 56: Bogus...
C3/C4B4:    94C7        ; 57: Bogus...
C3/C4B6:    94C7        ; 58: Bogus...
C3/C4B8:    94C7        ; 59: Bogus...
C3/C4BA:    4BE5        ; 5A: Start Terra's scene
C3/C4BC:    64E5        ; 5B: Fade in "Terra as"
C3/C4BE:    73E5        ; 5C: Switch Terra's names, create glint
C3/C4C0:    85E5        ; 5D: Fade all but Terra's name
C3/C4C2:    94C7        ; 5E: Bogus...
C3/C4C4:    94C7        ; 5F: Bogus...
C3/C4C6:    94C7        ; 60: Bogus...
C3/C4C8:    94C7        ; 61: Bogus...
C3/C4CA:    94C7        ; 62: Bogus...
C3/C4CC:    94C7        ; 63: Bogus...
C3/C4CE:    9CE5        ; 64: Start Locke and Celes's scene
C3/C4D0:    B7E5        ; 65: Fade in "Locke as"
C3/C4D2:    C6E5        ; 66: Switch Locke's names
C3/C4D4:    D5E5        ; 67: Show Celes's name, fade Locke's
C3/C4D6:    F5E5        ; 68: Delete Locke's name
C3/C4D8:    05E6        ; 69: Switch Celes's names
C3/C4DA:    1EE6        ; 6A: Fade all but Celes's name
C3/C4DC:    94C7        ; 6B: Bogus...
C3/C4DE:    94C7        ; 6C: Bogus...
C3/C4E0:    94C7        ; 6D: Bogus...
C3/C4E2:    35E6        ; 6E: Start Relm's scene
C3/C4E4:    51E6        ; 6F: Fade in "Relm as"
C3/C4E6:    60E6        ; 70: Switch Relm's names
C3/C4E8:    6FE6        ; 71: Fade all but Relm's name
C3/C4EA:    94C7        ; 72: Bogus...
C3/C4EC:    94C7        ; 73: Bogus...
C3/C4EE:    94C7        ; 74: Bogus...
C3/C4F0:    94C7        ; 75: Bogus...
C3/C4F2:    94C7        ; 76: Bogus...
C3/C4F4:    94C7        ; 77: Bogus...
C3/C4F6:    86E6        ; 78: Start Strago's scene
C3/C4F8:    9CE6        ; 79: Fade in "Strago as"
C3/C4FA:    ABE6        ; 7A: Switch Strago's names
C3/C4FC:    BAE6        ; 7B: Fade all but Strago's name
C3/C4FE:    94C7        ; 7C: Bogus...
C3/C500:    94C7        ; 7D: Bogus...
C3/C502:    94C7        ; 7E: Bogus...
C3/C504:    94C7        ; 7F: Bogus...
C3/C506:    94C7        ; 80: Bogus...
C3/C508:    94C7        ; 81: Bogus...
C3/C50A:    5DE7        ; 82: Start Setzer's scene
C3/C50C:    94E7        ; 83: Fade in "Setzer as"
C3/C50E:    A3E7        ; 84: Switch Setzer's names
C3/C510:    B2E7        ; 85: Fade background
C3/C512:    C1E7        ; 86: Fade cards and name
C3/C514:    E5E7        ; 87: Start Umaro's scene
C3/C516:    04E8        ; 88: Fade in "Umaro as"
C3/C518:    13E8        ; 89: Switch Umaro's names
C3/C51A:    22E8        ; 8A: Fade all but Umaro's name

Edit: Thread moved in Magitek Research Facility sub-forum.
  Find
Quote  

#4
Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
I switched the values at C3/C4BA and C3/C4F6 only, but it switches the names as well. JJust to see what happened I plugged the entire Strago bit, all four parts, into Terra's - it did nothing.

Also, a related question - is it possible to change the small text names in the scenes? In my hack the ponies go by nicknames since their full names are usually too long, but if the small text can be changed to accomodate the full names, that'd be cool.
  Find
Quote  
[-] The following 1 user says Thank You to DrakeyC for this post:
  • madsiur (01-02-2018)

#5
Posts: 3,966
Threads: 279
Thanks Received: 233
Thanks Given: 56
Joined: Oct 2011
Reputation: 65
Status
Tissue-aware
(01-02-2018, 01:49 AM)DrakeyC Wrote: I switched the values at C3/C4BA and C3/C4F6 only, but it switches the names as well.

Yeah I thought it could be an easy swap but it seems each scene is tied to the other by the actor ID..

(01-02-2018, 01:49 AM)DrakeyC Wrote: Also, a related question - is it possible to change the small text names in the scenes? In my hack the ponies go by nicknames since their full names are usually too long, but if the small text can be changed to accomodate the full names, that'd be cool.

You mean the "TERRA" in "TERRA as Terra Branford"? Those names are fetched from memory, you can't change them unless you hardcode new ones in the ROM and display those instead of the game name.
  Find
Quote  

#6
Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
Ah well then. Thanks on both counts.
  Find
Quote  

#7
Posts: 76
Threads: 20
Thanks Received: 2
Thanks Given: 4
Joined: Apr 2012
Reputation: 0
Status
None
The General Leo Edition hack, the creator change Shadow's ending (shuriken in apple) to Cyan's ending (sword in scabbard). I don't know how he did it, just though I'll mention it.
  Find
Quote  

#8
Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
Hm, thanks for the heads up.
  Find
Quote  

#9
Posts: 732
Threads: 36
Thanks Received: 12
Thanks Given: 41
Joined: Jan 2016
Reputation: 6
Status
None
I figured it out!

So, yes, switching the pointers does work. But that's only half the battle. We want to switch the names, and I figured out how to do that.

http://datacrystal.romhacking.net/wiki/F...sembly_C3E

Run a search for "Index is" on this page to find the ending scenes, or just go to where the pointers say. Cyan's scene is E2F8, Terra's is E54B. Each of them begins with a pointer corresponding to the typical character values in hex; Cyan's scene begins with A902, Terra's with A900. So switch the A902 to A900, switch the pointers as madsiur says above, and...

[Image: 3eLIu4I.png]

Tested the same method with Terra and Strago's scenes, works just fine.
  Find
Quote  
[-] The following 2 users say Thank You to DrakeyC for this post:
  • PowerPanda (01-12-2018), Robo Jesus (01-12-2018)

#10
Posts: 614
Threads: 49
Thanks Received: 0
Thanks Given: 4
Joined: Feb 2017
Reputation: 25
Status
None
Necropost!!!

It is possible to change the ending graphics without changing the index number. Each of the pointers goes to a section of code that defines multiple things, and usually ends with a jump to the next pointer. Within that section of code, there is an index lookup, followed by some JSRs. The first JSR is always the same: (JSR $E0B9). the 2nd JSR actually determines which object is on the table. So, for example, here is Terra's code:

Code:
C3/E54B:    A900        LDA #$00    (Index is 0 (Terra))
C3/E54D:    20B9E0      JSR $E0B9      <- Always the same
C3/E550:    20E4EF      JSR $EFE4      <- This shows the wine glass on the table
C3/E553:    2092E1      JSR $E192
C3/E556:    2068E4      JSR $E468
C3/E559:    203FE8      JSR $E83F
C3/E55C:    A07800      LDY #$0078
C3/E55F:    8420        STY $20
C3/E561:    4C23E1      JMP $E123


By switching out the JSRs, you can switch which object shows. I haven't yet figured out a pattern to the 2nd animation yet (the wine glass sparkle, the throwing stars, etc.). However, i assume it's just a matter of switching out the JSRs until you find the right one. For me, my tinkering has produced, for character slot D (Leo in my hack), a bunch of Moogles walking up to a wine glass and falling over.  Laugh It has so much charm I just might keep it.


Projects:
FFVI: Divergent Paths (Completed) - a complete storyline and gameplay hack of FF6 that adds Leo as a playable character
  Find
Quote  



Forum Jump:

Users browsing this thread: 1 Guest(s)


Theme by Madsiur2017Custom Graphics by JamesWhite