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

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #425 on: 2016-02-03 05:38:48 »
Gorildo
If you want take Freya and Quina at Lv1 you should edit Lindblum Square field scripts and Qu's Marsh Pond scripts.

itoikenza

  • *
  • Posts: 47
  • Chrono Cross Modder: http://pastebin.com/fuj8s836
    • View Profile
    • Chrono Cross Hacking Wish List!
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #426 on: 2016-02-03 16:00:24 »
@itoikenza : There's unfortunatly no way to replace Beatrix inside the menus and battles and not on the field, besides doing what I described several times (replace Beatrix by a normal character at the beginning of the field's "main" function and replace her back in the party at the end of that same function).

I plan to make HW compatible with the Steam version (actually, if everything goes well, the space limitation should be removed, enabling a bunch of cool stuff), but I can't tell before I see it ^^"
 
Too bad about Beatrix, Tirlititi, thanks for considering making steam ver. compatible.

Remember this?!

How about that editing "Change" into any other movelist, or even a custom one called "Killer"
« Last Edit: 2016-02-03 16:06:27 by itoikenza »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #427 on: 2016-02-04 06:10:09 »
Remember this?!
Spoiler: show

How about that editing "Change" into any other movelist, or even a custom one called "Killer"
Is this type of Modding works?

Tirlititi

  • *
  • Posts: 883
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #428 on: 2016-02-04 09:52:31 »
No, it still doesn't work and I can't give any more answer that I gave at the time itoikenza :/

Dogshrapnel

  • *
  • Posts: 16
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #429 on: 2016-02-05 23:36:24 »
Just a quick question to ask, I noticed that Lai Strike has its own status formula, does anyone know what the difference between its and bad status's formula is?

gorildo

  • *
  • Posts: 21
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #430 on: 2016-02-07 16:02:29 »
Yeah,  there is possibility. You should Edit Field scripts where characters fist time join your party.
Also I took Eiko at lv1 when Markus was lv 22

Scroll up all messages and you will find what Scripts you should edit to obtain Eiko and Amarant at minimal levels.

I see now, thanks.

If you have the Freya and Quina scripts please post them too. Also, what exactly is the Quina glitch? Does it affect anything else? Please inform us if you can figure out a fix.

I can't make much sense out of those scripts, so thanks again.  :-D

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #431 on: 2016-02-09 16:15:27 »
Script edition for Blank LV1

Find field "Evil Forest/Nest" CD 1 -function -  Function Main_Loop
Swap this part of script
Code: [Select]
    case +0:
        MoveCamera( 160, 112, 1, 8 )
        Wait( 45 )
        MoveCamera( 256, 224, 30, 8 )
        Wait( 15 )
        RunScript( 2, 15, 12 )
        Wait( 10 )
        RunScript( 2, 18, 12 )
        Wait( 10 )
        RunScriptSync( 2, 16, 12 )
        WindowSyncEx( 16, 3, 128, 137 )
        WindowSyncEx( 15, 1, 128, 138 )
        WindowSyncEx( 18, 2, 128, 139 )
        WindowSyncEx( 18, 2, 128, 140 )
        WindowSyncEx( 18, 2, 128, 141 )
        WindowSyncEx( 15, 1, 128, 142 )
        WindowSyncEx( 18, 2, 128, 143 )
        0xBD( 9, 2798 )
        Music1( 25089, 65535, 50 )
        Model2( 40960, 12, 128, 1 )
        Wait( 15 )
        WindowAsyncEx( 15, 1, 128, 144 )
        Wait( 45 )
        set VAR_B13_21 = 2059
        SetPartyReserve( VAR_B13_21 )
        RemoveParty( 0 )
        RemoveParty( 1 )
        RemoveParty( 2 )
        RemoveParty( 3 )
        RemoveParty( 4 )
        RemoveParty( 5 )
        RemoveParty( 9 )
        RemoveParty( 6 )
        RemoveParty( 10 )
        RemoveParty( 7 )
        RemoveParty( 11 )
        RemoveParty( 8 )
        set VAR_A6_147 = PartyAdd(11)
        set VAR_A6_147 = PartyAdd(0)
        set VAR_A6_147 = PartyAdd(1)
        set VAR_A6_147 = PartyAdd(3)
        if ( IsInParty(5) ) {
            set Setting_OptionalQuina = 1
        } else {
            set Setting_OptionalQuina = 0
        }
        if ( ( ( VAR_B13_19 >> 14 ) & 1 ) == 0 ) {
            SetCharacterData( 11, 1, 14, 21, 12 )
            set VAR_B13_19 |= 16384
            SetRow( 11, 1 )
        }
        SetHP( 11, 9999 )
        SetMP( 11, 999 )
        SetStatus( 11, 127 )
        if ( ( ( VAR_B13_19 >> 0 ) & 1 ) == 0 ) {
            SetCharacterData( 0, 1, 255, 9, 0 )
            set VAR_B13_19 |= 1
        }
        if ( ( ( VAR_B13_19 >> 3 ) & 1 ) == 0 ) {
            SetCharacterData( 3, 1, 255, 5, 3 )
            set VAR_B13_19 |= 8
        }
        if ( ( ( VAR_B13_19 >> 1 ) & 1 ) == 0 ) {
            SetCharacterData( 1, 1, 255, 5, 1 )
            set VAR_B13_19 |= 2
        }
        SetName( 11, 96 )
        set Setting_OptionalQuina = 0
        set Setting_DaggerDepresses = 0
        set Setting_MPx4 = 1
        Battle( 1, 303 )
        break
to
Code: [Select]
    case +0:
        MoveCamera( 160, 112, 1, 8 )
        Wait( 45 )
        MoveCamera( 256, 224, 30, 8 )
        Wait( 15 )
        RunScript( 2, 15, 12 )
        Wait( 10 )
        RunScript( 2, 18, 12 )
        Wait( 10 )
        RunScriptSync( 2, 16, 12 )
        WindowSyncEx( 16, 3, 128, 137 )
        WindowSyncEx( 15, 1, 128, 138 )
        WindowSyncEx( 18, 2, 128, 139 )
        WindowSyncEx( 18, 2, 128, 140 )
        WindowSyncEx( 18, 2, 128, 141 )
        WindowSyncEx( 15, 1, 128, 142 )
        WindowSyncEx( 18, 2, 128, 143 )
        0xBD( 9, 2798 )
        Music1( 25089, 65535, 50 )
        Model2( 40960, 12, 128, 1 )
        Wait( 15 )
        WindowAsyncEx( 15, 1, 128, 144 )
        Wait( 45 )
        set VAR_B13_21 = 2048
        SetPartyReserve( VAR_B13_21 )
        RemoveParty( 0 )
        RemoveParty( 1 )
        RemoveParty( 2 )
        RemoveParty( 3 )
        RemoveParty( 4 )
        RemoveParty( 5 )
        RemoveParty( 9 )
        RemoveParty( 6 )
        RemoveParty( 10 )
        RemoveParty( 7 )
        RemoveParty( 11 )
        RemoveParty( 8 )
        if ( IsInParty(5) ) {
            set Setting_OptionalQuina = 1
        } else {
            set Setting_OptionalQuina = 0
        }
        if ( ( ( VAR_B13_19 >> 14 ) & 1 ) == 0 ) {
            SetCharacterData( 11, 1, 14, 21, 12 )
            set VAR_B13_19 |= 16384
            SetRow( 11, 1 )
        }
        SetHP( 11, 9999 )
        SetMP( 11, 999 )
        SetStatus( 11, 127 )
        if ( ( ( VAR_B13_19 >> 0 ) & 1 ) == 0 ) {
            SetCharacterData( 0, 1, 255, 9, 0 )
            set VAR_B13_19 |= 1
        }
        if ( ( ( VAR_B13_19 >> 3 ) & 1 ) == 0 ) {
            SetCharacterData( 3, 1, 255, 5, 3 )
            set VAR_B13_19 |= 8
        }
        if ( ( ( VAR_B13_19 >> 1 ) & 1 ) == 0 ) {
            SetCharacterData( 1, 1, 255, 5, 1 )
            set VAR_B13_19 |= 2
        }
        set VAR_A6_147 = PartyAdd(11)
        set VAR_A6_147 = PartyAdd(0)
        set VAR_A6_147 = PartyAdd(1)
        set VAR_A6_147 = PartyAdd(3)
        SetName( 11, 96 )
        set Setting_OptionalQuina = 0
        set Setting_DaggerDepresses = 0
        set Setting_MPx4 = 1
        Battle( 1, 303 )
        break

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #432 on: 2016-02-09 17:33:02 »
Script edition for Freya LV1

Find field "Lindblum/Square" CD 1 -function -  Function Main_16 (there is two square areas at Lindblum you need business district's square)
Swap this part of script
Code: [Select]
        if ( GetTimerTime > 3 ) {
            if ( !VAR_B6_56 ) {
                set VAR_B13_21 = 17
                SetPartyReserve( VAR_B13_21 )
                set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                set VAR_B10_8 = 0
                while ( VAR_B10_8 <= 11 ) {
                    if ( IsInParty(VAR_B10_8) ) {
                        set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                    }
to
Code: [Select]
        if ( GetTimerTime > 3 ) {
            if ( !VAR_B6_56 ) {
                set VAR_B13_21 = 16
                SetPartyReserve( VAR_B13_21 )
                set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                set VAR_B10_8 = 0
                while ( VAR_B10_8 <= 11 ) {
                    if ( IsInParty(VAR_B10_8) ) {
                        set VAR_B10_10 |= ( 1 << VAR_B10_8 )

This script would work if only you will fight with Zaghnol during Hunting Festival

Otherwise you should edit other field script at "L. Castle/Conf. Room" - Function Main_Loop, but I didn't edit this script before and don't know could it cause glitches or not.
« Last Edit: 2016-02-09 18:26:14 by vivigix »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #433 on: 2016-02-09 17:57:19 »
Script edition for Quina LV1

Find field "Marsh/Pond" CD 1 - Function Main_Loop
Swap this part of script
This script edition would work if you take Quina on 1 CD after Hunter Festival before Gizamaluke if you will refuse join him to the party at Quans House
Code: [Select]
                        }
                        0xA9( -6 )
                        FadeFilter( 6, 24, VAR_B6_17, 255, 255, 255 )
                        Wait( 25 )
                        set VAR_B13_21 = 39
                        SetPartyReserve( VAR_B13_21 )
                        set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                        set VAR_B10_8 = 0
                        while ( VAR_B10_8 <= 11 ) {
                            if ( IsInParty(VAR_B10_8) ) {
                                set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                            }
to
Code: [Select]
                        }
                        0xA9( -6 )
                        FadeFilter( 6, 24, VAR_B6_17, 255, 255, 255 )
                        Wait( 25 )
                        set VAR_B13_21 = 32
                        SetPartyReserve( VAR_B13_21 )
                        set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                        set VAR_B10_8 = 0
                        while ( VAR_B10_8 <= 11 ) {
                            if ( IsInParty(VAR_B10_8) ) {
                                set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                            }

Find field "Marsh/Pond" CD 2 - Function Main_Loop
Swap this part of script
This script edition would work if you take Quina on 2 CD when you start searching the entrance to Fossil Roo if you will refuse join him to the party at Quans House
Code: [Select]
                            }
                            0xA9( -6 )
                            FadeFilter( 6, 24, VAR_B6_17, 255, 255, 255 )
                            Wait( 25 )
                            set VAR_B13_21 = 51
                            SetPartyReserve( VAR_B13_21 )
                            set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                            set VAR_B10_8 = 0
                            while ( VAR_B10_8 <= 11 ) {
                                if ( IsInParty(VAR_B10_8) ) {
                                    set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                                }
to
Code: [Select]
                            }
                            0xA9( -6 )
                            FadeFilter( 6, 24, VAR_B6_17, 255, 255, 255 )
                            Wait( 25 )
                            set VAR_B13_21 = 32
                            SetPartyReserve( VAR_B13_21 )
                            set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                            set VAR_B10_8 = 0
                            while ( VAR_B10_8 <= 11 ) {
                                if ( IsInParty(VAR_B10_8) ) {
                                    set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                                }

I gathered these scripts into one, and made them same for 1cd and 2cd.

The first script edition cause tiny glitch at displaying shops stats for party, if you come back to Lindblum before visiting Gizamaluke.
But don't worry glitch doesn't affect on game play and story line, it will fix after battle with Gizamaluke   


« Last Edit: 2016-02-22 03:48:57 by vivigix »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #434 on: 2016-02-09 18:20:23 »
Tirlititi
I have a question, and want ask you.
There is a script in the game for Dagger at field Evil Forest/Exit - Function Main_Loop
Code: [Select]
        LearnAbility( 2, 49 )
        LearnAbility( 2, 51 )
        LearnAbility( 2, 55 )
        LearnAbility( 2, 58 )
        LearnAbility( 2, 62 )
As I understood this code made for learning eidolons.

Where I can find script for unlearn eidolons on the CD2?

Tirlititi

  • *
  • Posts: 883
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #435 on: 2016-02-09 18:56:29 »
There are two of them, for some reason. During the escape from Alexandria's Castle, the game unlearn those abilities both times Dagger is added to the party.

1st one (story-wise) is found in "A. Castle/Staircase" (1st one) at the end of "Zidane_Init".
2nd one is found in "A. Castle/Underground", still at the end of "Zidane_Init".

I also found one in Zidane's script of "Pinnacle Rocks/Path" (1st one), but I don't think it's ever ran because Zidane can't be controlled in these screens (judging from the "Main_Init" function, it would be ran if the player went in these screens before the Castle escape).

The setting about the eidolons' magic cost is redefined everytime the party is modified, but it's set to 0 the first time in the function "Main_19" of the field "Pinnacle Rocks/Hole" (this function runs once when the dialog with Ramuh is done ; it handles the screen change).

Thank you for the lvl1 scripts :)

@Dogshrapnel : I don't know for Iai Strike. It may be the accuracy that uses another formula. It may be to handle very specific effects ("Death" heals the target if it's under Zombie instead of adding the status for instance).

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #436 on: 2016-02-10 06:06:45 »
Tirlititi thank you for reply.
Final Fantasy IX realised on Android today.
Congratulations folk.

Tirlititi,  do you think it is possible to make Hades Workshop comparable with Android version of FFIX?

Kivikaki

  • *
  • Posts: 10
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #437 on: 2016-02-14 11:13:33 »
Tirlititi,  do you think it is possible to make Hades Workshop comparable with Android version of FFIX?

I'd like to know this too, because the Android Version looks gorgeous, but i'd really like to play it with some of the great mods that got released.

gorildo

  • *
  • Posts: 21
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #438 on: 2016-02-14 12:27:54 »
Tirlititi thank you for reply.
Final Fantasy IX realised on Android today.
Congratulations folk.

Tirlititi,  do you think it is possible to make Hades Workshop comparable with Android version of FFIX?

Thanks for the scripts. I believe the first time you meet Freya at the bar in Lindblum, when you get to the name screen, there isn't a script for setting her level right?

By the way, this new version is coming to PC eventually, but the REAL FF IX is on PS1  8-)

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #439 on: 2016-02-14 17:40:25 »
gorildo.
Yeah. You are right. There is no scripts for lv calculation at bar.
Perhaps,  I forgot about another Script edition for Quina LV1.
There might be  another script for modding. I will check it, and if I find it I will post it here.


Script edition for Quina LV1 part 2

Marsh/Master's House" CD 1 - Function Main_Loop
Swap this part of script
This script edition would work if you take Quina on 1 CD after Hunter Festival before Gizamaluke if you will join him to the party at Quans House
Code: [Select]
        }
        switch 2 ( GetDialogChoice ) from 0 {
        case +0:
            RunScript( 6, 12, 17 )
            RunScript( 6, 2, 18 )
            if ( Global_ScenarioCounter < 5690 ) {
                RunScriptSync( 6, 12, 19 )
                set VAR_B13_21 = 51
                SetPartyReserve( VAR_B13_21 )
                set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                set VAR_B10_8 = 0
                while ( VAR_B10_8 <= 11 ) {
                    if ( IsInParty(VAR_B10_8) ) {
                        set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                    }
to
Code: [Select]
        }
        switch 2 ( GetDialogChoice ) from 0 {
        case +0:
            RunScript( 6, 12, 17 )
            RunScript( 6, 2, 18 )
            if ( Global_ScenarioCounter < 5690 ) {
                RunScriptSync( 6, 12, 19 )
                set VAR_B13_21 = 32
                SetPartyReserve( VAR_B13_21 )
                set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                set VAR_B10_8 = 0
                while ( VAR_B10_8 <= 11 ) {
                    if ( IsInParty(VAR_B10_8) ) {
                        set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                    }

Find field "Marsh/Master's House" CD 2 - Function Main_Loop
Swap this part of script
This script edition would work if you take Quina on 2 CD when you start searching the entrance to Fossil Roo if you will join him to the party at Quans House
Code: [Select]
            } else {
                RunScriptSync( 6, 12, 20 )
                set VAR_B13_21 = 39
                SetPartyReserve( VAR_B13_21 )
                set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                set VAR_B10_8 = 0
                while ( VAR_B10_8 <= 11 ) {
                    if ( IsInParty(VAR_B10_8) ) {
                        set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                    }
to
Code: [Select]
            } else {
                RunScriptSync( 6, 12, 20 )
                set VAR_B13_21 = 32
                SetPartyReserve( VAR_B13_21 )
                set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 0 ) ) )
                set VAR_B10_8 = 0
                while ( VAR_B10_8 <= 11 ) {
                    if ( IsInParty(VAR_B10_8) ) {
                        set VAR_B10_10 |= ( 1 << VAR_B10_8 )
                    }
« Last Edit: 2016-02-22 03:54:54 by vivigix »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #440 on: 2016-02-14 17:42:56 »
Unfortunately I have bad news, Android version has multiple bugs. Soon I will post several examples of bugs, what I found in the game.

shikulja

  • *
  • Posts: 69
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #441 on: 2016-02-18 20:22:29 »
Tirlititi, I added code to configuration, "RussianPirateRGR" appeared at Alphabet. I chose it. But bin file doesn't open as FF9 bin file. Could you check it yourself?

I have a question, if I will edit Spell animation, would it affect to enemies spell animations too or just foe parties spell animation?
Сконвертируй .bin в .iso например UltraISO. Поидее я так делал. ну или образ тем же UltraISO открой, и достать от туда FF9.img и уже его открывать в программе.
Кудос, хоть была плохая реализация, но зато переведено более живо. Я думал от туда шрифт от RGR вставить и текст переконвертировать под RGR формат таблицы, Но если заниматься, то в шрифте от RGR я тогда парочку косяков с тенью находил, и хотя бы упорядочить их.
Самая большая проблема пока что это импорт\экспорт  надеюсь Tirlititi все таки сделает.
хотя по мне самая важная вещь это увеличить количество букв под текст в PSX образе, к тому же я думаю версия steam далеко не всем понравиться. (мне например не понравились  upscaled  задники, еще со звуком не известно что будет)
« Last Edit: 2016-02-18 20:28:01 by shikulja »

Tirlititi

  • *
  • Posts: 883
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #442 on: 2016-02-20 16:40:45 »
Update to v0.32 :
- Added a file batching feature ; it allows to extract or import a lot of things in 1 shot :
-- Can export/import texts and UI texts (see below for more informations about the importation process),
-- Can export scripts (no importation yet),
-- Can export field backgrounds.
- Added a Mod Manager tool ; it allows to define which datas should be overwritten when you save (using any of the 3 save methods). Its main purpose is to allow you to create a Mod file (.hws) from an already modded version of the game : just check all the features that differ from the original game.
- Improved the Dialog box automatic resizing. I didn't test it thoroughly, but from what I saw, it seems to calculate the box size for the best result (it always fits the default size when you don't change the text).
- Deciphered quiet a few script opcodes. Some of them have been slightly renamed ("WalkEx" -> "WalkXZY" for instance, for the opcode that makes a character walk to a destination given by 3 coordinates).
- Fixed some UI text opcodes ; it was not normal to have figures in the middle of some UI texts. The figures in battle's UI texts are normal though (it might be the display time of the text).
- Fixed a bug making global declaration always giving the same base variable slot when the base variable was not specified.
- Added Russian RGR charmap in the .conf file. Hades Workshop can't scan the translated version directly though ; I guess shikulja's post was about that ^^"


So, in order to properly import text files, you need some formatting :
The .txt file must start with the following line. Everything before that will be ignored :
Code: [Select]
#HW filetype TEXTFor UI texts, it must be this instead :
Code: [Select]
#HW filetype UITEXTAfter that, you need to specify to which text block corresponds your file using a line like this one :
Code: [Select]
#HW fileid [ID]replacing [ID] by the number corresponding to the text block in the following list :
Code: [Select]
0 : Generic UI
1 : Debug Room
2 : Prima Vista
3 : Alexandria Castle (1)
4 : Evil Forest
7 : Cleyra Trunk
8 : Ice Cavern
18 : Red Rose
22 : Lindblum Castle (Disc 2)
23 : Mist Gates
30 : Terra
31 : Mountain Path
32 : Conde Petie
33 : Alexandria (Disc 1)
37 : Black Mage Village (Disc 2/3)
38 : Mognet Central
40 : Ruined Prima Vista
42 : Quan's Dwelling
44 : Cleyra
47 : Dali
50 : Dali Underground
51 : Gizamaluke Grotto
52 : Bran Bal
53 : Observatory Mountain
63 : Cargo Ship
70 : Treno (Disc 2)
71 : Qu's Marsh
74 : South Gate
77 : Burmecia
88 : Alexandria Castle (3)
89 : Alexander
90 : Alexandria (Early Disc 3)
91 : Alexandria By Night
121 : Shrines
124 : Oeilvert
134 : Pinnacle Rocks
166 : Daguerreo
186 : Hilda Garde III
187 : Ending
189 : Invincible
223 : Treno & Supersoft
276 : Lindblum (Disc 1)
289 : Alexandria Castle (2)
290 : Stormless Cleyra
344 : Pandemonium
358 : Madain Sari (Disc 2/3)
359 : Gargan Roo
360 : Madain Sari (Disc 4)
361 : Fossil Roo
484 : Mount Gulug
485 : Occupied Lindblum
525 : Occupied Lindblum Castle
595 : Lindblum (Disc 3/4)
694 : Memoria
738 : Iifa Tree Roots
739 : Ipsen Castle
740 : Desert Palace
741 : Treno (Disc 3/4)
754 : Ruined Alexandria Castle
908 : Esto Gaza
943 : Lindblum Castle (Disc 3/4)
944 : Iifa Tree
945 : Chocobo Places
946 : Ruined Alexandria
1073 : Black Mage Village (Disc 4)
Then, before each text, you need to write a line :
Code: [Select]
#HW newtext [POS]replacing [POS] by the text's position in the text block.

If you used the "Export Text Block" feature, you only need to replace all the strings "// New Text :" by "#HW newtext" and add the right filetype and fileid at the start of the file.
I thought that it would be better to use "#HW" for the importation's syntax instead of just "//" because those slashs could be found inside the texts you'd want to import.

If you use the File Batching feature, everything is already formatted.

Note that you need to have texts with their opcode marks (the 'µ'). It'll throw a warning if the amount of µ mismatch from the default text's.
Also, dialog boxes can be automatically resized when you import your texts.



Fiou... Next version will likely be about making the program compatible with the Steam version. I don't know if I'll add an Android/iOS support but I don't think so. Steam version should allow to bypass the size limitations though ; I guess the priority after that will be about editing the backgrounds  8-)

Blankamarant

  • *
  • Posts: 8
  • Remember your childhood
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.32)
« Reply #443 on: 2016-02-20 21:58:10 »
Thank you very much for making such a wonderful tool, together with Memoria I feel again 11 years old playing FFIX  :-)

Update to v0.32 :
- Added a Mod Manager tool ; it allows to define which datas should be overwritten when you save (using any of the 3 save methods). Its main purpose is to allow you to create a Mod file (.hws) from an already modded version of the game : just check all the features that differ from the original game.

Question:
This means that it is possible to patch a patched game file with an other additional mod?
So for example I could patch the game file with the FFIX: Alternate Fantasy mod and then apply over it the modifications of God Save the Queen and Hidden Dialogs hacks?

Sorry if this is a stupid question or has been already addressed, I am using this tool since few days.

By the way, nice to see FFIX is out on PC and Android but still I prefer the original PS1 version.

Tirlititi

  • *
  • Posts: 883
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.32)
« Reply #444 on: 2016-02-21 00:01:58 »
Thanks !

Well, there are the mods that are compatible between each others and those which are not.

Mods are compatible with each other if they don't modify the same aspect of the game. These could already be used together before that update ; you can just apply the .ppf patches one after the other.

Mods that are not compatible with each other likely change the same things in different manners. So they can't be applied both at the same time. However, with this update, it is indeed possible to choose what you take from each mod and mix them together.
You simply need to open the modded binary files (or use "Open Mod" if you have it in a .hws format) and check/uncheck things in the "Mod Manager" tool. Export them as .hws and then re-open a normal game file and apply all the .hws one after the other.

However, Hidden Dialogs is basically included in Alternate Fantasy so there's no need to mix them.
The other example you gave shows that you can't go in the details because God Save the Queen change 2 things : the items and the (synthesis) shops. If you do this method, you'll have to remove all the other items/shops modifications of Alternate Fantasy. It's better in this case to see how God Save the Queen is made and do the changes directly with the program.

Here are (from memory) what each mod modifies, to check compatibility :
Code: [Select]
Hidden Dialogs : Texts (Cleyra) and Field scripts.
God Save the Queen : Items and Shops.
Vir's mods : Items, Stats, Texts (for some typo mistakes), Spells (Thunder Slash), Enemies (only the Pandemonium trio and Tantarian for the forced exp, I think).
Unleashed : Spells, Stats, Items, Shops and Enemies. Maybe also Commands and Supporting Abilities (I don't remember that being changed).
Alternate Fantasy : All those plus World Maps, a few Fields and Spell Animations.
ATB Speedup : not something modifiable in HW. Compatible with everything else.
« Last Edit: 2016-02-21 00:04:11 by Tirlititi »

Vir

  • *
  • Posts: 123
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.32)
« Reply #445 on: 2016-02-22 15:38:29 »
I think you were just speaking for example, but for our information, on top of what you mention my mod alters most active abilities and the stone price of most support abilities, characters, a few other monsters than the force exp (to make you fight proper dragons to up Dragon Crest), and text for that sort of thing in addition to fixing typos.

https://docs.google.com/spreadsheets/d/1bQaj0zRxfw6l-nkJRXMssWN9ZosvTZdpm_fVKEnaE0c/edit?pli=1#gid=330958072



I came by to say I'm all for being able to mod one or other of the new versions, esp. PC! Let me know if I could do something to help down that line.

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.32)
« Reply #446 on: 2016-02-25 07:52:57 »
These who hoping for compatibility of Hades Workshop with Android version. I have bad news, second cache file - patch.22.com.square_enix.FFIXww.android_googleplay.obb is encrypted with key.
I tried decrypt/extract files with WinRAR and 7Zip but it didn’t work out.
I searched for info in the internet how to decrypt encrypted files with key, but don’t find anything useful.

Currently I know this things:
1 . There is a tool named “JOBB” build in android sdk, with this tool we can decrypt encrypted obb files with key, but we still need the key and tool works under “cmd” what made it hard for use.
2. Cache of the game is 3 nearly Gb. Obb file cannot exceed 2 Gb limit, that is main reason why Final Fantasy’s cache consists of 2 files.
They are:    main.22.com.square_enix.FFIXww.android_googleplay.obb – 1.11 Gb
                   patch.22.com.square_enix.FFIXww.android_googleplay.obb – 1.92 Gb
3. Adaptation for Android and iOS developed under Unity 3D game engine, perhaps Steam version of the game also developing under Unity 3D.
4. The version for iOS size – 1.84 Gb and it isn’t encrypted with key, but it has different data structure.

If someone knows how extract encrypted obb files with key please send a massage.
« Last Edit: 2016-02-25 08:21:45 by vivigix »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #447 on: 2016-02-25 08:06:59 »
Сконвертируй .bin в .iso например UltraISO. Поидее я так делал. ну или образ тем же UltraISO открой, и достать от туда FF9.img и уже его открывать в программе.
Кудос, хоть была плохая реализация, но зато переведено более живо. Я думал от туда шрифт от RGR вставить и текст переконвертировать под RGR формат таблицы, Но если заниматься, то в шрифте от RGR я тогда парочку косяков с тенью находил, и хотя бы упорядочить их.
Самая большая проблема пока что это импорт\экспорт  надеюсь Tirlititi все таки сделает.
хотя по мне самая важная вещь это увеличить количество букв под текст в PSX образе, к тому же я думаю версия steam далеко не всем понравиться. (мне например не понравились  upscaled  задники, еще со звуком не известно что будет)

Я у него спрашивал о том что Hades Workshop не сканирует образы с переводом от RGR и не создает hwf файлы, на что получил ответ что по неизвестным причинам вышла такая ошибка в программе и легче заимствовать hwf от образов региона US и все пойдет.
В новой версии 0.32 появился импорт/экспорт.
Насчет количества букв в RGR версии ее увеличили до 30 символов вместо 26. В японской версии количество букв еще больше, в теории существует способ увеличить количество букв, но будет ли такой вариант совместим с Hades workshop не известно.

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #448 on: 2016-02-25 08:11:23 »
Update to v0.32 :
- Added Russian RGR charmap in the .conf file. Hades Workshop can't scan the translated version directly though

Hades Workshop can't scan the translated version directly. Perhaps it is because of increased Charmap. RGR version has for 8 character more than original US vesion.

gorildo

  • *
  • Posts: 21
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.32)
« Reply #449 on: 2016-03-20 20:33:27 »
In the game, there are 4 mini figures, 3 of which you can pick up (Cid, Burmecia and Brahne). I always thought it was stupid that you couldn't pick up the last one, it just sits there in the Tantalus hideout. In the key items tab, there seems to be enough blank spots to fill one with the mini Prima Vista Theater Ship, but I had no luck trying to make a script to pick up the ship and give some random key item just to test it.

Do you think it's possible? Also, is there a text limit in the game? Would it be impossible to create an NPC, for example?