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

ToraCarol

  • Crazy poster
  • *
  • Posts: 114
  • Karma: 9
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1550 on: 2019-06-11 10:19:32 »
Marcus's model might not have a jump animation as I don't think there is any point in the story that he jumps.
This sounds like the model moving, trying to execute an animation that doesn't exist, so instead doesn't do anything for the duration that the animation is meant to happen and then returning to the normal state.

Yeah, I think so too..so what's Jump3 stands for?  :| Probably nothing of what I used to think!

Tirlititi

  • Freak
  • *
  • Posts: 582
  • Karma: 75
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1551 on: 2019-06-11 14:30:35 »
@masagrator: Yes, that's a problem happening because of the Steam version.
Basically, they used a weird alpha channel for rendering the edges of the tiles while it was a "completly opaque/completly transparent" alternative in the PSX format.
The shift on the carpet (wow, I had a hard time seeing it even with your mark...) surely comes from the way they upscaled the images for the Steam version (because it's not a tile edge).
Fragosso knows better than me this kind of things...

@ToraCarol: There should not be any "return" line if the first "if" block that you show.
The problem with the jump animation is more likely to be the one described here. You need to use this jump animation before in the script to let the game load it (using "SetRightAnimation( 5041 )" just before "SetRightAnimation( 5224 )" is enough).
Emulating a "Change disc" screen requires modding the C# code and adding new assets (textures) to the game. I don't know if it can work, sorry.
You may more easily add a "Would you like to save?" screen, as it can simply be emulated with a dialog box... but I can understand that it's not what you want.

ToraCarol

  • Crazy poster
  • *
  • Posts: 114
  • Karma: 9
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1552 on: 2019-06-11 15:28:32 »
Quote
@ToraCarol: There should not be any "return" line if the first "if" block that you show.

The problem with the jump animation is more likely to be the one described here. You need to use this jump animation before in the script to let the game load it (using "SetRightAnimation( 5041 )" just before "SetRightAnimation( 5224 )" is enough).

Emulating a "Change disc" screen requires modding the C# code and adding new assets (textures) to the game. I don't know if it can work, sorry.
You may more easily add a "Would you like to save?" screen, as it can simply be emulated with a dialog box... but I can understand that it's not what you want.

Thank you for all you replies, as always.
I was already thinking of adding a dialog box, but I was hoping that somebody has an idea of how to emulate this thing, because as I said i'm not good on C# code an stuff... but it's ok anyway! Let's hope someone someday will find a way! For now i'll just add a dialog box!
« Last Edit: 2019-06-11 15:42:26 by ToraCarol »

ToraCarol

  • Crazy poster
  • *
  • Posts: 114
  • Karma: 9
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1553 on: 2019-06-15 16:06:21 »
I fixed the "following Character" and Marcus thing..thanks a bunch!


1) About the save dialog box, you know guys where can i put it between the Disc 1 and 2? Is kinda complicated because there's a cinematic/unexisting field and the Borden field without any particular main loop..and I don't know where to put properly without mess everything! :|

2) Also, have you find a way to solve this,Tirlititi? I've tried with "Raise Windows" but for some reason it seem to not work!

Spoiler: show


3) Last but not least, what about if I want to set in a "Trance Mode at start of the battle" other characters instead only Zidane, Steiner and Vivi? It's possible?
 I know there is something that enables "Trance Mode" in the main enemy attacks, is it correct?

« Last Edit: 2019-07-04 12:31:48 by ToraCarol »

Satoh

  • Insane poster
  • *
  • Posts: 386
  • Karma: 5
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1554 on: 2019-06-18 01:48:35 »
[...]
3) Last but not least, what about if I want to set in a "Trance Mode at start of the battle" other characters instead only Zidane, Steiner and Vivi? It's possible?
 I know there is something that enables "Trance Mode" in the main enemy attacks, is it correct?
[...]
Prison Cage; Garnet battle does this.
It has an attack that fills the Trance meter. It may be a different name in later versions of HW, but in version 0.38 its called Transfer.
in that fight there are a few important things that happen related to the trance bar filling. I'll try to show each of the important parts of the code. You can load the battle up yourself if you want to compare.

Code: [Select]
Function Main_Init
    if ( IsBattleInitialized ) {
        CloseAllWindows(  )
        Wait( 5 )
        TerminateBattle(  )
    } else {
        set SV_EnemyTeam[ATB] =$ FirstOf(SV_EnemyTeam[MAX_ATB])
        set #( VAR_GlobUInt16_33 = ( SV_PlayerTeam[MODEL_TYPE] ==$ 0 ) )
        set #( VAR_GlobUInt16_33 |= ( SV_PlayerTeam[MODEL_TYPE] ==$ 1 ) )
    }
    return
The first check is to see if battle has ended already, that seems to be normal for most battles. Then at [else] there are some commands and one of them is setting the enemy's ATB to the MAX_ATB of the first enemy. Tirlititi will have to explain how the list assignments work because I don't fully understand them, but I know that's what's happening in that line anyway.
Next we have a variable that is looking for Zidane's dagger animation model, and one that's looking for his thief sword animation model, and setting the party slot either of them is in, to VAR_GlobUInt16_33. The code does this twice for unknown reasons, the second time fully overwriting the first one.
(if you want to change this to a random party member you can change it to this
Code: [Select]
set #( VAR_GlobUInt16_33 = RandomInTeam(SV_PlayerTeam) )now, this variable is important for later, because in that fight ONLY Zidane is supposed to start with Trance, and the game needs to know which party slot he's in, in order to target him. (the battle also tracks all the other characters this way too so there is a variable for each specific character you might want to target)

Next since we already set Prison Cage to have full ATB at the start, we have the Prison Cage ATB code (I've again removed some code not related to Trance):
Code: [Select]
Function Prison_Cage_ATB
    if ( !VAR_LocUInt8_3 ) {
        set VAR_LocUInt8_3 = 1
        set #( SV_Target = VAR_GlobUInt16_33 )
        Attack( 8 )
        return
    }
    return
VAR_LocUInt8_3 is for tracking the cutscene progression for Zidane and Steiner explaining what Trance is. To begin with, its not set, so the battle checks if it doesn't exist yet (it doesn't) and then it sets it to 1, sets the SV_Target variable to the VAR_GlobUInt16_33, which it previously set as the party slot for Zidane, so now the next attack to execute will hit Zidane. Finally, it executes Attack( 8 ) which in this battle is Transfer, which fills up a character's Trance meter completely, and then returns out of the [if] and then processes some other things I removed for brevity, and then returns again to allow the game to continue into the next cycle.

If you wanted to change the character to say, Freya, in the prison cage fight, the game locates her model and stores it in VAR_GlobUInt16_45 using this code
Code: [Select]
        set #( VAR_GlobUInt16_45 = ( SV_PlayerTeam[MODEL_TYPE] ==$ 12 ) ) just like it did for Zidane in UInt16_33
A full list of character models can be seen in the Function List, under Var Code > [DATA ACCESS]
Code: [Select]
[MODEL_TYPE]
Zidane : 0 or 1
Vivi : 2
Dagger : 3, 4, 5 or 6
Steiner : 7 or 8
Quina : 9
Eiko : 10 or 11
Freya : 12
Amarant : 13
Cinna : 14
Marcus : 15
Blank : 16 or 17
Beatrix : 18

Note, that if the character you want to target is not in the battle, the code may freeze while it looks for that character specifically, or it may skip right over the Transfer attack completely. I don't know the exact effects, but if the variables aren't set correctly in the PSX version, the battle will just stall as the game tries to attack something that doesn't exist. Tirlititi may have advice on doing other things with targetting.

Battle code is all pretty new to me, but I did just look into this last night, ironically, so I figured I'd explain what I already figured out.
« Last Edit: 2019-06-18 02:03:10 by Satoh »

ToraCarol

  • Crazy poster
  • *
  • Posts: 114
  • Karma: 9
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1555 on: 2019-06-20 10:02:25 »
Thank you for the reply Satoh! Il check soon  8)
« Last Edit: 2019-07-04 12:31:56 by ToraCarol »

TheHobgoblin

  • Fast newbie
  • *
  • Posts: 6
  • Karma: 2
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1556 on: 2019-06-23 22:47:52 »
Not really a technical question, but since I want to develop the temporary characters into full ones...

I think I can just move Beatrix over to Sword Art and White Magic-- in fact, link all 3 white mages to the same White Magic command. That will free up some space.

I think I will get rid of the SFX commands and instead just make the "theater" versions of everyone the same as their normal version. They only do 1 fight using those commands anyway.

I can also get rid of the superfluous Magic commands.

That leaves me with choices with the other three.

Being able to do away with the SFX commands gives me 14 new abilities I can make.

So should I

1) Make 4 unique commands for one and 5 for the other two
2) Make Cinna "Green Mage/Gray Mage" so that he would make use of spells from the White Magic and Black Magic lists. Then I can maybe give Marcus and Blank 7 unique commands each (I think I might be able to squeeze this in without running into the command limit since I am pruning unneeded ones)
3) Find a way to expand the Ability List as well as the Command list so that all 3 can have 8 unique commands each.

Since I am already editing the assembly file in order to try to increase the number of slots from 9 to 12 so that the additional characters can be used uniquely and I haven't completely solved that, the only trick to increasing the lists for spells and commands is that I won't be able to further edit it with Hades Workshop. And it would be so much easier to use it to edit the abilities than try to figure out how to do it via hex-editor or something.

And I haven't completely solved the puzzle on how to do it yet anyway. I honestly haven't been working on it much for the past few months.
But I have worked out how to turn that starting area into a test area by assigning it a random encounter script and then putting the characters I want to test into the initial party.

Addendum:

Seeing what I could free up in the Commands list by combining similar commands and removing the unused/1 time use ones, I can arrange this to 34 command blocks free.
That it plenty enough to turn Cinna into a proper mage with plenty of spells taken from the black mage/white mage/blue mage lists and still leave enough room for the other two to get 8 commands each, even if 1 has to be a pre-existing ability.
« Last Edit: 2019-06-23 23:28:59 by TheHobgoblin »

TheHobgoblin

  • Fast newbie
  • *
  • Posts: 6
  • Karma: 2
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1557 on: 2019-07-08 05:00:15 »
I think I am 95+% of the way to expanding the character slots from 9 to 12, allowing the remaining 3 characters to be fully utilized.

I have spent basically the past two days on it.

To get as far as I did involved editing all of these classes

Under the "-" category
Actor
btl_init
ETb
EventEngine
FF9PARTY_INFO
ff9play
FF9StateGlobal
FieldHUD
NameSettingUI
NGUIText
PartySettingUI
PLAYER
ShopUI


Under the "FF9" category
ff9abil
ff9shop
FFSHOP_INFO

I will try to give more detailed information in the future.

It seems like Beatrix has to remain the slot 8 character with Cinna, Marcus and Blank becoming 9, 10 and 11 respectively. Initially I was going to try to match their slots to their character numbers, but for whatever reason it didn't work out. I was getting everyone's models shifted by 1 place (Blank was using Beatrix's model, Marcus had Blanks and Cinna had Marcus's)

In fact, the entire thing might be working now, but the issue I am having is that at the end of that initial battle, when the mask is supposed to come off, the game crashes and it reports a violation with the SFX file. I don't know if it is the character animation of the mask falling off or if it is the game trying to focus the camera on the opponent that is causing the crash, but it is one of the two.

But, after experimentation I found that if I leave every other change, but just change two numbers in the EventEngine file, that the game runs smoothly (at least for that first room) but Cinna, Marcus and Blank take the models of Quina, Eiko and Amarant respectively.

I feel like if I can just track down this one error then the job will be completed.


In the meantime, to experiment with this further, I would like to know how to change the game script so that I can add a change party members NPC in the first room. I already figured out how to put battles there. Any clues on how to do it?

Also, is there any possible way to change the settings for Hade's Workshop that would allow me to edit my already edited assembly instead of having to switch back and forth between an edited and unedited one?

ToraCarol

  • Crazy poster
  • *
  • Posts: 114
  • Karma: 9
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1558 on: Yesterday at 12:59:00 »
Hello guys, I'm sorry if I bother but I really hope anyone can help me with this one

Spoiler: show


As you can see in this image, there's a text window..with no text inside it! Why this happens? How to solve?
« Last Edit: Yesterday at 15:22:48 by ToraCarol »

DavidBest1996

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1559 on: Today at 11:59:36 »
Hello, sorry for the silly question but in Hades Workshop I modify some Ending texts but I can't modify the arguments of Text Command "Center" (I think opcode 0x48). Whatever number I write in, it become default again automatically after closing the window, I dunno why, and I don't find any answer about it (sorry for bad english)
« Last Edit: Today at 12:04:36 by DavidBest1996 »