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

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1075 on: 2018-04-22 11:08:59 »

UPDATE:

Sorry to bother again, you guys but I have a little big problem...so, I'm trying to add Blank in the Scene of Ipsen Castle, and the first part works well, for the second I have a little problem.. I haven't added him yet in the field ( I need to know how it works, because it's not related to the party in this case) so the last variable I did is "Blank_16" (he speaks to Zidane, after Steiner) so I terminated the enter in the Main_25

Perhaps showing the script functions you have for Blank_16, hard to tell what's up or down, without it.
And what exactly did you terminate in function Main_25? Which doesn't sound right either way.

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1076 on: 2018-04-22 18:07:12 »
Perhaps showing the script functions you have for Blank_16, hard to tell what's up or down, without it.
And what exactly did you terminate in function Main_25? Which doesn't sound right either way.

Hah, yup... sorry





That's it. Those are the only things I edited on this field.. maybe I was wrong with something...  :-[


Tedrainbow

  • Fast newbie
  • *
  • Posts: 16
  • Karma: -1
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1077 on: 2018-04-23 00:45:02 »
Tirititi- It is possible add one new NPC which learn add bonus Attack, Defense, Evade, Magic Defense or Magic Evade for equals 10,000 Gils?

Example: Bonus +1 for first one stat equals 10,000 Gils and for each addition of 1 stat one for the same person, add 10,000 multiple Gils to the total number of bonuses add to the character

Example of ten bonus is cost.
10,000 + 20,000 + 30,000 + 40,000 + 50,000 + 60,000 + 70,000 + 80,000 + 90,000 + 100,000 is TOTAL 550,000 Gils

Example Vivi bonus add ...
+1 Attack, + 2 Defense, +1 Evade, +4 Magic Defense, +2 Magic Evade

But the max bonus is 50 for one character.
Total max Gils --)  12 570 000 X 8 = 100 560 000 millions gils. 

It is possible ?

Thanx so much..
« Last Edit: 2018-04-23 01:08:09 by Tedrainbow »

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1078 on: 2018-04-23 02:11:52 »
Hah, yup... sorry
That's it. Those are the only things I edited on this field.. maybe I was wrong with something...  :-[

Alright, I just looked at script: Main_25 in field: Ipsen's Castle/Entrance. I ask, do you have Beatrix in this scene as well? I see a TerminateEntry(13) on your screenshot there.
Also in function: Main_Init/case: 10560, I see there isn't an InitObject( 6, 0 ) (which ought to be Vivi's Init), that maybe an area of issue there, must test. I'm assuming: InitObject( 1, 0 ) is Entry_Blank...
My initial guess from here would be to add Blank to the scene much as Beatrix is added to this scene in Alternate Fantasy; a variable. You might be able to get around adding his entry right below hers.
Example:

In case: 10560 of function: Main_Init

Code: [Select]
        if ( VARL_GenBool_7173 ) {
            InitObject( 13, 0 ) // Beatrix Initiate
            InitObject( 1, 0 ) // Blank Initiate
        }

Main_25 function:
Code: [Select]
Function Main_25
    TerminateEntry( 6 )
    TerminateEntry( 8 )
    TerminateEntry( 7 )
    TerminateEntry( 11 )
    TerminateEntry( 9 )
    TerminateEntry( 10 )
    TerminateEntry( 12 )
    if ( VARL_GenBool_7173 ) {
        TerminateEntry( 13 ) // Terminate Entry_Beatrix
        TerminateEntry( 1 ) // Terminate Entry_Blank
    }
    return

If you don't want Beatrix in this scene, remove her functions from said above.

Tirititi- It is possible add one new NPC which learn add bonus Attack, Defense, Evade, Magic Defense or Magic Evade for equals 10,000 Gils?

It is possible ?

Thanx so much..

If I'm hearing this correctly, (Tirlititi to confirm) you're asking if it's possible for an NPC to grant a character some Magic Defense, Attack power, etc. stat increase for the price of 10,000 Gil.
If true, I'd believed the answer is no, it's not possible to do that. Simply speculating here, Attack, Defense and the like can only be raised with equipment related datas.
Also Gil, be it, receiving gil, prices & costs, much like EXP cannot exceed a value of 65535.
« Last Edit: 2018-04-23 02:17:35 by Incinerator »

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1079 on: 2018-04-23 09:59:39 »
Alright, I just looked at script: Main_25 in field: Ipsen's Castle/Entrance. I ask, do you have Beatrix in this scene as well? I see a TerminateEntry(13) on your screenshot there.
Also in function: Main_Init/case: 10560, I see there isn't an InitObject( 6, 0 ) (which ought to be Vivi's Init), that maybe an area of issue there, must test. I'm assuming: InitObject( 1, 0 ) is Entry_Blank...
My initial guess from here would be to add Blank to the scene much as Beatrix is added to this scene in Alternate Fantasy; a variable. You might be able to get around adding his entry right below hers.
Example:

In case: 10560 of function: Main_Init

Code: [Select]
        if ( VARL_GenBool_7173 ) {
            InitObject( 13, 0 ) // Beatrix Initiate
            InitObject( 1, 0 ) // Blank Initiate
        }

Main_25 function:
Code: [Select]
Function Main_25
    TerminateEntry( 6 )
    TerminateEntry( 8 )
    TerminateEntry( 7 )
    TerminateEntry( 11 )
    TerminateEntry( 9 )
    TerminateEntry( 10 )
    TerminateEntry( 12 )
    if ( VARL_GenBool_7173 ) {
        TerminateEntry( 13 ) // Terminate Entry_Beatrix
        TerminateEntry( 1 ) // Terminate Entry_Blank
    }
    return

If you don't want Beatrix in this scene, remove her functions from said above.


Thank you Incinerator, when I'm home I give a try!

About the model swap, to distinguish the battle model from the other I have to open it with a 3d program, or else?

And the animations? I can try to looking for all the animations, but you know is there's a particular way to show the preview? Maybe the same program for open models?

You know I don't want to go wrong with something when I'll try to swap Lani and Cinna :P

UPDATE: Mmh, maybe I figured how to distinguish the battle model, in the Field there's "Set Model" and the number, so the other one is the battle model..right?
« Last Edit: 2018-04-23 12:43:00 by ToraCarol »

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1080 on: 2018-04-23 16:03:22 »
Thank you Incinerator, when I'm home I give a try!

Mhmh..nope, nothing changed.. :oops:

ps: InitObject (13 0) is Amarant, Vivi is InitObject (7,0) in my case.
« Last Edit: 2018-04-23 17:06:46 by ToraCarol »

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1081 on: 2018-04-23 22:34:37 »
Thank you Incinerator, when I'm home I give a try!

About the model swap, to distinguish the battle model from the other I have to open it with a 3d program, or else?

And the animations? I can try to looking for all the animations, but you know is there's a particular way to show the preview? Maybe the same program for open models?

You know I don't want to go wrong with something when I'll try to swap Lani and Cinna :P

UPDATE: Mmh, maybe I figured how to distinguish the battle model, in the Field there's "Set Model" and the number, so the other one is the battle model..right?

Model swapping and/or importing doesn't work yet with the model tool.

Mhmh..nope, nothing changed.. :oops:

ps: InitObject (13 0) is Amarant, Vivi is InitObject (7,0) in my case.

Try starting from a clean slate, and then test the function.

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1082 on: 2018-04-24 06:07:48 »
Model swapping and/or importing doesn't work yet with the model tool.

Try starting from a clean slate, and then test the function.

Oh my, forgive me... freakin distraction, you said me two times and I didn't read it (or maybe I ignored because too excited of the idea, ahahah idk), ok then. So the only one thing to do is to wait and hope I guess ^^''

And ok, I just tried another time to start from a clean state, and I know for sure that the problem is something with blank.. but I really don't get what..  :-\ I'll try for a third time..

Thank you anyway, again.
« Last Edit: 2018-04-24 06:12:58 by ToraCarol »

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1083 on: 2018-04-24 22:43:34 »
I know for sure that the problem is something with blank.. but I really don't get what..  :-\ I'll try for a third time..

Thank you anyway, again.

I'd see where'd you come from there; I too had problems with Blank and this particular field. So, I ended up using an emergency function to save it all.

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1084 on: 2018-04-25 08:10:06 »
I'd see where'd you come from there; I too had problems with Blank and this particular field. So, I ended up using an emergency function to save it all.

Aahah, really? So how did you do? I simply did not put Blank in.. but if you had a better idea, I'm curios!

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1085 on: 2018-04-25 21:41:59 »
I simply did not put Blank in..

missing piece to the puzzle?

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1086 on: 2018-04-26 07:13:58 »
missing piece to the puzzle?

I know.. but I didn't have a better idea.. for now  :-[  I know, I'm a horrible person ;)
« Last Edit: 2018-04-26 12:55:44 by ToraCarol »

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1087 on: 2018-04-27 19:29:19 »
In the end I've decided to put Blank as a simple "Extra character" for the battles..much easier for my personal stuff...  :mrgreen:

So now, just want to know

I know Tirlititi mentioned a way to choose between Blank and Amarant without replacing

so I have wrote the dialog choice, but now..

where i put this?

Code: [Select]
WindowSync( 0, 128, DialogID )
if ( GetDialogChoice==0 ) {    // "Amarant..." is chosen
    SetPartyReserve( 255 )
    SetCharacterData( 7, 0, 255, 5, 7 )
} else if ( GetDialogChoice==1 ) {      // "Blank ofc!" is chosen
    SetPartyReserve( 1215 )
    SetCharacterData( 11, 0, 255, 21, 12 )
}

Everytime i try to put this it says "unexpected line {" or something like this..  so where i need to put it exactly??? Between WHICH lines??? Thank you if you'll help  :)

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1088 on: 2018-04-28 02:07:52 »
I know Tirlititi mentioned a way to choose between Blank and Amarant without replacing

where i put this?

Code: [Select]
WindowSync( 0, 128, DialogID )
if ( GetDialogChoice==0 ) {    // "Amarant..." is chosen
    SetPartyReserve( 255 )
    SetCharacterData( 7, 0, 255, 5, 7 )
} else if ( GetDialogChoice==1 ) {      // "Blank ofc!" is chosen
    SetPartyReserve( 1215 )
    SetCharacterData( 11, 0, 255, 21, 12 )
}

Everytime i try to put this it says "unexpected line {" or something like this..  so where i need to put it exactly??? Between WHICH lines??? Thank you if you'll help  :)

1. It's best to put a choice like this on an NPC. Put in a scenario, and you may only have that one chance to select the choice.

2. Init that NPC in a Field accessible at all times.

3. Your SetPartyReserve and SetCharacterData functions are wrong. Currently (in your else {) you have SetPartyReserve, Marcus selected and SetCharacterData, Blank and Blank's equipment; don't change. The else function should be setting Amarant's data back in. (see below) Functions in your (if {) statement are fine.

4. The error you got is likely because you have two if { statements. You put another if { statement on the else {.

example from mine:
Code: [Select]
    DisableMove(  )
    DisableMenu(  )
    WindowSync( 1, 128, 0 )           \\ dialog text with choice (set in Texts panel - example below)
    if ( GetDialogChoice == 0 ) {
        SetPartyReserve( 2143 )
        SetCharacterData( 11, 0, 14, 21, 13 )
        SetName( 11, 0 ) \\ Or Amarant's name will set over Blank's...
        WindowSync( 1, 128, 1 )        \\ A text "Blank has joined the party!" or something similar.
        set VARL_GenBool_8012 = 1
        FadeFilter( 6, 16, VAR_GlobUInt8_17, 255, 255, 255 )
        EnableMove(  )
        EnableMenu(  )
        Wait( 16 )
        FadeFilter( 7, 16, VAR_GlobUInt8_17, 0, 0, 0 )
    } else {
        SetPartyReserve( 255 )
        SetCharacterData( 7, 0, 7, 5, 7 )
        Menu( 1, 7 ) \\ Set name back to Amarant etc.
        WindowSync( 1, 128, 2 )        \\ A text "Amarant rejoins the party!" or similar.
        FadeFilter( 6, 16, VAR_GlobUInt8_17, 255, 255, 255 )
        EnableMove(  )
        EnableMenu(  )
        Wait( 16 )
        FadeFilter( 7, 16, VAR_GlobUInt8_17, 0, 0, 0 )
    }
    if ( GetDialogChoice == 0 ) {
        FadeFilter( 7, 16, VAR_GlobUInt8_17, 0, 0, 0 )
    } else {
        TimedTurn( VAR_GlobUInt8_16, 16 )
        WaitTurn(  )
        EnableMove(  )
        0x27( 255 )
        EnableMenu(  )
    }
    return

Text dialog choice; add in texts panel:
Code: [Select]
[STRT=140,4][PCHC=2,1][IMME]NPC
"Who'll you replace?"
[CHOO][MOVE=18,0]Blank with Amarant
[MOVE=18,0]Amarant with Blank


Study this. See the difference between yours?
« Last Edit: 2018-04-28 02:13:49 by Incinerator »

Tirlititi

  • Freak
  • *
  • Posts: 524
  • Karma: 68
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1089 on: 2018-04-28 07:48:33 »
There is no "else if" statement in the script language (it would be possible to implement it but I'm not sure if I'll do it).
You have to put it in a function "NPC_SpeakBTN" of the NPC of your choice. In this post, you have an other example of such function, based on what is usually done for NPCs in the game. The function that Incinerator showed is not complete because, for instance, it uses "TimedTurn( VAR_GlobUInt8_16, 16 )" without showing how "VAR_GlobUInt8_16" is setup.

Other than that, I guess he answered what you're missing, right?

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1090 on: 2018-04-28 08:35:01 »
it uses "TimedTurn( VAR_GlobUInt8_16, 16 )" without showing how "VAR_GlobUInt8_16" is setup.

That's from the same function you gave me as an example a long while ago. Been using it in that same spot ever since. And it works fine.

Tirlititi

  • Freak
  • *
  • Posts: 524
  • Karma: 68
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1091 on: 2018-04-28 08:41:23 »
I don't say it's wrong, I say it's incomplete. You didn't show the first lines of the function.

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1092 on: 2018-04-28 09:17:48 »
I don't say it's wrong, I say it's incomplete. You didn't show the first lines of the function.

Oh I see! I sure didn't!

got a question myself; is there a function I can use to make a treasure chest appear at random percentage? In other words; init a treasure that has a 1% chance of spawning?

Tirlititi

  • Freak
  • *
  • Posts: 524
  • Karma: 68
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1093 on: 2018-04-28 16:19:43 »
So, you can do it like this, in the "Main_Init" function :
Code: [Select]
if ( ( GetRandom % 100 ) < 1 ) {
    InitObject( X, 0 )
}
Where "X" is the entry of the chest. With this, the chest will appear with only 1/100 chances each time the player enters the field.
Using the usual code that is made for chests, it will appear opened if the player already took its content. For making it renewable, you need to change the general flag variable that says it is opened into a global variable (which reinits when you leave the field).
The general flag variable is something like "VARL_GenBool_7283" ; turn it into something like "VARL_GlobBool_560" (I just had a look at the game's engine and it seems that the global variables are limited to 80 bytes, so up to "VAR_GlobUInt8_79" or "VARL_GlobBool_639").

If you want the chest to be a one-time, though, you don't need to use global variables instead of general ones.

Incinerator

  • Crazy poster
  • *
  • Posts: 175
  • Karma: 10
  • I’d rather have 1 real friend than a thousand fake
    • View Profile
Re: [PSX/Steam] General editor - Hades Workshop (0.39b)
« Reply #1094 on: 2018-04-28 18:33:51 »
Wow, so it is actually possible! Thanks Tirlititi!

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.39b)
« Reply #1095 on: 2018-05-01 09:08:18 »
Thank you for the help you guys, so much appreciated  ;D

You know if there's somewhere a database or else where I can find the original PSX Iconset? You know I don't like the new ones so much, so I started to work on it. I just found these on the Wiki, but not much Weapons and items  :(

Tirlititi

  • Freak
  • *
  • Posts: 524
  • Karma: 68
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.39b)
« Reply #1096 on: 2018-05-01 09:44:30 »
Here you are.
In the PSX version, the icons are defined by a shape and a palette of colors (unlike for the Steam version where each used icon has its own image file, even if only the color changes). A lot of those icons are thus a combination of shape + color that is not used in-game.

ToraCarol

  • Cool newbie
  • *
  • Posts: 68
  • Karma: 6
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.39b)
« Reply #1097 on: 2018-05-02 14:14:49 »
Aah, perfect. Thank you so much.

DanTsukasa

  • Cool newbie
  • *
  • Posts: 75
  • Karma: 4
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.39b)
« Reply #1098 on: 2018-05-10 15:49:17 »
The cameras of the fields are a bit weirdly stored and, last time I tried, I couldn't have them properly readed.

Would it be possible for you to share what unity asset file the camera data for fields is stored in at all? Along with the file extension.
I've searched high and low but I can't seem to find anything relating to the camera data.

If I had to guess I'd say it could be the MCF files inside of p0data7.
I'm unsure what MCF stands for, and its just a guess honestly, since p0data11 contain the walkmeshes themselves.
« Last Edit: 2018-05-10 15:51:29 by DanTsukasa »

Tirlititi

  • Freak
  • *
  • Posts: 524
  • Karma: 68
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.39b)
« Reply #1099 on: 2018-05-10 17:04:05 »
Wrong ! Try again :p

Just kidding: the files with field cameras are the .bgs files (Tilesets (BG_SCENE)). These files contain both the tilesets and the camera(s). Binary-wise, it presents like this:
Code: [Select]
uint16 tileset_size // I don't remember if it's the whole file or only tiles
uint16 depth_shift // ???
uint16 tileanim_count
uint16 tileset_count
uint16 light_count
uint16 camera_count
uint32 tileanim_offset // Offsets are absolute with respect to the .bgs file
uint32 tileset_offset
uint32 light_offset
uint32 camera_offset
int16 origin_y // The Y coordinate is called Z in the game's source code ; it's the depth
int16 current_y // All these coordinates don't seem to be used anyway
int16 origin_x
int16 origin_z
int16 current_x
int16 current_z
int16 min_x
int16 max_x
int16 min_y
int16 max_y
int16 screen_x
int16 screen_y
...
// At camera_offset:
uint16 distance // "proj" in the source code
int16[9] matrix_3x3
int32 offset_x
int32 offset_z
int32 offset_y
int16 center_offset_x
int16 center_offset_y
int16 offset_width
int16 offset_height
int16 min_x // "vrpMinX" in the source code
int16 max_x
int16 min_y
int16 max_y
int32 depth
The main problem for me is the 3x3 matrix: I don't know to which OpenGL matrix it corresponds. I got bad views when I tried to do what seemed logical to me considering how the source code uses everything.

Note that the PSX cameras for the battle scenes are in the .raw17 (of archive p0data2) together with the enemy attack sequencing (and some datas related, like animation lists). But maybe they are ignored for the Steam version and they use other cameras somewhere else.

The MCF files seem to be something about ambiant light, but I'm not sure since there's already data about light in .bgs (EDIT : Ah, no ! I remember that the "light_count" is always 0 in all the .bgs of the game).

Good luck ^^'
« Last Edit: 2018-05-10 17:12:07 by Tirlititi »