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

  • Thread starter Thread starter Tirlititi
  • Start date Start date
Status
Not open for further replies.
Yeah the gif exporter would have that issue, so I thought the layered .tiff would probably be smarter, people can just remove the layers they don't care for.

Capturing the animations from the editor is actually an idea I had in mind, though I'm not sure if perhaps they play a little too fast in the editor.
The main issue with the editor view is that its upscaled, and though its not a huge upscale, its pretty noticable in some scenes.

Example here: http://puu.sh/i7ffo/c75c1d2fa3.jpg the viewer is roughly 1/5th larger than the export and it can be seen in the quality too.

Your second suggestion however, doesn't work in Photoshop for some reason, If I export all the layers it only see's it as a single layered .tiff file, but I tried in Irfan view and it can see all the separate layers correctly, so I'm not sure whats happening there. Whats odd is that I can save a multi-layer .tif (not .tiff though) from Photoshop and Photoshop can then open it fine. I would say is it possible to add PSD support in this case, but common sense tells me its not exactly an open source/easily research able format.

One thing that could work though is that it exports all layers to separate tiff or png images, keeping size and transparency (so the actual frame size stays correct, copy and paste is easy then, no need to manually line things up).

Bit peeved at that Photoshop thing though, that rather sucks. Thanks for replying so fast, its much appreciated.
 
^this

That's really strange indeed. I didn't even see Maliris's final attack code. I thought it was also using the "under 10000 HP" way.
So they indeed made 2 different systems for handling the end of the boss battles...

You can't use the "perform special death if HP is 0" system with HW for now. I'll look into it but if that works as I think it does, it shouldn't be too hard to enable.

However, you can already give more HP to enemies using the script : when an enemy goes under 10 000 HP, heal him.
See this post for a detailled way to go : https://www.ff7catalog.com/posts/174058/
Ah, ok thanks, that's one possibility to artificially increase an enemy's HP.

About Maliris, there's really nothing special to her Raining Swords final attack other than that it's located in function_func_4, which is the death function according to you. All bosses that use the "10000 HP death" usually have that located in function_func_1 (the looping function). I've been playing around with the idea of giving final attacks to certain enemies, but in order to do so I guess one would need to add a function_func_4 to their script. Most enemies don't have such a function by default, and currently the editor doesn't allow to add additional functions to a script. Do you think this will be possible in a future version?
 
Yes, that's how I think I can make it possible.
However, the function number as it is now is not 100% relevant to "when it is triggered". I think there is some other flag telling if a function is ran on death or on ATB or whatever. I'd just need to decipher it.
For instance, there are few enemies with no looping function. For them, the ATB function is "func_1" and not "func_2". The fact they are mostly sorted is not something 100% reliable.
 
Hullo thar, I've been using the editor and it's been better than I ever thought something like this could ever be. But I've been having an odd issue.

For whatever reason, some enemies after being edited in certain ways seem to have an odd glitch happen where that enemy will no longer be defeated when their HP reaches 0, the death animation happens but then they just go back to normal.

Any attacks afterwards also play out the death animation since their HP probably stays at 0, and I don't know what I'm doing that's causing this. The only thing that seems consistent is that it happens after I edit an enemy's attacks.

Any thoughts on what could be causing this?
 
Hold everything, there are some nasty bugs with the enemy animation editing :/

First bug happens when you export the PPF. It is quiet rare and random but mess up the whole battle.
Second bug happens if you save your changes as .hws file then reload it. The program reads it bad but the save itself is not corrupted (it becomes corrupted if you save again after reloading though).

Both bugs are related to enemy animation editing. There shouldn't be any problem if you didn't use that feature (or at least not those problems ^^").

Dogshrapnel, it may be tricky to fix the changes you made if your files are corrupted and if you didn't have a backup. Send me your corrupted file (.ppf or .hws) and I'll try to fix it.
Sorry for the fail :/

Program updated : I fixed those 2 bugs and added a way to add/remove functions in scripts. You can right-click on the function list for that.
When you add a new function, you're asked 2 numbers, the entry type and the function type. The entry type shouldn't be changed (it says if the script is attached to an object, to a region or to nothing). The function type can be any number but :
1) some numbers means the function is special and it will be run at some points (for AI script, this is what the previous posts in this page was about) ; the "looping function" number can be seen as a secondary "main function" as it is run when the script is initialised.
2) there will be unknown results if you use the same number for 2 different functions of the same entry. The normal version used the types 10 and followings for regular functions that can be called somewhere else in the script.
 
Last edited:
I'll just put the links here. These are my current back-ups. I want the later version working if possible.
To be honest, I forget when exactly I started having this problem, thanks for the help.

I never realized how scripted this game was, the most in-depth edit I've done is to the power and properties of AI attacks thinking it wouldn't be a problem.
 
Last edited:
Ok. Your file is not corrupted and you didn't have the bugs I just fixed ^^"

It seems that you can't give the "death" status immunity to enemies or else you can't kill them at all, lol.
To give an enemy the immunity against death, I know no other solution than giving the "Easy kill" status as initial status (It should rather be called "Easy Kill Proof"). However, it will also give immunity against "Magic Matra" and similar moves, and against "Scan"...

EDIT : However, "Easy Kill Proof" doesn't immune against "Death Lvl 5". Nothing can immune against that spell if the level matches. I think that's the only one in that case.

Anyway, be it Mimics or Gizamaluke, the spell animation changes you made didn't corrupt your file at all.
 
Last edited:
Oh my gosh, really? I feel like an idiot now. Thanks for the help!

That's an interesting thing to know.
 
Why would you? That should have been normal to be able to use a death immunity.

Since we are in weird things that comes from nowhere and can make battles bug, I just ran into one. When you add an enemy to a battle group, you sometimes also need (in addition to editing the script and increasing the enemy amount in the group) to uncheck then check back the "Targetable" flag. Some enemies that you'd add are invisible and bug if you don't do it.
 
All it takes is someone making an editor to realize how weird and quirky a game is.

Well, "all" as if making one is easy.
 
Program updated : I fixed those 2 bugs and added a way to add/remove functions in scripts. You can right-click on the function list for that.
When you add a new function, you're asked 2 numbers, the entry type and the function type. The entry type shouldn't be changed (it says if the script is attached to an object, to a region or to nothing). The function type can be any number but :
1) some numbers means the function is special and it will be run at some points (for AI script, this is what the previous posts in this page was about) ; the "looping function" number can be seen as a secondary "main function" as it is run when the script is initialised.
2) there will be unknown results if you use the same number for 2 different functions of the same entry. The normal version used the types 10 and followings for regular functions that can be called somewhere else in the script.
Wow, nice update, improved enemy AI editing is what I've been eagerly awaiting! Does that mean we can now give counter scripts and death scripts to enemies that didn't have them before?

Since we are in weird things that comes from nowhere and can make battles bug, I just ran into one. When you add an enemy to a battle group, you sometimes also need (in addition to editing the script and increasing the enemy amount in the group) to uncheck then check back the "Targetable" flag. Some enemies that you'd add are invisible and bug if you don't do it.
What a coincidence! I ran into that same bug yesterday! I was adding more enemies to battles (because a battle against a single Carve Spider is kinda lame), but I didn't bother with the targetable flag because it was already checked. I somehow managed to fix it by carefully going through everything again (including unchecking and re-checking), but I didn't know why it was fixed afterwards, since I didn't really change anything. That's good to know.
 
Sorry for double-posting, Tirlititi, but I've got a few questions regarding the different AI functions.

1.) The death function doesn't seem to work for me, and the editor also says that it's "not working well". If you had the same problem, was it a specific enemy or a specific attack that caused the trouble? Is there anything specific that needs to be done/written in the script to make it work?

2.) There are also some other functions that I haven't heard of before, like "running on speak button", "running on card button", and "running on collision", what exactly do they do?

By the way, I was wrong in my earlier post about Maliris being the only enemy that uses a death script. I just witnessed a Cactuar using 1000 Needles as a final attack when it died.
 
1) I tried to use the "death" function with an enemy (I don't remember which one) but it didn't work. I didn't investigate much more though, and you can use the usual way "+10000 HP and run the death script in the looping function". Maybe there is some flag or thing to know for using that type.

2) Function types are not limited to IA scripts : they are also used for field scripts. The 3 examples you gave are of that kind : they are used for NPC dialogs or interactions (I'm not sure about the type 18 though ; it is used by Puck running on Vivi but also for a bunch of other functions not particulary special).

I think the Black Waltz 1 also uses a death function for his last dialog.

As a side note, the "counter enemy" type is not really what I thought it was. I need to check things but it seems to be running anytime a spell takes effect (be it casted by the enemy or the party). It also triggers on counter-attacks or returned spells, unlike the "counter party" type.
 
1) I tried to use the "death" function with an enemy (I don't remember which one) but it didn't work. I didn't investigate much more though, and you can use the usual way "+10000 HP and run the death script in the looping function". Maybe there is some flag or thing to know for using that type.

2) Function types are not limited to IA scripts : they are also used for field scripts. The 3 examples you gave are of that kind : they are used for NPC dialogs or interactions (I'm not sure about the type 18 though ; it is used by Puck running on Vivi but also for a bunch of other functions not particulary special).

I think the Black Waltz 1 also uses a death function for his last dialog.

As a side note, the "counter enemy" type is not really what I thought it was. I need to check things but it seems to be running anytime a spell takes effect (be it casted by the enemy or the party). It also triggers on counter-attacks or returned spells, unlike the "counter party" type.
Ah, I see, thanks for clarifying that. The "counter enemy" function seems to handle stuff like enemy model size or other enemy-related parameters, while the "counter party" function is the one that carries out actual counter-attacks.

On a side note, do you think it will theoretically be possible to add more attacks to an enemy's attack list? Right now, when we want to give an enemy a new attack we have to replace an existing one, but what about extending the list by 1-2 attacks? Is there enough room for that?
 
Yes, that's on my to-do list and I think I'll implement it on the next version.
Right now, I'm working on my own mod though, so the program is on stand by until I finish a proper version.
 
Is it possible to edit the speech bubbles "shadows" with this tool?

I would like to make them fully transparent or remove them completely because i am using a "GTE Accuracy hack" that causes a small glitch with speech bubbles, but it also reduces polygon shaking and not using it is not an option as characters jitter like crazy without it.

Here is a picture what I meant:
LAnfrz3.jpg


Anyway this is a very fun tool to mess around with, i hope you continue working on it.  :)
 
When you edit scripts, look at the "WINDOW_SYNC" opcodes and such. There's an argument called "flags".
Though I don't know it well, here is the purpose of some flags :
3 -> Disable the tail in dialogs
4 -> Mognet dialog
5 -> Hide Window
7 -> ATE dialog
8 -> Usual dialog

Check the 5th box then and it should be ok.

I didn't fully understand what you were trying to do, so maybe I answered wrong. Sorry if that's the case.
 
I am trying to get rid of those shadow textures/sprites that are on the right side and on the bottom of the speech bubbles, i am not trying to hide the whole window.
 
Ah okay...
I don't know any solution, but I think the answer resides in the UI textures (in the "Text" panel).

However, I would bet this glitch is caused by emulators subtilities and that it works perfectly on PSX.
 
I had a feeling it might be there somewhere, now I just have to find it which seems like a impossible task  :|

And yes, the glitch is caused by an emulator.

Anyway, thanks for the help  :)
 
Status
Not open for further replies.
Back
Top