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

sutebenukun

  • *
  • Posts: 12
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #900 on: 2017-08-15 03:31:08 »
Hiya Tirlititi,

I was still wondering if you could tell me how you found the subcalcs for that one ability so that I can find the others myself. Also is there a way I can use Hades Workshop to allow Steiner access to his Magic Sword without needing Vivi in the party?

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #901 on: 2017-08-15 12:14:53 »
@sutebenukun: As said, the whole btlcalc source code is available here:
https://www.dropbox.com/s/2k2mkezqx0loe4i/Source_BtlCalc.cs?dl=0
It contains everything hardcoded for the spell effects in battle.
The Magic Sword requirement is different since it is about the availability inside the menu, and not the effect during the casting of the spell.
Albeoris has a good part of a slightly modified source code of the game on his github project there: https://github.com/Albeoris/Memoria/tree/master/Memoria/Engine/Battle
You see that there's a btl_cmd::DecideMagicSword function and a BattleHUD::DisplayCommand function that are handling the Steiner/Vivi magic sword combination.
You may also get the source code of the game using a CIL decompiler (JetBrains DotPeek is free but it can only show you the code, not modify it).

@GARDIN: I need to have a list of the musics and their related ID for that. If you want to do it, you're more than welcome (see this post).

ammudava

  • *
  • Posts: 9
  • my name is Dava Ammu. i am indian girl
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #902 on: 2017-08-15 23:17:45 »
is there a blank mod?
« Last Edit: 2017-08-27 03:37:34 by ammudava »

blues

  • *
  • Posts: 5
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #903 on: 2017-08-16 14:06:58 »
First, thank you so much for this excellent resource. It's enabled me to extensively modify the game with minimal hassle.

That said, as has been pointed out, the CIL editor is pretty buggy in that many methods simply cannot be edited without crashing HWS. I wonder, would it be possible to prevent these crashes in the next build? Or is the plan to wait for Memoria compatibility (which would presumably eliminate the CIL editor entirely and replace it with something more user friendly)? I'd really like to do things like cleanly (no work around) increase Darkside's HP drain and introduce true turn-based combat (which Memoria can easily do I guess, but I prefer HWS for various reasons).

Also, is there a more effective way to add enemy skills than copy pasting preexisting skills? I ask because when one uses the copy+paste method it completely breaks all of the enemy's pre-existing skills, requiring tedious manual correction.

EDIT: I should also mention that there are a few methods that have apparent errors in them even if no change is made by the user/modder. For example, opening btl_stat::AlterStatus, making no edits, and then trying to close it via OK (instead of Cancel) will report the following errors and prevent closing:

 - IL_012E : 'IL_03B0' is out of range for tbis instruction's short form
 - IL_0135 : 'IL_029B' is out of range for tbis instruction's short form
 - IL_0139 : 'IL_029B' is out of range for tbis instruction's short form

("tbis" seems like a misspelling of "this"). The result is that no edits can be made to AlterStatus since it cannot be saved (that is, closed via OK) due to these apparent errors.
« Last Edit: 2017-08-17 09:16:08 by blues »

Tetraspore

  • *
  • Posts: 41
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #904 on: 2017-08-17 00:45:07 »
Great work! I can't wait for an importer. I'm itching to whip up some custom costumes.

Fransguf

  • *
  • Posts: 1
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #905 on: 2017-08-22 19:42:18 »
Any update on adding full range of analog movement available to the Steam version? It's literally the only thing holding me back from playing it.

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #906 on: 2017-08-24 09:37:57 »
@ammudava: Disabling the cheat is part of the mod. If you want to play with cheats, you have to change the mod: you can do that by opening an un-modded game with HW, importing the .hws file ("Open Mod") and then go to "CIL Code" -> "Macros" -> "Disable Cheats" and disable the macros. Then "Save Steam Mod" creates files similar to my mod but with cheats re-enabled.

@blues: The plan is indeed to wait for Memoria compatibility for CIL code. You can do very small tweaks to the game's engine but as you say, there are bugs and I don't plan to fix them since editing the C# code will be 10x better.
I will fix that copy/paste bug for the next release. I have no idea why there is such bug but you might want to use the version 0.37c of HW in which this bug shouldn't occur. It is the only way to add new spells/enemies.
Thanks for the pinpointing the misspell of this "this" ^^

@Fransguf: I guess it will be doable by editing the C# code, so you have to wait for HW-Memoria compatibility.

ammudava

  • *
  • Posts: 9
  • my name is Dava Ammu. i am indian girl
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #907 on: 2017-08-25 14:08:08 »
nice https://www.facebook.com/photo.php?fbid=1874000566170908&set=ecnf.100006829488989&type=3&theater

this is me, although i am quite stupid but i learn. i am Dava ammu a indian girl
« Last Edit: 2017-08-30 10:10:09 by ammudava »

GARDIN

  • *
  • Posts: 13
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #908 on: 2017-08-25 23:15:42 »
Tirlititi sorry for the late delay you have to give you a playlist  ff 9 music HadesWorkshop because I'm lazy man  :mrgreen: the important thing in this file is everything you need to complete a project music psx there are all songs arranged HadesWorkshop missing 4 music the most important explanation is how you can change songs ff9 to any games squaresoft an example is given how you can change a song ff9 Battle Theme to music FF8 The Man With the Machine Gun it works well It can be reversed and changed songs ff8 to ff9 or any games squaresoft but I did not explain it because it would not help you change songs ff8 to any games squaresoft and anything you want to inquire about, you can ask me and i'm sorry my bad language in English  ;D

http://www.mediafire.com/file/en9amnfdd7re9ma/ff+9.rar

blues

  • *
  • Posts: 5
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #909 on: 2017-09-04 13:24:21 »
@Tirlititi: Thanks for the update. I know you've probably been asked it a million times already and that it's probably pretty hard, if not impossible, to predict, but any thoughts on when HW-Memoria compatibility will arrive? Also, I wonder if there'll ever be the ability to edit the worldmap (clicking the tab for it in HW instantly crashes HW) so as to, e.g., correct its texture problems (misaligned grid, permanent Mist on all continents regardless of where one is in the story, etc.)? Or is that possible already via some other method and I'm just missing it?
« Last Edit: 2017-09-04 13:40:00 by blues »

ammudava

  • *
  • Posts: 9
  • my name is Dava Ammu. i am indian girl
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #910 on: 2017-09-04 23:53:21 »
why is everone keep ask for the HW memoria compatible? even if they are not compatible, so what? you can still play it with either hw or memoria, and to me memoria isn't better than hw since memoria have some minor problem when patching it, troublesomee.

stop asking stupid question and let the author do his job!! if you are not satisfied just because hw and memoria not compatibel, than quit ff9, not one force you!!

https://www.facebook.com/photo.php?fbid=1874000566170908&set=ecnf.100006829488989&type=3&theater

this is me, although i am quite stupid but i learn. i am Dava ammu a indian girl
« Last Edit: 2017-09-04 23:56:25 by ammudava »

blues

  • *
  • Posts: 5
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #911 on: 2017-09-05 12:22:43 »
@ammudava: I definitely appreciate the time and labor that goes into a project like this; the first line of my original post thanked the author, whose efforts have immeasurably (and for no compensation!) enhanced my experience with an already fantastic game, for this very reason. I was merely curious, and so asked a simple question, and would happily take a "I have no idea" as an answer if that's what the answer ends up being. As for why it matters at all, there are certain things Memoria can do better/more easily than HW (see, e.g., engine modification, which HW has problems with due to the buggy CIL editor), and there are certain things HW can do better/more easily than Memoria (see, e.g., property editing). Why wouldn't I be interested in a union of these two amazing tools into one super-tool?
« Last Edit: 2017-09-05 12:27:35 by blues »

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #912 on: 2017-09-05 12:56:27 »
No problem, Blues. I have indeed no clear idea on when that would happen and I'm not going to make wild guesses (I'm already wrong on those when it depends solely on myself... I can only be extremely wrong since it depends on both Albeoris and me there).

I couldn't reproduce the crash on the World Map panel though. That panel works properly for me. Can you confirm that opening an un-modded game, then selecting the "English (US)" language, then immediately going to the "Environment -> World Maps" panel results in a crash? If it doesn't crash, please try to find how you got that crash so I can reproduce it.

You can't correct those errors in the World Map panel anyway, though. The "mist covers the whole planet early game" problem was already there in the PSX version and I'm quite sure that it wouldn't be easy to edit a world map such that only a part of it is misted.

blues

  • *
  • Posts: 5
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #913 on: 2017-09-07 13:20:12 »
@Tirlititi: Regarding the crash, I tried on a clean file and the tab seems to work. I'm not sure what in my mod is preventing it from being opened... if I can figure it out, I'll let you know. Odd, since there doesn't seem to be any other issues.

Regarding the World Map Mist, I'm currently tooling about in the Blue Narcissus and it's still coating the entire World Map. It's been a while since I played the PSX version, but I'm fairly sure that the Mist did abate by this point and the sky was blue, not white. Seems like another function of a poor Steam port, although I suppose it could be a result of my mod somehow...

EDIT: Loaded up a clean (non-modded) FF9 Steam and the all-encompassing Mist is still there. Google Image search suggests the skies should be blue. Guess it's another port problem alongside broken SFX and mis-aligned worldmap textures.  :-\
« Last Edit: 2017-09-07 13:54:05 by blues »

gledson999

  • *
  • Posts: 71
  • Listem to my Story, this maybe our last chance ♪
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #914 on: 2017-09-21 14:27:49 »
Could be possible add Boost, Enc none and max magic stone features from PS4 release to PSX?

Weisshuf

  • *
  • Posts: 13
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #915 on: 2017-10-05 16:48:49 »
Hi guys,

I recently started with Hades Workshop. I have a few questions:
First: Is there a maximum Hp cap for enemies? I'd like to push them over 65k, like in other FFs.
Second: I saw that Ark from the Alternate Fantasy Mod could actually hit twice. Hows that?
And last: Where or how do I change the Status Set? Sometimes, when I changed a causing ailment, a other spell had this change too.

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #916 on: 2017-10-06 08:17:41 »
@gledson999: No, very doubtfully. I guess you *could* simulate an "encounter none" and a "9999 damage" booster with tedious work (you can handle encounters and there rate in field scripts and you can know when a button is pressed, and also you can change the damage formulas in MIPS code). I wouldn't recommend to try it anyway, it's not worth the effort by a large scale.

@Weisshuf: There is a Max HP cap for enemies and it can't be just removed like this. It can however be bypassed using a trick in the AI script:
http://forums.qhimm.com/index.php?topic=14315.msg224426#msg224426

Doing damage twice can be done in the "Environment -> Spell Animations" panel. When editing the animation sequence, you should spot two important line: "effect point -> damage point" and "effect point -> figure point". The first is about dealing damage and spell effects (such as statuses), the second is used afterwards for displaying the damage number. You can see how I did that with "1000 Needles" by opening my mod with HW for instance. You should care about a few issues with adding more damage point if you're modding the PSX version:
http://forums.qhimm.com/index.php?topic=14315.msg230211#msg230211

About Status Sets, they work like the "Primary Stat Sets" for the items or the "Card Sets" for the Tetra Master decks: there are a limited number of sets and changing a set will change it for all the objects using that set.
If you want to use a whole custom status set (let's say "Trouble + Freeze") for only one custom spell, then you need to choose an unused status set in the list (all the "No Status" at the bottom are unused) and then use "Edit Status Set". This way you won't change anything for the other spells (by the way, theses sets are shared with the enemies spells).

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #917 on: 2017-10-07 06:55:37 »
Nice to see this is still going.
I took the liberty of aggregating some information from FFIX Steam about animations.
this file is a bit of an eyesore, but maybe it will be a bit easier for someone who wants to help organize animation information.
It is by no means well organized, but its a bit more concise than the scripts themselves.

The format here is that each line represents one Model ID as noted in the script files.
The first number is the ID of the previous SetModel command, the second is the Name of that model (from Hades_strings.h), and after that is all of the animation IDs ever assigned to that model in any script. I made note of whether it was Walk, Run, Jump, Inactive, etc. If there's just a number with no text, its an arbitrary animation that was assigned with the RunAnimation command. The end of the line should have END... as the last marker, just in case the linebreaks get messed up.

so it looks like this:
Code: [Select]
192, Freya, Stand = 2556, Walk = 2553, Run = 2558, Left = 2555, Right = 2551, Jump = 12871, Stand = 6484, 12866, Stand = 12870, 6480, Jump = 12864, Jump = 12872, Stand = 805, 837, 807, 439, END...
Note that you'll see a LOT of Stand = ... in there, because the game assigns any type of repeating animation to Stand during cutscenes.

I have obviously not hand checked these. I used a machine search through all of the scripts and took it on good faith that animations between SetModel should correspond to that model, since objects always seem to assign models in object order.

I may try to organize this more later, or I may not find the time to, but I want the file out there just in case.
https://pastebin.com/wBQdu1AL

EDIT:
I did it this way because some NPCs share animations, and some animations are specific to one scene, and occasionally the game assigns running animations to the walking or standing slot, so it was sort of hard to figure out how to label any of it, so I just compiled a list of which models (should be, untested) compatible with which animations.
« Last Edit: 2017-10-07 06:59:51 by Satoh »

TW_Bear

  • *
  • Posts: 5
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #918 on: 2017-10-07 07:07:37 »
Hello. Is it possible to use this tool for translation? I tried to use it, but only was able to change names of equipment, spells, their descriptions, but i can't change dialogs. Also, is it possible to change game fonts? I'm translating game to Russian, and Cyrillic characters looks kinda funny, having big space between each letter. Sorry for bad English. And thank you for answer in advance.

Fraggoso

  • *
  • Posts: 278
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #919 on: 2017-10-07 09:24:41 »
I think the game already has a Russian translation?

TW_Bear

  • *
  • Posts: 5
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #920 on: 2017-10-07 09:34:50 »
Yeah, there is one version of Russian fan-translation for Steam, but not everyone satisfied with it, cause many things different from ENG and JAP version.

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #921 on: 2017-10-07 09:35:05 »
Thank you very much Satoh :)
I'll need names for the animations but knowing with which animation code they are used will be of a great help! Not to mention which model(s) use them.
As I said some time ago, there is a database for animations inside the game's source code, but I need mostly naming them. You can find that database here (search for "AnimationDB"):
https://www.dropbox.com/s/71ban3ghh589nag/Source_Database.cs?dl=0

@TW_Bear: For changing the dialogs, it's in the "Environment -> Texts" panel. You need to double-click on a text to edit it.
However, there is already a russian translation out there, using Albeoris's tool, as Fraggoso said ^^'
https://vk.com/club598031?w=wall-598031_6136%2Fall

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #922 on: 2017-10-07 10:03:26 »
Apologies. Been quite some time since I checked the thread, still haven't caught up 100%.
Looking at that DB, I can already see that some of these should be easy to name. There's a number of patterns to the strings, such as ZDN being an obvious Zidane.

I'll spend some time looking at this and see if I can't hack something together for... some of it at least.

EDIT: Ok, a lot of this looks pretty easily deciphered, but is there something specific you need from the list? Character names, super short animation names, or any specific formatting?

The animationDB strings are labeled in a {ANH, what type of object uses, what part of the game used, who specifically uses, name of animation}
Some of the generic NPC names might be annoying to decipher but it should be something that can be cross referenced with models.
I'll get to work reformatting the strings for now, but if there's a specific format you want for the names, do mention it.


EDIT2:
Ok, fair warning, this file is 472 kb, which can take a while to load in pastebin, I'm sorry for that.
But this is the only way I can see to upload it...
These names aren't fully resolved, but they should be at least understandable at now.
I can remove any data from it if you want, like the NPC/Important NPC/Main category, and the Field_V# category. I believe the Field Version is something to do with quality, as higher numbers appear to correlate with being closer to the camera in fields... that's a guess, it's probably NOT important, but I left it in just in case.
There's also a list for Battle and World animations, but I separated those out because I figured most of the usage would be for field scripts. (and they would make the file larger than I could upload.)

Second warning, it will take a while to load and may stall some browsers while it does.
https://pastebin.com/D0cMB7B1


Unreleated EDIT:
I've noticed a few scripting foibles while playing with the steam version...

the IsButton family of commands do not universally work with directions and other buttons. They seem to work fine with OK, Cancel, and Card, but other things like Select may not always work. I believe this is because the Steam game has some of those functions hard coded, rather than emulating PSX controller input.

I was trying to write an animation test script, where you'd control the animation ID with key inputs to increase or decrease... it worked to a degree, but only the OK, Cancel, and Card buttons actually registered in the field, so I've been revising it and haven't quite gotten it to work yet.

I did learn two other things while doing this.
1. It may be tempting to try to assign a new model to an object that has one already, but it results in a partial soft lock. (the Exit menu still works, but the rest of the game is frozen)
2. Animations may not look very nice when played on the wrong model, but it is safe(the game won't lock) to assign the wrong animation to a model.
« Last Edit: 2017-10-09 02:19:33 by Satoh »

Tirlititi

  • *
  • Posts: 886
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #923 on: 2017-10-14 12:57:34 »
Thanks you Satoh for this other animation list :D

I think the "IsButton" worked well for directions in the PSX version. That'd be a shame if they don't work anymore :/
Here's a list of the buttons :
Code: [Select]
0 : Select
3 : Start
4 : Up
5 : Right
6 : Down
7 : Left
8 : L2
9 : R2
10 : L1
11 : R1
12 : Triangle
13 : Circle
14 : Cross
15 : Square
16 : Cancel
17 : Confirm
19 : Moogle
20 : L1 Ex
21 : R1 Ex
22 : L2 Ex
23 : R2 Ex
24 : Menu
25 : Select Ex
Use the power of 2 for the number in the script.
For instance, "8" corresponds to 2^3 -> Start button. "40" corresponds to 2^3 + 2^5 -> Start or Right button.

You see that there seems to be duplicates: there is "Square" but also "Moogle". In fact, the first will always react to a square button input while the second one will react depending on the player's settings (in FF9 config menu). Same for the L/R buttons and there "Ex" counterpart.
Maybe you can try both "Select Ex" and "Select". However, I know that my controller's select button has trouble with several games and FF9 is part of them.

The "Start" button, at least in PSX, is triggered if the player pauses the game and then unpause it, but it triggers only once.

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.38)
« Reply #924 on: 2017-10-16 02:38:19 »
Well, I was trying to put it all inside the Zidane_Loop function... which maybe is too much code for that and won't work...
I noticed that a lot of stuff prefers to call synchronous code inside the Loop function, instead of letting the code be inside it...

Maybe I just need to rethink everything I was doing from the ground up.

Although, I didn't know about the Ex versions of the buttons... I wonder why there are two copies.