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

Author Topic: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 23 out!  (Read 22794 times)

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 6 out!
« Reply #40 on: June 25, 2014, 01:34:23 pm »
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.
Mauron wuz here.

Sierrus

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 6 out!
« Reply #41 on: June 29, 2014, 11:25:30 am »
It'll probably not help much but:
3b. I tried to edit Ayla's Triple Kick; changed damage byte 0x09 from 25 to 18, no other changes, saved the header, saved the tech, saved the rom and then I can't start the game itself (black screen); a comparison between before and after via a byte comparison tool showed me that a lot of bytes in the 14615+ region in the rom had been altered as well as in the 6EE43+ region, which previously consisted only of 0's.
This error has been in both Beta4 and 6.

4. When changing animation commands values get often set wrong. So far all affected the variant field and a second field; the saved value for the second field was always the one from variant.
E.g. when changing Load Sprite At (09) it will always result to 1C even if I choose 03 (target)

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 6 out!
« Reply #42 on: July 02, 2014, 03:07:52 am »
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.
« Last Edit: July 07, 2014, 08:01:25 pm by Mauron »
Mauron wuz here.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 6 out!
« Reply #43 on: August 15, 2014, 02:50:02 am »
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.
Mauron wuz here.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 8 out!
« Reply #44 on: November 14, 2014, 10:45:26 pm »
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
« Last Edit: November 17, 2014, 06:09:07 pm by Mauron »
Mauron wuz here.

Vanya

  • Hero Member
  • *****
  • Posts: 1161
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 8 out!
« Reply #45 on: November 18, 2014, 08:05:34 am »
Question. Not having used Temporal Flux or Hi-Tech I was wondering about the basic capabilities of these tools.
What I would want to do with these is add more techs to each character without having to remove any of the original ones.
Is this doable?

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 8 out!
« Reply #46 on: November 18, 2014, 04:10:45 pm »
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.
Mauron wuz here.

justin3009

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 1510
  • Welp
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 8 out!
« Reply #47 on: November 18, 2014, 05:46:11 pm »
The biggest issue I have with any kind of CT hacking is I have NO clue what space is being used by various other mods so I get a little scared to work on something and then it'd be incompatible with various other projects :<

I've thought about doing this with techs and/or rewriting the system so it's number based with a table PER character to allow full customization, but I'd need to know A LOT of details on what space would be best used.
'We have to find some way to incorporate the general civilians in the plot.'

'We'll kill off children in the Juuban district with an infection where they cough up blood and are found hanging themselves from cherry blossom trees.'

Vanya

  • Hero Member
  • *****
  • Posts: 1161
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 8 out!
« Reply #48 on: November 19, 2014, 08:20:32 am »
If you need more details, I can provide plenty of technical information on what would be needed.

Please do. This is something I would like to do for my own small improvement hack and I'm sure it would be very useful to others.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 8 out!
« Reply #49 on: November 20, 2014, 03:13:07 pm »
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.
« Last Edit: December 18, 2014, 05:47:41 pm by Mauron »
Mauron wuz here.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 10 out!
« Reply #50 on: December 05, 2014, 06:08:55 pm »
Hi-Tech Beta 10!

Changes:
- 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).
Mauron wuz here.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 11 out!
« Reply #51 on: December 16, 2014, 04:00:05 pm »
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.
Mauron wuz here.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 12 out!
« Reply #52 on: January 11, 2015, 01:50:57 pm »
Hi-Tech Beta 12!

Biggest change this release: Super commands are viewable.

- Updated one targeting value to be consistent with others.
- Updated animation command save check to use status bar instead of a message box.
- Updated animation command save check to indicate saving was cancelled on failure.
- Updated animation command save check to include hit and miss objects, instead of just the current setting.
- Removed incorrect marking of a record as modified when saving item animations
- Changed a few cases of checks against command index to checks against node type (code readability)
- Began support for 8th character hack.
- Redecoded Unknown commands 99, 9B, and 9D as two bytes.
- Added read only support for super commands.
- Removed non-existent super command 4e
- Decoded commands C0, C2 as Circular Sprite Movement (5 bytes)
- Decoded commands C1, C3 as Circular Sprite Movement (4 bytes)
- Removed unknown 5 bytes group
- Added support for unused player tech packets 117-127
- (Pre-Release) Fixed a bug where too many enemy attack graphics packets were loaded.
Mauron wuz here.

Vanya

  • Hero Member
  • *****
  • Posts: 1161
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 12 out!
« Reply #53 on: January 12, 2015, 03:05:10 pm »
8th Character hack support? Sweet! I always did have a pipe dream of making Toma a playable character.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 12 out!
« Reply #54 on: January 12, 2015, 06:42:18 pm »
We still have some bugs to fix, most notably palette issues in the menu. Hopefully that hack will be complete someday.
Mauron wuz here.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 13 out!
« Reply #55 on: March 18, 2015, 09:51:32 pm »
Hi-Tech Beta 13!

There were a bunch of fixes in this version, but the most notable differences are support for tech requirements, support for any expanded tech project, and significant improvement over the handling of corrupt techs. This will hopefully only occur with older versions and the Flash Screen Color command, which is easily fixable by setting the length properly. A list of techs with invalid command nodes will be in HiTechErrorlog.txt.

There was a glitch with miss animations and expanded techs which required a rewrite of some of the patching code. If you have used Hi-Tech in an actual project, contact me so we can get this repaired. If you've just been testing, I recommend making a new test ROM.

This will hopefully be the second to last beta version. I want to add MP cost editing, and support for extra super commands and item animations.

- switched from static hit effect list to one generated at form load.
- organized code in HiTech.cs
- Relabled Player Attack Graphics Header Unknown 0x05 to Unknown 4
- Relabled Player and enemy Tech graphics Header Unknown 0x05 to Unknown 5
- Relabled Enemy Attack Graphics Header Unknown 0x05 to Unknown 5
- Added editing support for performance groups.
- Added import/export support for performance groups.
- Fixed a bug where enemy attacks would disable editing of targeting until TF was reopened.
- Fixed multiple bugs with expanded techs and miss animations.
- Added some support for pre-release animation saving (for if and when saving pre-release ROMs is added to Temporal Flux).
- Fixed bugs with loading expanded item, enemy attack, and player attack animations.
- Fixed a bug relating to loading item data.
- Added support for first empty item.
- removed support for Dreamstone - no data exists for it and later items.
- Added support for editing performance groups.
- Added support for working with new techs through ini file support.
- Rearranged some menu items.
- Fixed a bug where Hi-Tech would crash if Add Object was clicked before selecting a node.
- Replaced dummy tech creation with "invalid command" node.
- Corrected support for pre-release triple techs.
- Corrected multiple data end points for pre-release.
Mauron wuz here.

Vanya

  • Hero Member
  • *****
  • Posts: 1161
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 13 out!
« Reply #56 on: March 19, 2015, 05:16:23 pm »
Coolio. I can't wait to start messing with this in earnest once it's out of beta.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 15 out!
« Reply #57 on: March 25, 2017, 04:47:00 pm »
Hi-Tech Beta 14 See Beta 15 below.

The biggest change in this release is MP costs. The last feature needed is now Super Command expansion.

Changes:
- Changed default settings of HiTech.ini to correct end points.
- Fixed creation of HiTech.ini spelling
- Fixed issue with saving player attack effect headers
- Added support for editing MP costs. They are loaded in the relevant effect header.

Note that this version will replace any existing HiTech.ini files - if you had modified yours (I don't think anyone has a project that required this functionality), backup your settings first.

A new beta in the same post?

Hi-Tech Beta 15!

- Fixed a bug with saving techs that used an animation index that did not match the tech index
- Fixed a bug with saving techs that were not being relocated.
- Removed some unnecessary and messy code relating to loading techs.
- MP costs now respect the hex mode setting.
« Last Edit: March 26, 2017, 11:27:13 pm by Mauron »
Mauron wuz here.

Mauron

  • Sr. Member
  • ****
  • Posts: 391
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 16 out!
« Reply #58 on: April 02, 2017, 03:05:21 pm »
Hi-Tech Beta 16!

- Fixed issue with set palette command.
- Wait for section/subsection redecoded as wait for counter 1C/1D
- Increment section/subsection redecoded as wait for counter 1C/1D
- Store Coordinates of object redecoded as store coordinates of target.
- Fixed a bug where Play Sound (3-Bytes) was loading as Unknown 2-Bytes.
- Set section/subsection redecoded as set counter 1C/1D
- Decrement section/subection redecoded as decrement counter 1C/1D
- Decrement counter 1C/1D now listed properly in the editor.
- Unknown 37 decoded as decrement counter #.
- Load Layer 3 Packet redecoded as increment counter #.
- Displace relative redecoded as increase counter # by value.
- Increase subsection by x has been redecoded as increase counter 1C by value.
- Displace Absolute redecoded as set counter.
- Unknown 41 decoded as Copy Counter.
- Unknown 42 decoded as Copy Counter 1C.
- Unknown 49 decoded as Add to or subtract from counter.
- Unknowns 4A and 4D decoded as swap counters 1C and 1D.
- Unknown 4E decoded as swap counters 1C and 1E.
- Unknown 4F decoded as swap counters 1C and 1F.
- Fixed issue with tech requirement list not updating properly.
- Fixed issue with modifying enemy attacks when reloading.
- Fixed spacing issue with enemy attack names when enemies reached the maximum name length
- Fixed spacing issue with enemy tech and attack effect header 0xFF edit error message.
Mauron wuz here.

ThegreatBen

  • Sr. Member
  • ****
  • Posts: 282
    • View Profile
Re: Hi-Tech: A Chrono Trigger tech editor for Temporal Flux! Beta 16 out!
« Reply #59 on: April 03, 2017, 10:26:24 am »
This is great, thanks for your continued work on this.