News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Chrono trigger plus  (Read 212513 times)

Cthulhu88

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: Chrono trigger plus
« Reply #920 on: September 10, 2019, 09:21:31 pm »
For Qwertymodo's hack to work I need the special No Flux version however he is no longer answering my messages.

He hasn't been around since 26/08. However, if you just want to implement the music part of MSU-1, you can try implementing the one I'd posted in the Bugfix and Uncensor thread.
It's a rewritten (mostly from scratch) version of DarkShock's code plus rewritten and implemented some of qwertymodo's code (he sent me his source on 26/08, so it should have the latest fixes in).

I still plan to do some minor performance tweaking and a more elegant hook to attract.

gardnaeden

  • Jr. Member
  • **
  • Posts: 5
    • View Profile
Re: Chrono trigger plus
« Reply #921 on: September 10, 2019, 10:09:10 pm »
I just booted up the most recent version 2.1 and I was just wanting to check - Is the ferry at Porre still meant to go to Choras like in previous versions? The text reads that it'll take you to Choras, but the ferry goes to Guardia instead.

ThegreatBen

  • Hero Member
  • *****
  • Posts: 638
    • View Profile
Re: Chrono trigger plus
« Reply #922 on: September 11, 2019, 07:44:23 am »
I just booted up the most recent version 2.1 and I was just wanting to check - Is the ferry at Porre still meant to go to Choras like in previous versions? The text reads that it'll take you to Choras, but the ferry goes to Guardia instead.

Son of a submariner! Why do overworld events have to be so mean? I'll try to get that fixed today.

He hasn't been around since 26/08. However, if you just want to implement the music part of MSU-1, you can try implementing the one I'd posted in the Bugfix and Uncensor thread.
It's a rewritten (mostly from scratch) version of DarkShock's code plus rewritten and implemented some of qwertymodo's code (he sent me his source on 26/08, so it should have the latest fixes in).

I still plan to do some minor performance tweaking and a more elegant hook to attract.

I doubt I could just apply a patch, I stuck Qwertymodos code into empty space that I picked, I could probably dig up the locations of you wanna help me out. Also I know you aren't interested in adding the videos but I definitely am, any chance you could be convinced?

Cthulhu88

  • Jr. Member
  • **
  • Posts: 62
    • View Profile
Re: Chrono trigger plus
« Reply #923 on: September 11, 2019, 06:10:28 pm »
I doubt I could just apply a patch, I stuck Qwertymodos code into empty space that I picked, I could probably dig up the locations of you wanna help me out. Also I know you aren't interested in adding the videos but I definitely am, any chance you could be convinced?

I've included my ASM code with the patch. You just need to change the addresses for Tracklist.ADDRESS and Patch.ADDRESS.
You need 85 free bytes for Tracklist.ADDRESS and about 1200 for Patch.ADDRESS, although you can split Patch.ADDRESS into smaller spaces using seek around the code.

As for the FMVs, yeah, I don't think I'm interested. My code isn't a copy paste from qwertymodo's, so I would need to go around his video code, line by line, and implement it into mine. Also, he uses Flux events to be able to trigger them.
With all that being said, I also would like the FMVs to remain exclusive to his work, as this is his baby after all. At least until he finishes it.

In any case, I would wait a few more days as I am doing some final tweaks to my code.

ThegreatBen

  • Hero Member
  • *****
  • Posts: 638
    • View Profile
Re: Chrono trigger plus
« Reply #924 on: September 12, 2019, 06:58:03 pm »
Ok the ferry is fixed/uploaded. I've learned my lesson, no more new features until I'm ready to release a new version.

This winter I thought maybe I'd put in an ending viewer that let's you watch the endings as you unlock them, kind of an incentive to see them all again.

Thirteen 1355

  • Hero Member
  • *****
  • Posts: 517
    • View Profile
Re: Chrono trigger plus
« Reply #925 on: September 13, 2019, 08:16:52 am »
An ending viewer sounds like a really good idea.
Helicoptering about till I find some ROM hacking treasure.

lexluthermiester

  • Hero Member
  • *****
  • Posts: 708
    • View Profile
Re: Chrono trigger plus
« Reply #926 on: September 14, 2019, 01:01:10 am »
Ok the ferry is fixed/uploaded. I've learned my lesson, no more new features until I'm ready to release a new version.

This winter I thought maybe I'd put in an ending viewer that let's you watch the endings as you unlock them, kind of an incentive to see them all again.
This' a very interesting idea. Is there enough space in the rom for it?

edale

  • Full Member
  • ***
  • Posts: 136
    • View Profile
Re: Chrono trigger plus
« Reply #927 on: September 14, 2019, 03:24:27 am »
This' a very interesting idea. Is there enough space in the rom for it?
Unless I'm mistaken, it actually wouldn't take much space on the ROM at all. The largest chunk would be encoding names for the endings, and that could be shortened by just numbering them instead. It would just need a bit of code to play certain chunks of event code before returning to the ending player menu, as well as an in-game trigger to get to the ending player. And possibly a few flags, if the endings were unlocked in the viewer as you got them, rather than just all being playable by default. The problem with the flags would be that would require a change to the save file format, which would likely make all saves from versions without the ending viewer not compatible with saves with the viewer.

Honestly, the best place to put the ending viewer would likely be somewhere in the "secret" developer's room (probably replacing the text of the guy that tells you "can you find all 12 endings?", when there's actually closer to 17 distinct endings, plus variations of a few of those), and if it's in the Dev Room, then it makes sense that you'd be able to view all the endings, even if you hadn't viewed them previously.

It would be cool if it let you play the different versions of the endings, such as the differences from having saved Lucca's mother or not affecting if she's in the parade ending, and such; but that would require another chunk of code to set various flags, and probably a third chunk of code to get the events to pay attention to that set flags rather than the ones in your save...
« Last Edit: September 14, 2019, 07:10:06 am by edale »

ThegreatBen

  • Hero Member
  • *****
  • Posts: 638
    • View Profile
Re: Chrono trigger plus
« Reply #928 on: September 14, 2019, 09:03:42 am »
Edale is correct, it would be a viewer item with a list of all the endings and they would only be viewable once unlocked, the hardest part would be getting the flag to save after the ending.

andrewclunn

  • Sr. Member
  • ****
  • Posts: 265
    • View Profile
Re: Chrono trigger plus
« Reply #929 on: September 14, 2019, 01:24:50 pm »
Edale is correct, it would be a viewer item with a list of all the endings and they would only be viewable once unlocked, the hardest part would be getting the flag to save after the ending.

The new game plus byte is saved out of normal data, but it only needs to code one bit, so there's at least 7 bits free there.  And considering the way memory is addressed, that means you should have 15 bits free there, which would make it perfect.

ThegreatBen

  • Hero Member
  • *****
  • Posts: 638
    • View Profile
Re: Chrono trigger plus
« Reply #930 on: September 14, 2019, 02:28:57 pm »
7 makes sense, not sure how that becomes 15 though.

But that's the right idea, wonder if that's the only address that saves that way, I'm sure Mauron knows.

Mauron

  • Submission Reviewer
  • Hero Member
  • *****
  • Posts: 540
    • View Profile
Re: Chrono trigger plus
« Reply #931 on: September 14, 2019, 03:46:07 pm »
Here's what I know so far:

The New Game+ bit in SRAM isn't part of the normal saving process, and there's a few likely unused bytes after it. Those bytes are unfortunately initialized to $FF, which makes things a little trickier. The New Game+ is only checked to see if it's zero, so we'd have to hack that part if we want more bits.

Anyone got a late game SRM file I can work with? Later is better, but any EOT accessible one would be a start.
Mauron wuz here.

andrewclunn

  • Sr. Member
  • ****
  • Posts: 265
    • View Profile
Re: Chrono trigger plus
« Reply #932 on: September 14, 2019, 04:02:08 pm »
This is an awesome save file reasource

https://fantasyanime.com/squaresoft/ctsaves-srm.htm

Mauron

  • Submission Reviewer
  • Hero Member
  • *****
  • Posts: 540
    • View Profile
Re: Chrono trigger plus
« Reply #933 on: September 14, 2019, 04:30:16 pm »
Activating New Game+ is done through the Mode7Scene event command. I think there are some unused values I can hijack to store completed endings. Will 15 flags be enough to store all original and custom endings?
Mauron wuz here.

ThegreatBen

  • Hero Member
  • *****
  • Posts: 638
    • View Profile
Re: Chrono trigger plus
« Reply #934 on: September 14, 2019, 04:34:52 pm »
Yup definitely, thanks.

edale

  • Full Member
  • ***
  • Posts: 136
    • View Profile
Re: Chrono trigger plus
« Reply #935 on: September 14, 2019, 07:15:20 pm »
A number of years ago, I went through Chrono Trigger with a fine-toothed comb, going back and killing Lavos after every conceivable minor plot advancement, and I found around 17 distinct endings... And my understanding is this mod adds 1 additional ending? Where you save Zeal by beating Lavos in the Ocean Palace (formerly one of 2 paths to the Dev Room)?

I might be remembering the number of endings wrong, but probably best to look for another unused bit or two in the save file...

ThegreatBen

  • Hero Member
  • *****
  • Posts: 638
    • View Profile
Re: Chrono trigger plus
« Reply #936 on: September 14, 2019, 07:38:25 pm »
Yes but several of those are variations of the same one affected by what you do in game, the viewer will still reflect that in one slot, even with my ending 14 slots are enough.

lexluthermiester

  • Hero Member
  • *****
  • Posts: 708
    • View Profile
Re: Chrono trigger plus
« Reply #937 on: September 14, 2019, 08:30:32 pm »
Where you save Zeal by beating Lavos in the Ocean Palace (formerly one of 2 paths to the Dev Room)?
Wait, hold up! One can beat Lavos IN the Ocean Palace, IE before Chrone dies? Is this a thing? I've never even tried it before...

Mauron

  • Submission Reviewer
  • Hero Member
  • *****
  • Posts: 540
    • View Profile
Re: Chrono trigger plus
« Reply #938 on: September 14, 2019, 08:58:52 pm »
It turns out this was surprisingly easy.

After the Lavos Core is defeated, edit the events:
- Compare 307FFE with $E41B. If it is, skip the next two steps.
- Using assignment commands, store zeroes to 307FE3 through 307FEF. You can use two byte storage, but not MemCpy.
- Store $E41B to 307FFE.

From there you can update the endings to store flags for each one. The ending viewer should check 307FFE before any of the individual flags. If Lavos hasn't been defeated once, there will be garbage data in here.

You can use assignment commands normally to copy the 307Fxx data to 7F02xx when working with the flags.
Mauron wuz here.

edale

  • Full Member
  • ***
  • Posts: 136
    • View Profile
Re: Chrono trigger plus
« Reply #939 on: September 15, 2019, 01:57:46 am »
Wait, hold up! One can beat Lavos IN the Ocean Palace, IE before Chrone dies? Is this a thing? I've never even tried it before...
Yep, it's VERY hard to do in the first playthrough, as that fight is the hardest version of Lavos in the game, but it's quite doable on a New Game+, and gives you a new ending in this mod.

The other way to get the Dev Room is by entering the other teleporter at the start of the game in a New Game+, which puts you into a fight against Lavos with only Chrono to work with (this one usually needs you on your 2rd NG+ playthrough to manage a win).

All of the various endings in the game come from beating Lavos at different points in the plot. My favorite has to be the Dino ending, where you beat Lavos before settling things with the Dono's in 65 mil BC, and as a result, Chrono, the party, and EVERYONE are Dino people in the ending, lol.

Honestly, I'm curious how the ending triggers got affected by making the game non-linear in this mod, I could easily see some of the changes resulting in the wrong ending triggering depending on the order you did things...

September 15, 2019, 02:02:38 am - (Auto Merged - Double Posts are not allowed before 7 days.)
It turns out this was surprisingly easy.

After the Lavos Core is defeated, edit the events:
- Compare 307FFE with $E41B. If it is, skip the next two steps.
- Using assignment commands, store zeroes to 307FE3 through 307FEF. You can use two byte storage, but not MemCpy.
- Store $E41B to 307FFE.

From there you can update the endings to store flags for each one. The ending viewer should check 307FFE before any of the individual flags. If Lavos hasn't been defeated once, there will be garbage data in here.

You can use assignment commands normally to copy the 307Fxx data to 7F02xx when working with the flags.
So if I'm reading this right, once the viewer is released... Hex-editing the values in a save file at 307FE3 through 307FEF would let me unlock all the endings?

Completely hypothetical question, I assure you.

Whistles innocently