86489181 visitors

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

Pages: [1] 2 3 4 5 6 ... 12
ROM Hacking Discussion / Re: PokéText utility
« on: November 24, 2014, 04:30:03 pm »
I found it.

Known techs are stored as bitflags, so going beyond 8 in any one group will need this changed.

Targeting will need to be relocated and expanded, with new data added in the middle. Double and triple tech requirements may need to be relocated and expanded.

There are bitflags about characters using techs, (tech group characters in the notes below). I think these are mostly menu related.

The Tech Performance Groups can have new data added to the end. These are three byte groups on who performs a tech in battle.

The control headers will need to be expanded. Effect headers can have new data added at the end, but still need to be relocated. Graphics headers will need to be expanded.

Menu headers... I think these only exist for single techs, and load garbage data for combo techs. I haven't explored them much.

Animation pointers can have new data added at the end. The graphics header controls which animation pointer is loaded.

Once you have all this changed, I can add support for loading it in Hi-Tech.

The notes below are a little confusing to me, but they should give you a start. They were created for a project of my own many years ago.

There's probably at least a few things missing.

Code: [Select]
3FF8F7: Load Double Tech Requirements.
3FF900: Load Double Tech Requirements.
3FF948: Load Triple Tech Requirements
025AA9: Load Tech Name for "Learned" text.
025AB1: Load Tech Name for "Learned" text.
02BDDA: Load Tech Name for menu.
02BDE5: Load Tech Name for menu.
02BE64: Load Tech Descriptions for menu.
02BE6A: Load Tech Descriptions for menu.
0D0323: Load Tech Descriptions in battle.
0D032A: Load Tech Descriptions in battle.
010B75: Load Tech Name in Battle.
010B6A: Load Tech Name in Battle.
01C9CA: Load Tech Targeting.
01D5F0: Read Effect Header.
01CBAE: Read Tech Performance groups.
01CBB5: Read Tech Performance groups.
01CBBC: Read Tech Performance groups.
01D5CE: Read Control Header Byte 6.
01CB6F: Read Control Header Byte 7.
3FF866: Read PCs displayed by tech in menu.
02BCE9: Read PCs displayed by tech in menu.
02BBF4: Load Tech Group Characters.
02BD18: Load Tech Name Group Ranges.
3FF864: Load total tech group count in menu.
01CA38: Dual Tech range end in battle.
01CCE6: Triple Tech range start in battle.
01CCEA: Triple Tech range end in battle.
01F483: Read Byte 1 of normal attack header.
01D547: Read Byte 1 of normal attack header.
01D733: Read Byte 2 of normal attack header.
01D695: Read Byte 3 of normal attack header.
01D6A5: Read Byte 4 of normal attack header.
01CB56: Read Byte 6 of normal attack header.
01D620: Read Byte 9 of normal attack header.
01D55F: Read Tech Performance groups.
01D566: Read Tech Performance groups.
01D56D: Read Tech Performance groups.
02BD12: Load Tech name group ranges for menu.
0282E5: Clear used rocks techs.
0282E8: Clear used rocks techs.
0282EB: Clear used rocks techs.
02830F: Save rock techs.
3FCF0E: Load location of Menu data.
0298C3: Load Byte 1 of Menu Data.
0298CC: Load Byte 4 of Menu Data.
0298D3: Load Byte 5 of Menu Data.
0298E0: Load Byte 2 of Menu Data.
0145BC: Load Graphics Header Byte 1.
0145C3: Load Graphics Header Byte 2.
0145CA: Load Graphics Header Byte 3.
0145D1: Load Graphics Header Byte 4.
0145D8: Load Graphics Header Byte 5.
0145DF: Load Graphics Header Byte 6.
0145E5: Load Graphics Header Byte 7.
02BE30: Load "Single Tech/Double Tech/Triple Tech".
014619: Read pointers to tech animations.
014626: Read Tech animation byte 1.
01462C: Read Tech animation byte 2.
014632: Read Tech animation byte 3.
014638: Read Tech animation byte 4.
01465B: Read Tech animation bytes 5+.
014660: Set Bank for animation bytes 5+.
01BFFF: Read normal attack header byte.
0CE60B-0CE614: Magus specific code.
01F5B8: Read control header byte 1.
02BD68: Total number of groups read for techs in menu.
02BD69: First group read for triple techs in menu.
3FF8D7: Tech performance groups, starting with double.
3FF8E2: Tech performance groups, starting with double.
3FF91B: Tech group characters, starting with triple.
3FF911: Relates to dual tech group limit.
3FF937: Relates to dual tech group limit.
01CBA1: Read Control header byte 1.
01C9BD: Read byte 2 of targeting data.
01CA9F: Read byte 2 of targeting data.
01CAAC: Read byte 1 of targeting data.

Edit: Found three more things.

Edit: Hi-Tech Beta 9!

- Fixed bug with reloading expanded player techs.
- Fixed bug related to support of extra techs (new techs added by user projects - limited support at this time).
- Decoded Command 60 as set palette.
- Fixed unknown command 61 and unknown command 65 groups
- Decoded Command 5F as empty command
- Removed hardcoded lengths table, replaced with call to DecodedNode.GetLength();

Adding techs isn't possible with Hi-Tech, and would require a major hack to allow, especially if you're adding single techs.

If someone were to complete a hack that would allow more techs to be used, I could easily support it in Hi-Tech.

If you need more details, I can provide plenty of technical information on what would be needed.

It took a while, but the new beta is finally out.

- fixes multiple bugs
- adds a few new known commands
- removes the upper menu bar (I found it confusing having Temporal Flux's and my own)
- moves the copy/paste functionality to the right click context menu
- adds a better display for tech performance groups
- redoes the handling of animation commands.
- alters the logic on when to relocate techs (Techs are relocated if any object has increased in size, the overall tech size is increased, any objects are added, or any animation pointers are shared with other techs - this will include most player techs).
- Adds an offset of each animation command within the ROM. This value is updated after the ROM is saved and the tech is reloaded. Can be used for debugging.
- Separated the save control for animation, control headers, graphics headers, and targeting.
- Redid the handling of miss animations.
- switched from TreeViewMS to TreeView for the animation command display, disabling the ability to select multiple commands/objects. This was due to a bug in the TreeViewMS code.
- animation command 0x80 (Flash Screen Color) was determined to have a variable length - this is reflected in the new version. Unfortunately techs with incorrect data will fail to to load. If you encounter a tech with this issue, the old decoded length was 3, and the format is 80 UL XX (XX, XX, ...) where L is Length - 1.
- Added a Hexadecimal mode checkbox (on by default). Some values are not reflected by this - unknown commands are prefixed with 0x for consistency, and some values cannot have their text changed at runtime.

There's probably some other changes I forgot.

The copy command does not use the system clipboard - while I could do this for single commands, I don't know how to handle the copying of an object that way - stupid treenodes.

The million dollar question for anyone working on techs - can you find a way to get multiple copies of a Layer 3 packet to show up on screen?

Edit: Hi-Tech Beta 8 is out now. That was quick.

- Redid copy/paste to use clipboard.
- Merged two separate context menus into one.
- Fixed a save bug with Flash Screen Color.
- Fixed a crash when attempting to use the copy shortcut (ctrl+c)
- Added additional keyboard shortcuts.
- Added cut object/command functionality.
- Made keyboard shortcuts visible on the context menu.
- Fixed a potential crash when saving enemy attack or tech effect headers.
- Replaced Promote/Demote object command with move up/down

Newcomer's Board / Re: Chrono Trigger - Hero Medal gives Masamune 100% crit
« on: November 14, 2014, 04:58:09 pm »
In a hex editor, go to 0x3DB3F7, and change 32 to 64.

ROM Hacking Discussion / Re: Screenshots
« on: October 20, 2014, 05:22:35 pm »
This is also what I was taught, but to be fair, English teachers tend to pick pet "rules" to teach and enforce even though there may more than one "rule" considered acceptable, and many of the grammar rules that you see people calling each other on have no basis beyond that one person one day decided that something was no longer proper, even though it was considered 100% acceptable for ages beforehand.

I believe it. I was taught both the "never do it" rule and the "proper nouns get an exception" rule.

Either way, I agree with Vanya that "The Glory of Heracles" sounds better, and I think that's the most important part.

Newcomer's Board / Re: English Chrono Trigger patch for Japanese rom?
« on: October 14, 2014, 05:05:11 pm »
How did you check?

I've got an editor for character data (which really needs to be properly released) that can handle the level up data for all three versions (US, JP, Pre-release), and notes on where the routine is. I compared the data and looked at the routine.

Newcomer's Board / Re: English Chrono Trigger patch for Japanese rom?
« on: October 14, 2014, 02:38:37 am »
I read once that the algorithms used to calculate stat increases upon leveling up are different, but considering that no one seems to have ever mentioned that again, perhaps that source was mistaken.

I just checked, stat growth is identical between the US and JP versions.

ROM Hacking Discussion / Re: YouTube/Google Video thread
« on: October 09, 2014, 07:02:02 pm »

Playing with techs in Chrono Trigger.

Glad to be of assistance.

For reference, I used the Chrono Trigger Database to find the checks for Ayla's weapon, and branched over the existing code.

Newcomer's Board / Re: Need help with Snes/Chrono Trigger hacking
« on: September 10, 2014, 03:07:39 pm »
Well, I'll throw in my two cents.

You'll either need to insert the video into the ROM, along with the music, and try formatting it into a new mode 7 scene which would be called by the event after the battle command, try RedScorpion's idea of using the MSU-1 and Higan, or make a modified emulator that can launch a video at a certain point. I wouldn't normally recommend the last one, but since this hack is designed to be run on one very specific setup, it may actually be the best bet - I can't imagine photographs of people looking good on the SNES hardware.

Unfortunately I can't help much with any of the ideas. They're all really out of my area of expertise.

Changing the following offsets seemed to work.
0x1FAC5 - 80 0F
0x1FADD - 80 0F
0x1FAF5 - 80 0F

These are for an unheadered ROM.

Never gotten Aeris' Level 4 Limit Break. Didn't she also get her ultimate weapon for only a short time too?
(then again her Healing Wind Limit Break was so useful I never really used anything else. Wasn't it like 50% HP recovery for the entire party?)

Her level 4 limit break was stupidly powerful. It made the party invincible. I got it once.

ROM Hacking Discussion / Re: YouTube/Google Video thread
« on: August 22, 2014, 04:03:50 pm »

A hack to the overworld events in Chrono Trigger. Still needs some work before it's finished.

ROM Hacking Discussion / Re: Chrono trigger ff7 question
« on: August 20, 2014, 11:29:40 pm »
There is this

Once the graphics are properly inserted, it can mess around with how they're assembled.

ROM Hacking Discussion / Re: Chrono trigger ff7 question
« on: August 19, 2014, 03:17:29 pm »
Crono's palette is at 0x240000, Marle's immediately follows it at 0x240018. You should be able to figure out which color is his hair in SnesPal, but I don't know off hand.

The weapon palettes start at 0x114B00 - Which one gets loaded depends on the weapon currently equipped.

I got this data using Geiger's Chrono Trigger Database, found in the documents section.

Saving alteration has been a pain. I may need to contact Geiger for help on that part.

I've done some additional research on Type 0 (Healing), Type 1 (Healing + Status Recovery), and Type 3 (Damage) techs, with the help of Sierrus.

Standard Healing is completely mapped out, while Healing + Status Recovery has two unknown flags.

3b. The 14615+ change is a hack that's necessary for player tech expansion. It shouldn't have added that with just an alteration, I'll have to look into why it did. The 6EE43+ is either the tech being relocated, the bank byte for tech pointers, or both. I'm not sure why either of those would cause a black screen on startup - I'll look into it when my version is back in a useable state.

4. I found the bug and fixed it, but I'm planning to switch away from the current system of handling tech animation altering in the next release.

I've been doing some major rewrites - the oldest parts of the code were very messy. I've completely redone loading, and plan to alter saving next.

On the research front, I've managed to decode two new commands, Set Section and Set Subsection. These work with the Wait for Section and Wait for Subsection commands, and can be used in place of multiple Section++ or Subsection++ commands (which will be called Increment Section and Increment Subsection in the next release).

Edit: redecoded command 22 as a 3- byte command (previously it was 2-bytes). It is definitely a wait for something command, possibly movement related.

So far the second half of 1 is fixed, and 2 is fixed. I haven't looked into 3 yet, but I've been working on a major glitch that effects loading.

I found another wrinkle in tech loading - Animation command 0x80 (flash screen color) has a variable length of 2-17 bytes. I'm going to have to find the best way to handle that.

I've fixed the above bug, and added support for editing enemy normal attacks. There may be problems with them in a pre-release ROM, as I did not fully test that part.

There are more enemy normal attacks than there are animation slots, so some of them must be shared.

Beta 6!

Pages: [1] 2 3 4 5 6 ... 12