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

rpg-lad

  • *
  • Posts: 4
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1650 on: 2019-12-22 21:12:52 »
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:

anxietymafia

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1651 on: 2019-12-23 07:02:27 »
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.

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1652 on: 2019-12-23 10:04:52 »
@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

  • *
  • Posts: 71
  • Listem to my Story, this maybe our last chance ♪
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1653 on: 2019-12-23 22:00:07 »
@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.

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1654 on: 2019-12-24 09:02:44 »
I can do that but in 2 weeks only, once I return home.

gledson999

  • *
  • Posts: 71
  • Listem to my Story, this maybe our last chance ♪
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1655 on: 2019-12-25 02:21:06 »
I can do that but in 2 weeks only, once I return home.
Thanks for you reply, i'll so i'll wait, Merry Christmas

anxietymafia

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1656 on: 2019-12-26 05:06:04 »
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.

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1657 on: 2020-01-05 16:20:43 »
@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]
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.

gledson999

  • *
  • Posts: 71
  • Listem to my Story, this maybe our last chance ♪
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1658 on: 2020-01-06 01:45:52 »
Thank you very much, buddy  :D ;)

Clem Fandango

  • *
  • Posts: 50
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1659 on: 2020-01-14 02:21:59 »
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]
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.

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1660 on: 2020-01-14 09:15:18 »
Your error is perfectly understandable: that's because of me.
I decided to automatically name several functions with "XXX_Loop" (the functions with ID 1) because that's what they do most of the time. However, it's not because they are called like that that they loop: they loop because they have the lines "Wait(1)" and "loop" at the end most of the time.

In this case, "Lich_Loop" doesn't have those lines but simply returns at the end. You don't want to just replace the "return" by a "Wait(1) + loop" either because it would run the dialog again everytime.
The easiest solution there is to put the looping part in an infinite "while" loop:
Code: [Select]
    // ...
    RunBattleCode( 35, 0 )
    while ( GetBattleState != 4 ) {
        Wait( 1 )
    }
    while ( 1 ) {
        if ( #( SV_FunctionEnemy[HP] <$ 10000 ) ) {
            if ( VAR_LocUInt8_60 < 1 ) {
                set VAR_LocUInt8_60++
                set SV_FunctionEnemy[HP] =$ 40000
            }
        }
        Wait( 1 ) // If you forget that, the game will freeze
    }
    return

More generally:
‣ The "XXX_Main" function runs as soon as the entry is initialized; the script level is set to 0 until it returns, which means that you shouldn't use any RunSync or similars inside the main function that would run a script of the same entry (you can use a RunSync on another entry though, provided that entry was initialized and its main function already returned),
‣ The "XXX_Loop" function runs right after the main function ends; the script level is defaulted to 7 so you can use RunSync codes inside. It runs only once.

In Field and World Map scripts:
‣ The "XXX_Reinit" function runs after returning to the field from a battle. Several datas are flushed when a battle triggers and this function set them back.
‣ The "XXX_Range" function runs every frame when the player's character is close to an object (determined with the collision radius set by SetObjectLogicalSize) or inside a region. It should only be used with entries initialized by InitRegion or InitObject.
‣ The "XXX_SpeakBTN" function runs when pressing the "confirm" button while the player's character is next to the object and facing it (the radius is determined with the talk radius set by SetObjectLogicalSize) or inside a region. In Steam, its presence adds an icon over the player's character. It should only be used with entries initialized by InitRegion or InitObject.
‣ The "XXX_CardBTN" function works the same as "XXX_SpeakBTN" except that it's triggered by the "card/moogle" button.
‣ The "Main_Unk" function runs when a menu opens on a World Map (either the player opens the main menu or the script issues a Menu code).

In Battle scripts:
‣ The "XXX_ATB" function runs when the enemy's ATB gets full. Attacks issued inside are added as "Enemy Command" at the end of the command queue. It has to issue an attack command.
‣ The "XXX_Counter" function runs when the enemy has been affected by an attack from a player character that was not a counter-attack or a Charge!, etc... and if it still has more than 0 HP. Attacks issued inside are added as "Enemy Counter" commands and take priority over most of the other commands.
‣ The "XXX_Death" function runs when the enemy has been affected by an attack from a player character, if it has 0 HP and if the related flag is enabled. Attacks issued inside take priority over most of the other commands. Attacks issued inside are added as "Enemy Death" commands and take priority over most of the other commands.
‣ The "XXX_CounterEx" function runs when the enemy has been affected by any attack.
« Last Edit: 2020-01-19 00:28:00 by Tirlititi »

Clem Fandango

  • *
  • Posts: 50
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1661 on: 2020-01-15 01:02:20 »
This is great, thanks. All I need to do now is refit a few of the other bosses with this method and I should be just about ready to get this whole thing out there.

Also thanks for the rundown on what the different functions do, especially the field scripts. I've got it in my head to eventually make a couple of bonus fights in Memoria but I had no idea where I would even start with that. I think I'm going to get this project out there before I get going on that though, I think it's going to get fairly complicated as the enemy scripts go assuming I really run with what I have in mind.

Clem Fandango

  • *
  • Posts: 50
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1662 on: 2020-01-19 22:02:37 »
Hey Tirlititi, I've got a quick question regarding the normally enemy only Easy Kill status: would anything go horribly wrong if the player were to have access to this status in any way? Specifically I'm wondering if it persists outside of a fight, I'd assume that if it does it'll never wear off, which presents a bit of a problem if I wanted to try to turn it into a buff.

The main reason I'm asking is because I've been messing around with this concept a little bit just to see how it works and unless there are a number statistically unlikely things happening in a row during my testing I'm getting the distinct impression that the status doesn't ever wear off. It doesn't seem to wear off after a character is killed, which is good,  but it seems as though it's lasting forever on top of that.

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1663 on: 2020-01-19 22:29:36 »
In the PSX version, I'm not sure. However, in the Steam version, it shouldn't last after the fight.
Dying indeed doesn't remove that status but being dead prevents from it to be applied.
So the only ways to remove that "Easy Kill" status (which should better be named "Easy Kill Proof" as it prevents different spells to affect the wearer) are (1) to finish the fight and (2) to use a Esuna-like spell that can remove it.

Normally, it is only used as an "Initial status" on the enemies so an Esuna-like spell may also remove it if it can target the enemies or be reflected. Removing it is unsafe as it can softlock the battle if something bad happens to an enemy that normally has that status (if it gets eaten, for instance).

Clem Fandango

  • *
  • Posts: 50
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1664 on: 2020-01-19 23:16:53 »
Okay, thanks. All of the death misses I had must be due to something else, I'll have to figure out what that is. Truth be told I'm not sure if I'm going to wind up sticking with the status anyway because it seems way too situational to be worth it much of the time. It's kind of fun to play around with though so if I can find a way to make it more practical I might work it in somewhere.

anxietymafia

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1665 on: 2020-02-13 16:16:51 »
Hi Tirlititi,

I have another dumb question. PS1 emulated version.

Is it possible to change the player model in one scene? For example I want to change long haired Dagger into short haired Dagger in Gargan Roo, just for fun. However when I change the model with Hades Workshop, the player becomes invisible. Is there something I am missing, some other value I need to change? Short haired Dagger's model seems to be 76. Thank you for your help in the past. This may be impossible to do?


« Last Edit: 2020-02-13 16:22:00 by anxietymafia »

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1666 on: 2020-02-13 16:41:12 »
There are 2 problems about that when modding the PSX version:

1) Not all the models are available in every field. Most of the time, the models and animations are packed in each field (so there are actually many duplicates in the game's datas) and you can use only the models that are there already.
Fortunatly, there are exceptions and Dagger's models are amongst them: the models of the party members (including the temporary party members) are always available, whatever the field. However, her full set of animations is not available, only the basic ones (stand, walk, run, turn left/right). It might be that the animations of both of Dagger's models (short/long hair) can be used on both models though.

2) You need to register the models and animations that you use in order to have them available. That's probably the problem you have there.
Outside of the script, there's a button "Preloading datas": go there and add Dagger's models and animations to the list of datas to use. You also need to link the model to Dagger's script entry ID there.

anxietymafia

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1667 on: 2020-02-13 18:37:54 »
Thanks so much for the reply! It was really helpful.

Forgive me, I'm really dumb. What is the script entry ID? I'm not sure where to find it.


Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1668 on: 2020-02-13 22:26:38 »
That's the ID of Dagger's entry in the script.

In concrete terms, you go in the script, in the function "Main_Init" and search for the code line initializing Dagger's model:
"InitObject( ID, [Some other number, surely 0] )"
When selecting those lines, you have the drop-down menu of entries that appear on the right of the window. You know that the line concerns Dagger's entry when it's written there on the right.

The script entry ID is that number given as the 1st parameter of "InitObject".

Alternatively, you can simply write a line "InitObject( 0, 0 )" in any function of the field and search for Dagger's entry in the drop-down menu (it will update the ID automatically in the textual part then). And then exit without parsing.

anxietymafia

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1669 on: 2020-02-14 00:13:52 »
You're an absolute genius, thank you so much!

It's weird but this makes me so happy, I wanted to play as Dagger with short hair since I was a kid lol.
Now I know it's possible I'm going to change more scenes.

So curiously in the previous Gargan roo entrance, her short hair model is fine.
But in this field, the model has odd lighting. Overexposed in parts, and pitch black in some shadows. Not a big deal, but any idea why?

You've already helped me heaps, thanks!

edit: nevermind, it was just a random glitch



« Last Edit: 2020-02-14 02:30:59 by anxietymafia »

anxietymafia

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1670 on: 2020-02-14 00:45:29 »
Dagger in memoria.

Her dismount is hilarious. :-D

Caledor

  • *
  • Posts: 214
  • [ITA]
    • View Profile
    • Facebook Page
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1671 on: 2020-02-27 02:48:39 »
just seen a magic bonus formula available for weapons... does it work? and how... just like the spirit and speed ones?

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1672 on: 2020-02-27 16:13:24 »
Yes, it works correctly and it uses the same kind of formula as the spirit and speed boosts.
Actually... I always thought that these were bonuses... but reading the formula again from the source code and Rebirth Flame's FAQ, it's more like an averaging than a bonus...
Code: [Select]
Damage = (Atk - Def) * (((Strength + OtherStat) / 2) + Rnd MOD (((Lvl + Str) / 8) + 1))So it uses (Strength + OtherStat) / 2 for these special weapons instead of Strength for the normal weapons?
I always thought that these weapons used Strength + OtherStat / 2... No wonder why there is not such a difference in the damage outputs.

Only the Save the Queen's damage formula can really be considered as a boost then.
The formulae displayed in HW are all wrong :/

Caledor

  • *
  • Posts: 214
  • [ITA]
    • View Profile
    • Facebook Page
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1673 on: 2020-02-27 16:20:27 »
Quote
The formulae displayed in HW are all wrong :/

They are displayed? Also yeah, i assumed the averaging: the wiki at Final_Fantasy_IX_weapons has the same formula you reported.

nice anyway. I can make staves and rods use magic without issues lol.

Caledor

  • *
  • Posts: 214
  • [ITA]
    • View Profile
    • Facebook Page
Re: [PSX/PC] General editor - Hades Workshop (0.41c)
« Reply #1674 on: 2020-03-16 04:43:21 »
Sorry to bother you again, but i was looking at command formulas and... isn't Jump very weak? Assuming same atk, def and multiplier, multiplying the attack (like shock, free energy etc) is better than multiplying [atk-def] like jump does.

Moreover, Power Jump grants only a minor improvement (x1.33) compared to something like power throw (x1.5 + vs. aerial bonus + berserk bonus) and is acquired similarly late. Also dunno what to think about the increased randomness in Trance Jump but i'll see that later.

What do you think, considering you didn't really change Jump in your mod?
Also, if i were to change it, could you please tell me where to look for among the CIL code section?