• Welcome to Final Fantasy Hacktics. Please login or sign up.
 
March 29, 2024, 05:41:36 am

News:

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


Windows application based on Zodiac's Excel workbook

Started by melonhead, December 31, 2007, 02:21:18 am

melonhead

December 31, 2007, 02:21:18 am Last Edit: November 27, 2008, 01:09:51 am by melonhead
I've finished work on a .NET 2.0 application based on Zodiac's Excel workbook. Right now it can open a SCUS_942.21 file and apply changes to it. It also generates Gameshark codes based on the current file's differences from an unmodified file. You can also save or load your work in the custom *.fftpatch format.  It works with the PSP version (War of the Lions), too!

Check out screen shots here or download here

Let me know if you have any ideas for improvements.

Updated 11/27/08:

New version:
FFTPatcher - v0.352

Changes since v0.328
  • Fixed bug that caused Ability Effects to be applied to the ISO incorrectly
  • Fixed Formula 0x4E: Dmg_(MA*Y)
  • Fixed bug that caused the Upper Level flag to not be updated on screen properly in the ENTD unit editor
  • Rewrite of Sprite Manager. Now, it reads all character/monster sprites from an ISO file. Make your changes and save as a .shishi file or patch the ISO directly.
    • Not supported yet:
      • WEP.SPR, OTHER.SPR
      • Changing "type" of sprite (Making AGURI be TYPE2 instead of TYPE1, etc)
      • WLDFACE.BIN, EVTFACE.BIN, EVTCHR.BIN, UNIT.BIN
    • Known bug: The thumbnail images in the main window look ugly...
Changes since v0.271
  • Added ability to convert a PSX fftpatch file to a PSP fftpatch file. (NOTE: The new PSP abilities for Balthier and Dark Knight are overwritten during this process)
  • Added dialogs when patching a PSP or PSX image that let you select what parts you want to patch.
  • Added ability to patch the SCEAP.DAT file on PSX ("Sony Computer Entertainment Presents...")
  • Added ability to patch the ICON0.PNG file on PSP (This is the image that shows up when you load your game from memory stick)
  • Added direct ISO patching for PSP and PSX. No need for CD-Tool anymore
  • Added asterisks * to changed items in each screen
  • Added "upper level" flag to ENTD units
  • Added ability to edit the "Move-Find Items" and traps on maps
  • Added ability to "Clone" and "Paste" certain objects
    • (ex. Right click "Cure 2" on the left side of Abilities and paste it on top of "Cure 3" and it will copy all the data from Cure 2 to Cure 3)
    • (There is a cosmetic bug with this feature, the destination for the paste will not have the correct "blue highlighting" for changes until you select another ability and come back)
  • Changed the .fftpatch file format. You can still open old files, but once you save them again you can only open them with new versions of FFTPatcher.
  • Added ability to open an already-patched PSX ISO
  • The file ICSharpCode.SharpZipLib.dll must be in the same directory as FFTPatcher.exe
  • Removed:
    • Export font (Use Patch ISO instead)
    • Export ENTD (Use patch ISO instead)
    • Patch BATTLE.BIN (Use Patch ISO instead)
    • Open modified SCUS_942.21 (Use open modified ISO instead)
  • FFTacText and ShishiSpriteEditor won't work with this version. If you want to use them, download an old version and copy it to another directory.
  • I accidentally removed the "digest" output from the last version. It will be back.

Changes since v0.269
  •  Fixed bug when loading certain bitmaps in the Sprite Editor (Thanks to Sen and Kourama for reporting the bug)
  • Fixed bug where "Team Color" wasn't being properly persisted to .fftpatch files (Thanks to Lydyn for reporting the bug)
Changes since v0.236
  • Removed limits on value spinners. You can now enter values up to 255/0xFF, even if the value is invalid
  • Added direct patching of Playstation ISOs. You'll need the external CD-Tool program from http://www.nobis-crew.org/cd-tool/. Place CD-Tool.exe in the same folder as FFTPatcher.
  • Updated Ability and Item formulas with a more correct list provided by Zodiac
  • Added "Second Table ID" value to the Item editors
  • Added some text to the Ability editor giving information about formula variables
  • Added Team Color, War Trophies, Bonus Money, and "Main target" fields to the ENTD editor
  • Renamed the "Zodiac monster" checkbox to "??? Stats"
  • Added "digest" output. An HTML file is output whenever you save your .fftpatch file that contains a list of the changes you've made.
  • Added option to sprite manager to "Always use corresponding palette for portrait"
  • Added option to the sprite manager to show the frames of animation for the current sprite
Thanks to Voldemort7 and Zodiac for beta testing v0.266.

Changes since v0.205
  • Fixed bug in sprite viewer when loading a BMP with an invalid palette
  • Changed the abilities formula combo box to allow all 256 possible values
  • Changed Weapon formula combo box to be more descriptive
  • Changed Item formula combo box to be more descriptive
  • Added "Zodiac monster" checkbox to the ENTD editor. THanks to Armorvil for this info
  • Added beta release of FFTacText text editor
  • Updated the FFTPACK.BIN file extractor with the locations of SPELL.MES, WORLD.LZW, and SNPLMES.BIN
Changes since v0.200
  • Added detailed formula information to the Ability editor. These are mostly taken from the Battle Mechanics guide.
  • Added Sprite Viewer with decompression/recompression support. If you have used Merlin Avery's FFT Sprite Manager, you'll find it works almost exactly the same.
Changes since v0.192:
  • Added the Dark Knight, Onion Knight, Balthier, Luso, Argath, Aliste, and Bremondt sprites to the fftpack.bin extractor. Thanks to Dakitty for this info.
  • Fixed bug in the Equipment Editor where some checkboxes weren't getting highlighted.
  • Added "Always present" and "Randomly present" labels to two checkboxes in the ENTD editor. Thanks to Raijinili for this info.
  • Added a function to patch a War of the Lions ISO image file directly, so that CWCheat codes are no longer required. Thanks to NeXaR for the hint that made this possible.
  • Fixed the cheat.db file generation to use Unix-style linefeeds like CWCheat expects. Thanks to Krakistophales on the GameFAQs forums for pointing this out.
Changes since v0.190:
  • Fixed the "Level" field in the ENTD editor
  • Fixed some issues with .fftpatch file generation
Changes since v0.168:
  • Fixed a bug that would cause an exception when you tried to open a SCUS_942.21 file.
  • Added utilities to unpack or rebuild the "fftpack.bin" file that is in on the War of the Lions UMD
  • Added Effects to Ability pages
    • This is the "effect" or "animation" that occurs when the ability is used.
  • Added font editor
  • Fixed some strings that were inconsistent between PSX and PSP modes (not everything is fixed yet)
  • Added new PSP events to the ENTD editor
    • Balthier's equipment for battle 0x202 is incorrect. It is stored in another location on the disc, and it is not editable yet
  • Refactored the ENTD editor based on feedback from the auritech forums
  • Compressed some of the internal XML and binary files to shrink the file size
  • ComboBoxes now "autocomplete", so if you tab to a ComboBox and type "w-a-t-e-r" it will take you to "Water Anima". If you then type "w" it will take you to "Waterwalking"
  • All editing controls now have a "Reset" feature. Tab to a control and push F12 to revert the value to its default
  • Fixed a bug on some of the grids where if you select an item in a ComboBox that has the same Name as something else, it will select the other item instead
Changes since v0.164:
  • Fixed bug in CheckedListBoxes where the highlighting was not always displayed correctly
  • Added ENTD editor
  • Optimized .fftpatch generation to generate only the elements that are necessary.
Changes since v0.148:
  • Changed the behavior of the CheckedListBoxes so that you only have to click once to check or uncheck an item
  • Optimized CWCheat/Gameshark code generation so less codes are generated and the CWCheat codes get split out into groups of 25
  • Added highlighting and tooltips to all editing controls:
    • Controls will be highlighted in blue if the value they modify has been changed from its default
    • MouseOver on an editing control (except checkboxes) will show a tooltip with the default value

SephHexenWR

December 31, 2007, 06:46:56 am #1 Last Edit: December 31, 1969, 07:00:00 pm by SephHexenWR
Downloading now. I cannot express how ecstatic I am to try this out.

EDIT: Question: Do we have to save the patch first, THEN apply the changes to the file?

EDIT 2: Nope, you sure don't. Tee-hee, an excalibur-looking dagger!

Xifanie

December 31, 2007, 08:50:00 am #2 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
=D That's pretty much how I planned to do it... but I think you forgot one thing: the names mentionned in red within my workbook may have absolutely nothing to do with what's typed there. And while at that, what does the h beside the fields mean?

I suppose the next thing to come would be the event editor (with the 4 ENTD files)... pretty simple.

After that, a text editor :D

I'd know how to code the text editor; if only I COULD.

If you're ever willing to do one (by preference in your current editor) please tell me, I'll find any text in the game, give you the offsets, and pretty much all the chars I know. :O

There is also the possibility of a font editor but I doubt you'd want to code that.

Oh, ya and the Rare attribute in Items allows enemy to randomly equip the item. give it whatever name you want.

PS: I never thought of poiting attributes in blue to a sheet, wise idea.
  • 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

Xifanie

December 31, 2007, 08:56:27 am #3 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
Oh, and sorry, but I'll have to force you to accept putting your editor on the site.
  • 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

Xifanie

December 31, 2007, 09:50:35 am #4 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
Man, the fact you can just click the skillset to reach the job's skillset after modifying your job statistics is just... awesome. :O

Obviously very good for the Item Attributes too. There would be no way to effectively edit those without that. :S
  • 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

SephHexenWR

December 31, 2007, 04:01:08 pm #5 Last Edit: December 31, 1969, 07:00:00 pm by SephHexenWR
The h means the fields are in hex.

BlackMageShin

December 31, 2007, 04:07:23 pm #6 Last Edit: December 31, 1969, 07:00:00 pm by BlackMageShin
I get an error when I try to open it. :(

"The application failed to initialize properly (0xc0000135)"

Xifanie

December 31, 2007, 04:54:52 pm #7 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
Quote from: "SephHexenWR"The h means the fields are in hex.

...
...

:O
  • 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

SephHexenWR

December 31, 2007, 04:56:16 pm #8 Last Edit: December 31, 1969, 07:00:00 pm by SephHexenWR
BMShin - Try downloading the .NET framework, and see if it works then.

BlackMageShin

January 01, 2008, 03:09:00 pm #9 Last Edit: December 31, 1969, 07:00:00 pm by BlackMageShin
Seph: it worked, thanks.

Awesome program. We still get to see a lot of PSP names when working on a PSX patch, like "shirahadori", but I'm sure that will be fixed in a possible new version.

It would be great if everytime you edit something the new entry could be displayed in a different color, so you could easily see what is default and what is not, in case you want to change it back. I have no idea how hard it would be to implement that, so...it's my suggestion anyway. :P

Kourama

January 02, 2008, 12:53:23 pm #10 Last Edit: December 31, 1969, 07:00:00 pm by Kourama
I have to say this is an awesome program. Being able to play around with the PSP version is a dream come true. A couple of questions though.

- It may because I'm not used to using CWCheat but it seems that each Set of Codes can only be up to 30 lines, so is there anyway that the program can output the codes in sets of 30?

- As I was trying to mess around with Poachable Items, I attempted to put some of the new items as poachable items but they aren't on the drop down list. I'm guessing the coding in the game doesn't let the items become obtainable other than mulitplayer but I was wondering if there was a fix for this.

- I changed certain items into buyable items (like the Ivory Pole) but it didn't show up in any of the places I visited as buyable, unfortunately I'm not sure what I did wrong.

- Last thing is that although I changed certain new items so that they aren't rare and gave them an enemy level none of the enemies seemed to ever have any of the new items equipped. I'm sure all the issues I'm having with the new items are related but is there something I can do to fix this?

Anyway other than the above questions every other changed I've done has turned out great and I'm looking forward to the ENT editor.

Xifanie

January 02, 2008, 03:44:48 pm #11 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
Quote from: "Kourama"- As I was trying to mess around with Poachable Items, I attempted to put some of the new items as poachable items but they aren't on the drop down list. I'm guessing the coding in the game doesn't let the items become obtainable other than mulitplayer but I was wondering if there was a fix for this.
That would require some assembly hacking to put more space because right now it looks like there is only 1 byte to store the poached item; unless melon did something wrong.

Quote from: "Kourama"- I changed certain items into buyable items (like the Ivory Pole) but it didn't show up in any of the places I visited as buyable, unfortunately I'm not sure what I did wrong.
The reason for that is still unknown, however the opposite proves the use of that bit, change Rune Blade as not buyable and it won't appear anywhere. There is a check somewhere that prevents any item from showing up sadly... probably in the shops themselves.

Quote from: "Kourama"- Last thing is that although I changed certain new items so that they aren't rare and gave them an enemy level none of the enemies seemed to ever have any of the new items equipped. I'm sure all the issues I'm having with the new items are related but is there something I can do to fix this?
It may be because the random selection still only searches from item 1 to 255.
Else it's because you don't have the proper level enemy or item, or whatever. I don't know that much on those so I can't tell much.

It's likely Square didn't update everything for romhackers. ;)
  • 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

Kourama

January 02, 2008, 04:58:41 pm #12 Last Edit: December 31, 1969, 07:00:00 pm by Kourama
Thanks for the info it explains most of my questions and you are probably right about the random item thing. In the PSP version none of the multiplayer items show up anywhere other than as rewards in the mulitplayer battles so it makes sense that random enemies wouldn't have them equipped.

Hopefully there can be some kind of change done on the poachable items if not I'm going to have to wait for the next update that adds the ENT editor so that I can play around with everything a little more. Meanwhile I will test out my patch and make sure everything is working properly.

melonhead

January 02, 2008, 07:18:41 pm #13 Last Edit: January 02, 2008, 07:25:44 pm by melonhead
Quote from: "Kourama"I have to say this is an awesome program. Being able to play around with the PSP version is a dream come true. A couple of questions though.

- It may because I'm not used to using CWCheat but it seems that each Set of Codes can only be up to 30 lines, so is there anyway that the program can output the codes in sets of 30?
I checked in an update to split codes into sets of 25. It will be included in the next build. I'm trying to track down weltall (creator of CWCheat) to determine what the actual limit is. I have noticed if you have too many codes turned on (like all the codes generated by pspfft1.2.fftpatch), the game slows down significantly. (CWCheat works by going through and "executing" each line in the code, for instance writing bytes, doing comparison, copying bytes). If you set your custom firmware to execute at 333 MHz, it seems to improve things. Or--I haven't tested this--turn on the codes briefly to let CWCheat write the values to memory, and then turn off the codes. The modified values should stay in memory if they aren't being constantly read from the UMD.

Quote from: "Kourama"- As I was trying to mess around with Poachable Items, I attempted to put some of the new items as poachable items but they aren't on the drop down list. I'm guessing the coding in the game doesn't let the items become obtainable other than mulitplayer but I was wondering if there was a fix for this.
The ComboBoxes for the "Item Use" (in the Abilities tab) and in the Poaching tab are explicitly populated with just the first 256 items. Zodiac is right that only one byte is used to hold this information. The item attributes, etc for the new items are also stored in an entirely separate part of the memory/executable. On the PSP savegames and character structs, equipment is stored as 2 bytes. I think the extra items were not totally implemented, so it is possible for characters to equip them and shops to buy them, but maybe not possible for monsters to carry them or shops to sell them.

Quote from: "Kourama"Hopefully there can be some kind of change done on the poachable items if not I'm going to have to wait for the next update that adds the ENT editor so that I can play around with everything a little more. Meanwhile I will test out my patch and make sure everything is working properly.
If you ever get your patch to a releasable state, it will eventually be possible to decrypt the PSP executable, apply the changes, and reencrypt it (doing all the encryption/decryption on the PSP itself), and then reinsert the executable into an ISO image. So you could make a redistributable PPF/IPS patch to make it easier for end users to play your mod.

Quote from: "BlackMageShin"Awesome program. We still get to see a lot of PSP names when working on a PSX patch, like "shirahadori", but I'm sure that will be fixed in a possible new version.

It would be great if everytime you edit something the new entry could be displayed in a different color, so you could easily see what is default and what is not, in case you want to change it back. I have no idea how hard it would be to implement that, so...it's my suggestion anyway.
Right now the codes are generated by serializing each data set into an array of bytes and comparing that array to the the unmodified executable. I think before I load data into each editor, I can tell it what its default value is, and display a little icon or special color when it has changed.

Quote from: "Zodiac"I suppose the next thing to come would be the event editor (with the 4 ENTD files)... pretty simple.
Looking at the spreadsheets for this, it seems pretty simple to do. The cheat code generation might get a little crazy. The nice thing about the ENT files is that they are on the War of the Lions UMD unencrypted, so I can patch them directly.

Quote from: "Zodiac"After that, a text editor  
I'd know how to code the text editor; if only I COULD.
If you're ever willing to do one (by preference in your current editor) please tell me, I'll find any text in the game, give you the offsets, and pretty much all the chars I know. :O
I looked into this a few weeks ago. An Italian guy determined this mapping for characters and control codes (most of the text characters I already knew...). If you know of any other control codes, extended characters, kanji, etc. those would be good to document somewhere for future contributors if I never get to it.

Quote from: "Zodiac"There is also the possibility of a font editor but I doubt you'd want to code that.
Would this be something like a 16x16 array of pixels (all the same color?) that gets turned into a bitmap or something?

Quote from: "Zodiac"Oh, ya and the Rare attribute in Items allows enemy to randomly equip the item. give it whatever name you want.
If you have any other tidbits like this, they'd be helpful. I think I want to put tooltips or help text or something on some of the configurable parameters that aren't totally clear based on the name.

Mushufasa

January 02, 2008, 07:19:57 pm #14 Last Edit: December 31, 1969, 07:00:00 pm by Mushufasa
Yeah, this thing is really cool!  Just to test it out I replaced basic skill with work, and when my squire used destroy he jumped above the map and just started to walk above the ground.  It was... interesting.

SephHexenWR

January 02, 2008, 08:08:25 pm #15 Last Edit: December 31, 1969, 07:00:00 pm by SephHexenWR
Quote from: "Mushufasa"Yeah, this thing is really cool!  Just to test it out I replaced basic skill with work, and when my squire used destroy he jumped above the map and just started to walk above the ground.  It was... interesting.

I remember doing that! Using any of Worker 8's moves produces really interesting results on anything non-Automaton.

karsten

January 03, 2008, 07:16:11 am #16 Last Edit: December 31, 1969, 07:00:00 pm by karsten
Quote from: "melonhead"I've finished work on a .NET 2.0 application based on Zodiac's Excel workbook. Right now it can open a SCUS_942.21 file and apply changes to it. It also generates Gameshark codes based on the current file's differences from an unmodified file. You can also save or load your work in the custom *.fftpatch format.  It works with the PSP version (War of the Lions), too!

Check out screen shots here or download here

Let me know if you have any ideas for improvements.

wow i can't wait to get home to try this! i have to resist some extra days :P

so please people start posting your mods and mod file with complete description so that people zodiac can host them! now that we have a easy editor let's keep working on the last editing and on becaming a big patch archive!

SephHexenWR

January 03, 2008, 05:12:36 pm #17 Last Edit: December 31, 1969, 07:00:00 pm by SephHexenWR
Quote from: "karsten"
Quote from: "melonhead"I've finished work on a .NET 2.0 application based on Zodiac's Excel workbook. Right now it can open a SCUS_942.21 file and apply changes to it. It also generates Gameshark codes based on the current file's differences from an unmodified file. You can also save or load your work in the custom *.fftpatch format.  It works with the PSP version (War of the Lions), too!

Check out screen shots here or download here

Let me know if you have any ideas for improvements.

wow i can't wait to get home to try this! i have to resist some extra days :P

so please people start posting your mods and mod file with complete description so that people zodiac can host them! now that we have a easy editor let's keep working on the last editing and on becaming a big patch archive!

You know, that's not a terrible idea.

Xifanie

January 03, 2008, 08:01:44 pm #18 Last Edit: December 31, 1969, 07:00:00 pm by Xifanie
If you want to make your patches, I ain't gonna host them unless you have your forum section. To get one you'll have to put a request in the good section.

If I host patches I want people to be able to complain about it somewhere without having to spam the other forum sections.  :wink:
  • 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

Jaakl

January 03, 2008, 09:33:16 pm #19 Last Edit: December 31, 1969, 07:00:00 pm by Jaakl
very quick with this program can i change the names of the things ?

Yes or Not