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

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #475 on: 2016-04-06 03:15:16 »
This brings me a significant step closer to the kind of mods I wanted to make! Awesome, Tirlititi. I didn't expect the model loading to be done so quickly.

I'm curious as to where you found the model IDs (Zidane 98, Beatrix 204). One of my end goals would be to archive all of the NPC models in the same spot as the player models. Hexediting can do that of course, but it won't mean much unless I can begin to understand how the models are organized and labeled.

The models themselves don't seem to have a label anywhere... or not one I've found.

EDIT:
I do realize adding more things to the player model archive with push other data somewhere else on the disc, meaning I'd have to modify HW to look in a new place for it too. But the question is still 'how to better understand why those models are different'
« Last Edit: 2016-04-06 06:17:54 by Satoh »

froggy25

  • *
  • Posts: 6
    • View Profile
    • PokéPlayer
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #476 on: 2016-04-06 15:36:42 »
Excellent job for the MIPS editor, I'll be sure to use it someday :P

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #477 on: 2016-04-06 17:26:09 »
Thanks Froggy. I'll implement the Tetra Master MIPS code someday, since you documented pretty much everything important about it already ^^
But it was tedious enough to implement only the battle code, so I've let that be for another version.

@ Lein : Yeah, someone should totally do that x)
Actually, there are already several (difficulty) mods. I don't think someone will ever bother to make a mod even more difficult than Unleashed.

@ Satoh : I've a list of all the cluster datas and I can easily check the objects' ID. That way I know which model IDs are field-dependant and which are not. For naming them, I looked at the game's script and listed them when I could identify them (there are still a lot of unnamed model IDs btw). I don't think they have any label indeed.

@ gorildo : About manually editing the enemy script, I'm afraid that can't be avoided. Maybe I'll add a few macros that will automatically generate some standard code (Squaresoft's devs had some) but that's not for now.

About what can be edited using MIPS code...
1) Making the max HP a data using more than 16 bits : no you can't. I mean, it would require huge changes and not only in the battle MIPS code but also in the other MIPS codes, not to mention messing up the data tables for enemies and updating all the codes refering to one of the enemy's stats. Besides, you can already kind of increase the HP limit by healing the enemies when they reach a certain limit.
2) Removing the damage limit : actually, you see that Pure Damage's formulas cap the damage to 9999. If you remove these lines (change them to "nothing" for instance), you can deal more than 9999 damage in one shoot. However, the damage display won't follow and you will still see the 9999 figures, even though the actual damage are more than that. I don't know how it is possible to make the display works properly for that :/
3) Make an enemy non-targetable : it's surely possible, but not easily and not in the "Spell Effect" part of the MIPS code. One would need to search through the full code to see if and where the targeting is handled and add a check for petrified foes. Not possible without a harsh work.
4) Disable reward for Death-dealt enemies : I don't know. That's surely the easiest thing to do, but it depends on how the rewards are calculated. I know that the Exp gain is updated everytime an enemy dies (it's not calculated in 1 shoot at the end of the battle), so maybe you just need to avoid updating that figure if the enemy dies from a Death spell. That's a bit further than the Spell Effect part of the code, though.

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #478 on: 2016-04-07 21:03:56 »
@ Satoh : I've a list of all the cluster datas and I can easily check the objects' ID. That way I know which model IDs are field-dependant and which are not. For naming them, I looked at the game's script and listed them when I could identify them (there are still a lot of unnamed model IDs btw). I don't think they have any label indeed.
It is strange that they would use the same index to refer to each model every time, when they are in different places in each field's data. It seems like there must be a master list somewhere that tells the game why [192] is Freya and [74] is Erin...

Also, there seems to be a problem with adding new preloads to a field in some cases. For example, adding a preload to the list in Lindblum Shopping Area, breaks the model loading in Lindblum Church Area. Adding two causes the game to break altogether with an error of [unknown opcode 0x3F]

Second:
I don't understand what preload list does to the data, but I suspect it may be overwriting part of the RAM or ROM data from the other field. You may want to add a size check and warning/error if this happens. Just a suggestion.

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.32)
« Reply #479 on: 2016-04-07 21:10:18 »
Well then, since SE decided to keep the release of the Steam version for later, here is the v0.33 :
 - Added a MIPS editing feature. MIPS is the coding language shared by all the PSX games. It's the deepest level of game modifications and shouldn't be used carefree. More infos below.
 - You can now add and remove several things, so you don't need to recycle another item to create a new one :
 --- Add/Remove texts in text blocks and battles,
 --- Add/Remove enemy groups,
 --- Add/Remove enemy spells.

Wow, I'm not checking the thread for a couple days, and look what I missed! Amazing update man, I'll be sure to check it out immediately! Adding in additional enemy spells was something I've craved to do for a long time now.

Quote
- Completed the list of spell effects, though I only know the effect of "Defless" among the new ones : it unconditionally divides both defences by 2.

Now this is a very interesting new ability, kinda like Steiner's Armor Break and Mental Break combined, right? And more reliable than LV3-Defless because the reduction is not random. I'll make sure to put this new skill to good use. I've always liked the idea of certain enemies having either pretty high defense (Adamantoise, Iron Giant, enemies made of stone) or magic defense (magical creatures like Agares, Goblin Mage,Magic Vice, all types of Black Mages and such), thus requiring you to use debuffs as a tactical combat element before you can truly hurt them. Likewise, certain enemies should be able to do the same to you, adding another twist to battles.

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #480 on: 2016-04-08 15:22:57 »
It is strange that they would use the same index to refer to each model every time, when they are in different places in each field's data. It seems like there must be a master list somewhere that tells the game why [192] is Freya and [74] is Erin...
Not necessarily. It may be some ID chosen by Square's compiler. It was decided which index refers to which model at the game's compilation time and the "master list" doesn't exist anymore.

Also, there seems to be a problem with adding new preloads to a field in some cases. For example, adding a preload to the list in Lindblum Shopping Area, breaks the model loading in Lindblum Church Area. Adding two causes the game to break altogether with an error of [unknown opcode 0x3F]
Arf, that's a problem of Hades Workshop then, not of the game's preloading datas.
There was a bug like this in the past and I thought I solved it, but it seems I didn't. I'll check and fix that bug.

@ Kefka : Yes, that's like Steiner's abilities, but the main difference (besides the fact it reduces both defences) is that it can never miss.

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #481 on: 2016-04-09 08:18:41 »
if it helps, Tirlititi, to reproduce the error, I added Beatrix and then Freya to the preload list in [Lindblum Shopping Area], and after that, even if I remove them again, the game presents an unknown opcode error immediately after starting a new game.

With only Beatrix added, the game made the player object disappear in [Lindblum Church Area]. No changed were ever made directly to [Lindblum Church Area].
Both Freya and Beatrix were loaded into [function_Zidane] index in [Lindblum Shopping Area], and the Zidane_init code was changed to Beatrix's appropriate animation and model IDs.

I don't think I changed any other data anywhere near that part of the game.

How many models can the preload list hold? I think the game supports up to 0x25 individual function calls (I read that somewhere in a hacking note related to a codebreaker code)

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #482 on: 2016-04-09 11:56:03 »
Those MIPS codes sure look interesting, although quite complicated, and I honestly can't quite make sense of them right now. Does that allow one to basically modify all of the damage formulas in the game? If so, then the first one I'd like to change is Tonberry's Grudge, which has the basic formula:

Damage = 4^(number of Tonberries killed)

Now that damage formula is very awkward in my eyes: The first time you encounter Tonberries it will be all but useless because you haven't killed any Tonberries yet, so it will always deal 0 damage. However, once you've won 2-3 battles against them, they'll start wrecking you, as that formula ensures you'll take 9999 damage once you've killed at least 7 Tonberries. Even 6 dead Tonberries result in 4096 damage, which will more than likely be too much to handle for your average party at this point in the game.

I was thinking of changing the formula to:

Damage = Number of enemies killed by that party member * 10

as it is used in most other FF games. This would result in a more stable damage range for a longer time. However, I'm unsure of how to do that or if it's even possible to make the game count every enemy killed. It would depend on how the game counts the number of killed Tonberries (does it look for the enemy ID each time an enemy dies to check if it's a Tonberry?).

It's also questionable if the number of kills of each party member individually is even counted at all, seeing as even Freya's Dragon Crest simply counts the total number of dragons killed, not just the ones killed by Freya herself. So I'm kinda sceptical about my plan, but hey, maybe someone surprises me by finding a solution?

By the way, nice new artwork for the main page of HW, fits perfectly!

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #483 on: 2016-04-09 13:46:02 »
The counter for Tonberries is not the same as the counter for dragons or steals. You can see the counter increase in Tonberries' AI.

At battle initialization :
Code: [Select]
            if ( !General_TonberryCounter ) {
                set General_TonberryCounter = 1
            }
When a Tonberry dies :
Code: [Select]
        if ( General_TonberryCounter < 254 ) {
            set General_TonberryCounter += 2
        }

The MIPS code, by itself, use the formula :
Damage = 1 << (General_TonberryCounter - 1)
or, equivalently
Damage = 2 ^ (General_TonberryCounter - 1)

That formula is meant for Tonberry's spell only, not for a party's spell, since you encounter Tonberries only at Ipsen's Castle and not that frequently.

Here is a MIPS code that change the damage formula to :
Damage = General_TonberryCounter * Spell Power
              = (2 * NbTonberryKilled + 1) * Spell Power

Code: [Select]
0xB771C: $2 = 32776 << 16
0xB7720: $4 = $2 + 44784
0xB7724: $3 = $4[192] & 0xFF
0xB7728: $2 = $17[8]
0xB772C: $2 = $2[5] & 0xFF
0xB7730: $LO = $2 * $3
0xB7734: $2 = $LO
0xB7738: jump 0xB7748
0xB773C: if ($2 < 10000) $1 = 1 else $1 = 0
0xB7740: jump 0xB7918                                    // Offset of "Apply Effect"
0xB7744: $29[54] = $2 & 0xFFFF
0xB7748: if ($1 != $0), jump 0xB7754
0xB774C: $1 = $29[51] & 0xFF
0xB7750: $2 = $0 + 9999
0xB7754: $1 = $1 | 0x1
0xB7758: jump 0xB7740
0xB775C: $29[51] = $1 & 0xFFFF
On the left part, it looks like this :
Code: [Select]
lui 2 32776
addiu 4 2 44784
lbu 3 4 192
lw 2 17 8
lbu 2 2 5
multu 2 3
mflo 2
j 187858
sltiu 2 10000 1
j 187974
sh 29 54 2
bne 1 0 2
lbu 1 29 51
addiu 2 0 9999
ori 1 1 1
j 187856
sh 29 51 1
I've let the lines "jump 0xB7918" and "$29[54] = $2 & 0xFFFF" untouched because they are used by other spell effects, such as Frog Drop. Because of that, the code fits dead on the allowed space of Grudge's spell effect.

If you use a non-US version, you need to adjust the jump offsets.
« Last Edit: 2016-04-14 22:02:58 by Tirlititi »

Cacahuete

  • *
  • Posts: 2
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #484 on: 2016-04-09 15:27:57 »
Wow Thank you a lot Tirlititi for all this incredible stuff!
I'm amazed with how much work you put into this... seriously, great work!

I've been working on a fighting module, and I have found out there is a "problem" when you add some status effect to most weapons:
when I try to add some status effect to a weapon which originally had none, it just won't work. I guessed it is because weapons don't just use the field from the "status effect" but also some kind of percentage which varies on each weapon (for example, poison knuckles has originally a 40% chance to inflict poison, while avenger has a 5% chance of causing death), and that these weapons I've been trying to change must have a 0% rate of inflicting the status effect.

Am I right when I think this way? If that's the case, do you see this being improved any time soon? I've also been thinking that it might be possible through battle scripting but I know almost nothing about scripting and this seems to be quite a callenge for me.

I've also been searching how the Healing Rod works(so it heals instead of dealing damage), but found nothing. Is this some extra feature inherent to all weapons but only used with this Rod? (Since there is the Healer ability I know this feature may have little use... but I was trying to create some kick ass Rackets that could only heal you and cast some beneffit effects while attacking (: )

And since I've already wrote a lot I'd like to ask if is there any possibility (among the game standards) to make items cast negative values... like a piece that could lower your Magic stat, for instance.


Well, congratulations once again to you and all the people who helped you. I know I've come out with some issues on which you might haven't even thought, but the priority remains in thanking you for making all this possible, I love to see Dagger wearing a dagger, Vivi with a deadly claw... FF9 is my favourite game in the world and the only thing I got to find boring were the repetitive, sometimes meaningless, battles. If I accomplish this changes in a satisfactory manner I hope to show you all what I've been working on!
« Last Edit: 2016-04-09 20:28:06 by Cacahuete »

gledson999

  • *
  • Posts: 71
  • Listem to my Story, this maybe our last chance ♪
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #485 on: 2016-04-09 19:09:10 »
Congratulation for this excellent tool, Tirlititi, one question:

Is possible enable beatrix in the group, without replace or swap any character?

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #486 on: 2016-04-09 21:36:45 »
The counter for Tonberries is not the same as the counter for dragons or steals. You can see the counter increase in Tonberries' AI.

At battle initialization :
Code: [Select]
            if ( !General_TonberryCounter ) {
                set General_TonberryCounter = 1
            }
When a Tonberry dies :
Code: [Select]
        if ( General_TonberryCounter < 254 ) {
            set General_TonberryCounter += 2
        }

Thanks for the quick reply. So this means that I could in theory have the game count every defeated enemy by simply adding that code into the AI scripts of all enemies, right? However, doing that manually for hundreds of AIs would be VERY tedious... I guess I'll try out your suggestion instead.

However, tirlititi, I've just noticed a different problem: it seems that the newest version reads some offsets of the German version incorrectly. In disc1, everything looks fine, but on discs 2-4, there are several panels that show rubbish, even when loading the unmodified vanilla game. As an example, here's acomparison of disc 1 (how it should be) and discs 2-4:

     



In all 3 discs, its the same panels that are affected: Items, Key Items, Spells, Commands, and Stats (even though in the Spells and Items sections the names are not off, only their description texts). Do you have any idea what's going on or how to fix it?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #487 on: 2016-04-10 12:59:44 »
Ahah, another version full of bugs, I missed them ^^"

@ Cacahuete : You're assuming right ! I don't know how I did to miss that field, but there's indeed a number for the status accuracy. You'll be able to change it in the next version. And weapons without statuses (plus thief swords) have a status accuracy of 0% as you thought.
About the healing rod's feature, however, I can't find it and it may be hardcoded in the battle code... It doesn't seem to be in the weapon's data.

@ gledson : It's coming closer ^^ For now, you can only add her to the party without adding dialogs or explanation to that (gameshark-style).
Once I find a way to add her properly in the party and verify it works bug-free, I'll add infos and an example in the 1st post of this topic.

@ Kefka : About the enemy counter, there might be a way. There's a counter for dragon-type enemies killed so maybe there's also a counter for all the enemies killed. There might be counters for the other monster types, which could be used as an estimate of the enemy killed amount, but seeing the data offsets (1384 for Frog catching, 1386 for successful steals and 1388 for dragon-type kills) I wouldn't bet those counters exist. It needs investigations...

About the text offsets, I just tried the disc 1 and 3 of the german version and it worked perfectly :/
I'm afraid your discs 2-4 are not really vanilla games. I don't think that can happen, but tell me if you verify the fact that it was non-modified and it still doesn't work.

gorildo

  • *
  • Posts: 21
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #488 on: 2016-04-10 13:59:10 »
I'm aware of that "hack" to make the enemy have more than 65k HP, it's just that it would be a more "elegant" solution.

1- By the way, seeing how people are interested in changing parties and stuff (Beatrix) I was wondering if it is actually possible to have more than 8 characters at any time. Probably not, but if it were, it would be fun to also have Blank, Marcus and Cinna (there's a portrait of him in the game, but he has no victory pose and I think the game crashes because of it).

2- Speaking of characters, is it possible to enable Zidane to be switched in the party change screen? It would be stupid to have his model walking everywhere but not have him in battle, but I suppose some patience editing scripts could fix that too.

3- When I last tried changing the number of opponents in a group, it didn't work so well.  :-P I believe this feature still doesn't work, any idea how to fix it?

4- Do you think it would be eventually possible to edit and reuse spell animations without having them screw everything up? Hooray for casting Ultima.  ;D

5- Now this one is just about those useless things for compulsive FFIX fans. In the Lindblum castle, in that room you go through to get to the bedroom w/ the moogle, there is a stair where you meet the sailor Erin. I forgot what is the name of the room in the Fields list, I'm on my linux partition right now, but there is an animation of the stair moving, which is never triggered in the game. Is there a switch to get it moving?

Cacahuete

  • *
  • Posts: 2
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #489 on: 2016-04-10 17:51:01 »
Thanks a lot for the quick reply Tirlititi! I'll be looking forward the new version then! :D

I've been trying to get how does the "Soul blade" technique checks your weapon, but gave up haha  those mips codes seem sweet but by now it's too much for me ^^U  thanks for checking the Healing Rod thing, guess I'll try again to track its effect next time I get some "serius" free time.

You didn't answer about those "negative" stats I asked though... guess it will be difficult to get there without some scripting knowledge since the game is clearly not thought to count on values lower than 0 for the main stats.

Well, thanks a bunch!! I'll be arround to see how it keeps going!

Btw it feels so good having Tetra Master on Hades!
« Last Edit: 2016-04-10 17:54:16 by Cacahuete »

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #490 on: 2016-04-10 23:32:27 »
@ gorildo :
1 - It's possible to add up to 9 characters in the team selection menu. Zidane, Vivi, Dagger, Steiner, Freya and Beatrix + 3 others (not all of them because of compatibility). If you want Cinna, Marcus and Blank, you'll have to remove Quina, Eiko and Amarant for that.
Also, I don't know where you have been told that Cinna had no victory pose. That's false ^^

2 - Yes it is possible. It requires changing the script of all the fields where you are given the choice to change team (Hildaguard 3 and Invincible mainly), but that's not an hard modification. Search for the line "Party( 4, 1 )" and change it to "Party( 4, 0 )". This way, Zidane won't be locked anymore. Those lines can surely be found (I didn't verify but I'm quiet confident) :
- in the Hildaguard 3, it should be in one of the Sailor's functions (not Erin, the other one), perhaps in the SpeakBTN function,
- in the Invincible, it should be in one of the non-model related functions, that is either a "Code" function or a "Region" function.

3 - You also need to modify script there. You only need to change the "Main_Init" function of the enemy's script. If, by default, you have a "switch ( GetBattleGroupId )" line, you can mimic the script there and adjust it to your group set. Else replace the "InitObject" functions by such a switch (with several cases and the "InitObject" inside each case). It looks like this :
Code: [Select]
Function Main_Init
    switch 5 ( GetBattleGroupId ) from 0 {
    case +0:
        InitObject( 1, 128 )
        break
    case +1:
        InitObject( 1, 128 )
        InitObject( 1, 129 )
        break
    case +2:
        InitObject( 1, 128 )
        InitObject( 2, 129 )
        break
    case +3:
        InitObject( 2, 128 )
        break
    case +4:
        InitObject( 2, 128 )
        InitObject( 2, 129 )
        break
    }
    return

4 - Besides Ultima, I don't really know what kind of bugs you're talking about ^^"
There are a bunch of animations with problems when you try to use them for some other purpose than their default one, but that's quiet specific to each one. There's not an unique answer for all of them.
For Ultima, it is not possible to fix the bug and it won't be as long as the spell animation edition stays at its current state. I'll eventually complete that part, but that's not in my nearest projects.

5 - That's a script thing again. There are several solutions for this one, but a good start would be to follow Satoh's advice and look for some code concerning the tile animations (he gave the example of "Prima Vista/Engine Room > Function Code1_Loop").
You should also display the function list and search for the "TileAnimation" functions : that's the ones handling this kind of thing.
For the movements of the characters on the stairs, you should use some "Slide" function, though it won't be easy to make the whole thing stands (you'll need to practice scripting a bit for that :p ).


@ Cacahuete : Ah, I forgot for the negative stats. But as you think, it'd be difficult, even with scripting knowledge. Besides, I don't know if the code calculating the character's stats by the mean of his equipment's stats can be found in the battle script. It may be a code present in another part of the game's datas (as said, there are other MIPS codes in the game : one for the Tetra Master, one for the Field's code, one for the menus... even the PSX bios has a MIPS code). And even if that code was present in the battle MIPS script, there would be a duplicate for the menu's script and you can't access to it so the player would never see the negative effect.

However, since I'd bet on the existence of such a code that calculates the character's stats, I think it can be feasible to implement that feature once we know where it is located. That's not like the HP change that would require huge changes scattered all over the scripts.

I don't understand the Sould Blade effect yet myself (as well as the other status-inflicting effects actually). I just watched at the Physical attack effects and I'll document about them. But the main problem is that the offsets of jumps are highly version-dependant and I don't see a neat way to speak of them.
« Last Edit: 2016-04-10 23:34:45 by Tirlititi »

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #491 on: 2016-04-11 14:59:52 »
About the text offsets, I just tried the disc 1 and 3 of the german version and it worked perfectly :/
I'm afraid your discs 2-4 are not really vanilla games. I don't think that can happen, but tell me if you verify the fact that it was non-modified and it still doesn't work.

I got it working now by simply deleting the old configuration files and having Hades Workshop create completely new ones. I remember that I had a similar issue with older versions of HW some time ago, and it could be solved just like that.

However, I'm having problems using the new feature of adding/removing enemy attacks. When I try adding 2-3 new enemy attacks, HW crashes pretty often. Has this happened to others, too? Is there a limit as to how many attacks can be in one attack list? Is it a question of available space for each enemy entry?

id104335409

  • *
  • Posts: 1
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #492 on: 2016-04-14 12:28:24 »
Soooo, I'm back. I've been here before in 2011. Why am I here? Because Square Enix finally launched Final Fantasy 9 for PC in the Steam store. Minutes after that CODEX hackers distributed a torrent (naturally). Sooooo, FF9 is on PC now.. Will there be a Hades Workshop for the PC version?

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33)
« Reply #493 on: 2016-04-14 13:45:35 »
Update to v0.33b. It fixes the bugs :
 - The preloading list no longer bypass its size limit,
 - Adding an enemy spell now works fine : it sometimes didn't copy properly the animation sequence,
 - MIPS instructions sometimes created 2 number controls for the same registry ID ; it doesn't do that anymore,
 - Added a few fields to weapon modifications, mainly the status accuracy.

I don't know what's the purpose of the other added weapon fields... I modified them and saw no change in-game but I've let them in case someone figure that out.

Working on making the tool compatible with the Steam version next.
« Last Edit: 2016-04-14 22:02:24 by Tirlititi »

eXistenZe

  • *
  • Posts: 260
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33b)
« Reply #494 on: 2016-04-14 15:10:47 »
Steam compatibility would be awesome.

Kefka

  • *
  • Posts: 202
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33b)
« Reply #495 on: 2016-04-14 21:31:11 »
Thanks for the update, adding enemy spells works perfectly fine now. Indeed, many newly added attacks had no animation sequence, and it was impossible to add one later. Glad to know I wasn't the only one with that problem.

Lyrithus

  • *
  • Posts: 5
    • View Profile
FF9 PC version Released on STEAM
« Reply #496 on: 2016-04-16 16:13:18 »
There has been a release for ff9 on steam for the pc. Could Hades Workshop be adapted for it? or at the least, a tool exactly like it that can do the same things?

Lyrithus

  • *
  • Posts: 5
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33b)
« Reply #497 on: 2016-04-16 16:14:53 »
ignore my last post, Tirlititi is already working on it!!!!! WOOO HOOOOO

Lyrithus

  • *
  • Posts: 5
    • View Profile
Path of Souls - by Chronoslither
« Reply #498 on: 2016-04-16 16:49:32 »
https://www.youtube.com/watch?v=pOQkp4YIAGc        <<  the link to the demo video
http://www.insanedifficulty.com/board/index.php?/topic/5412-testers-wanted-final-fantasy-9-path-of-souls-edition-formerly-remix/                << link to the mod and changes

I would Love for this mod to be applied to all four disks. but i have no idea how to do this, althought i know how to use the workshop, i feel its impossible to note or write down all of the disk one changes, and then try to apply them manually 1 by 1 to the other disks. and i couldnt apply the same patch to the other disks, that doesnt work.

Satoh

  • *
  • Posts: 386
  • Assuming this statement is correct, I'm alive.
    • View Profile
Re: [FF9] General editor - Hades Workshop (0.33b)
« Reply #499 on: 2016-04-21 07:46:50 »
Tirlititi do you have any idea how much flexibility there is in changing the size of a field script? (That is, mow many more instructions can be added to a script before it gets corrupted)

There has to be some limit in theory. Some scripts are already nightmarishly long, and I'm afraid to hazard increasing them with things like switches. (Since my goal tends toward having a choice of characters to play on a lot of different maps, that means changing the preloads on many, and adding switches in place of what would normally be init_Zidane.

I suppose there may be some clever way I could store an array of information at the start, and call up whatever the value is that way... but I'd have to know where there's free space in RAM... and probably a lot of it...
I suppose I should also ask if there's a way to find unused RAM, or a global list of known RAM positions that should never be touched or something.
Those might be useful to have.

Good luck with the Steam port.

EDIT:
Unknown weapon flag 1 (the one left of Ignore Row), is seemingly a [Melee] flag--meaning it explains whether the weapon is ranged or not. It seems to work in correlation to the [Ignore Row] flag.
I have not yet tested the effects of this. It could be damage related, statistical, pseudo-elemental (as in, this attack counts as magic, or something) or something else entirely. I can confirm though, that on disk 1 any weapon that has one flag set, does not have the other.

Still pondering the 4th flag and the two mystery values. I think the two unknown integers are likely 4 unknown bytes, just by the correlation in the ranges I'm seeing. They always tend to be greater than 0x0100, meaning the 0x01 part may be part of a different value altogether.
This is just speculation, but maybe it'll give you an idea you didn't have already. *shrug*
« Last Edit: 2016-04-21 08:18:36 by Satoh »