Author Topic: [PSX/PC] General editor - Hades Workshop (0.43)  (Read 723874 times)

Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1875 on: 2022-09-06 20:11:34 »
Tirlititi, I'm using your tool to translate FF IX to Portuguese.
Could you add the functionality of being able to change the original offset of texts to other offsets?
I'm using the American version.
« Last Edit: 2022-09-06 21:06:08 by Maverick Blue Warrior »

Tirlititi

  • *
  • Posts: 806
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1876 on: 2022-09-07 11:59:42 »
I don't understand what you mean by "offset of texts". Also, your request surely depends a lot on whether you do a translation for the PSX version or the PC version.
For the PSX version, you can edit the "charmap" (character map) to add or modify letters/glyphs. On the charmap windows, you can also set the width of each character.

Make sure to search for previous translation work before you as well. I know that the PC version already has a (brazilian) portuguese translation.

Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1877 on: 2022-09-07 21:16:40 »
I want to do my own translation for PSX version. There is no complete translation for PSX.
I'm trying to increase the amount of characters per session when I need to. When you pass the number of characters the tool displays the following: "The text size has reached its limit." And I imagine moving to another offset with more space for text could solve the problem. Adding this function in the tool could solve it.
« Last Edit: 2022-09-07 21:19:42 by Maverick Blue Warrior »

Tirlititi

  • *
  • Posts: 806
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1878 on: 2022-09-08 10:47:04 »
It's not possible to trade space from one text block (eg. "Black Mage Village (2)") to another. The game can only use the texts of a single text block at a time, it never uses two of them simultaneously.
The only thing you can do is to delete unused lines in order to gain size within a text block. It cannot be automatised because the tool doesn't know which line can be deleted safely.

Usually, the following lines are unused and you can delete them to gain space:

[When there is a moogle in the area covered by the text block]
"table10..." and "table20..."
"Error:Mog command"
"Old letter data. Erasing..."
You could also consider shortening/deleting the lines "Mognet is a mail delivery system..." and the following, because they trigger only if the player never went to the Mognet menu before (usually, those lines are only actually used in the Alexandria (1) text block).

[In all the text blocks]
"Test", "Null"
"Error Set Scenario Counter()..." and the following are debugging messages; they are never displayed except if the player uses an action replay cheat to go back in a closed place.
"Nothing more inside.", "Nothing more to find."
"Skip FMV"
"Party Del Error"
The names of the party members are used in several areas but not in all of them. Zidane's name, for example, is used in the "Prima Vista" text block but is unused in all the others, so you can mostly delete it. For Cinna, Marcus, Blank and Beatrix, you should assume that the name is used everytime they enter temporarily the party (so Beatrix's name is used both in Alexandria Castle (2) and in Alexandria (Night) for example).

The size limit is a big trouble when modding the PSX version and I'm afraid that it will never be possible to remove that limit when modding the PSX version.

rassellek

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1879 on: 2022-09-11 16:09:17 »
Hello, @ Tirlititi!

The new patch is working with a bang, thank you very much.

I have a new question.
I tried to write code that allows you to attack twice.

Example:


How to improve this code so that the character attacks more than twice. For example 3 and more?

Because in my opinion, the counterattack doesn't work more than once.  :(
 




Tirlititi

  • *
  • Posts: 806
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1880 on: 2022-09-11 17:20:12 »
I don't think that's possible using the supporting ability features. However, you can try doing something like that as a custom SFX sequence.

In "Data\SpecialEffects\ef104\PlayerSequence.seq" (and similarly in ef106 and in ef111):
Code: [Select]
// Player sequence of SFX Player_Attack_Garnet_LH_Racket

WaitAnimation: Char=Caster
PlayAnimation: Char=Caster ; Anim=MP_SET
StartThread: Condition=AreCasterAndTargetsEnemies ; Sync=True
Turn: Char=Caster ; BaseAngle=AllTargets ; Time=10
EndThread
StartThread: Condition=!AreCasterAndTargetsEnemies ; Sync=True
MoveToTarget: Char=Caster ; Target=AllTargets ; Offset=(0.0, 0.0, 1600) ; Time=0
Turn: Char=Caster ; BaseAngle=AllTargets ; Time=0
EndThread
StartThread: Condition=CasterWeaponId == 52 ; LoopCount=3 ; Chain ; Sync
LoadSFX: SFX=Player_Attack_Garnet_LH_Racket
Wait: Time=25
PlaySound: Sound=WeaponAttack
WaitSFXLoaded: SFX=Player_Attack_Garnet_LH_Racket
PlaySFX: SFX=Player_Attack_Garnet_LH_Racket
Wait: Time=7
EffectPoint: Char=AllTargets ; Type=Effect
StartThread: Condition=!IsAttackMiss
PlaySound: Sound=WeaponHit
EndThread
StartThread
Wait: Time=10
EffectPoint: Char=Everyone ; Type=Figure
EndThread
WaitAnimation: Char=Caster
PlayAnimation: Char=Caster ; Anim=MP_SET
EndThread
LoadSFX: SFX=Player_Attack_Garnet_LH_Racket
Wait: Time=25
PlaySound: Sound=WeaponAttack
WaitSFXLoaded: SFX=Player_Attack_Garnet_LH_Racket
PlaySFX: SFX=Player_Attack_Garnet_LH_Racket
Wait: Time=7
EffectPoint: Char=AllTargets ; Type=Effect
StartThread: Condition=!IsAttackMiss
PlaySound: Sound=WeaponHit
EndThread
Wait: Time=10
EffectPoint: Char=Everyone ; Type=Figure
StartThread: Condition=AreCasterAndTargetsEnemies ; Sync=True
Turn: Char=Caster ; BaseAngle=Default ; Time=4
EndThread
StartThread: Condition=!AreCasterAndTargetsEnemies ; Sync=True
MoveToPosition: Char=Caster ; AbsolutePosition=Default ; Time=0
Turn: Char=Caster ; BaseAngle=Default ; Time=0
EndThread
WaitTurn: Char=Caster
WaitSFXDone: SFX=Player_Attack_Garnet_LH_Racket
After a test, that seems to work fine. Maybe I'll do something similar for my own mod ^^
It requires the "SFXRework" system to be activated, which should be the case by default.

However, there is no option "swap to a random target" for now, so she will attack the same target 4 times (that would have also been the case with a SA feature).

rassellek

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1881 on: 2022-09-11 19:43:21 »
I tried to copy this part of the code. Works.  :)
How do I determine which "ef#" to use if I want to apply it to other characters or other weapons? Is there a description somewhere?

Tirlititi

  • *
  • Posts: 806
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1882 on: 2022-09-11 21:47:27 »
The first line of each file is the description ^^'
The player attack sequences are special cases that all can be found in the range "ef100-ef118".

However, you can see the enum list in Memoria's code here as well.

rassellek

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1883 on: 2022-09-12 14:40:34 »
I'm trying to figure out how to work with it correctly. I tried it on a Zidan, the result looks terrible...

StartThread: Condition=CasterWeaponId == 8 ; LoopCount=1 ; Chain ; Sync
   LoadSFX: SFX=Player_Attack_Zidane_Sword
   PlaySound: Sound=WeaponAttack
   Wait: Time=2
   WaitSFXLoaded: SFX=Player_Attack_Zidane_Sword
   PlaySFX: SFX=Player_Attack_Zidane_Sword
   PlaySound: Sound=WeaponAttack
   EffectPoint: Char=AllTargets ; Type=Effect
   StartThread: Condition=!IsAttackMiss
      PlaySound: Sound=WeaponHit
   EndThread
   StartThread
      Wait: Time=8
      EffectPoint: Char=Everyone ; Type=Figure
   EndThread
   WaitAnimation: Char=Caster
   PlayAnimation: Char=Caster ; Anim=MP_SET
EndThread

Tirlititi

  • *
  • Posts: 806
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1884 on: 2022-09-12 15:59:28 »
The documentation for SFX sequences can be found there. It's not easy to master it.

For Zidane's attack, you would want to use "MP_ATTACK" (and/or "MP_RUN_TO_ATTACK") as the main animations that loops, not "MP_SET". For almost all characters (and enemies), the attack animation is splitted into several pieces:
Code: [Select]
MP_SET
then MP_RUN
then MP_RUN_TO_ATTACK
then MP_ATTACK
then MP_BACK
then MP_ATK_TO_NORMAL
It's only the ranged weapons that use only "MP_SET" as a complete attack animation loop.

rassellek

  • *
  • Posts: 14
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1885 on: 2022-09-12 18:42:21 »
Thank you again! I thought about it, tried it, and everything worked.

My code:
StartThread: Condition=CasterWeaponId == 8 ; LoopCount=1 ; Chain ; Sync
   Wait: Time=1
   WaitSFXLoaded: SFX=Player_Attack_Zidane_Sword
   PlaySFX: SFX=Player_Attack_Zidane_Sword
   EffectPoint: Char=AllTargets ; Type=Effect
   PlaySound: Sound=WeaponAttack
   StartThread: Condition=!IsAttackMiss
      PlaySound: Sound=WeaponHit
   EndThread
   StartThread
      Wait: Time=4
      EffectPoint: Char=Everyone ; Type=Figure
      WaitSFXDone: SFX=Player_Attack_Zidane_Sword
   EndThread
   PlayAnimation: Char=Caster ; Anim=MP_ATTACK
    WaitAnimation: Char=Caster
EndThread

ChikoLad

  • *
  • Posts: 18
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1886 on: 2022-11-21 01:17:33 »
Hey, I've been doing a little messing around with the Playable Character Pack (Fratley, Lani, and Kuja) and wanted to do a playthrough with it. However I also want Freya in my party at all times as well.

A while ago, I did actually make a mod that forced a solo Freya into every party call and also into every battle as a fail safe. I used this to do a true solo run with Freya before. The way it worked was essentially just using an AddParty call for Freya and RemoveParty for every other character from the vanilla game (including the guest characters), and this would run whenever there was a party call in a Field Script, as well as at the beginning of every enemy script.

I assumed using this mod in combination with Playable Character Pack would allow me to essentially force Freya into the party at all times, but then the Playable Character Pack party members wouldn't be removed since they would have to have unique character IDs that weren't accounted for when I made the Freya solo mod, so they should be there with her and wouldn't be removed.

Problem is if I use Alt + F2 to bring up the party menu and put the Playable Character Pack party members into the party, they will appear in battle, but instead, Freya gets removed from the party for some reason. My Freya solo mod still works as intended if I don't put any of the Playable Character Pack party members into the party, or if I put only one of the Playable Character Pack party members in (Freya will be inserted into the party at the start of the battle as intended, but the other character will be there with her, which is what I would expect to happen). It's only if all three of the custom characters are there, then Freya gets removed. The mod priority order didn't seem to matter either.

Just curious as to why that would be? Moreover, is there a Discord or something where there is more FFIX modding discussion? I feel like there have been a lot of awesome advances in FFIX modding lately but I don't know where I can discuss it, I'd love to get a better understanding on how these recent mods are being achieved so I can make my own mods that work well in tandem with them.

Tirlititi

  • *
  • Posts: 806
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1887 on: 2022-11-21 12:41:30 »
There has been several reports yesterday of weird things like that happening. That is very strange.
Normally, the Character Pack shouldn't mess at all with the way you did your Freya Solo mod: there is no "AddParty" or "RemoveParty" in any script that points to the added characters.

The problem is, I fail to reproduce any of these weird bugs and thus I struggle to find out what could be the cause.

Someone said that the bug triggered only if the "[Import]" section of the Memoria.ini is enabled. Indeed, that feature preceeds mod folders, it uses different formats for many files, it messes a lot with other things and I never really cared maintaining it or looking at how it worked. However, even enabling it, I fail to reproduce your bug (Freya is in the party if I use her + the 3 new characters, and I don't see why your mod would make any difference regarding that).

I don't understand though "[It worked by running a script] at the beginning of every enemy script". Do you use "AddParty" in enemy scripts? Maybe that's not the cause of the problem (or maybe it is), but it would be an incorrect behaviour. I don't advise messing with the party members in-battle. Besides, if you've spotted all the places where the party members are changed (including before scripted fights) and added your "AddParty(4)" script there, you shouldn't need to add anything in battles.

You can reach me on Qhimm's discord.

Seramera

  • *
  • Posts: 4
    • View Profile
Re: [PSX/PC] General editor - Hades Workshop (0.43)
« Reply #1888 on: 2022-12-06 13:41:06 »
Hello Tirlititi,
i am now working on generalising the fieldscripts to have a raw engine to work with. (delete the story)
therefore extract vars like camerabounds, regiondata, fieldexits, tileanimations, soundcodes, treasures etc and parse them generalised. 

1. priority goal is to implement a new roguelike gamemode.
2. more far away goal is to get an editor going, with which you can insert objects and behaviour into fieldscripts handily.

i target steam only.

now the extraction and editing is going forward (im using python), and i will use commandshell to import the fieldscripts all at once.
the problem is, that the import function from HadesWorkShop doesnt implement deleting and creating entries and functions. I looked into HWS SourceCode
and i'm a bit blown away by all the c++-libraries i dont know. I wanted to write an import function that adjusts the entries and functions of the field to the fieldscript read.

I will have to look into your tools source code later a lot more, but i thought i might as well ask you now for help.

Thank you
« Last Edit: Yesterday at 10:52:19 by Seramera »