• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 28, 2024, 07:28:04 pm

News:

Use of ePSXe before 2.0 is highly discouraged. Mednafen, RetroArch, and Duckstation are recommended for playing/testing, pSX is recommended for debugging.


Choto's Tools

Started by Choto, July 27, 2013, 08:51:48 pm

Choto

July 27, 2013, 08:51:48 pm Last Edit: November 26, 2014, 08:32:03 pm by Choto
MassTextFormatter

This is a really quick small application that will make handling text a little bit easier. It's got two textboxes in which you can manipulate text different ways. If you're building patches it will insert the xml tags for you. It can add a space before each line of whatever is in the box to make uploading to the wiki a breeze. It can also add MassHexASM style comments (#) before any text that has a tab in front of it.

Jal Finder

This is an ASM research tool that will scan a routine and report all the 'jal' commands in a column list in notepad. I'm hoping it will come in handy in telling what a routine does without having to document ALL THE COMMANDS. I had a thought to make them scan larger amounts of routines and even linking the hex addresses of the routines to the wiki to report the name of the routine. I also had a thought to write a program that will auto-notate routines by filling in knowledge that we know. So for example

if r4 is unit data and theres a lbu r2, 0x0001(r4), edit the line with the annotation

lbu r2, 0x0001(r4)                  Load Unit ID

Bonus.Bin Editor

This utility will let you import a Bonus.Bin imagine in .TIM form without having to do any math or tedious copy/paste. I'll probably merge it with another program down the road.

Conflict Checker

f you put this program in your FFTorgASM directory, on startup it will load all patches from all xml files in the folder (much like orgASM does). You can then select a file (like BATTLE.BIN) and it will list every patch that writes to that file.

When it does this, it also checks each patch against every other patch for overlap conflicts and highlights the patch red if a conflict is found. You can then click on a patch and the program will tell you: which xml file the patch is in, the number of the patch that it conflicts with, and both "offset" blocks that cause the conflict.

In addition, if there is a formatting error with your xml files it will display a message when it tries to load on startup telling you which file is failing. It will also spit out a bunch of programming junk that may give you a hint of where in the file the issue happens.

I have hopes to make this thing also able to move hacks by analyzing their code and changing jump commands appropriately, but as for now this should be immediately useful. May crash or have bugs cause it's still new.

FFTEE - Effects Editor

This effects editor will read in a .bin effect file and allow you to change some things. Most of it is highly experimental but you can do some things like change frame dimensions, particle density, motion of emitters, timing, sound effects, tinting. Unfortunately since the effect files are so complicated it only went so far. At the very least, one can mess with random things and then test their effects to see what changes occurred and hopefully come up with something cool. I plan to rewrite this at some point down the road since I've learned a ton since I started the project.

Choto


lirmont

Congratulations on a huge first effort at writing a complete application in C#.

Vanya

Now this is something I've been waiting for for a long time. *cheers*
  • Modding version: Other/Unknown
¯\(°_0)/¯

Taichii

wow an easier way to edit effects 8D
finally~ <3
gotta try this one out.. we'll be waiting choto and good job.

Please do share your ideas and suggestion for my project:
FINAL FANTASY TACTICS : LEGEND OF MANA

Join our RP :)
"Desperation"

"PAIN. THAT'S WHAT KEEPS YOU HUMAN"

Choto

Thanks guys! We'll see where it ends up.

Released v1.0 for whoever wants to play around with it. Feedback is appreciated and if you make a quality effect, I encourage you to post a video if you can or at the least a .bin file.

Atma

WOW!  Just found this topic.  Unfortunately I'm at work, otherwise I'd be fiddling around with this.  No matter how good it is atm, I'm glad progress has been made in effect editing.
My name is Atma... I am pure energy... and as ancient as the cosmos.

Choto

Don't get too excited... it's not the greatest tool, I lost steam on it towards the end of the summer. If it's able to save an effect file correctly, my suggestion is to just mess with things and see what effect they have. Guess and Check.

Timbo

No matter what I do I'm unable to import a TIM file. Apparently the Index was outside the bounds of the array? What am I doing wrong? Also, I have windows 7 so I can't use timutil. I've tried both timviewer and timview plus.
  • Modding version: PSX
  • Discord username: Timbo

Choto

Quote from: Jack of All Trades on November 20, 2013, 08:33:48 pm
No matter what I do I'm unable to import a TIM file. Apparently the Index was outside the bounds of the array? What am I doing wrong? Also, I have windows 7 so I can't use timutil. I've tried both timviewer and timview plus.


I've had some issues with it too. It's more likely a bug with the code than something you're doing wrong. For some reason timviewer is real hit or miss. Sometimes it works sometimes it doesn't. For now all I can say is that the tim importer will work with some effects and not work with others. I have to take a look and see what the issue is.

Choto

July 04, 2014, 02:44:51 pm #10 Last Edit: July 04, 2014, 03:13:27 pm by Choto
This is just a quick and dirty program I wrote to investigate and list the flow of routines throughout a sequence. If you enter a starting address, it will scan from that address and list all of the Jal addresses that the routine jumps to. It will end when it finds a jr r31. A couple of notes:

-You can choose the file to be scanned and target output file before starting the scan. The file to be scanned should be a disassembly from psxfin in this format:

0018ad50: 03e00008 jr r31

Included are disassemblies of SCUS and BATTLE.BIN RAM, and WLDCORE and WORLD.BIN RAM. I have no clue what was going on in the games when I made these, but they're convenient.

-Each time you run it, it will open another Notepad file. I tried using notepad++ but it wouldn't work. I need to fix this in a later version once I figure out how.

-It is not rigorously tested but its simple enough to not have any bugs I hope.

-Once you have the output, you can go to the Wiki and copy/paste the routine locations and descriptions over the raw address.


Choto

Ok, so this should be pretty handy for anybody that runs into ASM conflicts, and for just management of ASM hacks in general.

If you put this program in your FFTorgASM directory, on startup it will load all patches from all xml files in the folder (much like orgASM does). You can then select a file (like BATTLE.BIN) and it will list every patch that writes to that file.

When it does this, it also checks each patch against every other patch for overlap conflicts and highlights the patch red if a conflict is found. You can then click on a patch and the program will tell you: which xml file the patch is in, the number of the patch that it conflicts with, and both "offset" blocks that cause the conflict.

In addition, if there is a formatting error with your xml files it will display a message when it tries to load on startup telling you which file is failing. It will also spit out a bunch of programming junk that may give you a hint of where in the file the issue happens.

I have hopes to make this thing also able to move hacks by analyzing their code and changing jump commands appropriately, but as for now this should be immediately useful. May crash or have bugs cause it's still new.

Xifanie

fucking sweet :O

*downloads*
  • Modding version: PSX
Love what you're seeing? https://supportus.ffhacktics.com/ 💜 it's really appreciated

Anything is possible as long as it is within the hardware's limits. (ie. disc space, RAM, Video RAM, processor, etc.)
<R999> My target market is not FFT mod players
<Raijinili> remember that? it was awful

3lric

  • Modding version: PSX

Angel

Wow, this is bloody freaking awesome. Like, really. Hugely awesome. Just huge. Great work!

So many people have talked about this being a thing for such a long time, and you fulfilled a much-needed and oft-requested utility. Go treat yourself, right now.
  • Modding version: PSX
* Angel should quit being a lazy bitch
<@Elric> I agree to that as well

nyanyame nyanyajuu nyanyado no nyarabide nyakunyaku inyanyaku nyanyahan nyanyadai nyannyaku nyarabete nyaganyagame
At the end of the day, are we not all trapped inside lemons?

Timbo

This is awesome. I've been struggling with ASM conflicts for the last month. Thank you so much.
  • Modding version: PSX
  • Discord username: Timbo

Argy

Brilliant work Choto!! Can wait to get to use this! Thank you. :-)
  • Modding version: PSX
Kotetsu Quad Killer!!

Celdia

Welp, here's my new favorite utility. Cheers, Choto.
  • Modding version: PSX
  • Discord username: Celdia#0


Choto

Thanks guys, let me know how it works if there's any issues. It's obvious but I should mention that the kanji space nopper will conflict with a ton of hacks since... it's meant to.