[PSX/PC] General editor - Hades Workshop (0.50b)

  • Thread starter Thread starter Tirlititi
  • Start date Start date
Status
Not open for further replies.
I've decided to leave that scene for now and it's been changed back to the original scene. Though I did manage to change Blank to Erin for the Blue Narciss segment.

Not sure if this goes here but...

Later at Ipsen's Castle, there seems to be something odd if you have Beatrix join the party inside.
Quina's missing. I did a separate playthrough earlier with Quina in the party and Eiko was missing. Beatrix was also present in the party.

Seems that Beatrix is overriding something here in a Function.

LYcwuqws_o.png
 
I think I'm just about finished the first draft of what I've been working on for a while now, but I seem to be encountering a freeze whenever I boot up the game from Steam. The launcher works fine, but as soon as I attempt to launch the game it gets stuck on the FF9 logo and doesn't appear to ever get past it, doesn't seem to want to close either. The mod does seem to still load up properly within Hades, so that's good.

Fortunately I've been creating backups of the mod every time I work on it (back after I made a massive mistake in September which wiped a lot of encounter data) so I'm able to go back to a working version, so it's not a huge deal. The thing is, I think the only change I made between my last working state and this crash is a change to what random battles can occur in a few sections of Memoria, specifically I removed the Veteran fights in the area entirely and swapped them to the Ash fights that can appear in the same space. Basically I wanted to get rid of the fights because they're not terribly interesting compared to Ash, even if they're buffed up, plus I figured I might be able to reclaim the fights entirely and possibly use them elsewhere, though I'm not quite at a point where I'm ready to do that yet.

It's entirely possible that there's a factor or something I'm not too sure of that's changed besides this, but so far this is the only thing I've found and I don't remember changing much else during that session. All I've really done is changed the field files for a few spots in Memoria and I didn't have any parse errors or any other input issues that I can see.

Tirlititi, have you ever seen this particular kind of crash before? I haven't really seen the like until now.
 
Yes Clem Fandango, I've encountered such kind of crash before... and when I did, I tried to fix the problem ^^"

If you want to know where it comes from, the first thing is to try launching the game with all the files modded except p0data7.bin (which is the file containing the field scripts). If it doesn't crash with the base p0data7, that's a good point in favor of that Ash/Veteran change having triggered the problem. If it still crashes, then it was something else.

The field scripts are in p0data7 but if it crashes at the logo, then it's not really about the script itself but rather about how the files are packed inside the archive p0data7. I'm afraid you may have encountered a rare bug that happens only at specific settings (a file having a special position in the archive, replaced by an update with a special file size...). I'm not aware of such bug in the latest version of HW, but I expect it to work like that from experience...

Another possibility, that wouldn't make the issue comes from HW, is that you somehow replaced one of the game's files (p0data7 for instance) while HW was opened (and had loaded those game's files). If you do that, then HW will compile the Steam mod files wrongly and pack complete nonsense in the archives. The .hws would not be damaged in that scenario though.

@ApolloGrimoire: Sorry, I don't know about Quina in that cutscene. It's too specific and I don't remember how it is coded in that field :/

@ToraCarol: Text opcodes are things like "[STRT=...]" or "[TIME=-1]" or "[ZDNE]". Basically, everything inside brackets: they are handled specially by the game's text parser and transformed into something else.
 
Hello Tirlititi o/

I got a few tiny questions again (yes, we've talked on steam before ^^)

I'm facing some crash problems with HW
(it closes instantly when loading 1 mod or selecting specific tabs)
while putting on a few finishing touches for a smaller mod.
Am I just not importing and editing tabs in the right order?
I found myself with HW crashing/closing on the 'Enemies' tab a few times, even more when I import a mod file (so i guess the mod file's too old since I made it while using 0.38 and I am now trying to edit the Steam FFIX with the most recent release). Also crashes/closes when i try going into the Steam version's 'Stats' tab to edit character skills/stats data.
Is this common after I just imported 2-3 files from the Beatrix-only mod? (since that's basically the only thing that's on my current steam mod)
IF the cause for HW crashing on my file is because i am trying to edit the game with the Beatrix files present (so the p0data2 and -7 ones)... I got another one:
So, if i would chose to edit the whole stuff for the 'Party' tab, mainly everything about the character data first,
on a clean fresh mod and then copy the Beatrix mod into the folder: Would it end up as overwritten? Just want to figure out a way to work around and put them together in the right working order.

Or could it have something to do with my general software setup or specs (insufficient framework version for instance) that would make the app crash on loading one mod file?

Thanks in advance and have a good time!
Sorry if i blocked too much text in here >_<
There's no rush c:
 
Last edited:
Yes Clem Fandango, I've encountered such kind of crash before... and when I did, I tried to fix the problem ^^"

If you want to know where it comes from, the first thing is to try launching the game with all the files modded except p0data7.bin (which is the file containing the field scripts). If it doesn't crash with the base p0data7, that's a good point in favor of that Ash/Veteran change having triggered the problem. If it still crashes, then it was something else.

The field scripts are in p0data7 but if it crashes at the logo, then it's not really about the script itself but rather about how the files are packed inside the archive p0data7. I'm afraid you may have encountered a rare bug that happens only at specific settings (a file having a special position in the archive, replaced by an update with a special file size...). I'm not aware of such bug in the latest version of HW, but I expect it to work like that from experience...

Another possibility, that wouldn't make the issue comes from HW, is that you somehow replaced one of the game's files (p0data7 for instance) while HW was opened (and had loaded those game's files). If you do that, then HW will compile the Steam mod files wrongly and pack complete nonsense in the archives. The .hws would not be damaged in that scenario though.
I've had some time to mess around with the the various files that are generated by Hades, launching the game with and without the different files, and it seems that the p0data7 file doesn't seem to be doing it, instead it's the modified resources.assets file that's causing it. Based on the the name, file size and some brief searching, this particular file handles graphical/sound data, right? I haven't really tried messing around with anything like that recently.

Basically what I'm wondering is what kinds of modifications could cause changes to that file, I'm holding out hope that it's a fairly small number possibilities to make debugging it easier.

As always, thanks for your continued responses in this thread Tirlititi. I'm honestly terrible at things like scripting and I don't think I could have come as far on my project as I have without being able to refer to your examples and responses in here.
 
@Clem Fandango: You're welcome :)
I'm out of modding, but I really wish that FF9 modding doesn't die with me (well, it won't because Albeoris, Snouz and a few others are doing great without me anyway).

About the resources.assets, it contains various files. Most of them are the text and dialog files. It may be that a wrong text formatting (like missing a [ENDN] or [TIME=-1] at the end of a text) would make the game softlock at the logo.

@rpg-lad: I don't really understand what you're doing, but it is usually safer to open HW on an un-modded version of the game (though the files p0dataX.bin should not be a problem and the robustness to Assembly-CSharp.dll modifications was improved). If the program crashes before reading the enemy datas or while reading the enemy datas, that means these datas are problematic, even if it happens when trying to open a .hws file (the program first reads the datas from the game before doing anything with the .hws).

The correct way to create a mod based on my "Alternate Fantasy: Beatrix only version" is actually to download the source files of the mod (the link is in AF's topic) and read the Readme.txt to see how to use the files there (there are the source files of each version of the AF mod in that archive).
 
Okay, okay, sorry if that was a bit more than confusing.
(I was kinda confused as well about the crashing/freezing while writing that that post up there x.x)

In short, I had HW frequently crashing for the Steam version whenever I tried:
- editing Enemies tab AFTER using a hws file on it
- editing Party(Stats) tabs AFTER applying a .hws file or Beatrix Mode files (p0 2 + 7) on it

Since problem #2 would prevent me from editing most stuff under 'Party' (including stats for Bea) until I remove it (or use a fresh base),
I just wanted to know if the data of p0data 2 & 7 would overwrite each other after
Applying the .hws mod on top of Beatrix Mode or vice versa
?
Or is it safe to apply my own .hws separately on top a Beatrix Mode Steam mod, after I've worked everything I wanted to change out?
So my main point here rn is just checking out about the capacity of modded stuff I can stack
on top of each other. without overwriting things that might store data in the same file (my main concern rn)
before putting on the other touches per dnSpy.

I hope I didnt write it up too complicated this time x_x

My planned order of work looked like this:

Beatrix Mode Import > Party/Inventory/Tetra/Fields tab changes > Enemies > formulas and other stuff that need help of dnSpy
 
I don't know why that's happening to you.
Your planned order of work looks fine if "Beatrix Mode Import" means that you import the AFBeatrixOnly_v5.0.hws on a clean non-modded game.

You should do this:
1) Import the Beatrix HWS file, do the modifications you want, save as HWS (the .hws will contain both Beatrix's changes and your own),
rather than that:
2) Do the modifications that you want, save as HWS (your modifications only), import the Beatrix HWS and then your modifications again.
Indeed, it is possible to import several HWS one after the other but the latest import will have priority for everything that is common to both mods. For instance, if you modify any of party's spells, all of them will be stored in the HWS file (not only the bit you've changed). You can see in the "Tools -> Mod Manager" how each section is splitted (for instance, if you modify an enemy's HP, all the other enemies are not stored in the HWS and even that enemy's AI script won't be).
 
Hello Tirlititi, Do you have the address of VWF font of Final Fantasy IX PSX version?
 
I don't know why that's happening to you.
Your planned order of work looks fine if "Beatrix Mode Import" means that you import the AFBeatrixOnly_v5.0.hws on a clean non-modded game.

You should do this:
1) Import the Beatrix HWS file, do the modifications you want, save as HWS (the .hws will contain both Beatrix's changes and your own),
rather than that:
2) Do the modifications that you want, save as HWS (your modifications only), import the Beatrix HWS and then your modifications again.
Indeed, it is possible to import several HWS one after the other but the latest import will have priority for everything that is common to both mods. For instance, if you modify any of party's spells, all of them will be stored in the HWS file (not only the bit you've changed). You can see in the "Tools -> Mod Manager" how each section is splitted (for instance, if you modify an enemy's HP, all the other enemies are not stored in the HWS and even that enemy's AI script won't be).
Will do after holidays, thanks o/

I re-checked out the first prob I posted in my previous post (about HWS 0.41c freezing while reading the Enemies tab after importing .hws mod).
Just wanted to strike that one from the list. Apparently it's because the mod file I applied was indeed from an older .hws mod using HWS version 0.38.
Using mods created in the current version worked totally okay and don't cause crashes.

So this left the only major problem with HWS in any version simply shutting down,
that being post-importing Beatrix Mode 5.0 and either importing a .hws containing any changes for 'Party' tab or simply reading the 'Stats' tab, both cases in a freshly opened 'Beatrix Mod'.

Anyways, happy holidays o/
 
Sorry for another post,
but I can't use the edit function on my previous posts, yet need another pointer
as I noticed I lack any form this file you mentioned.
Your planned order of work looks fine if "Beatrix Mode Import" means that you import the AFBeatrixOnly_v5.0.hws on a clean non-modded game.
I don't have a AFBeatrixOnly_v5.0.hws (I don't remember there being any in the .zip if downloading it)
or any .hws that contains the data from that mod yet.
Also can't create it right away after opening (I suppose that requires having the app reading the tabs first...which brings me back to the crash problem in Party > Stats))
With 'Beatrix Mode Import' I was actually referring to a separate file where as I imported and replaced the files in the game folders as instructed in the 'ReadMe'. Just to clarify that. c:
 
Hi Tirlititi

Is it possible in the PSX version to remove the little icon that appears when you caste Haste or Auto Haste on the characters? The little green arrow. I've looked through the options in the tool and its not apparent to me.
 
@gledson999: The VWF is not in a standard format (you can see its format here).
I don't have all my FF9 datas available for some time, but the file is a 0x0D chunk that is approximately at position 0x3cb048 (it depends on the disk and the language; 0x3cb048 is the disk 3 of the french version). For informations on chunks and cluster datas, you can check Qhimm's wiki.

@rpg-lad: As I said, you can't mod on top of the Beatrix mod if you don't use the source files of the Beatrix mod. That's this download link.

@anxietymafia: Not to my knowledge, no. You can try to find that icon in the "Environment -> Texts -> Generic UI" and edit the image to remove the icon (I don't remember for sure but I think that you can draw pixel by pixel in HW on these images).
 
@gledson999: The VWF is not in a standard format (you can see its format here).
I don't have all my FF9 datas available for some time, but the file is a 0x0D chunk that is approximately at position 0x3cb048 (it depends on the disk and the language; 0x3cb048 is the disk 3 of the french version). For informations on chunks and cluster datas, you can check Qhimm's wiki.
Unfortunately couldn't find it, could you tell me the exact location on offset of FF9.IMG file?
It would help me a lot if you did it for me, thanks.
 
anxietymafia: Not to my knowledge, no. You can try to find that icon in the "Environment -> Texts -> Generic UI" and edit the image to remove the icon (I don't remember for sure but I think that you can draw pixel by pixel in HW on these images).
Great thanks i’ll try that.
 
@gledson999: Here are the offsets of the charmap file, in the PSX US version.
Disc 1: 0x3C5478 and 0x7B59AC
Disc 2: 0x3C5DA8 and 0x7B62DC
Disc 3: 0x3C5DA8 and 0x7B62DC
Disc 4: 0x3C5478 and 0x7AA1EC
The first offset is for the charmap of the "Picture 1" of the "Generic UI" in HW, while the second offset is the important one, for the "Picture 1" of "Charmap" in HW.

As said, the format is given by this stucture:
Code: [Select]
Code:
Unknown, usually 0 (4 bytes)Unknown short int (2 bytes)Unknown short int (2 bytes)Number of characters, short unsigned int (2 bytes)Padding, usually 0 (2 bytes)[    Img_x (1 byte)    Img_y (1 byte)    Img_width (1 byte)    Width (1 byte)] (x Number of characters)
Also, you need to know that these font images are compressed in a 2:3 format, ie. 2 colors produce 3 pixels (a mean color is computed and the middle pixel in the x-axis is given that mean color). The coordinates reflect this compression: a width of 6 in the charmap file actually means a width of 9 pixels in the bitmap.
 
Tirlititi, thanks very much for helping me figure out the issue with my mod was, a couple of weeks ago I managed to figure out that it was a problem in the menu interfaces of all things. Truthfully I'm not entirely sure what it was in the interface, but rebuilding it seems to have done the trick.

I'm getting pretty close to making a thread and spewing the first draft of my project out into the world, but there's one major thing that I'm trying to sort out. I've been trying to replicate your method of refreshing boss HP, but I've been having trouble getting it to work on some of the more basic bosses, like ones that don't die when under 10000 HP due to a script. Here's what I've got for my Lich script, for example:

Code: [Select]
Code:
Function Lich_Loop    while ( GetBattleState != 1 ) {        Wait( 1 )    }    if ( VAR_GlobUInt8_24 == 0 ) {        Wait( 15 )        RunBattleCode( 36, 9 )        Wait( 10 )        BattleDialog( 12 )        Wait( 60 )        BattleDialog( 13 )        Wait( 75 )    }    RunBattleCode( 35, 0 )    while ( GetBattleState != 4 ) {        Wait( 1 )    }    if ( #( SV_FunctionEnemy[HP] <$ 10000 ) ) {        if ( VAR_LocUInt8_60 < 1 ) {            set VAR_LocUInt8_60++            set SV_FunctionEnemy[HP] =$ 40000        }    }    return
This is after allocating 61 in the local variable panel as well. The script does parse correctly, but it doesn't seem to actually restore Lich's HP. I've also initialized set VAR_LocUInt8_60 to 0 in Lich's Init function, just in case.

One thing that working on this has helped me realize is that I'm really not especially good at scripting at all, like I'm fairly sure I can interpret everything that's going on in this particular loop, but I'm not all that sure on what I'm missing. Any ideas? Every time I fight Lich now I feel like he's mocking me when he dies.
 
Status
Not open for further replies.
Back
Top