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

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #400 on: 2016-01-17 10:34:41 »
Yes Gledson, that's what I'll call "file batching". Next main version will be focused on that, promise ^^"

gledson999

  • *
  • Posts: 71
  • Listem to my Story, this maybe our last chance ♪
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #401 on: 2016-01-17 14:00:28 »
Oh thanks Tirlititi, you're the best ;)

Vir

  • *
  • Posts: 123
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #402 on: 2016-01-17 17:13:28 »
Tirlititi, I am thinking of making a mod that fixes stat growth for people who want to do without the variable stats. Probably I'll do this by confining stat bonuses to weapons, with a given set of bonuses per weapon class leading up to each toon's max stats. This does leave the question of missing stat bonuses on joining. Can I make all characters join at lv1 in the field scripts somewhere?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #403 on: 2016-01-17 18:24:23 »
Yes I saw your topic.
I just made some tests : contrary to what I thought and wrote, the characters whose levels are taken in account are not the ones in the reserve (the ones available when you're asked to choose your party members) but rather seem to be the 4 party members only.

So, in order to do what you want, you need to locate the scripts that initialize the main cast the first time they join the player. It always look like this :

Code: [Select]
set VAR_B13_21 = 0
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 )
}
set VAR_B10_8++
}
if ( 1 ) {
set VAR_B10_12 |= 1
}
if ( 1 ) {
set VAR_B10_12 |= 4
}
if ( 1 ) {
set VAR_B10_12 |= 2
}
if ( 1 ) {
set VAR_B10_12 |= 64
}
set VAR_B10_14 = ( VAR_B10_10 ^ VAR_B10_12 )
set VAR_B10_8 = 0
while ( VAR_B10_8 <= 11 ) {
if ( ( VAR_B10_14 >> VAR_B10_8 ) & 1 ) {
RemoveParty( VAR_B10_8 )
}
set VAR_B10_8++
}
if ( IsInParty(0) == 0 ) {
set VAR_A6_147 = PartyAdd(0)
}
if ( IsInParty(2) == 0 ) {
set VAR_A6_147 = PartyAdd(2)
}
if ( IsInParty(1) == 0 ) {
set VAR_A6_147 = PartyAdd(1)
}
if ( IsInParty(6) == 0 ) {
set VAR_A6_147 = PartyAdd(6)
}
set VAR_D5_303 = 0
set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 99 ) ) )
if ( 1 ) {
set VAR_D5_303++
set VAR_B10_8 = 0
}
if ( 1 ) {
set VAR_D5_303++
set VAR_B10_10 = 2
}
if ( 1 ) {
set VAR_D5_303++
set VAR_B10_12 = 1
}
if ( 1 ) {
set VAR_D5_303++
set VAR_B10_14 = 6
}
set VAR_A6_148 = ( VAR_A6_149 = ( VAR_A6_150 = ( VAR_A6_151 = 0 ) ) )
if ( VAR_B10_8 != 99 ) {
if ( GetHP(VAR_B10_8) == 0 ) {
set VAR_A6_148 = 1
}
}
if ( VAR_B10_10 != 99 ) {
if ( GetHP(VAR_B10_10) == 0 ) {
set VAR_A6_149 = 1
}
}
if ( VAR_B10_12 != 99 ) {
if ( GetHP(VAR_B10_12) == 0 ) {
set VAR_A6_150 = 1
}
}
if ( VAR_B10_14 != 99 ) {
if ( GetHP(VAR_B10_14) == 0 ) {
set VAR_A6_151 = 1
}
}
if ( ( ( ( VAR_A6_148 + VAR_A6_149 ) + VAR_A6_150 ) + VAR_A6_151 ) == VAR_D5_303 ) {
if ( ( VAR_B10_8 != 99 ) && ( VAR_A6_148 == 1 ) ) {
SetHP( VAR_B10_8, 1 )
}
if ( ( VAR_B10_10 != 99 ) && ( VAR_A6_149 == 1 ) ) {
SetHP( VAR_B10_10, 1 )
}
if ( ( VAR_B10_12 != 99 ) && ( VAR_A6_150 == 1 ) ) {
SetHP( VAR_B10_12, 1 )
}
if ( ( VAR_B10_14 != 99 ) && ( VAR_A6_151 == 1 ) ) {
SetHP( VAR_B10_14, 1 )
}
}
SetStatus( 0, 127 )
SetStatus( 1, 127 )
SetStatus( 3, 127 )
SetStatus( 2, 127 )
SetStatus( 4, 127 )
SetStatus( 5, 127 )
SetStatus( 7, 127 )
SetStatus( 6, 127 )
SetStatus( 8, 127 )
if ( IsInParty(5) ) {
set Setting_OptionalQuina = 1
} else {
set Setting_OptionalQuina = 0
}
if ( ( ( VAR_B13_19 >> 0 ) & 1 ) == 0 ) {
SetCharacterData( 0, 1, 255, 9, 0 )
set VAR_B13_19 |= 1
}
if ( ( ( VAR_B13_19 >> 1 ) & 1 ) == 0 ) {
SetCharacterData( 1, 1, 255, 5, 1 )
set VAR_B13_19 |= 2
}
if ( ( ( VAR_B13_19 >> 2 ) & 1 ) == 0 ) {
SetCharacterData( 2, 1, 255, 6, 2 )
set VAR_B13_19 |= 4
}
if ( ( ( VAR_B13_19 >> 6 ) & 1 ) == 0 ) {
SetCharacterData( 6, 1, 6, 6, 6 )
set VAR_B13_19 |= 64
SetRow( 6, 0 )
}

What you need to do is to cut that last part with the "SetCharacterData" and paste it a little before, between the "RemoveParty" loop and the "PartyAdd" calls.
Tell me if you can't find these initializing scripts. The ones for Eiko and Amarant are found in the entrances of Conde Petie Mountain Path and of Madain-Sari respectively, in the functions "Main_Loop" and "Zidane_Loop" respectively.

However, I don't think it will fix the "Marcus/Eiko ; Blank/Amarant" stat glitch.

Vir

  • *
  • Posts: 123
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #404 on: 2016-01-17 18:48:42 »
By the last part you mean that all characters will join at lv1 if I cut and paste as you say, except Amarant won't if Blank's level is higher than the average party level (only a problem in lv1 games). But Eiko will still gain Marcus' stat bonus, even stat bonus he gained through auto-leveling when joining your party? So we must make Marcus join at lv1 and the player must not let him level to keep Eiko's stats "clean"?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #405 on: 2016-01-17 18:57:24 »
I got Amarant lvl 2 by doing this, so I guess Amarant's level will always be the same as Blank's level, regardless of the levels of the rest of the crew.
Otherwise, yes.

Vir

  • *
  • Posts: 123
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #406 on: 2016-01-17 19:04:03 »
Ok, so always kill Plant Brain, Blank, and Plant Spiders in that order. Got it.

Thanks!

I was confused by "contrary to what I thought and wrote." Am I missing a post of yours?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #407 on: 2016-01-17 19:29:21 »
I wrote that wrong thing in SetPartyReserve's description inside the editor.

Vir

  • *
  • Posts: 123
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #408 on: 2016-01-17 19:44:52 »
Ok. Thanks again for your help!

DarkDemon

  • *
  • Posts: 8
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #409 on: 2016-01-17 20:23:08 »
Thanks for this man.

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #410 on: 2016-01-25 09:42:38 »
I took Eiko on Lv1 editing Field scripts at Conde Petie Mountain Path in the function "Main_Loop" (Marcus' level was 21)
Code: [Select]
Function Main_Loop
    if ( Global_FieldEntrance == 65535 ) {
        set VAR_B13_21 = 103
        SetPartyReserve( VAR_B13_21 )
        if ( IsInParty(5) ) {
            RemoveParty( 5 )
            set VAR_D5_303 = 0
            set VAR_B1_60 = ( VAR_B1_61 = ( VAR_B1_62 = ( VAR_B1_63 = ( VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 65535 ) ) ) ) ) ) )
            set VAR_B10_14 = 0
            while ( VAR_B10_14 <= 11 ) {
                if ( IsInParty(VAR_B10_14) ) {

to

Code: [Select]
Function Main_Loop
    if ( Global_FieldEntrance == 65535 ) {
        set VAR_B13_21 = 64
        SetPartyReserve( VAR_B13_21 )
        if ( IsInParty(5) ) {
            RemoveParty( 5 )
            set VAR_D5_303 = 0
            set VAR_B1_60 = ( VAR_B1_61 = ( VAR_B1_62 = ( VAR_B1_63 = ( VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 65535 ) ) ) ) ) ) )
            set VAR_B10_14 = 0
            while ( VAR_B10_14 <= 11 ) {
                if ( IsInParty(VAR_B10_14) ) {
« Last Edit: 2016-01-25 16:31:46 by vivigix »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #411 on: 2016-01-25 16:14:51 »
Also this works with Amarant at  Madain-Sari in the function "Zidane_Loop" (I took Amarant at lv9 because of  Blank was Lv9 )
Code: [Select]
        set VAR_B13_21 = 199
        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 )
            }
            set VAR_B10_8++
        }
        if ( 1 ) {
            set VAR_B10_12 |= 1
        }
        if ( 1 ) {
            set VAR_B10_12 |= 4
        }
        if ( 1 ) {
            set VAR_B10_12 |= 2
        }
        if ( 1 ) {
            set VAR_B10_12 |= 64
        }
        set VAR_B10_14 = ( VAR_B10_10 ^ VAR_B10_12 )
        set VAR_B10_8 = 0
        while ( VAR_B10_8 <= 11 ) {
            if ( ( VAR_B10_14 >> VAR_B10_8 ) & 1 ) {
                RemoveParty( VAR_B10_8 )
            }
            set VAR_B10_8++
        }
        if ( IsInParty(0) == 0 ) {
            set VAR_A6_147 = PartyAdd(0)
        }
        if ( IsInParty(2) == 0 ) {
            set VAR_A6_147 = PartyAdd(2)
        }
        if ( IsInParty(1) == 0 ) {
            set VAR_A6_147 = PartyAdd(1)
        }
        if ( IsInParty(6) == 0 ) {
            set VAR_A6_147 = PartyAdd(6)
        }
        set VAR_D5_303 = 0
        set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 99 ) ) )
        if ( 1 ) {
            set VAR_D5_303++
            set VAR_B10_8 = 0
        }
        if ( 1 ) {
            set VAR_D5_303++
            set VAR_B10_10 = 2
        }
        if ( 1 ) {
            set VAR_D5_303++
            set VAR_B10_12 = 1
        }
        if ( 1 ) {
            set VAR_D5_303++
            set VAR_B10_14 = 6
        }
        set VAR_A6_148 = ( VAR_A6_149 = ( VAR_A6_150 = ( VAR_A6_151 = 0 ) ) )
        if ( VAR_B10_8 != 99 ) {
            if ( GetHP(VAR_B10_8) == 0 ) {
                set VAR_A6_148 = 1
            }
        }
        if ( VAR_B10_10 != 99 ) {
            if ( GetHP(VAR_B10_10) == 0 ) {
                set VAR_A6_149 = 1
            }
        }
        if ( VAR_B10_12 != 99 ) {
            if ( GetHP(VAR_B10_12) == 0 ) {
                set VAR_A6_150 = 1
            }
        }
        if ( VAR_B10_14 != 99 ) {
            if ( GetHP(VAR_B10_14) == 0 ) {
                set VAR_A6_151 = 1
            }
        }
        if ( ( ( ( VAR_A6_148 + VAR_A6_149 ) + VAR_A6_150 ) + VAR_A6_151 ) == VAR_D5_303 ) {
            if ( ( VAR_B10_8 != 99 ) && ( VAR_A6_148 == 1 ) ) {
                SetHP( VAR_B10_8, 1 )
            }
            if ( ( VAR_B10_10 != 99 ) && ( VAR_A6_149 == 1 ) ) {
                SetHP( VAR_B10_10, 1 )
            }
            if ( ( VAR_B10_12 != 99 ) && ( VAR_A6_150 == 1 ) ) {
                SetHP( VAR_B10_12, 1 )
            }
            if ( ( VAR_B10_14 != 99 ) && ( VAR_A6_151 == 1 ) ) {
                SetHP( VAR_B10_14, 1 )
            }

to

Code: [Select]
        }
        set VAR_B13_21 = 128
        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 )
            }
            set VAR_B10_8++
        }
        if ( 1 ) {
            set VAR_B10_12 |= 1
        }
        if ( 1 ) {
            set VAR_B10_12 |= 4
        }
        if ( 1 ) {
            set VAR_B10_12 |= 2
        }
        if ( 1 ) {
            set VAR_B10_12 |= 64
        }
        set VAR_B10_14 = ( VAR_B10_10 ^ VAR_B10_12 )
        set VAR_B10_8 = 0
        while ( VAR_B10_8 <= 11 ) {
            if ( ( VAR_B10_14 >> VAR_B10_8 ) & 1 ) {
                RemoveParty( VAR_B10_8 )
            }
            set VAR_B10_8++
        }
        if ( ( ( VAR_B13_19 >> 0 ) & 1 ) == 0 ) {
            SetCharacterData( 0, 1, 255, 9, 0 )
            set VAR_B13_19 |= 1
        }
        if ( ( ( VAR_B13_19 >> 2 ) & 1 ) == 0 ) {
            SetCharacterData( 2, 1, 255, 6, 2 )
            set VAR_B13_19 |= 4
        }
        if ( ( ( VAR_B13_19 >> 1 ) & 1 ) == 0 ) {
            SetCharacterData( 1, 1, 255, 5, 1 )
            set VAR_B13_19 |= 2
        }
        if ( ( ( VAR_B13_19 >> 6 ) & 1 ) == 0 ) {
            SetCharacterData( 6, 1, 255, 6, 6 )
            set VAR_B13_19 |= 64
        }
        if ( ( ( VAR_B13_19 >> 7 ) & 1 ) == 0 ) {
            SetCharacterData( 7, 1, 7, 5, 7 )
            set VAR_B13_19 |= 128
            SetRow( 7, 1 )
        }
        if ( IsInParty(0) == 0 ) {
            set VAR_A6_147 = PartyAdd(0)
        }
        if ( IsInParty(2) == 0 ) {
            set VAR_A6_147 = PartyAdd(2)
        }
        if ( IsInParty(1) == 0 ) {
            set VAR_A6_147 = PartyAdd(1)
        }
        if ( IsInParty(6) == 0 ) {
            set VAR_A6_147 = PartyAdd(6)
        }
        set VAR_D5_303 = 0
        set VAR_B10_8 = ( VAR_B10_10 = ( VAR_B10_12 = ( VAR_B10_14 = 99 ) ) )
        if ( 1 ) {
            set VAR_D5_303++
            set VAR_B10_8 = 0
        }
        if ( 1 ) {
            set VAR_D5_303++
            set VAR_B10_10 = 2
        }
        if ( 1 ) {
            set VAR_D5_303++
            set VAR_B10_12 = 1
        }
        if ( 1 ) {
            set VAR_D5_303++
            set VAR_B10_14 = 6
        }
        set VAR_A6_148 = ( VAR_A6_149 = ( VAR_A6_150 = ( VAR_A6_151 = 0 ) ) )
        if ( VAR_B10_8 != 99 ) {
            if ( GetHP(VAR_B10_8) == 0 ) {
                set VAR_A6_148 = 1
            }
        }
        if ( VAR_B10_10 != 99 ) {
            if ( GetHP(VAR_B10_10) == 0 ) {
                set VAR_A6_149 = 1
            }
        }
        if ( VAR_B10_12 != 99 ) {
            if ( GetHP(VAR_B10_12) == 0 ) {
                set VAR_A6_150 = 1
            }
        }
        if ( VAR_B10_14 != 99 ) {
            if ( GetHP(VAR_B10_14) == 0 ) {
                set VAR_A6_151 = 1
            }
        }
        if ( ( ( ( VAR_A6_148 + VAR_A6_149 ) + VAR_A6_150 ) + VAR_A6_151 ) == VAR_D5_303 ) {
            if ( ( VAR_B10_8 != 99 ) && ( VAR_A6_148 == 1 ) ) {
                SetHP( VAR_B10_8, 1 )
            }
            if ( ( VAR_B10_10 != 99 ) && ( VAR_A6_149 == 1 ) ) {
                SetHP( VAR_B10_10, 1 )
            }
            if ( ( VAR_B10_12 != 99 ) && ( VAR_A6_150 == 1 ) ) {
                SetHP( VAR_B10_12, 1 )
            }
            if ( ( VAR_B10_14 != 99 ) && ( VAR_A6_151 == 1 ) ) {
                SetHP( VAR_B10_14, 1 )
            }
        }

This method works with Quina, games going on and you taking Quina at lv1 but it also makes tiny glitch at armor shop and synthesis shop if you come back to Lindblum, stats for buying item will be displayed only for Quina, instead displaying stats for all party.

Now I am thinking how edit scripts to obtain Blank at lv1 during battle with Plant Brian at Evil Forest  no mater what is your party's level.
« Last Edit: 2016-01-25 16:18:49 by vivigix »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #412 on: 2016-01-25 18:36:23 »
I found method how obtain Blank on lv1. Soon I will post code how made it.
By the way, I can post scripts for obtaining  Freya and Quina at lv1. If someone interested, please send a message.

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #413 on: 2016-01-26 02:01:58 »
Tirlititi
There is Russian translation of Final Fantasy IX made by RGR studio, it has all 33 letters of Russian ABC (main difference between US translation and Russian translation). Current Hades Workshop doesn't support it. It will be nice if future revisions would have comparability with Russian translation from RGR studio.
« Last Edit: 2016-01-26 02:03:42 by vivigix »

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #414 on: 2016-01-26 08:03:18 »
Hey vivigix. Congrats for your script edition.

I added a support for a russian version. When I made the charmaps, I've been given 2 for the russian version though (KUDOS and RGR).
What's the difference between them? Are there any official russian translation or are they both fan-made? Is there one clearly better than the other?

If both versions are equally useful, I'll add back both version supports...
For now, you can copy-paste this line in your "HadesWorkshop.conf" file and it should add RGR support (go in "File -> Preferences" to change the charmap).
Code: [Select]
Charmap[RussianPirateRGR]=0123456789+-=*% АBСDEFGНIJКLМNOPQRSТUVWXYZ(!?“:.аbсdеfдhijкlтпорqrstиvwxyz),/+~&БДЖЗИЙЛУÍÌГПФШЩЬЭЯЮÜбвжзмнцйíìглшщэчыùюüЦяфьЫЧ'”_}{∴∵♪→∈×♦§<>←∋↑△□∞♥?????????????«»↓―°★♂♀☺?„‘#※;¡¿
Thanks for telling me about this.

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 #415 on: 2016-01-28 16:13:39 »
Tirlititi is there any way to make Beatrix replace Quina in menus and battle only? have you ever thought of this? Quina would stay on screen during cutscenes but Beatrix would be everywhere else in its place.

Edit: https://www.youtube.com/watch?v=mBjGozSt_fM check this out! there's also a Steam ver. in the works. Tirlititi, it would be awesome if Hades could edit these versions. i doubt for IOS. but maybe Steam & Android?
« Last Edit: 2016-01-28 16:21:34 by itoikenza »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #416 on: 2016-02-01 07:13:16 »
Both of them are unofficial pirate translations, both of them biased on US region game.
RGR Studio made better translation they insert 30 letters of Russian ABC, also 4th disk has full translation
Game have no glitches because of translation.

RGR Alphabet
Spoiler: show


Kudos also made  translation, but translation is partial. They just redraw  26 letters of English ABC to 26 letters of Russian ABC, 4th disk has partial translation.
Game has some glitches because of translation.

KUDOS Alphabet
Spoiler: show


Here is Original US ABC used in the game

Original Alphabet
Spoiler: show

« Last Edit: 2016-02-01 13:03:34 by vivigix »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #417 on: 2016-02-01 13:01:34 »
Tirlititi, I tried add this line but it doesn't work.

Code: [Select]
Charmap[RussianPirateRGR]=0123456789+-=*% АBСDEFGНIJКLМNOPQRSТUVWXYZ(!?“:.аbсdеfдhijкlтпорqrstиvwxyz),/+~&БДЖЗИЙЛУÍÌГПФШЩЬЭЯЮÜбвжзмнцйíìглшщэчыùюüЦяфьЫЧ'”_}{∴∵♪→∈×♦§<>←∋↑△□∞♥?????????????«»↓―°★♂♀☺?„‘#※;¡¿
Could you please show where exactly I should add this line?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #418 on: 2016-02-01 18:32:19 »
@vivigix : Thanks for the deails.

You need to open the file "HadesWorkshop.conf" with a text editor. The text is written using UTF-8 and most text editors can read it perfectly. However, if that's not the case (for instance, if you see no kanjis in front of the "Japanese" charmap, something is wrong), try with another text editor. Notepad++ or Notepad2 can read it for instance.

Once opened, add the line I gave you under the "[Text]", among the other Charmap declarations.
You end up for instance with a file like this :
Code: [Select]
# Hades Workshop configuration file
# Comment lines begin with #

[Preferences]
Charmap=Latin
OpcodeCharacter=µ
MenuColor=0
TextPreview=2

[Text]
Charmap[Latin]=0123456789+-=*% ABCDEFGHIJKLMNOPQRSTUVWXYZ(!?“:.abcdefghijklmnopqrstuvwxyz),/+~&ÁÀÂÄÉÈÊËÍÌÎÏÓÒÔÖÚÙÛÜáàâäéèêëíìîïóòôöúùûüÇÑçñŒß'”_}{∴∵♪→∈×♦§<>←∋↑△□∞♥?????????????«»↓―°★♂♀☺?„‘#※;¡¿
Charmap[Latin][A]=?
Charmap[Latin][B]=?

Charmap[RussianPirateRGR]=0123456789+-=*% АBСDEFGНIJКLМNOPQRSТUVWXYZ(!?“:.аbсdеfдhijкlтпорqrstиvwxyz),/+~&БДЖЗИЙЛУÍÌГПФШЩЬЭЯЮÜбвжзмнцйíìглшщэчыùюüЦяфьЫЧ'”_}{∴∵♪→∈×♦§<>←∋↑△□∞♥?????????????«»↓―°★♂♀☺?„‘#※;¡¿

Charmap[Japanese]=0123456789+-=*% ABCDEFGHIJKLMNOPQRSTUVWXYZ(!?゛:。abcdefghijklmnopqrstuvwxyz)、/・〜&「」…、。ーあいうえおぁぃぅぇぉかきくけこがぎぐげごさしすせそざじずぜぞたちつてとだぢづでどなにぬねのはひふへほばびぶべぼまみむめもぱぴぷぺぽやゆよゃゅょっらりるれろわをんアイウエオァィゥェォカキクケコガギグゲゴサシスセソザジズゼゾタチツテトダヂヅデドナニヌネノハヒフヘホバビブベボマミムメモパピプペポヤユヨャュョッラリルレロワヲンヴ
Charmap[Japanese][A]=『』'城魔南場艇劇村道山洞窟宮砂街黒樹火幹法士森装用地備族下沼古氷輪術体祠性帽鉄属子門使武器石駅剣車馬畑号撃敵腕与専攻定薬全回白指効拳設動金雷師源町果単一数竜大技手黄宝変風鏡剤珠盗板得防頂目更北毒態状中死水見発暗無消列力気避取入精皮秘豆賊氏聖服生天炎切復在現味御加追人率色事赤複返費前闇冷投減桃針線神当路橋角髭月羽爪枯心瑚胸光鎧衣内郷司祭本妖後珊忍憩呪斬女吸方蘇孔理波青上値能収黙化沈倍自調乱半喚相迷眠召混先惑分実必制通験瀕改逃経反治万空原導利止隠固牙象鯨星右育持長鍵形面解意極者教触戒区熱満統免許射貫知熟警日緑
Charmap[Japanese][B]=替要決刀告宣運画江庭園部夢食着三付根束飽興帯転柔尾草奮円頭巾髪野菜銀左棒八閃Ⅱ兜猫飾嘯雑鳴息突章絞狂華六咲命桜海裁獄放魚魂夜戦所最闘個選獣種険冒初作幻確義奥移並誰絶物不受了的弱点終字常猛買名覚同々異未処文削除編成元屋造店鍛冶売書※択認箇具操否位置視世行出即土守殺身今何脱恐睡時好代高湿谷押諸岬漠岸脈盆平島瀬霧去東西陸浅忘外側閉夕川辺近浜血絵対重可向系正期記憶進階段退各合小遠距離速別表示間枚類以補助騎港王国裏徐

#more stuff below...

Save the file and then open Hades Workshop. Go to "File -> Preferences" and change the field "Game Alphabet" to "RussianPirateRGR".
1) If you don't see any other option than "Default", then your text editor probably messed up with the configuration file. Change your text editor.
2) If you see "Default", "Latin", "Japanese" and "Russian" but not "RussianPirateRGR", then you didn't add the line correctly inside the .conf file.

In the case you successfully selected "RussianPirateRGR", it should work.


@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 ^^"
« Last Edit: 2016-02-01 18:36:57 by Tirlititi »

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #419 on: 2016-02-01 19:07:28 »
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?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #420 on: 2016-02-01 19:12:08 »
For your question, yes it'll apply both for the enemy and the party uses of a spell animation.

For the binary file, I can't say... Can you provide me a link with the RGR translation patch? I'll look into it this week.

gorildo

  • *
  • Posts: 21
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #421 on: 2016-02-02 19:42:30 »
I was wondering a few things:

1 - Is it possible to fix the Marcus/Eiko glitch?

2 - The first time you meet a new char, his level will be higher than 1 unless you're on level 1. This makes it impossible to max mag stones for that char if you level up. Is there a way to disable this check and simply have the character begin at level 1?

3 - Is it possible to disable equipment stat boosts so the stat growth is fixed to its minimum value?

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #422 on: 2016-02-02 21:07:09 »
3 - Is it possible to disable equipment stat boosts so the stat growth is fixed to its minimum value?

Yes, that can be done right in the item section of Hades Workshop. Each weapon or armor has a Stat Set that can be modified to your liking.

gorildo

  • *
  • Posts: 21
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #423 on: 2016-02-02 21:53:36 »
Yes, that can be done right in the item section of Hades Workshop. Each weapon or armor has a Stat Set that can be modified to your liking.

Yes, but I don't mean the stat boost when equipped, I mean the bonus pool that adds extra stats when you level up depending on what equipment you're using.

vivigix

  • *
  • Posts: 26
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.31b)
« Reply #424 on: 2016-02-03 05:34:00 »
2 - The first time you meet a new char, his level will be higher than 1 unless you're on level 1. This makes it impossible to max mag stones for that char if you level up. Is there a way to disable this check and simply have the character begin at level 1?

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.