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 - Tirlititi

Pages: [1] 2 3 4 5 6 ... 29
Importing and compiling the scripts of all the fields takes some time; you have to wait.

"AddParty\(([1-9][0-9]*)\)" as a regex should read as:

"AddParty" -> simply the string,
"\(" and "\)" -> catch a parenthesis,
"(something)" -> save the string inside the parentheses for replacing it using the "$1" code in the replacement string,
"[1-9]" -> catch exactly one figures but not 0,
"[0-9]*" -> catch 0 or more figures.

So the whole expression catches "AddParty( some number but not 0 )" and puts back that number in the replacement string in place of $1.

Regex (regular expressions) may vary from one program to another (most of the thing is standard though). This syntax works well with Notepad++ for instance.

I just answered on the Steam forum. I reproduce my answer here if other people are interested:

0) [Optionally] Configure the languages in "File -> Preferences"; the single-language mode will make loadings go faster (and the script file smaller in size),
1) Open the game's FF9_Launcher,
2) Go to the "Environment -> Fields" panel,
3) Use "Batch -> Export Field Scripts", let all the fields ticked and export them into a single file for simplicity,
4) Using a good text editor, open that script file and search/replace regex expressions using the followings:

set Setting_PartyReserve = [0-9]*
set Setting_PartyReserve = 255

\( AddParty\(4\) || AddParty\($1\) \)

search (no regex):
( AddParty(0) || AddParty(4) )

... and I think that should be good,
5) In Hades Workshop, "Batch -> Import Field Scripts"; there shouldn't be any error but tell me if there is,
6) "File -> Save Steam Mod" will generate a couple of files but you are interested only in the p0data7.bin (that's the archive containing all the scripts): replace the game's file with it, having a backup for safety.

I *think* this should counter all the problems you can have with this kind of party modifications. Indeed, there are parts of the game (Oeilvert, Ispen Castle...) in which you are supposed to have 4 party members for the cutscenes, so you can't just remove everyone but Freya. The battles that would normally be solo Zidane (Baku, Black Waltz 1 and Amarant... I don't see any other) will be with both Zidane and Freya (again, that's not a good idea to remove Zidane from the team carelessly). And I think that the battle against Plant Brain should be without Blank then... but Plant Brain's AI script seem to be able to handle that case without problem (it will simply be a battle with 1 phase instead of 2).

Of course, you can replace Freya by any other character. In the 2nd and 3rd search/replace,
use "0" instead of "4" for Zidane,
use "1" instead of "4" for Vivi,
use "2" instead of "4" for Dagger,
use "3" instead of "4" for Steiner,
use "5" instead of "4" for Quina,
use "6" instead of "4" for Eiko,
use "7" instead of "4" for Amarant,
use "8" instead of "4" for Beatrix, also use "511" instead of "255" in the "Setting_PartyReserve" line.

I am not sure of how it would work for Quina/Eiko/Amarant because of the shared slot character though...

For replacing the character on the field, that's more complicated because Freya doesn't have all the animations that Zidane has (I don't think that Freya can climb ladders for instance)... It would go pretty much the same way as above but searching for lines:
"SetModel( 98, 93 )", replace by "SetModel( 192, 94 )", but also
"RunAnimation( [Some Animation ID] )", replace with a corresponding animation ID for Freya,
the same for "SetStandAnimation", "SetWalkAnimation", "SetRunAnimation", "SetLeftAnimation", "SetRightAnimation", "SetInactiveAnimation", "SetJumpAnimation", "RunAnimationEx".

The list of animation IDs can be found there (Freya's animation file names start with "ANH_MAIN_F0_FRJ_" and Zidane's start mainly with "ANH_MAIN_F0_ZDN_" (sometimes it's another number after the "F")).

As you can see, your questions are everything but simple :p
It's a hard problem to determine whether a problem is hard or not.

Hi DV.
You need to go to the "File -> Preferences -> Steam" and disable the "Single language mode".
When enabled, only one language is loaded, which makes it faster (in particular when loading the fields), but then you can't change the option after opening the game.
The "auto-translate" thing is always grayed out though and will probably never be done, unless someone else codes it.

Thanks for the playthrough!
No problem about the frustration, I perfectly understand. You didn't see my frustration when I saw you were doing something and I would have played differently :p

That's not a glitch on Necron for once. It's something that happens if you have recruited Beatrix: one of the characters at random gets 2 "vital force" and that character gets a Max HP boost for the final battle.

Just wait for the Moguri mod to update to the forthcoming Memoria update: compiling everything from your end is rather tedious (plus there are a few bugs).

Hum... It might be possible with a new feature of Memoria.
Even if it works though, it could only be used for adding new spell animations to abilities of player's characters because you can't pick unused spell animation IDs for enemy attacks with the "Set Spell Animation" code (you can do that when the "SFX" code is used though and I'm not sure of the difference between those two).

If you have the latest version of Memoria (the launcher was updated to show several options from the Memoria.ini so it is easy to see; it looks more like this currently), you can:
0) Pick the ID of one of the unused spell animation... careful because there are many IDs that do not appear in HW and are still used (everything that goes directly after "[Attack-1...]" or "[Weapon-Attack-1...]"; I guess that 379 is really unused though),
1) Modify "Slow" as you wish in HW without worrying of overwriting the existing one,
2) "Save Steam Mod" and export things as "Raw assets" instead of archives,
3) In the created files, search for "Resources/SpecialEffects/efXXX" where XXX is the ID of the Spell Animation you changed (for Slow, it's ef126),
4) Copy that file into a new subfolder inside the game's folder; the path should be something like "Final Fantasy IX/MyMod/SpecialEffects/efXXX" where "MyMod" can be replaced by whatever you want; also rename the file so that the XXX id fits the unused one (379 for instance),
5) In Memoria.ini, add "MyMod" to the list of mod folder names (the field should be something like:
FolderNames = "MyMod"
6) In the .csv files that are generated for your final mod, modify the "Actions.csv" to use your custom spell animation ID instead (in the column "animationId1" or "animationId2").

Hopefully, the efXXX file is the only thing required for such spell animation and it will not bug in-game... but I'm not even sure that will work at all.

No, Tantarian still gives Exp since it is part of the reward for beating it.
Hum... I guess I'll make him sensible to Stop once it reaches 1/4 of its Max HP. Seems the best solution for me as I don't want to remove the Exp but also lvl 1 playthroughs should be allowed to kill it.

Yes, perfect stats are completly different (although I didn't compute the new optimal stats). I guess that you can reach 99 Str/Mgc with more people. There are very few equipment stat changes besides the perfect weapons (and the Hammer) and I don't think any matters the optimal equipment route.

No, the Marcus (french spotted :p) -Eiko glitch was not fixed. I decided that it wasn't for this mod to fix it. It might be (optionally) fixed in a next version of Memoria.

Hello This_is_Seager.

No, the mod doesn't affect the lvl up or stat growth system. It removes a couple of experience that would be otherwise impossible to avoid though ("You're not alone" segment). A lvl 1 game was proven to be possible with the mod although it has very tedious parts.

As for the vanilla version, it doesn't really worth the hassle to make a lvl 1 playthrough except for the achievement itself.
The ultimate weapons of the different characters give a big boost in the main stats though and they can give some points overall.

Thanks for the report of the bug, obtusedan. I'm not sure of why Blue Shockwave would heal... I have seen very strange things on Necron's fight, with damage overflow and things like that. I'll have to do some tests with the Moguri/Memoria mod because I used to make my tests mainly on the standalone version and I've oversight many bugs because of that.

Neutron Ring being an Earth-elemental attack, characters can be guarded against it.

@pseudodiego: I didn't want to give an ETA because it depends on many things, but I have progressed well these days so I guess that it could come out by the end of the month.

I don't get what's your problem, ToraCarol.

Is that something with the text formatting? If yes, then that's the text you use that you should show, not the script.
Usually, you must have a [MULTICHOICE] and [INDENT] opcode at the start of the first line of the multiple choice, then an [INDENT] at the start of each subsequent line, so it would be something like this in the editor:
In-game, µ is not a printable character (in the PSX version), so I guess that what you showed was the text in HW.

The [INDENT] opcode is there to give some space to the hand image and avoid it to be placed over the text.

I can't see your image.
For Enemy Spell Animations, it all depends on how the effect is triggered. The "Run Spell Animation" and "SFX" codes should give the hand to a generic "Spell Animation" and thus show the numbers every time. However, for both of them, it's not possible to have two different generic "Spell Animations" running at the same time. I could make a two-hit attack with Kraken using a "SFX" after a "Run Spell Animation" (Bubble-gun + Leg), but it requires some time gap between the two to have them work correctly.

For the "Effect Point" of Enemy Spell Animations, it doesn't seem to ever trigger the "Figure point" by itself. You can indeed change that using dnSpy to change that behaviour. The simplest is to display the figures at the same time as applying the effect (it may look a bit odd because the figures are usually delayed a bit, but it makes things way simpler). In the method "btlseq.SeqExecCalc", add a "btl2d" line:
Code: [Select]
public static Int32 SeqExecCalc(SEQ_WORK pSeqWork, BTL_DATA pMe)
CMD_DATA cmdPtr = pSeqWork.CmdPtr;
UInt16 tar_id = cmdPtr.tar_id;
for (BTL_DATA next =; next != null; next =
if ((next.btl_id & tar_id) != 0)
btl_cmd.ExecVfxCommand(next); // Effect point
btl2d.Btl2dReq(next); // Figure point
return 1;
I didn't test it but that should be ok.

Sounds are AKAO, which is a common format to at least FF7/FF8/FF9. I guess there are programs to rip them yes, although I've never cared about it (there are a couple of people who extracted all the PSX sounds though so that's definitely possible).

@Clem Fandango: I don't know that bug.
Are you sure that this "loop" function is what makes Zidane big? If you remove it (or keep only "return"), then both the monster and Zidane get regular sized?
If yes, you can try to use something like this instead of "set SV_FunctionEnemy[MODEL_SIZE] =$ 6144":
Code: [Select]
set 16[MODEL_SIZE] =$ 6144Use "16" for the first enemy, "32" for the 2nd, "64" for the 3rd and "128" for the 4th. It may be not the best way to do (if you have several Plastique in the fight, they share the loop function... there should be no problem having a line for each one of them). At least, you can see with that if the problem comes from "SV_FunctionEnemy" for some reason.

Also, double-check that your enemy groups have the correct number of enemies (and with proper enemy type) and that the "Main_Init" function creates them properly as well, with the correct IDs.

1°) Yes, there should be no problem copy/pasting a Ghost in the list of enemies for that battle so you have two different Ghosts; the game doesn't care if they have the same models or such... Just maybe uncheck the option "Edit similar enemies" when you do that. Once your super-ghost is given a different level or name, though, you can enable back that option because it won't be considered similar to the other ghosts by HW anymore.

2°) You can't do that by default unfortunatly :/
It goes down to the functionalities implemented in btl_scrp. You can see that you can access to the status properties ("GetCharacterData", cases 42-45) but can't modify them ("SetCharacterData", there's no cases 42-45). In AF's source files, there are codes for improving that part though and, in particular, let scripts be able to do that, so you can mod the DLL to add (at least) that feature and then use it in your HW scripts. I am not sure how we will implement all the features I need for AF in a next version of Memoria but it can be safely assumed that for statuses it will be implemented like that (for the new features that were not present at all, such as modifying a spell's stat during the battle, I may make it optional or external...).

3°) The 3D models of their attacks' SFX? You can't. They are not in a format that could be recognized by any model ripping software :/
However, Tasior2's FF9 Reverse tool was able to get a couple of very specific SFX models very well, but it's limited (IIRC, the "Correct answer" and "Wrong answer" SFX of the Ragtime Mouse were amongst the only ones to be read thanks to it).

Wait... You don't need Hades Workshop to install the mod.
Hades Workshop is needed only if you want to recompile the mod from scratch (if you want to append your own modifications for instance). Otherwise, it's only a matter of replacing files and there's no HW involved.

Did you download the link "Steam Version" or "Source files"?

Because if you recompile the mod from the source files, you need an extra step using another tool, dnSpy, on top of HW. That's strange because all of that would have been written in the Readme.txt if you downloaded the source files.

That's very strange... I'm out of guess (especially considering that you don't have the Moguri mod and thus there is no reason for compatibility issue to happen: the official's version stopped updating a while ago and the mod's files are up-to-date).

Oh, I just thought! Maybe you use that setting:
- a backup folder "FINAL FANTASY IX" with nothing installed in it,
- a game folder "FINAL FANTASY IX Modded" or whatever different name, from which you launch the game.
The problem is: even if you start the game from "FINAL FANTASY IX Modded", it will always go pick files from the "FINAL FANTASY IX" folder (the name is what matters there).
If you're in that situation, simply swap the names of the folders so that the version you play with is always inside the folder called "FINAL FANTASY IX".

Maybe that's because you installed the Assembly-CSharp.dll at the wrong place (it can be either "x64/FF9_Data/Managed" or "x86/FF9_Data/Managed"; use both for safety). The reason it would bug for 5.0 and not 4.5 is that there is a change on that screen with Hades in 5.0 that require the DLL to be properly installed and not in 4.5.

Other than that, there's a bug with black screen for the Steam version of the game (that's not the mod) but it should occur randomly, not always at the same point, and more likely when battles start instead of field transitions.

Hi Pseudodiego,
Well, considering that increasing the damaging and protecting stats of the enemies (or lowering the party's) can be balanced by leveling up and longer battles, it wouldn't make the game impossible to beat. So you can do it like this if you want.
In Unleashed, another change was to remove the elemental absorbtion of the equipments and most of the elemental nullifications. This would be needed as well for an "Unleashed" experience since there are several bosses that are not a threat anymore with a proper preparation, even with boosted stats.

Thanks, I copied a wrong link and used a wrong tag indeed ^^"
I fixed the link now.

I *think* that if you installed the Moguri mod then the Beatrix files, then you'll have at best plenty of features of the Moguri mod missing and at worst fatal errors or soft locks. If you installed the Beatrix files then the Moguri mod, you should have a working Moguri mod but many problems with Beatrix (trance will bug, supporting abilities may not work, the added optional bosses will bug...).

So you should probably wait for an update yes.

These are common (and very tedious) errors triggered by dnSpy... For some reason, it doesn't accept many implicit type-cast although it forgets to write them when generating the C# code before you're allowed to edit it.
Code: [Select]
uint i = 1;
ushort u1 = i;
ushort u2 = i+1;
This will possibly be an error for both u1 and u2 because they don't have the proper byte length. The fix for that is to force the type-cast:
Code: [Select]
uint i = 1;
ushort u1 = (ushort)i;
ushort u2 = (ushort)(i+1);
Since the problem repeats everytime you try to edit a method or a class (even if you already fixed it on a previous edit), I took the habit to copy-paste codes in my text editor and do the changes there, then copy-paste back the code in dnSpy and keep the code saved somewhere for subsequent modifications.

For the class btl_calc, you can use my dropbox version (if you don't use Memoria): it has fixes for these dnSpy errors and makes things more readable without any change in the system.

Found it. Their list is in the file "SpecialEffectMetaData.txt" in the resources.assets.
They are listed depending on the special effect (there are usually many of them for a single special effect). For instance, sounds used by Thunder-Slash-1 (ID 191) are:
Code: [Select]
It's the exact same sounds used for Thunder-Slash-2 and Thunder-Slash-3. I don't know if you have access to the spell effect IDs in HW (I think not) but they are listed there.

If I understood correctly, sounds in the meta-data are listed by their order of usage.

I was not able to do that with Hades Workshop. I did that with dnSpy.
Everything is explained in AF's source files (the download link is in the opening post).

I don't know if that one would be easy. It should be possible.
However, I won't do it myself. I've pretty much left modding and starting to study the Android version is way more work than I allow myself to do now.

Hello Hinyaldee.
No, it's not possible for me to create a mod on PSX to include Beatrix as a regular playable character. It would require a change of file size that I can't do. For the Moguri mod, it's even worse because it would require a very deep modification of the game's engine which has as much chance to happen one day as having FFXV ported to PS1.
There are gameshark codes for hacking Beatrix into the party though (without cutscenes and all, but at least she can be played).

@Nesouk: It has 30 000 HP x 4 = 120 000 HP (each orb corresponds to 30 000 HP).
It can't heal over a threshold so if you got rid of all his orbs, it can't heal to more than 30 000 HP even with Regen for example.

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