Author Topic: [PSX/PC] General editor - Hades Workshop (0.50b)  (Read 845013 times)

DanTsukasa

  • *
  • Posts: 68
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #300 on: 2015-05-31 16:14:33 »
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.

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #301 on: 2015-06-01 06:35:20 »
^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 : http://forums.qhimm.com/index.php?topic=14315.msg224426#msg224426

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?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #302 on: 2015-06-01 17:14:29 »
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.

Dogshrapnel

  • *
  • Posts: 16
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #303 on: 2015-06-19 07:04:15 »
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?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #304 on: 2015-06-20 12:37:48 »
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 Edit: 2015-06-20 12:40:04 by Tirlititi »

Dogshrapnel

  • *
  • Posts: 16
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #305 on: 2015-06-20 15:51:25 »
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 Edit: 2015-06-20 19:47:57 by Dogshrapnel »

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #306 on: 2015-06-20 17:48:12 »
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 Edit: 2015-06-20 17:52:51 by Tirlititi »

Dogshrapnel

  • *
  • Posts: 16
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #307 on: 2015-06-20 19:44:38 »
Oh my gosh, really? I feel like an idiot now. Thanks for the help!

That's an interesting thing to know.

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #308 on: 2015-06-21 00:19:47 »
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.

Dogshrapnel

  • *
  • Posts: 16
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #309 on: 2015-06-21 01:37:33 »
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.

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #310 on: 2015-06-21 08:32:37 »
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.

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #311 on: 2015-06-25 14:35:16 »
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.

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #312 on: 2015-06-25 14:57:27 »
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.

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #313 on: 2015-06-28 09:52:57 »
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?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #314 on: 2015-06-28 10:04:31 »
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.

jounatsi

  • *
  • Posts: 3
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #315 on: 2015-07-12 15:41:54 »
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:


Anyway this is a very fun tool to mess around with, i hope you continue working on it.  :)

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #316 on: 2015-07-12 16:19:04 »
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.

jounatsi

  • *
  • Posts: 3
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #317 on: 2015-07-12 17:05:58 »
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.

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #318 on: 2015-07-12 17:11:09 »
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.

jounatsi

  • *
  • Posts: 3
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #319 on: 2015-07-12 17:27:58 »
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  :)

Dogshrapnel

  • *
  • Posts: 16
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #320 on: 2015-07-18 03:20:03 »
Just found an interesting glitch.

I set up Nova Dragon so that its multi-target shockwave was Attack Type 8 instead of Enemy Attack since it seemed less random.
When it got used, Zidane, Quina, and Freya all countered since it was a physical attack, but after that, Zidane and Quina were glitched and their animation kept trying to do their last action, if they did anything other then countering, the game would soft-lock and their turns would never happen.

Very Interesting, speaking of which, what is it about the Enemy Attack effect that seems to make it so random? The damage seems to vary from doing 40 damage to over 1000.

*Edit: After looking at the formula, it seems the Random Mod is only divided by 4 for Enemy Attack rather than 8 for party skills. They tried a little too hard to make this game random, jeez.
« Last Edit: 2015-07-18 03:54:09 by Dogshrapnel »

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #321 on: 2015-07-18 11:44:12 »
That's strange... Most of Enemy Attacks are counterable and I'm pretty sure Shockwave is counterable by default.

When doing my mod, I had another tedious bug about counters. The game was not ready to use spells that deal damage several times.
If you add several effect points to a spell animation (both in the "Spell animation" panel and in the "Enemies" panel), you need to make sure no one will ever have a counter action twice for the same spell since that freezes the game.

EDIT: That bug doesn't occur with the Steam version. Only PSX version.

Counter actions are either the enemy reacting to your action (counters, obviously, but also things like Tantarian opening itself) or you reacting to an enemy action (counter, return magic and, most importantly, auto-potion).

To avoid an enemy reacting twice to your action, you have no other choice than to disable the counter (at least more than once) in the IA scripts for the specific spell animations that damage several times.
Code: [Select]
    // Those lines are always in the counter functions already
    if ( ( GetAttackCommandId == 25 ) && ( GetAttackId == 103 ) ) {
        return
    }
    //  Those lines need to be added, replacing the numbers by the spells IDs
    // of the spells with several damage points in their animation
    if ( ( GetAttackId == 100 ) || ( GetAttackId == 101 ) ) {
        return
    }

Here is a list of enemies that can react to your attacks. It's tedious but you would need to add some few lines in their AI to avoid bugs.
I didn't put the enemies that already have a "counter only once" system or those that counter only the "Attack" command.

Code: [Select]
// Disc 1
Yan
Friendly Yan
Armstrong
Ghost
Gizamaluke
Grimlocks (both of them)
Jabberwock
Mimic
Cactuar
Lamia
Sand Scorpion
Bomb (counter fire spells only)
Black Waltz 2 (counter the elemental Black magics only)

// Disc 2
Soldier
Zuu
Sand Golem
Tantarian (put the script after HP update)
Zorn & Thorn
Sand Scorpion (more of them)
Soulcage (counter fire spells only)
Stroper
Zemzelett

// Disc 3
Amdusias
Shell Dragon (only the random encounters)
Epitaph (magic disbled for these battles)
Grimlocks (more of them)
Drakan
Ring Leader
Tonberry (put the script after HP update)
Mover (optionnal : they don't crash the game but don't pass from 2 of them to 1 of them)

// Disc 4
Ash
Kraken (when he's on crystal shape only ; he already has a "counter once" system as a boss)
Trance Kuja

I might add a feature that automatically adds those anti-bug lines inside the AI of these enemies.

Now, about the spells that the enemies can cast and trigger a reaction from you, I see only 2 solutions :
- Make sure the party doesn't have the access to counter abilities by the time those enemies are met...
- Make sure that the enemies use the concerned abilities only as a counter attack : you can't react to a counter so it won't be a problem.


That's unfortunatly another deception from spell animations editing... That begins to make a lot of them  :-\
« Last Edit: 2017-10-06 08:08:14 by Tirlititi »

Dogshrapnel

  • *
  • Posts: 16
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #322 on: 2015-07-18 20:29:53 »
Haha, shouldn't be surprised that a game as complicated as this has lots of bugs when you start to edit things.

Lots of interesting quirks too, I've been messing around with attack effects to see what happens, certain weird things I've noticed is that editing certain enemy attacks to be "Physical Attack" seems to place some kind of element with that attack depending on the enemy. For example, Nova Dragon was healing some of my characters with Shockwave when it was set to "Physical Attack", yet it's non-elemental by default and no element was set up. Very interesting.

Also, the only reason I can see why counter was glitching earlier is that "Attack Type 8" seems to only be set up for single target attacks, another interesting quirk.

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #323 on: 2015-07-18 20:37:00 »
:o
Nice catches.

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.28)
« Reply #324 on: 2015-07-20 06:41:55 »
Very Interesting, speaking of which, what is it about the Enemy Attack effect that seems to make it so random? The damage seems to vary from doing 40 damage to over 1000.

*Edit: After looking at the formula, it seems the Random Mod is only divided by 4 for Enemy Attack rather than 8 for party skills. They tried a little too hard to make this game random, jeez.

One thing to note about the Enemy Attack formula is that the formula given in the editor must be wrong, or I'm reading it incorrectly. The formula given is:

Damage = (Attack * power/10 - Defense) * strength

(to keep it simple, I only calculate it for the minimum damage now, not considering the range).

But whenever I do the math I end up with way higher damage numbers than are actually dealt in game. Let's take Abadon and his High Wind attack for example:

Abadon has an Attack stat of 75, a strength stat of 22, and High Wind has a power of 60.
As for the target's defense, let's assume a value of 45, which is pretty much the best that you can have at this point (Genji-Armor, the best Robes and such).

So we fill in:

Damage = (75 * 60/10 - 45) * 22 = 8910

So even with a top defense, Abadon's High Wind attack should deal a minimum of almost 9000 damage to the party! And we know that it's far from that. The formula must be incorrect, or missing a bracket or something. My guess is that it's really pretty much the same as the "Attack type 8" formula, only with a somewhat higher range, as you said.

However, I did notice one (more or less important) difference in my observations: it seems that attacks that use the "Enemy Attack" formula cannot miss, ever (can tirlititi confirm this?). This gives it an advantage over the "Attack type 8" formula, especially in late game where your evasion is usually around 30-35, rendering enemy physical attacks that use "Attack type 8" almost useless due to the way the hit % calculation works.