88413857 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
Hi-Tech Beta 11!

I've got a ton of changes for this one, mostly updating unknowns.

- Fixed a crash when saving a tech that has already been relocated.
- Fixed a glitch when selecting a player attack, the wrong attack type was chosen.
- Added support for player attack graphics headers.
- Fixed support for Enemy control headers in pre-release ROMs.
- Fixed support for various player tech related addresses in Japanese and pre-release ROMs.
- Deleted a few unused address entries. (no change on user-end)
- Removed a few effect header bytes that were listed incorrectly
- Removed Stealing Unknown 02 - Confirmed unused despite being read.
- Updated  effect header 7.02 to has chance to steal (this effect does not work properly in game)
- Removed Multi-Hit Unknown 02 - Confirmed unused despite being read.
- Removed effect header 7.01 and 7.08 - unused.
- Removed effect header "Non-Physical Attack" flag - now calculated by enemy status bitflags. "HP 1/2 and death fail" is not used by this calculation.
- updated effect header 7.20 to ignore hit and evade.
- updated effect header 7.40 to ignore shield status.
- updated effect header "Include Unknown 0x0A" to ignore barrier status.
- replaced effect header 8.01 and 8.02 with damage modifier (values 0-3)
- removed effect header 8.04, 8.08, 8.10, 8.20, and 8.40 - unused
- updated effect header 8.80 to load weapon effect.
- updated effect header 2x Evade to 2.5 Evade (This is what the Third Eye actually does)
- updated effect header Unused 3.01 to 2x Evade
- moved support for unknown 0B to always used; set as true/false options for bits 40 and 80.
- updated status impact unknown 05 to base success chance.
- updated status impact unknown 06 to bonus success chance.
- updated enemy attack control header unknown 01 to display possibly unused.
- updated enemy tech control header to a value up to 7, and unknown 1.40
- updated player tech and attack control header to a value up to 7, unknown 1.20, and unknown 1.40
- removed player tech and attack control header unused 0.80
- Fixed an incorrect description of one of the hit effects.

Hi-Tech Beta 10!

- Animation command 74 decoded as Set Priority variant
- Animation command 75 (reset screen color) redecoded as two byte command.
- Animation command 79 decoded as Play Sound (2-bytes) variant
- Animation command 7B decoded as Play Sound (3-bytes) variant
- Animation command 7D decoded as Play Weapon Sound variant
- Fixed glitch with support for animation command CF
- Fixed support for animation command D7
- Animation Command DA (unknown) redecoded as one byte command
- Removed support for non-existent End Tech variant DB
- Renamed a few classes to be clearer (No impact on user end).

Some notes on animation commands:
13, 14, 15 are related (Shared code)
16, 17, 18 are related (Shared code)
19, 1A, 1B are related (Shared code)
27, 28 are related (Opposite function)
2D, 2E are related (Opposite function)
47, 48, 81, 82, 83, 84 are related (same routine)
4A, 4D are related (same routine)
5D, 5E are related (Opposite function)
69, 6A, 6C are related (shared code)
6E, 6F are related (similar function)
98, 99, 9A, 9B, 9C are related (shared code)
C0, C1, C2, C3 are related (shared code)
C4, C5 are related (shared code)
D4, D6 are related (shared code)

I'm hoping there will be no more bugs popping up, so I can get a release out (finally).

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.
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();

Edit: Removed mention of menu data in the notes above - Item data and techs usable in the menu share RAM address, and "menu data" was actually item data.

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.

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