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 [7] 8 9 10 11 12 ... 35
151
The correct order is this:
FolderNames = "AlternateFantasy", "MoguriFiles", "MoguriSoundtrack", "MoguriVideo"

If that order doesn't work, then there's a problem with some of the AF files.
You don't necessarily see the problem when using the wrong order, but there are many features of AF that won't be enabled then.

The logs you've shared are not showing any problematic error.

152
Yes.

153
Ok.
Turns out it was easy to update in the end (I could just use Memoria's one-click compiler) so the whole thing is updated now, source code and mod file (that's the Memoria.Scripts.dll file that needed an update).

I saw that I miserably failed and that the source code that was previously shared was the one from a previous version of AF (when it came to the .cs files at least; the .hws surely were up-to-date), so that's also a good thing.

Also, the Memoria.Scripts.dll is now slightly smaller for some reason (it was 50KB and it's now 45KB). Not sure why is that... It might be because I compiled with the Moguri mod installed instead of the Memoria mod, or because there was a couple of updates of the Moguri mod since then... It's surely nothing, but if you spot something weird in battles that weren't there before, don't hesitate to tell me.

154
You cannot use Alternate Fantasy without the Moguri mod or Memoria now (unless you go back to a previous version of the official game, force the game to ignore Steam updates and install a previous version of AF that is not available in the OP anymore).

You can install Memoria only without installing the 8GB of Moguri. Now that you have Moguri, you can attain about the same result by deleting the 3 Moguri folders (in the folder "Final Fantasy IX") and removing their names inside the Memoria.ini.

I've just checked and that was indeed a bug from my end: I forgot to take the multi-target decrease into account in the formula.
So... there's no fix for that now. I don't think I will ever update AF to fix that... I may update the source code though... which would allow people to fix the problem after a relatively easy manipulation... I don't know.

Thanks for warning then.

155
I was planing for a Moguri update to fix that kind of bugs but it might never come...
You can fix it manually by further edits of the "Memoria.ini": in the "[Battle]" section, apply these changes to the related fields:
Code: [Select]
Enabled = 1
EncounterInitial = 0
CountersBetterTarget = 1
SummonPriorityCount = 1
CurseUseWeaponElement = 1
FloatEvadeBonus = 30
CustomBattleFlagsMeaning = 1
SpareChangeGilSpentFormula = Power * Gil / 100
StatusDurationFormula = ContiCnt * (StatusIndex == 31 || StatusIndex == 27 ? 8 * (30 + TargetSpirit / 2) : (StatusIndex == 30 ? 200 : 400))
StatusTickFormula = OprCnt * 150
(More specifically, the bug with multi-single target being as powerful comes from "CustomBattleFlagsMeaning".)

The history of that bug is that "AlternateFantasy/Memoria.ini" should patch the main .ini file, and it works as long as the "[Mod] FolderNames" field is not the latest field of the main .ini. Since the Moguri mod decides for some reason to put that field last, the bug occurs and I had to write a fix for that (such that it'd work even when that "FolderNames" field is last). But for the fix to take effect, one would need to update the Moguri mod with the latest version of Memoria, which haven't happen for some time.

156
The fight with Steiner is one of the "boss" fights I'm the least satisfied with. Indeed, I didn't want to have a "press X to win" fight, especially early game, in order to let the player aware of the difficulty increase (and since everyone is healed before/after that fight), but the solution with the death strike is cheap.
Steiner's AI was made such that he wouldn't use that death strike often or if you're in a dire situation already (so you can always use items), but still, there's no much fun in that fight.

Anyway, good luck with your playthrough.

157
Stutter-stepping reduces (down to 0 if done perfectly) the probability of any encounter, except for the Ragtime Mouse. The other friendly monsters are handled like regular random encounters (except that you can't find them after giving them their item: they are replaced by another random encounter).

The locations and chances for meeting friendly monsters have not been modified in this mod. Only the Ragtime Mouse questions/rewards and the Friendly Yan (when you decide to fight him) have been changed.

158
The mod was designed to be beatable with no sort of grinding.
It was even proved to be beatable in a full lvl1 game (although that requires a lot of luck, retries and planning).

(Congrats @DenisColli btw)

159
 :'(
I'm the one who made that system and its documentation, so that's my example of a supporting ability that avoids fatal blows (and give auto-Berserk + Reflect + Vanish when triggered) at the cost of 1/2 trance gauge.

There is no other "documentation" for this system than the one present in the file.
In order to understand more flags and codes, you'd need to read Memoria's version of the source code of the game (especially SBattleCalculator and more generally the classes in Memoria's Battle folder, btl_cmd, btl_init, ff9level, ff9play, btl_abil...).

160
@DenisColli:
For the supporting ability, that's not so easy because you can't store the elemental properties of the target somewhere for temporarily change them (if you change them, it'd be for the rest of the battle)... I would say something like that should do the job, in AbilityFeatures.txt:

Code: [Select]
>SA 32 Your custom elemental resistance reduction
Ability WhenBattleScriptEnd EvenImmobilized
[►code=Condition◄] (TargetAbsorbElement & AbilityElement) != 0 [►/code◄]
[►code=EffectTargetFlags◄] EffectTargetFlags & 253 [►/code◄]
Ability WhenBattleScriptEnd EvenImmobilized
[►code=Condition◄] (TargetGuardElement & AbilityElement) != 0 [►/code◄]
[►code=EffectFlags◄] EffectFlags & 191 [►/code◄]
Ability WhenBattleScriptEnd EvenImmobilized
[►code=Condition◄] (TargetHalfElement & AbilityElement) != 0 [►/code◄]
[►code=HPDamage◄] 2 * HPDamage [►/code◄]

(Remove the black triangle signs ►◄ in the actual code; I had to put them for avoiding the forum's tag.)
"EffectTargetFlags & 253" prevents HP recovery of any kind and makes sure that the HP modifications, if any, are damage.
"EffectFlags & 191" removes the Guard flag; however it may have done side-effects before removal. For instance, elemental magic that have a chance to add a status will never add the status if the target is guarded. This will remain, unless changed in the .cs scripts.

About the status effect, I don't understand the question...
If you change the status effect of a spell for instance, then it will switch the whole status effect, including "animations" (icons, change of color, animation freeze...). Changing the property of a status effect property, in StatusData.csv, does not change its animation.

@heretic667: Do not use the "CIL Code" part of HW anymore, unless you know what you're doing, as there are way better ways to change the game's code than that.
The code it refers to is that one : EIcon.cs.
Either you take Memoria's dev version (which means that you download the github repository and install Visual Studio for compiling everything... which can be very tedious especially if you're not a programer), or you download the tool dnSpy (available on the internet) to change the code of your game's "Assembly-CSharp.dll". In the later, the method you're looking for can be found inside "Assembly-CSharp -> Assembly-CSharp.dll -> {} - -> EIcon -> PollCollisionIcon". Once you've found it in dnSpy, right-click for "Edit Method" and let the method always return false (writing "return false;" as the only line of the method for instance).

@Rikku: No, Beatrix is not recruitable in the PSX version of the mod.
The description of the PSX version can be found here.

161
Yes, Beatrix has a trance now.
About giving passive skills to Marcus, Eiko would indeed learn the slots that Marcus learn... I'm not sure of the effect of the code "UnlearnAbility" in that regard: maybe you can use it in the field script of Conde Petie's Mountain Pass when Eiko joins the team for the first time, I *think* that it will reset the AP to 0 even if the corresponding skill ('s slot) was not fully learned.

162
More precisely, you need 98 jewels for the +49 bonus (+1 every two jewels, except for Atomos for which it's +1% every 4 jewels and +1% every cast).

163
That is hard to believe :o
I've double-checked and the number displayed is the same as the number of HP heal. There is no possibility for Chemist to modify one without modifying the other.

164
If you can't run it, it is very dubious that you can build it in this situation (besides, installing Visual Studio is far worse than having Wordpad if you go that way).

You do have the DLLs packed with the download link of HW next to the program, right? "libfbxsdk.dll", "ucrtbased.dll" and the "wx" DLLs? You may try to use my version of msvcp140.dll which is slightly newer than the versions on the website above, but I don't expect it to work...

The DLLs used directly by HW are the ones packed with it in the download link plus:
- OPENGL32.dll
- GLU32.dll
- USER32.dll
- KERNEL32.dll
- VCRUNTIME140.dll
- api-ms-win-crt-stdio-l1-1-0.dll
- api-ms-win-crt-runtime-l1-1-0.dll
- api-ms-win-crt-filesystem-l1-1-0.dll
- api-ms-win-crt-string-l1-1-0.dll
- api-ms-win-crt-convert-l1-1-0.dll
- api-ms-win-crt-heap-l1-1-0.dll
- api-ms-win-crt-math-l1-1-0.dll
- api-ms-win-crt-time-l1-1-0.dll
- api-ms-win-crt-locale-l1-1-0.dll

Maybe try (re)installing these. The DLLs put in HW's folder have priority other the DLLs installed in your system directories, so you should just download clean DLLs and put them in HW's folder to test if it works before replacing any of your system files (and maybe never replace them at all if HW is the only program with problems).

165
@DenisColli: It's all explained in the "Readme.txt".
When you "Save Steam Mod" (generating spreadsheets and assets), you'll get many of the files of AF but not all of them.
All the other files, except one, are to be picked directly from AF's mod folder (not the source); for instance, the file "DictionaryPatch.txt" was written by hand so you can consider it as part of the source.
The last file that is neither generated by HW nor created "by hand" is the "Memoria.Scripts.dll". The source code of that file consists of the .cs files in the folder "Source/Battle" of AF. Check the documentation of Memoria to see how to generate the DLL from these files (basically, you need to replace the folder "StreamingAssets\Scripts\Sources\Battle" by the one from AF, then run "StreamingAssets\Scripts\Compiler\Memoria.Compiler.exe": if everything goes fine, the program should tell you so and the "Memoria.Scripts.dll" should be (re)generated in the parent folder).

166
So... as you've seen, I am not responsive anymore. I'm afraid that it won't get any better in the future.

@ChikoLad:
1) You can batch import multiple script files at once; they need to be named "something_number.txt" and you have to write "something" or "something_" in the file selector. You may also merge the text files into one big file.
2) The "Inactive" animation might be not automatically preloaded (that's the case for the "SetJumpAnimation" but I don't remember about "SetInactiveAnimation"): you can force the preloading by using lines "SetStandAnimation( Your inactive animation )" then "SetStandAnimation( The normal stand animation )".
3) I don't know about the model exporter. It used to work (export as FBX) on pretty much all the models listed in the archives (you must export the "GameObject", always). Exporting as OBJ or others might work but usually with much data loss in the process (typically, animations are not exported).
4) The model importer, however, doesn't work well. You can do very few things that would work (modifying animations and moving vertices should be OK) and you must absolutely keep the same hierarchy as exported: you can't add/remove bones and things like that, and you must be careful that the model editor you use (I'm not sure if there's a free one that works) doesn't automatically change the hierarchy.
5) When you add/remove enemies from a battle, you must change the "Group" settings and the scripts accordingly. Typically, the "InitObject" lines of the "Main_Init" function of the script, and create script codes for the enemies you add (out of the script window "Edit Entries" and reflect the add/remove there, then in the script window right-click on the list of functions and add functions there).
6) You are correct about "AddParty", "RemoveParty" and such. I guess that you just missed several lines in the Prima Vista's cargo room because there are several moments at which the party is set in that field (IIRC, it's setup twice at the very start, then once right before the battle then once again after). Also, be sure to setup Freya's datas with "SetCharacterData".
7) I'm not sure if changing the orientation with a "AttachObject" line is possible.
You might be forced to completly change the system: use a variable that, when set on, changes Freya's position and orientation to the ones of the chocobo every frame, like this:
Code: [Select]
Function Freya_100
    if (CustomVar_FreyaRiding) {
        MoveInstantXZY( GetEntryPosX( Choco's entry ), GetEntryPosZ( Choco's entry ), GetEntryPosY( Choco's entry ) )
        TurnInstant( GetEntryAngle( Choco's entry ) + 60 ) // 60 is an example there, adjust it
        // Optional: have Freya's animation depend on the situation
        // I don't know what to use to replace "Is Choco Running": you may use "IsButtonDown( 16 | 32 | 64 | 128 )"
        // or write the XZY pos of choco in custom variables and compare the old/new position each frame
        if ( Is Choco Running ) {
            SetStandAnimation( Riding_Move ) // Animation of Freya when Choco moves
        } else {
            SetStandAnimation( Riding_Normal ) // Animation of Freya when Choco doesn't move
        }
    }
    Wait( 1 )
    loop

@RacketyEsperus:
I'm not sure; you seemed to have done things properly...
Maybe double-check that the "Wht Mag" you changed is the good one? Like maybe you mixed Dagger's and Eiko's command? But that doesn't work for "Blk Mag"... So maybe you didn't install your mod properly after generating it.
Best way to have more abilities in the commands is to use the Moguri mod or Memoria Engine mod: with these, many datas are read as .csv files (excel-like files that can also be opened with a text editor). The file for that is "Data\Characters\Commands.csv". HW can generate these .csv files if you choose "Save Steam Mod -> Spreadsheets" that can then be used by Memoria.
We can't make a Waterga Sword because of our lack of knowledge on the format of the spell animations.

@trostboot:
It *might* be because of a deprotection patch that is applied to your german version of the game (Paradox patch).
One of these compresses datas and make them impossible to edit with HW, although it should warn you when opening the game instead of bugging like that.
In any case, it is very strange that "Open -> FF9_German_CD1.bin -> Do changes in HW -> Export as PPF -> Apply that PPF with PPF-O-MATIC on FF9_German_CD1.bin" would lead to an error "Bin/block check fails" or such... A small part of the binary file is copied in the PPF when generating it with HW and it's then compared to the file you want to patch with PPF-O-MATIC, so there shouldn't be any difference whatever you did in HW...
I have worked with the german version of the PSX game, but never did a HW update specifically for that version for what I remember...

@mythikdawn:
Unfortunatly, that's a problem I oversighted when including the randomizer inside HW... also it wouldn't be so easy to solve ><
What you can do is to apply the randomizer for disc 1, then "Save as HWS", then for each other disc, apply the randomizer + "Open Mod -> the HWS of disc 1" (in that order); no need to look for the random seed that way.
Alternatively, you may want to use Meteor on FFIX instead for the PSX version, even if it has a couple of differences...

@MysticLord:
I didn't know that MSVCP140.dll was required for running HW... It looks like a developer library (Microsoft Visual Studio C++) although you never know with Microsoft.
Anyway, downloading only the DLL (here for instance) and putting that DLL in the same folder as HW should make it work, or at least throw a different message.
Windows 10 is the most suited operating system to run HW since it was compiled on that OS.

@OmegaBattle:
You may save your mod using 4 different ways:
- Save Mod (PSX and PC): save the game datas and the modifications inside a file that can only be read by Hades Workshop without modifying the game’s disc image. This is the most preferred way of saving modifications when you don’t want to apply them at once.
- Export as PPF (PSX): basically does the same as makeppf.exe (only faster): create a PPF3.0 file that can be applied to a disc image using the appropriate tool. You should never use this method if the file on your hard disc has been altered (using Hades Workshop or any other tool). This is the most preferred way of saving when you want to share your modifications.
- Overwrite Binary File (PSX): save the modifications inside the disc image for a ready-to-go game. The modifications can not be undone. This is the most preferred way of saving when you want to test your modifications and have a backup of the original file.
- Save Steam Mod (PC): duplicate the Steam files and apply your modifications to the duplicate. Replacing the Steam files by the created ones will enable the changes. May also generate "Spreadsheets" and "Raw Unity Assets" files instead that can be used as a Memoria mod (to be configured in "Memoria.ini" when Memoria is installed).

167
No, I didn't add critical strikes to Mug.

In order to make a mod with HW that is compatible with Memoria, you have to open HW on a vanilla copy of the game and generate "Spreadsheets" + "Raw assets" when saving as a Steam mod (then register the folder generated in Memoria.ini).

Yes, the defense/attack points are important. With late-game armors, you can see the big difference in damage compared to someone with a mid-game armor. The defense of enemies are almost always the same, 10 (12 in AF) but some of them have a higher defense (for instance, a very slight raise in magic defense makes the enemy immuned against Drain/Osmose in vanilla).

AF has been thought to be beatable without any form of grinding. Someone even proved it to be beatable at lvl 1.
The bonus you get from stat boosts is not that important, in particular because Str/Mgc/Spd/Spr don't change this "Attack - Defense" part of the damage formula. The best boosts you gain with this mechanics are a boost in Max HP/MP, ATB speed and various things from Spirit (a bit less in AF since the Spirit has much less impact on status durations and ticks).

168
Great @LeOsTyLe  8)

@DenisColli:
1) Both are the same tool. The Github link is always the most up-to-date but the Nexusmod link is not far behind.
2) I have not tested it and I am personally not bothered at all by the system of stat increase in FF9 (but I know that several people are). I think that the solution offered is the best for people who want to get rid of this system (and use AF).

169
I was wrong with the path. Well done correcting it.

170
Hi.

@DenisColli:
Yes. You need the latest Steam update AND you need to install the Moguri mod (or Albeoris's Memoria mod), as explained in the "readme" file.
It is very dubtous to have a black screen at launching because of the mod. The "Memoria.log" file may give some insight of the problem, it might be because one of the files in the "Data" subfolder has been somehow corrupted.

@LeOsTyLe:
1) I think that there is a mod for that on Steam. At worst, you may create that mod yourself (it's rather simple now thanks to Memoria):
%u2023 Get the icon atlas (I obtained it with Hades Workshop's tool "Unity Assets Viewer" from the "sharedassets2.assets", but you don't have to care about it),
%u2023 Replace the icons of the buttons on the bottom-right of the image,
%u2023 Put the atlas file in a folder "PSXButton/embeddedasset/ui/atlas" with the folder "PSXButton" being placed inside FF9's folder. Also, remove the ".png" extension such that the image is named "icon atlas",
%u2023 Add "PSXButton" to the list in Memoria.ini's "[Mod] FolderNames" field.
Hopefully, the PNG compression will not create ugly marks on the icons in-game. If that is the case, try saving it with a looser compression.

2) The mod is fully translated into all the available languages (including japanese). Added dialogs will not appear in english nor crash the game but they will appear in german as long as you play in german.

171
The latest version of HW tries to make it a bit more clear about Memoria's current requirements (in "Additional informations" when you save a Steam mod).
Basically, you must generate spreadsheets and raw assets, put the folder containing them in the directory of the game and then register that mod folder in Memoria.ini.

Moguri requires the modification of Assembly-CSharp.dll through Memoria and it would require it even if it didn't rely on Memoria, so it couldn't be easily compatible with any gameplay mod if there wasn't this system of registering mods in Memoria.ini.

172
Importing and compiling the scripts of all the fields takes some time; you have to wait.

173
"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.

174
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:

search:
set Setting_PartyReserve = [0-9]*
replace:
set Setting_PartyReserve = 255

search:
AddParty\(([1-9][0-9]*)\)
replace:
\( AddParty\(4\) || AddParty\($1\) \)

search (no regex):
AddParty(0)
replace:
( 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.

175
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.

Pages: 1 2 3 4 5 6 [7] 8 9 10 11 12 ... 35