STEAM GROUP
Final Fantasy - Modding FF-Modding
STEAM GROUP
Final Fantasy - Modding FF-Modding
270
IN-GAME
2,109
ONLINE
Founded
26 July, 2015
Language
English
Location
United States 
All Discussions > Final Fantasy IX > Topic Details
Tirlititi 9 Jun, 2016 @ 10:41am
Hades Workshop
Hades Workshop is the most complete Game Editing Tool available for Final Fantasy IX. Its development started for the PSX version and it became compatible with the PC version as well.

It's available on Qhimm:
http://forums.qhimm.com/index.php?topic=14315.0

If you want to contribute, you can read this post:
http://forums.qhimm.com/index.php?topic=14315.msg248197#msg248197

This tool is not compatible with Albeoris's Memoria for the moment.
Last edited by Tirlititi; 18 Feb, 2017 @ 10:35am
< >
Showing 31-45 of 88 comments
Lyrithus 15 Mar, 2017 @ 12:01pm 
Open the Launcher, of course! Thank you! Ye gods, I have done it!
Lyrithus 17 Mar, 2017 @ 12:27pm 
@Albeoris

I used memoria to edit my card collection, to better my chances of winning the Treno Tetra Master Tournament. Now, every time I try to load Tetra Master in the game, including the Tournament, the game freezes on the black loading screen. Everything else plays fine, but I can't continue the game now.

Next, I verified game cache integrity, and the result is the same. The Tetra Master save data is the only tiny bit that was edited, so I thought if I used Memoria again to edit the data back to the way it was before I changed it, then Tetra Master would be able to load. It didn't help.

Is there anything I can do? Since the save file is perfectly clean other than that tiny bit of corrupted Tetra Master data, I feel like I should be able to salvage my save somehow and continue the game, even if it means editing the save so that I load into it after the tournament, and just never play Tetra Master on that file, I'd be ok with that.
Fraggoso 17 Mar, 2017 @ 12:59pm 
You know that this is the hades workshop not memoria right?
Lyrithus 18 Mar, 2017 @ 12:18pm 
Originally posted by Fraggoso:
You know that this is the hades workshop not memoria right?

-_- yes. is why i said @Albeoris since he is involved in this thread, and they are working on compatibility of the two programs. also, my game was first edited with hades workshop the first time, although i doubt that my problem has anything to do with a clashing of the two programs, since the data edited was completely unrelated. but just in case i posted here on the off chance Albeoris or Tirlitit might think so. If you knew anything you wouldn't have posted such a patronizing post. I'm not stupid; know your place.
Last edited by Lyrithus; 18 Mar, 2017 @ 12:19pm
Tirlititi 18 Mar, 2017 @ 12:26pm 
If think you're confusing Albeoris's Memoria (Engine modification) and gjoerulv's Memoria (Save editor).
Unfortunatly, I can't do anything for you, as I have no insights on the save files :/
You can try to ask gjoerulv but Memoria is not his main priority, so you may be lucky but you may as well not.

Out of curiosity, does the game bugs when you go in the cards menu as well?
Lyrithus 18 Mar, 2017 @ 11:43pm 
Actually no, it doesnt; I can enter the card menu from the in game menu and explore/browse through my card collection like normal. I can even discard cards.

I wonder, though. Aside from restoring the integrity of the save file, if I could fix the problem by advancing the saved state of my game. Allowing me to load into my game after the tournament. Then I could proceed like normal without incident, so long as I just dont play Tetra Master, which isnt a major concer for me lol.
Lyrithus 18 Mar, 2017 @ 11:47pm 
Normally I wouldnt mind just starting a new game, but playing alternate fantasy is hard! haha. Your rebalancing of enemies and player characters is such a great and refreshing challenge. I love the way it plays. plus I'm almost to where you say beatrix can permanently join the party through actual in-game script editing- I'm so excited!!
Sacralletius 30 Mar, 2017 @ 7:20am 
Hi there

I am very new to modding FF IX and I'm not sure how to open the Hades Workshop.

I have downloaded the files, extracted them and put them in the C:\Steam\steamapps\common\FINAL FANTASY IX. (unmodded folder)

After that, I tried running the FF9_Launcher.exe. Then, I hit PLAY on the launcher. This message pops up: http://imgur.com/a/ssDgj
I just click OK and the launcher re-appears. I click PLAY again. But after that, the game just keeps hanging on the FINAL FANTASY IX logo and nothing seems to happen.

I am sorry for the simple question, but how do I should I open the Hades Workshop?

Thank you in advance

Kind regards

Sacralletius
Fraggoso 30 Mar, 2017 @ 7:54am 
Look at my answer above.
You open hw.exe and then go to load and select your ffix launcher.exe.
Sacralletius 31 Mar, 2017 @ 4:00pm 
D'oh, my bad, I downloaded the source file from Github instead of the actual program. No wonder I couldn't got it work.

Once I downloaded the correct version and followed your steps, it worked like a charm.

Thanks for the help.

Kind regards

Sacralletius
Last edited by Sacralletius; 31 Mar, 2017 @ 4:00pm
chosenform 20 May, 2017 @ 4:26pm 
Do you think the hidden dialogues patch(just the patch not HadesWorksop) will work with the Fraggoso Hd Mod?
Sacralletius 17 Jun, 2017 @ 6:45am 
@Tirlititi

Quick question: Is it possible to use the Hades Workshop to change "Auto-Regen" to "Auto-Protect" and "Auto-Life" to "Auto-Shell"? If yes, how can I do this?
authenticmaniac 17 Jun, 2017 @ 7:36am 
Originally posted by Sacralletius:
@Tirlititi

Quick question: Is it possible to use the Hades Workshop to change "Auto-Regen" to "Auto-Protect" and "Auto-Life" to "Auto-Shell"? If yes, how can I do this?
Oooo that's an interesting idea, I'm actually curious to see if I can just mess around with that.
Tirlititi 17 Jun, 2017 @ 2:18pm 
It is possible although often tricky to do it. The battle engine (CIL code) is the thing that controls the supporting abilities' effects. The auto-status, along with the immune-status, are handled in the method "btl_abil::CheckStatusAbility".

Here is what it looks like in C#
https://www.dropbox.com/s/b50cj0gruiytcu3/Source_AutoAbilities.cs?dl=0

What you need to do is changing the few things in the "if" block corresponding to the supporting ability that you want to change. Mainly, you need to replace the number by the one corresponding to the new status you want, but there may be some few additional requirements depending on that status.

For auto-shell and auto-protect, it seems that you need to add both the flag to the "permanent status" and "current status" fields, otherwise it doesn't work properly. For some others, you need to call an SPS method in order to display the corresponding icon in the battle.

In CIL Code (what you can see and edit in Hades Workshop), the "Auto-Life" part looks like this:
IL_00F3: ldarg.0 IL_00F4: ldfld 0x400024C // BTL_DATA::sa IL_00F9: ldc.i4.0 IL_00FA: ldelem.u4 IL_00FB: ldc.i4.s 16 IL_00FD: and IL_00FE: brfalse IL_011A // NOTE: the 'brfalse' target is the IL position right after the 'stfld' call IL_0103: ldarg.0 IL_0104: ldfld 0x400022C // BTL_DATA::stat IL_0109: dup IL_010A: ldfld 0x400021F // STAT_INFO::cur IL_010F: ldc.i4 8192 IL_0114: or IL_0115: stfld 0x400021F // STAT_INFO::cur
You can turn it into an "Auto-Shell" by replacing that part of the method by this:
IL_00F3: ldarg.0 IL_00F4: ldfld 0x400024C // BTL_DATA::sa IL_00F9: ldc.i4.0 IL_00FA: ldelem.u4 IL_00FB: ldc.i4.s 16 IL_00FD: and IL_00FE: brfalse IL_0131 // NOTE: the 'brfalse' target is the IL position right after the second 'stfld' call IL_0103: ldarg.0 IL_0104: ldfld 0x400022C // BTL_DATA::stat IL_0109: dup IL_010A: ldfld 0x400021E // STAT_INFO::permanent IL_010F: ldc.i4 4194304 IL_0114: or IL_0115: stfld 0x400021E // STAT_INFO::permanent IL_011A: ldarg.0 IL_011B: ldfld 0x400022C // BTL_DATA::stat IL_0120: dup IL_0121: ldfld 0x400021F // STAT_INFO::cur IL_0126: ldc.i4 4194304 IL_012B: or IL_012C: stfld 0x400021F // STAT_INFO::cur
And replace the part corresponding to "Auto-Regen" by something similar, but with the status 8388608 (Protect) instead of 4194304 (Shell).

NOTES:
1) It might happen that the 'ldfld' and 'stfld' 0x... identifiers are different in your version (usually because you wouldn't have the latest Steam patch). Don't copy/paste the above code if that's the case, but write one with your 0x... identifiers instead.
2) You can add several statuses without problem. Using the status 12582912, for instance, will make an "Auto-Mother". In such case, you still need to add the special requirements of each statuses.
3) When editing the CIL code, the targets of the different 'brfalse' (and the other 'br' opcodes) outside of the edited part of the code are automatically updated. However, the target position of 'brfalse' must be carefully verified, even if you copy/paste the code above. It must points to the position right after the end of the corresponding C# "if" block.

Good luck.
authenticmaniac 17 Jun, 2017 @ 4:48pm 
Originally posted by Tirlititi:
It is possible although often tricky to do it. The battle engine (CIL code) is the thing that controls the supporting abilities' effects. The auto-status, along with the immune-status, are handled in the method "btl_abil::CheckStatusAbility".

Here is what it looks like in C#
https://www.dropbox.com/s/b50cj0gruiytcu3/Source_AutoAbilities.cs?dl=0

What you need to do is changing the few things in the "if" block corresponding to the supporting ability that you want to change. Mainly, you need to replace the number by the one corresponding to the new status you want, but there may be some few additional requirements depending on that status.

For auto-shell and auto-protect, it seems that you need to add both the flag to the "permanent status" and "current status" fields, otherwise it doesn't work properly. For some others, you need to call an SPS method in order to display the corresponding icon in the battle.

In CIL Code (what you can see and edit in Hades Workshop), the "Auto-Life" part looks like this:
IL_00F3: ldarg.0 IL_00F4: ldfld 0x400024C // BTL_DATA::sa IL_00F9: ldc.i4.0 IL_00FA: ldelem.u4 IL_00FB: ldc.i4.s 16 IL_00FD: and IL_00FE: brfalse IL_011A // NOTE: the 'brfalse' target is the IL position right after the 'stfld' call IL_0103: ldarg.0 IL_0104: ldfld 0x400022C // BTL_DATA::stat IL_0109: dup IL_010A: ldfld 0x400021F // STAT_INFO::cur IL_010F: ldc.i4 8192 IL_0114: or IL_0115: stfld 0x400021F // STAT_INFO::cur
You can turn it into an "Auto-Shell" by replacing that part of the method by this:
IL_00F3: ldarg.0 IL_00F4: ldfld 0x400024C // BTL_DATA::sa IL_00F9: ldc.i4.0 IL_00FA: ldelem.u4 IL_00FB: ldc.i4.s 16 IL_00FD: and IL_00FE: brfalse IL_0131 // NOTE: the 'brfalse' target is the IL position right after the second 'stfld' call IL_0103: ldarg.0 IL_0104: ldfld 0x400022C // BTL_DATA::stat IL_0109: dup IL_010A: ldfld 0x400021E // STAT_INFO::permanent IL_010F: ldc.i4 4194304 IL_0114: or IL_0115: stfld 0x400021E // STAT_INFO::permanent IL_011A: ldarg.0 IL_011B: ldfld 0x400022C // BTL_DATA::stat IL_0120: dup IL_0121: ldfld 0x400021F // STAT_INFO::cur IL_0126: ldc.i4 4194304 IL_012B: or IL_012C: stfld 0x400021F // STAT_INFO::cur
And replace the part corresponding to "Auto-Regen" by something similar, but with the status 8388608 (Protect) instead of 4194304 (Shell).

NOTES:
1) It might happen that the 'ldfld' and 'stfld' 0x... identifiers are different in your version (usually because you wouldn't have the latest Steam patch). Don't copy/paste the above code if that's the case, but write one with your 0x... identifiers instead.
2) You can add several statuses without problem. Using the status 12582912, for instance, will make an "Auto-Mother". In such case, you still need to add the special requirements of each statuses.
3) When editing the CIL code, the targets of the different 'brfalse' (and the other 'br' opcodes) outside of the edited part of the code are automatically updated. However, the target position of 'brfalse' must be carefully verified, even if you copy/paste the code above. It must points to the position right after the end of the corresponding C# "if" block.

Good luck.
Thank you for showcasing how to properly change it! For me I actually wanna change Float and Regen to pretty much protect and shell, I'm struggling on figuring which part is Float and Regen. If you can point out on where the IL_ line of where they both start on and end at that be helpful for me to change them up.
< >
Showing 31-45 of 88 comments
Per page: 1530 50

All Discussions > Final Fantasy IX > Topic Details