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

Tirlititi

  • Freak
  • *
  • Posts: 570
  • Karma: 71
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1450 on: 2019-02-27 20:32:24 »
@ToraCarol: I don't know what could prevent the field to load (or the fading to happening). Have you properly setup Blank's init function?
The script not reacting can be because Zidane is already moving, which cancels his animation to play? If he's walking and you use a "RunAnimation", I think that it doesn't work. You can also try to replace this line by a "RunAnimationEx( 4, ... )".

@resinate: It is not possible to have a real control over the level and experience of the characters through scripts, unfortunatly.
Fortunatly, it is possible to reset someone to lvl 1: you need to use that "SetCharacterData" line but with an empty party reserve.
It would be like this:
Code: [Select]
set Setting_PartyReserve = 0
SetPartyReserve( Setting_PartyReserve )
SetCharacterData( 0, 1, 255, 255, 255 ) // Using 255 prevents unwanted changes
SetCharacterData( 1, 1, 255, 255, 255 )
SetCharacterData( 2, 1, 255, 255, 255 )
// etc... for each character
set Setting_PartyReserve = 255 // Use 511 instead if Beatrix should be available
SetPartyReserve( Setting_PartyReserve )

resinate

  • Crazy poster
  • *
  • Posts: 101
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1451 on: 2019-02-28 00:05:08 »
Heres the script everything works BUT zidane vivi and quina
case 1 and 2 are switched cuz of how they coded the text box in game.

Function Entry16_Init
    set VAR_GenUInt16_21 = 0
    SetPartyReserve( VAR_GenUInt16_21 )
    switch 8 ( GetDialogChoice ) from 0 {
    case +0:
        SetCharacterData( 0, 1, 255, 255, 255 )
        break
    case +1:
        SetCharacterData( 2, 1, 255, 255, 255 )
        break
    case +2:
        SetCharacterData( 1, 1, 255, 255, 255 )
        break
    case +3:
        SetCharacterData( 3, 1, 255, 255, 255 )
        break
    case +4:
        SetCharacterData( 4, 1, 255, 255, 255 )
        break
    case +5:
        SetCharacterData( 5, 1, 255, 255, 255 )
        break
    case +6:
        SetCharacterData( 6, 1, 255, 255, 255 )
        break
    case +7:
        SetCharacterData( 7, 1, 255, 255, 255 )
        break
    }
    set VAR_GenUInt16_21 = 255
    SetPartyReserve( VAR_GenUInt16_21 )
    TerminateEntry( 255 )
    return


whats the psx variable of "set Setting_PartyReserve = 0"
some reason 16_19 and 16_21 do same thing
« Last Edit: 2019-02-28 02:35:37 by resinate »

ToraCarol

  • Cool newbie
  • *
  • Posts: 99
  • Karma: 7
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1452 on: 2019-02-28 06:39:22 »
Thank you Tirlititi, and sorry again..I'll check the problem and let you know


ps: And another quick question.. meanwhile I was waiting for the reply I just started to work on the other Fields, on the Blue Narciss I put the scripts from my Steam Project.. and everything is cool to HWS too, every  entry is set right, and every script is at his place..

Code: [Select]
RunScript( 2, 2, 15 )
        Wait( 3 )
        WindowSyncEx( 2, 0, 128, 86 )


        RunScript( 2, 4, 14 ) <-- This script does not react
        WindowSyncEx( 4, 0, 128, 276 )


The function is a simple animation of Zidane, so is strange, because as I said everything, entry and functions are in their own place and on Steam works fine!

Any idea about this STRANGE problem?

resinate

  • Crazy poster
  • *
  • Posts: 101
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1453 on: 2019-02-28 13:37:52 »
yea for some reason "SetPartyReserve" doesnt effect zidane vivi and quina thats on disc 4 other 6 chars work 100% fine

Tirlititi

  • Freak
  • *
  • Posts: 570
  • Karma: 71
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1454 on: 2019-02-28 22:06:02 »
@resinate: No idea. Those characters don't have any special traitment :o
"VAR_GenUInt16_21" and "Setting_PartyReserve" are synonymous indeed ("Setting_PartyReserve" appeared in more recent versions of HW but you can still use "VAR_GenUInt16_21").

@ToraCarol: I answered that about it.
Quote
The script not reacting can be because Zidane is already moving, which cancels his animation to play? If he's walking and you use a "RunAnimation", I think that it doesn't work. You can also try to replace this line by a "RunAnimationEx( 4, ... )".

resinate

  • Crazy poster
  • *
  • Posts: 101
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1455 on: 2019-03-01 01:15:15 »
still trying to figure it out, as it seems i was wrong that ONLY eiko can be reset to lvl 1 no one can, just updates their levels

well i guess ff9 has its limits, really sucks u cant level reset anyone in game had some huge potential with this...... seeing ppl only responding once a day everyones has a busy plate lol
« Last Edit: 2019-03-01 02:26:00 by resinate »

Incinerator

  • Crazy poster
  • *
  • Posts: 209
  • Karma: 5
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1456 on: 2019-03-01 01:25:44 »
also what does the symbol mean? "|=" in set Setting_PartyInitialized |= 4

It's Bitwise variable // assignment!.

resinate

  • Crazy poster
  • *
  • Posts: 101
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1457 on: 2019-03-01 02:55:25 »
yea after hours of researching there is no possible way to change a chars levels after obtaining them.

if anyone knows a method lemme know, all i know is eiko is only char in ff9 that can be reseted.
« Last Edit: 2019-03-01 19:12:54 by resinate »

ToraCarol

  • Cool newbie
  • *
  • Posts: 99
  • Karma: 7
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1458 on: 2019-03-02 09:46:40 »
@resinate: No idea. Those characters don't have any special traitment :o
"VAR_GenUInt16_21" and "Setting_PartyReserve" are synonymous indeed ("Setting_PartyReserve" appeared in more recent versions of HW but you can still use "VAR_GenUInt16_21").

@ToraCarol: I answered that about it.

Oh sorry.. mistake of mine

resinate

  • Crazy poster
  • *
  • Posts: 101
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1459 on: 2019-03-02 10:18:12 »
tril have u had a chance to find out why eiko is only char in ff9 that can be reseted back to level 1? wish someone would talk to me in discord lol i really wanna figure this out

i need help in finding a way to reset this code block to zero, if i can do that i can reset chars back to level 1 with it.

        if ( ( ( VAR_GenUInt16_19 >> 0 ) & 1 ) == 0 ) {
            SetCharacterData( 0, 1, 0, 9, 0 )
            set VAR_GenUInt16_19 |= 1
        }

how do i set int16_19  back to 0?
« Last Edit: 2019-03-02 10:42:54 by resinate »

Tirlititi

  • Freak
  • *
  • Posts: 570
  • Karma: 71
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1460 on: 2019-03-02 10:49:21 »
Ok.
I've double-checked what the "update level" option does and it can't be used to level down the characters...
Code: [Select]
if (update_lv) {
int num = ff9play.FF9Play_GetAvgLevel(slot_no);
int lv;
if (pLAYER.info.serial_no == 10 || pLAYER.info.serial_no == 11)
lv = num;
else
lv = Mathf.Max((int)pLAYER.level, num);
ff9play.FF9Play_Build(slot_no, lv, null, false);
}
Except for the character serial number 10 and 11, which is indeed Eiko (she has 2 different serial numbers because she can wear two different kinds of weapons, flutes and rackets), the script is not allowed to reduce the level in any way.

In the Steam version, you can use the tool dnSpy (or even HW's CIL code modding for this) to edit the code above and remove that "take the max" line. It's in the class "ff9play" and its method "FF9Play_Change".

resinate

  • Crazy poster
  • *
  • Posts: 101
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1461 on: 2019-03-02 11:16:56 »
what about dagger? she can use 2 weapons also and she doesnt reset

closest ive gotten so far was using party 512 or 1024 and it does set everyone's level to that level, prob is i cant reset those 2 levels lol.

only method i can see is trying to unregister the chars

btw whats this lol FF9Play_ChangeLevel

if ur here can u look up what these are.

        0xA3( 0, 0, 0, 0 )
        0x76( 0, 0 )
        0x77( 0, 0 )
        0xC3( 0, 0 )
        0xC9( 0, 0, 0, 0, 0 )

i found this         0xDB( 0, 0 ) which 1st aug is char id but no clue what 2nd is
« Last Edit: 2019-03-02 11:39:05 by resinate »

ToraCarol

  • Cool newbie
  • *
  • Posts: 99
  • Karma: 7
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1462 on: 2019-03-02 11:35:49 »
Again sorry Tirlititi sometimes I get confused easily when I'm modding ^^''  :oops: You have a huge patience and i sincerely thank you about that

@ToraCarol: I don't know what could prevent the field to load (or the fading to happening). Have you properly setup Blank's init function?


So that's what I did

For the Init (I've added few things..but i don't know if they are necessary)

Code: [Select]
Function Blank_Init
    if ( ( General_FieldEntrance == 4 ) && ( VAR_GlobUInt8_30 == 1 ) ) {
        set VAR_GlobInt16_0 = 64956
        set VAR_GlobInt16_4 = 273
        set VAR_GlobInt16_6 = 224
        set VAR_GlobInt16_2 = 64967
    }
    SetModel( 5467, 87 )
    CreateObject( VAR_GlobInt16_0, VAR_GlobInt16_4 )
    TurnInstant( VAR_GlobInt16_6 )
    SetStandAnimation( 462 )
    SetWalkAnimation( 5225 )
    SetRunAnimation( 5222 )
    SetLeftAnimation( 5223 )
    SetRightAnimation( 5224 )
    SetObjectLogicalSize( 20, 20, 30 )
    SetAnimationStandSpeed( 14, 16, 18, 20 )
    SetHeadAngle( 96, 61 )
    RunSoundCode( 4616, 919 )
    RunSoundCode( 4616, 914 )
    RunModelCode( 16, 25, 4, 919 )
    RunModelCode( 17, 25, 4, 914 )
    RunModelCode( 18, 25, 4, 1 )
    RunSoundCode( 4616, 919 )
    RunSoundCode( 4616, 914 )
    RunModelCode( 16, 25, 13, 919 )
    RunModelCode( 17, 25, 13, 914 )
    RunModelCode( 18, 25, 13, 1 )
    RunSoundCode( 4616, 919 )
    RunSoundCode( 4616, 914 )
    RunModelCode( 16, 38, 0, 919 )
    RunModelCode( 17, 38, 0, 914 )
    RunModelCode( 18, 38, 0, 1 )
    RunSoundCode( 4616, 919 )
    RunSoundCode( 4616, 914 )
    RunModelCode( 16, 38, 8, 919 )
    RunModelCode( 17, 38, 8, 914 )
    RunModelCode( 18, 38, 8, 1 )
    DefinePlayerCharacter(  )
    if ( VAR_GlobUInt8_30 != 1 ) {
        set VAR_GlobBool_158 = 1
        if ( VAR_GlobBool_159 == 1 ) {
            if ( VAR_GlobBool_156 == 0 ) {
                EnableMove(  )
                0x27( 255 )
                if ( VAR_GlobBool_144 == 0 ) {
                    EnableMenu(  )
                }
            }
        }
    }
    return

Fo the Loop

Code: [Select]
Function Blank_Loop
    DisableShadow(  )
    RunModelCode( 4, 1, -100, 0 )
    Wait( 1 )
    loop

And for the Main Init

Code: [Select]
  SetControlDirection( 0, 0 )
    InitCode( 1, 0 )
    InitCode( 2, 0 )
    InitCode( 3, 0 )
    InitCode( 4, 0 )
    if ( VARL_GenBool_2432 == 1 ) {
        ShowTile( 5, 0 )
        ShowTile( 6, 0 )
    }
    SetRandomBattleFrequency( 128 )
    SetRandomBattles( 1, 67, 67, 67, 67 )
    if ( ( General_ScenarioCounter == 2010 ) && ( !VARL_GenBool_2432 ) ) {
        set VAR_GlobUInt8_30 = 1
        InitObject( 10, 0 )
        InitObject( 7, 0 )
        InitCode( 6, 0 )
        InitRegion( 8, 0 )
        InitRegion( 9, 0 )
        set VARL_GenBool_2432 = 1
    } else {
        set VAR_GlobUInt8_30 = 0
        if ( General_FieldEntrance != 10 ) {
            InitObject( 10, 0 )
            InitRegion( 8, 0 )
            InitRegion( 9, 0 )
        } else {
           
                InitObject( 17, 0 )
           
        }

And there this one on the Swamp after the cinematic

Code: [Select]
0xA9( 250 )
        FadeFilter( 2, 1, VAR_GlobUInt8_17, 255, 255, 255 )
        if ( ( ( ( SyncCinematic & 127 ) != 17 ) && ( ( SyncCinematic & 128 ) == 0 ) ) && ( VAR_GlobBool_146 == 1 ) ) {
            while ( ( SyncCinematic & 127 ) != 1 ) {
                Wait( 1 )
            }
            Wait( 1 )
        }
        set VAR_GlobBool_162 = 1
        set VAR_GlobBool_163 = 1
        if ( VAR_GlobBool_167 == 1 ) {
            RunSoundCode( 265, 65535 )
            set VAR_GlobBool_167 = 0
        }
        if ( VAR_GlobBool_162 == 0 ) {
            if ( VAR_GenUInt8_13 < 9 ) {
                set VAR_GenUInt8_13 = 3
            }
            RunSoundCode1( 20864, 655, 0 )
        }
        if ( VAR_GlobBool_163 == 0 ) {
        }
        set General_FieldEntrance = 27
        Field( 250 )

In this last one I simply changed the Field from 256 to 250. I was wrong something for sure..but I prefer to ask you and understand before i can mess everything

Quote
The script not reacting can be because Zidane is already moving, which cancels his animation to play? If he's walking and you use a "RunAnimation", I think that it doesn't work. You can also try to replace this line by a "RunAnimationEx( 4, ... )".

Now I've tried to make somtehing like that

Code: [Select]
   RunScript( 2, 2, 15 )
        WindowSyncEx( 2, 0, 128, 86 )
        Wait( 3 )
        RunAnimationEx( 4, 3397 )
        WindowSyncEx( 4, 0, 128, 276 )
        WaitAnimationEx( 0 )
        Wait( 3 )

But seems to not work anyway... :( Anyway the script is based on an extra that I wanted to add when Blank says that he "decides to join" instead of "the boss asked" so..the script is just an answer of Zidane..nothing particular..

And as I said..is strange..because on Steam works perfectly!
« Last Edit: 2019-03-02 13:48:25 by ToraCarol »

resinate

  • Crazy poster
  • *
  • Posts: 101
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1463 on: 2019-03-02 11:45:36 »
tril and tora come to discord would be ALOT ezer to talk there

also tril how did u even find that and how is it linked to setchar data?

hey trill in steam version is location of all the set VAR_GlobUInt8_24 variables ??

TRIL what about this "GetEntryProperty(0, 0)" where is set version?

whats these?  if ( VAR_GlobInt16_8 != 99 ) { ???? the 8 10 12 and 14 mean?
« Last Edit: 2019-03-02 12:47:30 by resinate »

Tirlititi

  • Freak
  • *
  • Posts: 570
  • Karma: 71
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1464 on: 2019-03-02 15:21:22 »
@resinate: Dagger also has 2 serial numbers but they are not handled differently than the others.
The variables "VAR_GenUInt16_19" have nothing to do with it. You can easily remove the "if" line so this variable doesn't appear anymore.
This lol FF9Play_Change is part of the game's source code. dnSpy is a tool that can omg access to this code and change it.

Your last post is incomprehensible. Please make some effort.

@ToraCarol: In Blank's Init, remove the block "if ( ( General_FieldEntrance == 4 ) && ( VAR_GlobUInt8_30 == 1 ) ) {" and instead setup the position you want to give to Blank by selecting the line "CreateObject" and the helper "Field" on the left of the window (showing the field's walkmesh).
In Blank's loop, what is the "RunModelCode( 4, 1, -100, 0 )"? You should probably remove that line and the "DisableShadow" (unless you want to hide Blank's shadow for some reason).
In the swamp's function, you still have the line "set General_FieldEntrance = 27" while it should be "set General_FieldEntrance = 10".

Ah, and the animation is not working on PSX because you can't use all the animations there. Each field has the datas of some animations linked to it (the animations that the devs used for that field) and you can't access to the others.
On Steam, you can access any model and any animation at any time.

ToraCarol

  • Cool newbie
  • *
  • Posts: 99
  • Karma: 7
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1465 on: 2019-03-02 18:20:16 »


@ToraCarol: In Blank's Init, remove the block "if ( ( General_FieldEntrance == 4 ) && ( VAR_GlobUInt8_30 == 1 ) ) {" and instead setup the position you want to give to Blank by selecting the line "CreateObject" and the helper "Field" on the left of the window (showing the field's walkmesh).
In Blank's loop, what is the "RunModelCode( 4, 1, -100, 0 )"? You should probably remove that line and the "DisableShadow" (unless you want to hide Blank's shadow for some reason).
In the swamp's function, you still have the line "set General_FieldEntrance = 27" while it should be "set General_FieldEntrance = 10".

Ah, and the animation is not working on PSX because you can't use all the animations there. Each field has the datas of some animations linked to it (the animations that the devs used for that field) and you can't access to the others.
On Steam, you can access any model and any animation at any time.

Yey! It works! Thanks a bunch!  ;D ;D

Oh...I got it. Ok...so I'll keep to work on Steam! Thanks for let me know  8)
« Last Edit: 2019-03-02 20:18:39 by ToraCarol »

ToraCarol

  • Cool newbie
  • *
  • Posts: 99
  • Karma: 7
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1466 on: 2019-03-02 21:07:57 »


Tirlititi, why Blank is like he's not walking in the water?x''D  It's something related to the model?

(And what about the "texture" effects? Like the "Night Effect", "Light Of Branbal" on the model etc?  I'd like to solve somehow... it's kinda creepy to see Blank colorful x'D)
« Last Edit: 2019-03-03 19:37:51 by ToraCarol »

Tirlititi

  • Freak
  • *
  • Posts: 570
  • Karma: 71
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1467 on: 2019-03-03 21:47:56 »
Apparently, the water effect is handled by the different functions "Code1_Loop", "CodeN_11" and "CodeN_12" (with N ranging through 2, 3 and 4). They are SPS effects.
The problem is that they are specifically made for Zidane (ObjectUID_10). You can change every instance of "ObjectUID_10" to "ObjectUID_250" in these functions: it will refer to the party's character (so Zidane most of the time and Blank in your modifications). It would be more difficult to have two characters in the water at the same time apparently.

resinate

  • Crazy poster
  • *
  • Posts: 101
  • Karma: 0
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1468 on: 2019-03-04 14:09:38 »
i was more surprised the fact no char data can be fetched thru variables like how chocobo scripts work

so i was looking around at max level coding in game and found this line

ff9play.FF9Play_ChangeLevel(i, 99, false);

can this be used at all in psx version???

well for now im gonna use a boss rush script lol
« Last Edit: 2019-03-05 01:43:34 by resinate »

ToraCarol

  • Cool newbie
  • *
  • Posts: 99
  • Karma: 7
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1469 on: 2019-03-07 16:25:27 »

Thanks for the reply, as always  ;)

Just want to ask...whats the best way to install the Dwight's "SFX & Missing Enemy Death Sounds Fix" to  be compatible with my Mod? (When i copypaste the resoruce.assets, obviously, the game
looks kinda corrupted)

It's necessary to start from a clean project?

Tirlititi

  • Freak
  • *
  • Posts: 570
  • Karma: 71
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1470 on: 2019-03-07 16:42:05 »
@resinate: No, it's not accessible from the PSX version. Only the Steam version allows to modify its source code.

@ToraCarol: The missing death sounds is just a single file to import in the "resources.assets". You can get it there for instance. It can be imported either in your "resources.assets" before doing your stuff with HW or after generating the modded files, it doesn't matter.
I don't remember if that mod also update the sounds with better ones. If that's the case, it is files like p0data61, 62 or 63 that are not modified by HW so it's perfectly compatible.

Incinerator

  • Crazy poster
  • *
  • Posts: 209
  • Karma: 5
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1471 on: 2019-03-07 19:21:54 »
Thanks for the reply, as always  ;)

Just want to ask...whats the best way to install the Dwight's "SFX & Missing Enemy Death Sounds Fix" to  be compatible with my Mod? (When i copypaste the resoruce.assets, obviously, the game
looks kinda corrupted)

It's necessary to start from a clean project?

You can use that resources.assets as a base before beginning your mod with HW!.
If you still have your .hws file, you can do so.

I don't remember if that mod also update the sounds with better ones. If that's the case, it is files like p0data61, 62 or 63 that are not modified by HW so it's perfectly compatible.

It does and is compatible!.

ToraCarol

  • Cool newbie
  • *
  • Posts: 99
  • Karma: 7
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1472 on: 2019-03-08 09:41:17 »
Thanks to both for the reply! For now i put the Enemy Death sound fix and works like  a charm!!!

Now I'm checkin for the SFX mod, I let you know for anything else  ;)
« Last Edit: 2019-03-08 10:24:56 by ToraCarol »

Zara9

  • Freak
  • *
  • Posts: 504
  • Karma: 13
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1473 on: 2019-03-08 22:04:17 »
I am trying to add Garland to the silverdragon boss fight at disc 3 on the original ff9 steam version

and everytime i try to do so, the game softlocks on me, what am i doing wrong then
« Last Edit: 2019-03-09 00:21:04 by Zara9 »

Tirlititi

  • Freak
  • *
  • Posts: 570
  • Karma: 71
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.40b)
« Reply #1474 on: 2019-03-09 11:07:12 »
Adding an enemy in a battle requires a bunch of things. Have you done everything I wrote in that message?