Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - PowerPanda

Pages: [1] 2 3
Chrono Trigger Modification / Re: Chrono Trigger - The Fifth Element
« on: August 25, 2023, 10:57:26 pm »
Thank you, inuksuk and Mauron. I need to get some good solid time in a debugger, which might not happen for a couple of weeks, but based on your notes, I have high hopes that this is doable.

I'm playing through Chrono Trigger with my kids right now, because they had never seen the game before, and I just got to the first Spekkio battle. He casts Lightning, Fire, Water, and Ice, and that has steeled my resolve to make this work.

Chrono Trigger Modification / Re: Chrono Trigger - The Fifth Element
« on: August 20, 2023, 10:08:28 pm »
Thanks for the reply. If I'm understanding it correctly, adding 1 element would be a lot more doable than adding 4. So if I were to just add "Ice", then it could use byte 4F, and I wouldn't have to shuffle as much around.

That would be doable. I looked through enemies last night, and realized I didn't have to have a "hot" and "cold" hidden element. That was overcomplicating things. Wind would be nice to have, but it doesn't add nearly as much as making Frog and Marle have separate elements.

Is there a battle code disassembly available anywhere? I want to check to see if the element bytes are direct-referenced or indexed. Sorry, I'm pretty new to Chrono Trigger, aside from the music engine. Most of my work on the Chrono Trigger Soundtrack Expansion was using the exact same tools as I used for my work on Final Fantasy VI, and just shifting data references. I have done several hacks that use the same approach as this before though; just for different purposes.

Chrono Trigger Modification / Chrono Trigger - The Fifth Element
« on: August 18, 2023, 10:14:40 pm »
So, for a long time, I've wanted to make a CT hack that separates Frog and Marle into different elements, Water and Ice. I've hoped that if I ignored this idea long enough, it would go away, but it didn't. So tonight I started digging.

My original thought was to have Ice replace the Shadow element, and turn all Shadow attacks into non-elemental damage. That would mess with the few enemies that absorb shadow though, not to mention messing with counterattacks and Dual Techs.

However, in looking at some of the data tables, it looks like there MIGHT be room to add up to 4 more elements. I want to get some of these ideas down so you can all tell me what's wrong with my logic.

Byte 4 controls whether it's a physical/magic attack in its lower nibble, and which element it is in its upper nibble. Byte 5 is unused though. So if physical/magic were moved to Byte 5, then that would free up 4 bits in Byte 4 for new elements.


Byte 1 shares this same property, and its upper nibble even lines up with Tech Data Byte 4 (80 is Lightning, 40 is Shadow, 20 is Water, and 10 is Fire). The lower nibbles appear to be all unused. I don't know what Byte 1 does, but there is room for adidng more here.

That leaves finding unused bytes for the actual element defense. It looks like bytes 1C, 1F,  24, and 4F are all unused. Could those be used for defense against new elements?


If the DS graphics were used, which are half the size, there would be leftover tiles for more elements.

I'm thinking the additional elements would be:
5 - Ice, for Marle
6 - Wind, an element not specifically for 1 character, used for things like Slash, Blade Toss, Falcon Strike, and Tail Spin.
7 - Hot, one of 2 "secret" elements used for color-coded enemies and counter-attacks. This responds to Fire, Lightning, and Wind, so that a Red enemy can be hit with any element.
8 - Cold, the other "secret" element, which responds to Ice, Water, and Shadow. Blue enemies can be hit with either.

So color me surprised, but this actually seems... doable? Please tell me why I'm wrong so I can get this out of my head permanently.

Chrono Trigger Modification / Re: Chrono Trigger Soundtrack Expansion
« on: December 24, 2022, 12:50:32 am »
Version 3.1 has been added to the first post of this page. It fixes a small but severe but with Enhansa Edition that causes the Keeper's Dome to not load.

It also, more excitingly, adds in support for Schala Edition, being the last of the main Chrono Trigger romhacks I hadn't tackled yet.

Chrono News / Happy Chrono Holidays!
« on: December 15, 2022, 11:11:08 pm »
Four Chrono Trigger projects have received updates, all in coordination with each other.

PowerPanda has updated Chrono Trigger Soundrack Expansion to version 3.0. This hack completes the Chrono Trigger Soundtrack by adding in 12 missing pieces of music from the physical OST, the PSX/DS rereleases, and the Japanese Pre-Release catridge. After version 2.0 was released a month ago, hackers worked together to figure out the pieces of the sound engine that hadn't been documented before, and used the knowledge to improve the quality of the music. 2.0 introduced compatibility with Enhansa Edition, and 3.0 adds compatibility with the Bugfix and Uncensoring Patch.

Chrono Trigger+, by ThegreatBen, gets its long-awaited update to version 2.6, incorporating the music from Chrono Trigger Soundtrack Expansion version 3.0, and changing around Frog's techs to allow for human Glenn to be used. The Soundtrack Expansion also includes an optional addendum patch for Chrono Trigger+ that adds the new music to more locations.

Reld has released Temporal Flux Version 3.4 R1, a fork of Geiger's popular Chrono Trigger editor, to incorporate the new knowledge about the sound engine. Hackers using the utility now have full control over each song's instrumentation, drum table, volume, and echo. Additionally, songs and enemies above the base game's limit can be placed within the editor, and music can be changed directly on the Location Properties screen.  3.4 R1 will detect if the Soundtrack Expansion has been applied, and if so, it will include the titles of the new songs in the UI and allow the battle music to be changed within the Location Properties screen. Compatibility with all Plug-ins is retained.

Not to be outdone, Gi Nattak, who was instrumental in the Soundtrack Expansion, has taken the opportunity to update his Unsightly Pixel patch to version 2.0. This new version fixes 20-some unsightly pixels on the snowy 12,000 BC map. It is included by default in all versions of the Chrono Trigger Soundtrack Expansion, and also in Chrono Trigger+ v2.6.

Happy gaming!

Chrono Trigger Modification / Re: Chrono Trigger Soundtrack Expansion
« on: December 15, 2022, 04:06:24 pm »
CTSE version 3.0 is released, alongside Reld's fork of Temporal Flux that will allow the soundtrack to be easily inserted into new roms. ThegreatBen will also be submitting a new version of Chrono Trigger+ that incorporates the new music by default. This adds the new music to the new locations in the game. CTSE comes with an addendum patch that will optionally add them sprinkled throughout the game too. Last and certainly least, Gi Nattak is updating his infamous Unsightly Pixel patch to its 2.0 version, fixing 20+ more stray pixels on the 12,000 BC map. It's a Chrono Trigger extravaganza!

Here are the release notes from Version 3.0, which has been uploaded to the first post on this thread.

Added "Battle 1 Rough"
Drum tables added for the new music
Echo buffer and volume controls added for the new music, allowing additional instruments to be used
"A Meeting With Destiny" & "A Time to Rest ~After the Battle~" re-arranged to make use of more instruments
"One Sunny Day When We Met" & "Scattering Blossoms" edited to use drum tables
Added ASM that allows the random battle music to be set per map
Added optional patches for battle ASM and party change menu music
Added more musical cues, notably to the Millenial Fair, Mt. Woe, Last Village, and the Blackbird
Compatibility patch added for the Bugfix and Uncensoring romhack and the Chrono Trigger+ romhack

Chrono Trigger Modification / Temporal Flux Version 3.04 R1 Released
« on: December 15, 2022, 03:55:07 pm »
Reld has finished his work on his fork of Temporal Flux 3.04, which we have decided to call "version 3.04 R1" for revision 1. As the about screen states though, it can also be called the "Blame Reld Edition".

The original Temporal Flux editor was last updated in 2017, and is unlikely to be updated again.  Geiger, if you are reading this, and you want to incorporate these changes, you are more than welcome to. Thanks for creating such a great base to work from.

3.04 R1 fixes a couple of minor bugs and expands the utility to be able to handle enemies and music outside of the normal range that were added through romhacking. It expands the music editing to allow editing of instruments, drum table, volume, and echo buffer, and streamlines the placement of music into maps and events.

3.04 R1 also detects if your rom has the Chrono Trigger Soundtrack Expansion patch applied, and if so, adds new options. The new songs are available to select in the dropdown box, and the location properties will allow you to specify the random battle music on each map.

Here are some screenshots, followed by the release notes.

v3.04 R1 (2022.12.14)
Blame Reld Edition
- Misc. Settings . No longer writes $0000 to $00F2D2 when Startup Location patch is not applied
- Music . Instrument "(3E) Cuica" is now selectable from the Music panel (US version)
- Music . Instrument "(09) Shamisen" is now "(09) Timpani)"
- Music . Instrument "(27) Closed Hi-hat" is now "(27) Crash Cymbal"
- Changing the Party Menu music now works as intended. If you choose a different song, the code to skip the fade-out/fade-in if that song is also updated. If you choose "FF - No Music Set", it will skip the fade-out/fade-in entirely.

- Loc Events . Enemies FA through FE are now selectable via the Load Sprite command
- Loc Props . Location Music is now selectable from the Location Properties panel
- Music . Music panel has been disconnected from Locations and is now available from Window > Music instead of Window > Locations > Music
- Music . Editing capability has been added for the Percussion Table, Echo Buffer, and Master Volume for each song
- Music . Echo Buffer setting can optionally be automatically calculated based on total size of selected instruments

- Added support for Chrono Trigger Soundtrack Expansion hack
- Patch is auto-detected if applied
- Extra songs are selectable in Loc Props, Loc Events, Overworld Events, and Music panel
- Loc Props . "Battle Music" dropdown added if CTSE is applied

EDIT: I added the attachment This time.  :picardno

Got it added to the Tutorial page.

I ended up re-writing this ASM, based on a suggestion by Reld. I found that even though the music was continuing into the battle, it was still re-setting at the end. Additionally, it wasn't covering use cases where the song # was outside of the allowable range, like setting the battle music to "$FF - Null".

Now, the ASM checks to see if the battle music either matches the field music OR is above the allowable range, and if so, it sets the battle flag for "Use Map Music" as "True", even if your event code didn't specify that.

This is a vanilla bug that never actually shows up in the original game. As such, it's main use is for hackers and people who want to use my other ASM that allows you to set random battle music on a map-by-map basis. Anyway, the bug is that if your random battle music matches the music already playing on the field, and the battle itself is not set to use the field music, the game never switches sound effect banks. Credit to Reld on this one. I found the bug itself, but he found the cause of the bug.

It's easy to reproduce. In Temporal Flux, set Guardia Forest (Present) to have the field music of "$45 - Battle 1" and get into a random battle. Make sure to bring Frog, not because it's important for recreating the bug, but because his sword strike sound effect gets turned into a cat's meow. 8)

To fix this, we just need to compare the battle music with the field music, and say that if they match the game should treat it like the random battle had the flag set to not use battle music. That flag causes the code to skip to a seperate routine that loads the sound effects, but not the music.

Code: [Select]
;Starting at C0/1BBF
JML $46/1EFC 5C FC 1E 46 ;C0/1BBF Jump to "Music Check"
NOP EA ;C0/1BC3 This byte is never called
;Music Check
LDA $FA A5 FA ;46/1EFC Load the battle music index number
CMP $7E/29AE CF AE 29 7E ;46/1EFE Is it the same as the current song?
BEQ $1F11 F0 0D ;46/1F02 If so, jump to "Same Song"
CMP $C7/0AE9 CF E9 0A C7 ;46/1F04 Is it outside the maximum song range?
BCS $1F11 B0 07 ;46/1F08 If so, jump to "Same Song"
STA $1E01 8D 01 1E ;46/1F0A Save the (different) battle music
JML C0/1BC4 5C C4 1B C0 ;46/1F0D Jump to "Different Song"
;Same Song
LDA #$40 A9 40 ;46/1F11 Flag: Skip Battle Music Transition
STA $7E/2A1F 8F 1F 2A 7E ;46/1F13 Save to correct RAM value
JML C0/1BD5 5C D5 1B C0 ;46/1417 Process like battle with no music change
;Different Song
LDA #$FF A9 FF ;C0/1BC4 Original code, relocated
STA $1E10 8D 10 1E ;C0/1BC6 Original code, relocated

Chrono Trigger Modification / Re: Chrono Trigger Soundtrack Expansion
« on: December 07, 2022, 11:56:58 am »
The work on CTSE 3.0 is done, and it has been ported to Enhansa Edition, the Bugfix and Uncensoring Patch, and Chrono Trigger+. The default rom for CT+ is going to include this music only in the new areas of the game. However, CTSE will come with an optional addendum that adds the music to the base game in CT+ as well.

In addition, Reld has updated Temporal Flux to not only allow the placement of the new music, but to incorporate the ASM that allows you to set random battle music per map. These are now done from the Location Properties screen, rather than a separate music sub-window. The music sub-window has been moved to a main window, and still allows you to change instruments for the songs. As an added bonus, Reld has also allowed users to set enemy IDs beyond the base game range.

The last step in all of this is coordinating releases. We're hoping to drop the updates for CT+, CTSE, and Temporal Flux on the same day, giving you a Chrono Trifecta.

ZeaLitY, you had mentioned writing a news story about this. Any ideas on how you want to approach it?

Chrono Trigger Modification / ASM: Change the Battle Theme by Map
« on: November 21, 2022, 05:04:02 pm »
This is the 2nd battle theme ASM that I have developed. The other one changed the battle theme at a specific chapter of the game. Both of these ASMs come included in the Chrono Trigger Soundtrack Expansion project, toggleable with a 4-byte change.

What makes this possible: Chrono Trigger does something rather odd in its code. Rather than difrect-referencing the ROM for what the random battle theme is, it instead loads the theme's Index # into a RAM Byte (7E/01FA), and refreshes this value on every map load.

I have taken advantage of that and put in a hook that checks the Map Index # against a lookup table, allowing you to define a different random battle theme on a map-by-map basis. While many of the maps in the game do not have any random battles, they are included anyway to make this ASM compatible with any future romhack.

Code: [Select]
At C0/0C58 (00x0C58), the following code is in the base rom:
A9 45      LDA #$45      ;Load song $45 - Battle 1
85 FA      STA 7E/01FA   ;Write song to the "current battle theme" RAM byte

You will want to replace those 4 bytes with the following:
22 ?? ?? ??   JSL !freespace   ;Jump to the new subroutine

Then, in the freespace area, add this code:
DA PHX Store the old X value, to be safe
AE 00 01 LDX $7E/0100 Load the current map number to X
BF ?? ?? ?? LDA,X !battletable Look up map's battle theme in the battle table
85 FA STA $7E/01FA Save "Current battle theme"
FA PLX Retrieve the old X value
6B RTL Return

[This table consists of $200 bytes, one corresponding to each map)

With this new code, I'm soliciting opinionson which battle theme should go where. I could take the easy approach of having a consistent battle theme for every time period. In that case, I'd do Battle 1 for Present/Past, Battle 2 for Future/Antiquity, and Burn! Bobonga! for Prehistory. I could also do this by dungeon though. Below is a list of dungeons. If a music track is written next to it, it means that the event code is specifying a specific music track. These can still be changed, but it will require event editing. If there is an "NA" it means that it is technically a "dungeon", but there are no random battles that occur there.

1000 AD - Present
 Millenial Fair (Gato)
 Guardia Forest
 Guardia Castle Prison
 Guardia Castle Basement
 Heckran Cave
 Sunken Desert
 Northern Ruins - N/A
 Forest Secret - N/A

600 AD - Past
 Truce Canyon
 Guardia Forest
 Manoria Cathedral
 Zenan Bridge
 Denadoro Mountains
 Cursed Woods
 Magic Cave
 Magus's Castle
 Ozzie's Fort
 Northern Ruins
 Giant's Claw - Tyrano Lair

2300 AD - Future
 Lab 16
 Arris Dome
 Lab 32
 Sewer Access
 Factory Ruins
 Geno Dome
 Death Peak
 Sun Palace - N/A

65,000,000 BC - Prehistory
 Mystic Mountain
 Hunting Range - Burn Bobonga!
 Forest Maze
 Reptite Lair
 Dactyl Nest
 Tyrano Lair - Tyrano Lair

12,000 BC - Antiquity
 Beast's Nest
 Mt. Woe
 Ocean Palace - Ocean Palace
 North Cape - NA
Black Omen - Black Omen
End of Time - NA

The songs that I think work as battle themes are:
Battle 1
Battle 2
A Shot of Crisis
Bike Chase
Primitive Mountain
Burn! Bobonga!
Battle 1 Rough (Pre-release rom)

Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 20, 2022, 01:11:39 am »
I agree.

Back on topic, I have coded some ASM that allows you to set the random battle theme BY MAP. So each map can now set a field theme AND a Battle Theme. I have also extracted the alternate instrumentations for Battle 1 out of the Pre-release Rom, giving me 3 distinct versions of Battle 1. This means that unless there are dungeon maps shared between time periods (still need to investigate), I can assign a different battle theme to each time period.

Heck, with the SPC data from Radical Dreamers, I could even piss everyone off and throw in Gale.  :twisted:

Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 20, 2022, 12:21:52 am »
This is potentially better in a new thread, but I didn't realize you were the FF6 hacker. Do you feel like the full spectrum of FF6 hacking has been explored, at this point? (And I swear I remember that back in the day, Temporal Flux was only made by Geiger for CT because he deemed FF6 much harder to make an editor for!)

Only asking because that's still nagging at me—this feeling that the full potential of Chrono Trigger has not yet been explored.

It's an interesting question. I've pondered why FF6 seems to get so many more hacks than CT, and I think that what it comes down to is that Chrono Trigger is really good at being Chrono Trigger, whereas FF6 can be a pretty blank canvas.

FF6 hacking took off mainly because the original battle system is held together with duct tape and prayers. When Assassin wrote his disassembly, he found over 180 bugs. That gave people a clear goal and motivation: fix all the bugs. Once they learned how to do that, they knew the game backwards and forwards, and started tinkering around. These days, there are very few things left to be done, aside from cleanup and ease-of-use stuff. When CDude and I finished off the full 16-character roster patch, to me it felt like we had reached the edge of the map. We've still found stuff since then, like unused attack animations and how to create your own Esper, but it's at the point where an FF6 hack is limited mainly by imagination and skill.

When I jumped over to Chrono Compendium, I was really surprised at how far... if I can say it... BEHIND Chrono Trigger was. I think a big part of that actually is Temporal Flux. It was so good so early that it made it 80% of the way there and then stopped. But I think another part is just the game itself. Chrono Trigger didn't desperately need fixing like FF6 did. It's so good at being itself that it's hard to morph it into something else.

I see this Soundtrack Expansion hack as a way to re-open that conversation. What would happen if we stopped making tools for Chrono Trigger, and started making tools for Chrono Trigger Hacks? Would people want to play around in the game, or do we all just want to keep Chrono Trigger as it is?

Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 20, 2022, 12:04:24 am »
I'll hold off on posting it in a site update until the next patch revision (if you feel satisfied at that point). Hm, I need to get these notes into the encyclopedia, though...

Yes, please hold off. There's big stuff incoming. Reld is going to town right now, and may have even made a branch of Temporal Flux that allows the placement of the new music.

Chrono Trigger Modification / Re: Chrono Trigger - Music Expansion
« on: November 18, 2022, 03:34:21 pm »
The only data I had was from Vehek, here. Here is the code he gave me for the drum table:

Code: [Select]
C7/05B2:        A971            LDA #$71
C7/05B4:        8512            STA $12
C7/05B6:        A918            LDA #$18
C7/05B8:        8513            STA $13
C7/05BA:        A9C7            LDA #$C7
C7/05BC:        8514            STA $14

From that, I thought that the drum table was a static table at $C7/1871, and that I could just leave it in place. Your explanation makes a lot more sense. Let's add it to the (somehow growing) list of things for Version 2.1, which I'm thinking might need to be renamed to 3.0.

Pages: [1] 2 3