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

  • Thread starter Thread starter Tirlititi
  • Start date Start date
Status
Not open for further replies.
Reading your talk I thought of a mod that might be worth doing in the future, imagine replacing all the silly characters that are over the top, for example Eiko and Quina with characters that are a bit more mature. Maybe the summoner in the ruined village could be garnet's older sister, or maybe an old granny. Quina could be replaced by some character that isn't so fat, maybe some muscular wild man.

The modeling and animation wouldn't be difficult to do, what might be difficult is to remake entire cutscenes, thinking specifically of the love letter event in Alexandria. Just throwing this out there, because if Final Fantasy is suffering from anything it's silly characters.
 
Hey, so I tried deselecting the "update level" flag and indeed the characters do join at lvl. 1. Specifically, I tested it with Freya at the Conf. Room in Lindblum castle and Quina. The other chars were at level 50 (I downloaded the save from GameFAQs). Instead of joining at level 33, they join at lvl 1. I haven't tested it anywhere else.

However, this would be a problem for Eiko, I assume. For Blank/Amarant, it's probably okay, because Blank is in the party for a very, very short time. But when Marcus join at CD2, I take it Eiko level will be that of Marcus?
 
Reading your talk I thought of a mod that might be worth doing in the future, imagine replacing all the silly characters that are over the top, for example Eiko and Quina with characters that are a bit more mature. Maybe the summoner in the ruined village could be garnet's older sister, or maybe an old granny. Quina could be replaced by some character that isn't so fat, maybe some muscular wild man.

The modeling and animation wouldn't be difficult to do, what might be difficult is to remake entire cutscenes, thinking specifically of the love letter event in Alexandria. Just throwing this out there, because if Final Fantasy is suffering from anything it's silly characters.
I don't think we are able to utilize custom meshes quite yet for player characters, so my current mission is to try and give some characters some alternate costumes that already exist (hooded Zidane, Knight Zidane, hooded Garnet, dress Garnet, short/long hair, etc). I could use a list as to what model is what, or something to preview the FFIX models with. The autodesk FBX previewer closes as soon as any FFIX model is opened.

I've personally always had a soft spot for Eiko and Quina, but I like the idea. The pre-rendered cutscenes would be out of the question. Scripted cutscenes would probably be more doable.
 
Hum...
I couldn't successfully add a trance to Beatrix ; you need at least two things for that:
1) Making this character a permanent party member, that is removing the flag "temporary character" in the "SetCharacterData" call (in fields scripts),
2) Add a trance model to the list of character models, in the CIL "btl_init::..ctor" method.

With that, however, the trance gauge appears and fills correctly, but the game freezes once it's fully filled. So there has to be something else that I didn't spot :/
Also, the "temporary character" flag determines whether the game will use the temporary character or the permanent counterpart (Marcus/Eiko for instance). So for adding trance to Marcus, Blank or Cina, it would also require something else (maybe changing the condition (1) for the trance bar to appear).
Where can I find that script to edit the temporary character flag? I want to ditch Cinna for Quina while retaining marcus and blank. If possible, I'd like to put Marcus over Steiner, but it seems the slots are specifically set up for specific characters? Meaning Marcus will always share a slot with Eiko?
 
Interesting. I was wondering about adding trance to "guest" characters. I bet there's an animation call that it's missing when you activate trance and that's why it freezes, just a hunch. I haven't looked at this games data too hard yet.

 Would it be possible to switch the character the temporary characters are tied to? I like Eiko, but I also want to use Marcus. Can I place him over someone else instead? Better yet, can we add character slots? I know Beatrix is a special case and seems to actually have her own slot, so I'm sure it would be complicated.

Has anyone tried to swap assets such as Zidane with his Pluto Knight gear, or Garnet with her dress or whitemage hood?

Lastly, is there something I can use to preview .fbx models?
I hate to keep bothering you, I looked into what you told me about the SubCalc's but I honestly haven't the foggiest idea how you discovered Physical Strikes subcalc, I have Steiner using the absorb strength/magic, the quadraslash effect you used, and the ???def-less (and a couple others) if I can find out how you found the subcalc's I should be able to go into those effects subcalcs and add the HP reduction conditional for Steiner, yes?

Also one quick thing, I saw that tere was a UI rescaling mod posted on the steam community but it looks like it requires memoria to use, if I recall correctly Hades Workshop and Memoria are not compatible with one another so I wouldn't be able to utilize that mod, would I?

Thanks for all your help, I really do appreciate it.
 
Srry guys, I know that yous are talking about more technical things but ...

the corret way to edit "spanw" enemys is with battle spots?
 
Enemies on the world map is used from battle spots; but Tirltiti said it was buggy, (and it's not fixed in this current version, it doesn't work if you change it).
In the field, battle 'spawns' are handled in the SetRandomBattleFrequency~set enemies battles for that field. 1-4.
 
Enemies on the world map is used from battle spots; but Tirltiti said it was buggy, (and it's not fixed in this current version, it doesn't work if you change it).
In the field, battle 'spawns' are handled in the SetRandomBattleFrequency~set enemies battles for that field. 1-4.
thanks, this explained why me changes no working
 
I'm trying to use Hades Workshop to open the p0data*.bin file under FINAL FANTASY IX\StreamingAssets\. However, the program just crashes with an error message. So can anyone help me please? Sorry if I post this in wrong way:

Code: [Select]
Code:
Problem signature:  Problem Event Name: APPCRASH  Application Name: HadesWorkshop.exe  Application Version: 0.0.0.0  Application Timestamp: 58ee662c  Fault Module Name: HadesWorkshop.exe  Fault Module Version: 0.0.0.0  Fault Module Timestamp: 58ee662c  Exception Code: c00000fd  Exception Offset: 029ccb53  OS Version: 6.3.9600.2.0.0.256.49  Locale ID: 1033  Additional Information 1: e860  Additional Information 2: e86090bc8c91ffd3c86d18fa8cdf1f70  Additional Information 3: de7f  Additional Information 4: de7f9705878d75421aa697c1b4f19d18
 
Tirlititi,
I think I see some of the requirements for model importing in game.
with tis settings:
.FBX
Binary
version:
FBX201300

only got one weapon import with crashing but,
still not working fully; tried replace characters with mine and game still crashes...  :-\
Only close I got was with replacing "Eiko"; the model was there, but it was textureless.
Modify message
 
I am trying search "regena" status (for revitalia or winds dragons) but i cant find,
its posible edit script of these status?
 
I saw that the software now has a viewer for environment walk meshes, though its a little fiddly at the moment, I was wondering if you have support planned for the cameras too, and exporting the camera+environment to FBX/DAE at all.

Making edits and new sections in outside 3D Software would be faster than in-tool for the majority of areas I'd think.
 
Yep, I'm working a lot on 3D exportation/importation format these days. Not on walkmeshes yet (because they have a few features that are not standard in 3D models so it'll be more tricky), but I'm starting to understand the FBX format.
 
I'm curious, how do the walkmeshes differ from anything else?

I always figured they were exactly the same as any kind of mesh, just set to collision and non-renderable ingame, made up of only vertexs and faces the same as everything else.

Is this not the case? If so I wonder why they'd be any different.
 
Walkmesh contains a few informations about "how the objects behave" on each triangles. For instance, there is a data about which kind of step sound should be used when walking on it, or whether it is in the shade or not.

Also, each triangle has specified neighborood to let the characters moving from one triangle to another. Most of the time, that can be computed automatically from the mesh (if there is a common edge or not), but you may want to not make some connections, or on the contrary add connection between distant triangles to make kind of teleporters (though that could be better done by script).

Here's the known walkmesh format so far:
Code: [Select]
Code:
struct FieldWalkmeshDataStruct : public ChunkChild {public: uint32_t magic_walkmesh; int16_t unknown1; int16_t offset_x2; int16_t offset_z2; int16_t offset_y2; int16_t offset_x; int16_t offset_z; int16_t offset_y; int16_t offset_x3; int16_t offset_z3; int16_t offset_y3; int16_t unknown4; int16_t unknown5; int16_t unknown6; int16_t unknown7; int16_t unknown8; int16_t unknown9; int16_t active_walkpath; int16_t active_triangle;  uint16_t triangle_amount; uint16_t triangle_offset; uint16_t edge_amount; uint16_t edge_offset; uint16_t animation_amount; uint16_t animation_offset; uint16_t walkpath_amount; uint16_t walkpath_offset; uint16_t normal_amount; uint16_t normal_offset; uint16_t vertex_amount; uint16_t vertex_offset;  // As many as "triangle_amount" uint8_t* triangle_unk1; uint8_t* triangle_stepsound; uint16_t* triangle_unk2; uint16_t* triangle_walkpath; uint16_t* triangle_normal; uint16_t* triangle_unk4; uint16_t* triangle_unk5; uint16_t* triangle_vertex1; uint16_t* triangle_vertex2; uint16_t* triangle_vertex3; uint16_t* triangle_edge1; uint16_t* triangle_edge2; uint16_t* triangle_edge3; uint16_t* triangle_adjacenttriangle1; uint16_t* triangle_adjacenttriangle2; uint16_t* triangle_adjacenttriangle3; int16_t* triangle_centerx; int16_t* triangle_centerz; int16_t* triangle_centery; uint16_t* triangle_unk9; uint16_t* triangle_unk10;  // As many as "edge_amount" uint16_t* edge_flag; int16_t* edge_clone;  // As many as "animation_amount" uint16_t* animation_flag; uint16_t* animation_frameamount; int16_t* animation_framerate; uint16_t* animation_counter; int32_t* animation_currentframe; uint32_t* animation_frameoffset;  // As many as "walkpath_amount" uint16_t* walkpath_unk1; uint16_t* walkpath_unk2; int16_t* walkpath_minx; int16_t* walkpath_minz; int16_t* walkpath_miny; int16_t* walkpath_offsetx; int16_t* walkpath_offsetz; int16_t* walkpath_offsety; int16_t* walkpath_unkx3; int16_t* walkpath_unkz3; int16_t* walkpath_unky3; int16_t* walkpath_unkx4; int16_t* walkpath_unkz4; int16_t* walkpath_unky4; uint16_t* walkpath_triangleamount; uint16_t* walkpath_trianglelistoffset; uint32_t** walkpath_trianglelist;  // As many as "normal_amount" int32_t* normal_x; int32_t* normal_z; int32_t* normal_y; int32_t* normal_overz;  // As many as "vertex_amount" int16_t* vertex_x; int16_t* vertex_z; int16_t* vertex_y;}
 
Walkmesh contains a few informations about "how the objects behave" on each triangles. For instance, there is a data about which kind of step sound should be used when walking on it, or whether it is in the shade or not.

Also, each triangle has specified neighborood to let the characters moving from one triangle to another. Most of the time, that can be computed automatically from the mesh (if there is a common edge or not), but you may want to not make some connections, or on the contrary add connection between distant triangles to make kind of teleporters (though that could be better done by script).
Thats interesting, most modern games do that based on the material assigned, I'd never considered that they might do it based on the polygons themselves, but I suppose Ps1 was better at handling polygons than multiple materials, or so I've heard.
 
Hiya!

I have a question. I've been using your Alternate Fantasy mod and I'm very happy with it! The only thing is after beating the game once (with Beatrix of course lol) I decided to make Beatrix and Steiner much more different from each other. Specifically I gave Beatrix access to Quadraslash and took away Stock Break from her and made Shock and Climhazzard skills exclusive to her (I also gave her an "ultimate skill" that's locked behind getting the Excalibur II which I made her ultimate weapon to make up for the fact she doesn't get a Trance).

Now that I solidified Beatrix as a Holy Knight/ Paladin I decided to make Steiner the very opposite of that; a Dark Knight. I've changed a lot of his skills to reflect his new status as a dark knight (with a couple as homage to FFT) but was wondering if it were possible with Hades Workshop to create unique damage/effect formulas?

For example, I'd like to have Steiner required to sacrifice some of his hp with most of his skills, including the non-damaging ones. Is this possible to do?
I believe its possible given the other changes and mods that have been done using this program, but there is no readme's at the moment to explain things.

Like, I just started using this modding tool, and I'm trying to recreate the associated status effects for some magic spells using HadesWorkshop, but once you start looking through the "Effect" descriptions, it starts becoming confusing. Some of the effects state that they can bring with them status effects, but others do not. So "Fire" is a "Magical Attack", but if I want it to have the chance to inflict "Heat", do I need to change the "Magical Attack" to something else like "Bad Status" or "Enemy Attack" or "Apply Effect"? Or can I leave that as "Magical Attack" and just add the status and accuracy to it?

These things are not explained well there with that. :(

Still, given the other changes that have been done, I do believe that what you want to do is possible here with that.  :D


EDIT; Also, it seems that if you mod an iso without first opening up HadesWorkshop on the unmodded iso and letting it create its .hwf file, it prevents you from using HadesWorkshop on the modded iso afterwards. So for those using isos and emulators and wanting to use other mods while modding extra things on top of that, they need to use HadesWorkshop first and get that .hwf file created before anything else. An odd observation I had to point out.


Anyways, I'm enjoying this modding tool immensely, and am having fun messing around with things as I go. :D
 
Last edited:
Status
Not open for further replies.
Back
Top