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.


Topics - PowerPanda

Pages: [1]
1
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.
------
TECH DATA (https://www.chronocompendium.com/Term/Tech_Data_Notes.html)

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.

BATTLE DATA (https://www.chronocompendium.com/Term/Battle_Data_Format.html)

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?

MENU ELEMENT GRAPHICS (https://www.chronocompendium.com/Term/Attack_Types.html)

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.

2
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!




3
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.




Quote
v3.04 R1 (2022.12.14)
Blame Reld Edition
Fixed
- 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.

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

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

4
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

5
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:
!freespace
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

!battletable
[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.

Quote
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
 Blackbird
 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!
Determination
Battle 1 Rough (Pre-release rom)

6
Chrono Trigger Modification / Help needed - manually changing an event
« on: November 14, 2022, 01:21:47 am »
This requires a bit of an in-depth explanation. First, what I'm trying to do: In the opening of the game, when Taban and Lucca display the Telepod, the cutscene just uses the standard music that plays on the map (Millenial Fair). I want to keep the Millenial Fair music for the rest of the game, but in that specific cutscene, insert a "Play song" command to change the music. Luckily, there's a dummied-out textbox 4 bytes earlier ("TABAN: Don't worry, we tried it on our pets!..."). I want to change those 2 bytes to a Play Song command (EA xx), then shift that to the beginning of Taban's explanation. I also want to do this in a hex editor, and not in Temporal Flux, because Temporal Flux re-arranges parts of the rom when you make even a single change to an event.

If you open up a clean rom in Temporal Flux, and go to map 008 (Telepod Exhibit), open up the event packet (1C), and scroll down to Object A, Taban (057C), you'll see where all of the action happens. The dummied-out textbox is at [05AB]. I want to shift that to the beginning of the "Arbitrary 0" section. That means that it will go from this:

(Rom address: DB/102B)
05AB:   Textbox
05AD:   Return
--Touch
05AE:   Return
--Arbitrary0
05AF:  Textbox

To this:

(Rom address: DB/102B)
05AB:  Return
--Touch
05AC: Return
--Arbitrary0
05AD:  Textbox
05AF:  Textbox

(Note: I have taken care of the "Goto" commands at 0599, 05A2, and 05A9. Those were no concern)

However, there is something else that is telling the game where "Touch" and "Arbitrary0" begin, and I can't figure out what. No matter what, the scene always starts from 05AF (rom address: DB/1031). Any tips or pointers?

7
Chrono Trigger Modification / ASM: Change the Battle Theme by Chapter
« on: November 08, 2022, 06:55:46 pm »
I developed some ASM that allows you to change out the random battle theme based on the chapter of the game. I have used it so that when Crono confronts Lavos for the first time, the random battle theme permanently changes to Battle 2. Note that this is not formatted so that you can just copy/paste it. I write out the ASM and then hand-translated it to Hex. I know it's inefficient, but it helps me avoid stupid mistakes.

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

!freespace ;I have this at 45/FFEF in an expanded rom
AF 00 00 7F LDA $7F/0000 ;Check current game chapter
C9 CA CMP #$CA ;Compare it to chapter $CA. IE - have you confronted Lavos in the Ocean Palace yet?)
B0 04 BCS +04 ;If it's greater than $CA, skip the next 4 bytes/2 lines
A9 45 LDA #$45 ;Load song $45 - Battle 1
80 02 BRA +02 ;Skip the next 2 bytes/1 line
A9 51 LDA #$51 ;Load song $51 - Battle 2
85 FA STA 7E/01FA ;Write song to the "current battle theme" RAM byte
6B RTL ;Return

You could, in theory, expand this to include more chapters, changing out the battle theme several times in the game. For example, maybe you want a different battle theme once your party reaches Zeal. You'd just need to add additional options.

One note is that this will only cover the random battle theme. Anywhere where the game loads the battle theme from an event, such as the conveyor belt at the Geno Dome or all of the encounters in the Northern Ruins, you'll need to use Temporal Flux to ajust which battle theme plays.

8
Chrono Trigger Modification / Chrono Trigger Soundtrack Expansion
« on: June 02, 2022, 01:00:18 am »
Chrono Trigger's soundtrack is widely acclaimed as one of the best of all time. However, the songs you hear in the game are not the complete soundtrack. There are actually 12 more songs that are part of Chrono Trigger's larger identity.

Songs from the OST
  * Frog's Theme (With Intro)
  * Singing Mountain
  * Battle 2
Songs from the PSX and DS re-releases
  * A Meeting with Destiny
  * One Sunny Day When We Met
  * Scattering Blossoms
  * A Time to Rest -After the Battle-
Songs from the Pre-Release cartridge
  * Keeper's Dome
  * Ascend to the Light
  * Boss Battle 3
  * Battle 1 Rough
And finally, songs that exist only as data chunks in the rom
  * Alarming Crisis
  * Rat-A-Tat-Tat It's... Mitsuda

This patch expands the soundtrack of the SNES game to include all 12 songs. For the 5 songs that were never on a Super Nintendo cartridge, small re-arrangements have been made to recreate the music on the SNES sound chip. There are no tricks going on here; all music that you hear is actually playing through the SNES sound engine, with no MSU-1 audio required.

While all emulators should be able to play this hack, it should be noted that not all flashcarts will be able to support it. Inclusion of so much new music required expanding the rom to the SNES's largest available cartridge size, 48 Mbits. This cartridge size was only ever used by 2 Tri-Ace games--Star Ocean and  Tales of Phantasia--so some flashcarts, in order to save money, do not support it. That being said, if you have a flashcart that supports it, you will be able to play this on original hardware.

6 Versions of this patch are included. The main patch, a patch that only adds the new song data to an already-expanded rom, and 4 addendum patches that add CTSE to famous romhacks, including the Bugfix and Uncensoring Patch, Enhansa Edition, Schala Edition, and Chrono Trigger+. 2 optional patches are included as well.

9
Chrono Cross Modification / Chrono Cross: The Scars of Time
« on: April 22, 2022, 12:53:50 am »


Chrono Cross: The Scars of Time
A Story Rewrite by PowerPanda


About This Project
Last year, I released a romhack for Final Fantasy VI known as “Divergent Paths”. This was a storyline re-arrangement of FFVI that improved pacing, added character development, completed the storylines of side characters, and in its biggest stretch, upgraded Leo from a single-battle guest to a fully playable main character.

As I was working on Divergent Paths, I replayed Chrono Cross for the first time in a decade. Chrono Cross is a game that is easy to love, and it is one of my personal favorites. As much as I love Chrono Cross though, it has flaws. The story starts strong, but frays after Ft. Dragonia and completely falls apart once you reach Chronopolis. By the end of the game, rather than feeling like you accomplished some great feat, much of the game’s plot points feel arbitrary. The finale doesn’t even seem to be sure if Serge and co are the good guys or not. Coming off of a series pedigree like Chrono Trigger, it felt like a beautiful picture that was framed incorrectly and out of focus.

While I played through Chrono Cross, I had the seed of an idea in my head. I could rewrite the story in such a way that it would bring out the beauty of the game. It would start by framing the narrative around a small, well-developed cast where each character had clear motivations and reason for being on the team. From there, it would shift to a focused story about the fate of failed timelines, what happens to the people who are trapped therein, and who gets to decide which timelines succeed and which ones fail. It would be a story intimately connected to its predecessor, Chrono Trigger, and one where a Radical and a Dreamer must rise above their fate.

Format
The one thing that it won’t be is a game mod. My life in the past few years has become richer and fuller than I could have ever imagined, and while  the benefits of this are obvious, the detriment is that I no longer have hundreds of hours to pour into a fan mod. I finished FFVI: Divergent Paths knowing it would likely be my last major mod to a video game. So, I will be presenting Chrono Cross: The Scars of Time in text format. I hope that the quality of the writing will speak for itself, and that it might inspire someone in a different stage of life to use it as a basis for their own work.

I will be posting chapters one at a time, as I play through the Remaster on my switch. My last playthrough, I focused on the broad strokes outline, and not on individual scenes. This time, I will be going scene by scene with the changes. There is no real release schedule. At several points in the game, I will need to play ahead so that I can re-arrange scenes and scenarios. Still, I've had this project in my head for close to 3 years, and at this point, I'm dedicated to finishing the script for my own sake. So while it may be a while between chapters, they will keep coming.

Spoiler Warning
Literally everything in these documents is a spoiler, and assumes that you have played and beaten Chrono Cross. Read at your own risk. This is your only warning.

Chapters
Chapter 0 - Storyline Premise and Character Bios
Chapter 1 - Another World
Chapter 2 - Viper Manor
Chapter 3 - The Hydra Marshes


10
If you have the steam edition, you can view the source files. Here's how.

1. Open up the folder [C:\Program Files (x86)\Steam\steamapps\common\CHRONO CROSS  THE RADICAL DREAMERS EDITION]
2. Find the folder named [Data] and make a copy of it anywhere on your computer. (I just kept the copy in the same folder.)
3. Open up the data file. You will see 9 files
   cdrom.dat
   cdrom2.dat
   font.dat
   hd.dat
   lang.dat
   launcher.dat
   movie.dat
   radicaldreamers.dat
   ui.dat
4. Replace the ".dat" file extension with ".zip" on all of the files. Windows will warn you about changing a file's extension, but you can click through the warning.
5. Extract the zip folders. You can now browse all of the data files for Chrono Cross.

Pages: [1]