Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Tirlititi

Pages: 1 ... 17 18 19 20 21 [22] 23 24 25 26 27 ... 35
526
I already answered that music question, the first time you asked me.

527
Thanks Almaz :)
I wrote a detailed post about keeping only the Beatrix-related stuff on Steam. Daeoc followed these instructions (Beatrix with supporting abilities and all the other fields modifications) based on the v4.2 of my mod. Using his file is the easiest. Otherwise, here are the things to do:
Quote
I - English version, Beatrix has no supporting abilities
It is easier.

1) Open Hades Workshop then "File" -> "Open" -> select the file "FF9_Launcher.exe" from your Steam FF9 directory. Choose "English (US)" as language.

2) Go to "File" -> "Open Mod" and select the .hws file which is available in the mod's archive.

3) Untick all the boxes "Spells", "Commands", etc... Only keep the following ones :
Texts
Fields

4) Once the mod is imported, go to "Tools" -> "Mod Manager". There is a list of fields for which I did modifications and you want to keep only the ones that are related to Beatrix, right? If you don't care, or if you want the other modifications (most of them are about unlocking the hidden scenes), you can skip this step. Otherwise, untick the following fields :
All the fields up to "A. Castle/Courtyard" (not the one at the top, rather the one near the end of the list, before I. Castle fields - let that "A. Castle/Courtyard" ticked)
I. Castle/Stairwell
Daguerreo/Entrance
Daguerreo/Right Hall
Chocobo's Lagoon
Chocobo's Air Garden
Mognet Central
Memoria/Entrance
Memoria/Birth
Memoria/Gate to Space

5) Almost done : go to the panel "Environment" -> "Fields" and search for the field "Pand./Hall" (2nd one). In this field, I make the battle a bit harder whether there is Beatrix or not, but since the battle modifications are not imported, it will bug. Click on "Edit Scripts", then "Function Main_Loop", then browse the script's to find these lines (near the 2 thirds):

if ( VAR_C5_7173 ) {
BattleEx( 0, 1, 160 )
} else {
BattleEx( 0, 0, 160 )
}

Change "BattleEx( 0, 1, 160 )" to "BattleEx( 0, 0, 160 )" (or replace the whole 5 lines by a single "BattleEx( 0, 0, 160 )"). Then Parse, then Ok².
Do this step even if you didn't step 4).

6) "File" -> "Save Steam Mod" -> choose whatever directory you want (just don't choose the folder where "FF9_Launcher.exe" lies). Done !

7) You may share the mod here if you want to spare your headache to the other people (I don't) :D

II - English version, with Supporting Abilities
This one is a bit harder because you can't just import those supporting abilities from my mod (the other characters' abilities would be modified too).

1) Do the steps 1-5) described above in flavor I.
When unticking the fields in "Mod Manager", let "A. Castle/Queen's Chamber" ticked (it is before the "Courtyard" one).

2) Go to the panel "CIL Code" -> "Macros", then select "Unlock Ability Learning" and Apply.

3) If you've read the description of the macro, you know you need to go to the panel "Party" -> "Stats", select Beatrix and modify her Ability list + her AP requirements. Either you do that for her Ability Set 2 (that's the one used from disc 3 and afterwards), either you do that for both Ability Sets. Thunder Slash needs a non-zero AP requirement. Input her supporting abilities there as well.

4) You should check that Beatrix has access to the supporting abilities (that is, she can wear at least one piece of equipments that teach the abilities you gave her). You may go to the panel "Inventory" -> "Items" -> "Regular Items" and add abilities to armors for that purpose.

5) By default, I made so that Beatrix automatically learns her abilities Cura, Silence, Reflect, Blind, Thunder Slash, Stock Break and Shock. If you're not ok with that (either add more, either remove some), go to the "Fields" panel, search for "A. Castle/Queen's Chamber" (at some point, there are two of them with the "Library" field between them : choose the 2nd one). Then "Edit Script", go to the "Beatrix_Loop" function and search for the lines "CureStatus" and "LearnAbility" near the end. Add more "LearnAbility" lines or remove some of them, then Parse and Ok.

5) Proceed to steps 6-7) of flavor I.

III - Other language version
You may include the flavor's II steps for it.
You need some gumption for it so I won't go far into details.

1) Do steps 1-5) of flavor I but with two differences :
- At step 1), choose your language instead,
- At step 3), untick "Texts" and the remaining "including texts".

2) You need to add custom translated texts in the "Environment" -> "Texts" panel. Look at the texts already in place for the text format (the dialog conventions may also differ from one language to the other, like the english dialogs using “” and a space at each new line). The added texts which are related to Beatrix can be found in the following file (append ".txt" to the URL). Since it contains spoilers of my mod, don't dare to read it for non-translation puprose ! Else, I'll get to come to your house and remove your memories of this file 'manually' from your head.
https://dl.dropboxusercontent.com/u/98687557/Divers/FF9Beatrix

3) Unless I'm missing things, that's enough and you can proceed to steps 6-7) of flavor I (if you share the translation, you'll spare headache and I will be gratefull).

The "Mod Manager" step is the one that decides whether you keep or not cutscenes and/or hidden scenes and/or little tweaks in the fields. Here is a list of the modified fields in the order and what kind of modification they involve:
Code: [Select]
A.Castle/Public Seats -> Minigame tweaks
Alexandria/Main Street -> Minor alteration
Alexandria/Rooftop -> Hidden scene
A.Castle/Courtyard -> Minor alteration
A.Castle/West Tower -> Minor alteration
Prima Vista/Storage -> Hidden scene
Ice Cavern/Icicle Field -> Added nasty trap
Dali/Field -> HP damage depending on player's choice
Mountain/Shack -> Hidden scene
Lindblum/Synthesist -> Changed chest content
L. Castle/Royal Chamber -> Added "Learn Free Energy" as a reward for the hunt
Gizamaluck/Cavern -> Added Mogshop
Burmecia/Residence -> Minor alteration
Burmecia/Uptown Area -> Minor alteration
Chocobo's Forest -> Minigame tweaks
Treno/Bishop's House -> Minor alteration to fit Auction's alterations
Treno/Auction Site -> Changed prices
Cleyra/Tree Trunk -> Changed chest content
Cleyra/Tree Trunk -> Minor alteration
Cleyra/Cathedral -> Hidden scene
Cleyra/Cathedral -> Hidden scene
A.Castle/Underground -> Minor alteration
A.Castle/Chapel -> Added Mogshop
A.Castle/Queen's Chamber -> Beatrix mod (learn starting abilities)
Pinnacle Rocks/Hole -> Hidden scene
L.Castle/Base Level -> Hidden scene
L.Castle/Airship Dock -> Hidden scene
Fossil Roo/Passage -> Minigame tweaks
Brahne's Fleet/Event -> Hidden scene
Quan's/Cave -> Minor alteration
Quan's/Fishing Area -> Changed chest content
Alexandria/Square -> Hidden scene (minigame)
Alexandria/Residence -> Minor alteration
Treno/Pub -> Rank S change
Treno/Bishop's House -> Minor alteration to fit Auction's alterations
Treno/Auction Site -> Changed prices
Treno/Knight's House -> Beatrix mod (allow her to fight)
Treno/Knight's House -> Beatrix mod (allow her to fight)
Alexandria/Main Street -> Minor alteration
Lindblum/Theater Avenue -> Minor alteration
Oeilvert (6 of them) -> Minor alteration
A.Castle/Courtyard -> Beatrix mod
I.Castle/Entrance -> Beatrix mod
I.Castle/Small Room -> Beatrix mod
I.Castle/Stairwell -> Minor alteration
I.Castle/Mural Room -> Beatrix mod
I.Castle/Mural Room -> Beatrix mod
Shrines (5 of them) -> Beatrix mod
Bran Bal/Gate -> Beatrix mod
Bran Bal/Storage -> Beatrix mod
Pand./Hall -> Beatrix mod
Pand./Hall -> Beatrix mod (+ battle change if Beatrix is here)
Pand./Hall -> Beatrix mod
Pand./Control Room -> Beatrix mod
Pand./Event -> Beatrix mod
Pand./Event -> Beatrix mod
Pand./Event -> Beatrix mod
Invincible/Core -> Beatrix mod
Daguerreo/Entrance -> Rank S change (ExcII reward)
Daguerreo/Right Hall -> Rank S change
Hilda Guarde 3/Bridge -> Beatrix mod
Hilda Guarde 3/Engine -> Beatrix mod
Hilda Guarde 3/Deck -> Beatrix mod
Hilda Guarde 3/Deck -> Beatrix mod
Hilda Guarde 3/Bridge -> Beatrix mod
Chocobo's Lagoon -> Minigame tweaks
Chocobo's Air Garden -> Minigame tweaks
Mognet Central -> Changed chest content
Treno/Knight's House -> Beatrix mod (allow her to fight)
Invincible/Controls -> Beatrix mod
Red Rose/Bridge -> Beatrix mod
Memoria/Outside -> Beatrix mod
Memoria/Entrance -> Changed chest content
Memoria/Birth -> Excalibur II reward if under 14h
Memoria/Gate to Space -> Changed chest content (+removed the time limit)
Hill of Despair -> Beatrix mod
last (4 of them) -> Beatrix mod
Mage Village/Entrance -> Beatrix mod

528
Warn the Steam users: to use the mod for Steam, you need to import the .hws file using Hades Workshop and untick the "including texts" options when you do it.

529
FF9 Gameplay Releases / Re: [FF9-PSX] Fixed Stats Mod
« on: 2017-03-10 17:11:55 »
It won't work to apply on the EN version the .ppf that were created for the US version ; the binary data are not exactly at the same place.

The simpler would be to share the .hws file of the mod (it would instantatly port it to Steam as well since there's no text). If you don't have it, Vir, I can generate one.

530
Ok, those bubbles (exclamation and card) are handled by the class "EIcon".
The easiest way to disable the card bubble is to replace a "2" by a "1" in the method "EIcon::PollCollisionIcon".

Code: [Select]
ldc.i4.2 // Replace this 2 by a 1
call 0x600091F // EIcon::PollFIcon
ldc.i4.1
stloc.0
That's near the middle of the method.

In order to remove both bubbles (for NPC only, treasures still have their own bubble), I think you can remove those four lines + the four lines that are a bit below them:
Code: [Select]
ldc.i4.1
call 0x600091F // EIcon::PollFIcon
ldc.i4.1
stloc.0

There are also bubbles in the World Map (Chocobo, airships and beach bubbles). For disabling all of them, the best is to "return false" at the start of the method. The two first lines can be changed into these:
Code: [Select]
ldc.i4.0
ret

531
Scripting and Reverse Engineering / Re: [FF9]2016 release
« on: 2017-03-08 16:36:33 »
This post mislead me then...
Did you rip those straight out of the folders?
The assets are the same (from what I know) it's only that the Engine, when you play the game, upsamples and downsamples the music so it sounds off (in game while playing).
Meru was talking of the sound effects all along (his sample is a not a music), and you answered by talking of music.

532
Scripting and Reverse Engineering / Re: [FF9]2016 release
« on: 2017-03-08 16:12:36 »
Thanks for the point, Meru.
That's a huge help to know whether it's the engine or the files that are faulty. And yes, Fraggoso: Sharon wants to replace the files, not the engine (if he doesn't post here, there's no point to argue in his place anyway).

533
Yes, replacing the bubbles with empty textures would not be a very satisfying solution.

Both your questions are best done with engine modification. I guess you can remove the bubbles with HW, modifying the CIL code but I don't know which methods take care of them ; I'll check this evening if I can find something.
Showing the treasures is way more tricky. There are two kinds of treasures: those placed in a chest (linked to a 3D model) and those on the floor (not linked to a 3D model) and I don't know if it's reasonably feasible to show the position of the second kind.
Albeoris's Memoria is more suited for that kind of stuff (it can already spot the objects linked to a 3D model and wrap a box around them).

534
Thanks :)

Update to v0.37:
- Added a tool, the "Unity Assets Viewer". It allows to open the asset files of the Steam version and export them - not import yet -. It is a stand-alone tool in the sense that you don't need to open the game with the main frame for it (actually, it will recommended not to open both the assets and the game's datas of the same game at the same time),
- Fixed a few bugs, the field backgrounds should work fine with the PSX version now, and I added a few of the things asked (the background converter now starts with .tmp files, you can choose to export the backgrounds with their internal ordering...).

As said, the assets viewer can't import files yet, but that won't take long. What makes it stand out as an Asset Viewer is that it goes fetch the real name and hierarchy of the files, making them more easy to identify. It also gives a few additional informations about some files for the same purpose. Also, it can automatically convert the images extracted to a standard format (.png, .tga, .tiff or .bmp).

The files are exported in the folder "HadesWorkshopAssets" from the game's root directory. They'll likely be re-imported from there as well.

With this, it will not only be easy to complete the lists of IDs I wrote about, but also to use one's custom assets and import them in the game.
See the kind of things you can find in the "sharedassets2" file for instance :D

Isn't that neat?

For now, only images are auto-converted. In the future, it would be great to have a converter for the sounds/musics and the 3D models ^^
If anyone volunteers !

EDIT: There seems to be a few bugs with the last patch of the Steam version. I haven't look at it yet but make Steam mods with cautious (.hws files are independant so they're a safe way to save mods anyway).

535
Scripting and Reverse Engineering / Re: [FF9]2016 release
« on: 2017-02-27 21:40:32 »
Great, thanks for the patchnote Albeoris :D

536
It's not really a bug, but yes, it's normal. Roulette, like a few other spells, is specially handled by the battle engine.

Roulette's target is randomly chosen among the fighters (50% for an enemy, 50% for a player character),
Amarant's Curse element is randomly chosen among all the elements,
Amarant's Spare Change reduces the gil of the party (the damage calculation doesn't depend on the spell slot),
Meteor has a special random check that can make it use its second spell animation instead of the 1st one,
Comet has a special random check for a miss,
The spells under the commands "Summon" (x2) and "Eidolon" can randomly get flagged "short_summon" that reduces the damage and swap the spell animation,
The spells under "Swd Mag" verify Vivi's availability,
etc... there are a few other minors things like that.

The best way to bypass that is to use another spell slot (one of the "None" spells) instead of changing the spells like Roulette or Meteor (unless you want to keep that special treatment).
Also, most of the time, that treatment happens only if the spell is in its original command (if you make Roulette a command of Black Magic, it won't be random anymore).

537
I kmrblue1027.
No, none of these bugs were fixed. The Eiko/Marcus glitch is still a thing as well as their variation for Cinna/Quina and Blank/Amarant.

538
Hi Lenthyan, sorry for the late reply.
It's not harder to only remove the stat growth from the stat equipment boost. You only need to delete fewer lines.
Only delete these ones:

Code: [Select]
ldloc.2
ldfld 0x4000885 // FF9LEVEL_BONUS::dex
ldc.i4.5
shr
add

539
Go to CIL Code, then search for "ff9level" in the list on the left, then "FF9Level_GetDex", then Edit Code.
Spot the following lines near the bottom of the code and remove them:
Code: [Select]
ldarg.1
ldc.i4.s 10
div
add
ldloc.2
ldfld 0x4000885 // FF9LEVEL_BONUS::dex
ldc.i4.5
shr
add

Then do the same for the "FF9Level_GetStr", "GetMgc" and "GetWpr". The codes are pretty similar and you always have to delete the lines between that "ldarg.1" and the second "add" below it.

With that, characters will keep their default stats whatever their level. Their max HP/MP still increase a bit ; see the "Party" -> "Stats" panel for that.

540
There is a possible solution with HW, but it will be easier to do it with Albeoris's Memoria.
Also, you need to be a bit more specific: you want the stats to remain the exact same from lvl 1 to lvl 99 or you want to remove the system that "equiping stat boosting equipments increases the stat growth" ?

541
So, I've been developping Hades Workshop for a bit more than 5 years now. I accumulated quite a lot of knowledge about Final Fantasy IX, a game I love, and about its in-depth functioning. Now the Steam version is out and the possibilities it allows in the long-term are enormous. I'm not planning to give to HW more time than I currently give - I have a full-time work besides that - so I feel that either HW's development should involve more people, either it will just keep going at this rate, that can be slow sometimes. I made the github project page some time ago in that perspective and I hope people will get interested in contributing.

This post serves several purposes:
1) It's a list of what I currently believe to be feasible in terms of FF9 modding. I tried to make it exhaustive but I excluded what I think should never be related to HW (a save editor -> gjoerulv already made a good one ; Messing with the aspect ratio -> it's better done with an external program...).
2) It shows what you can do to participate to this program. You don't necessarily need to know programming to help: a lot of things can be done only with patience and/or different computer skills. What you surely need though, is a certain amount of passion for this game.

If you want to contribute to the project, the best ways to contact me are either send me a PM here, either send me an e-mail at:
laroche.clement1 at gmail.com

I color each of the points depending on what kind of skill it requires to be done.
Blue: You need to know how to use some aspects of HW.
Red: You need to know C++ programming.
Brown: You need to know C++ programming and get to know the source code of HW.
Green: You need another specific skill, like 3D modelling or Unity coding.
Of course, I plan to do them myself if nobody comes and propose his help. I'm usually focusing on the brown points and I'll most likely keep doing that.

EDIT 1: I started to strike out what has been done already.
EDIT 2: since I retired from modding, everything that is not stricken out will not be done by me.

MODDING THE ASSETS
'Assets' are the name that Unity gives to the game's resources, including 3D models, textures, interface aspect (UI), musics, sounds. I'll focus on these but maybe you'll think of something else as well.

The files p0data1X.bin with X ranging from 1 to 9 contain Field related data (backgrounds),
The file p0data2.bin contains Battle related data (3D models of the battle scenes),
The file p0data3.bin contains World Map related data (3D models),
The files p0data4.bin and p0data5.bin contains the other 3D models and their animations respectively (3D models of enemies and player characters in battles and 3D models on the field),
The files p0data6X.bin with X ranging from 1 to 3 contain the musics and sounds,
The files levelX (in particular level1 and level2) seem to contain the UI datas,
The file mainData contains a 'ResourcesManager' file needed for authentifications of most of the other assets.

The assets are not in the same formats in PC as their PSX counterparts. Also, those formats are not custom to FF9 and thus it would be way better to export/import them rather than adding a feature in HW for modding them directly.

The textures are mostly DXT5 compressed. I already use a library to compress/decompress them (Squish) so I can add a feature in HW to convert them into more usual formats (bmp, tga, tiff...).
The 3D models are Unity-serialized FBX models. They can now be deserialized into FBX but serializing them back doesn't work correctly.
The UI data format is some kind of Unity based binary format. I don't know if it's a standard binary, but it represents things like GameObject, MonoBehavior, Transform, etc... It shouldn't be hard to figure out how to mod them for anyone who knows a bit about Unity.
Musics and sounds are all in the .akb format, which is also easy to read (Audacity does that). It seems that it's not so easy to export files in the .akb format but FF4 modders also encounter this format and they found there way out (for what I understood, .akb is only .ogg with a different header).


ADDING FEATURES TO HW
There are two kinds of features that can be added to HW: adding tools and adding panels.
A panel is an aspect of the game or of the gameplay that could be modded in HW. It usually allows to modify datas that are very specific to FF9 and so adding a panel requires getting to know the binary format of the aspect you want to mod.
A tool can be made for simplifying the life of the modder. They could also be standalone programs, but using the capacities of HW would surely be simpler for most of them.

Here are examples of tools that would be nice to have:
A Damage Calculator: Allowing to get the ranges of damage done by spells/attacks against specific monsters, under specific circumstances. Also useful for the chances to hit and the chances to add a status. All the precise formulas are now known things, so it would only require to code the tool and give it a nice UI.
A Unity Assets Viewer: There are already Assets viewers. Not all of them work correctly with FF9's assets, but some of them does (UnityEx 1.1.5 for instance). The use of a Unity Assets Viewer specific to FF9 would be to be able to find the assets more easily (most of the time, the names of the assets are opaque and they're not their real file names). It would also be useful to make converters to common file formats (like DXT5 <-> .bmp converter for images).
A Randomizer: I made a randomizer for the PSX version, but porting it to the Steam version would require to use more of the power of HW for reading the FF9 Steam datas.
A changelog automatic generator: Adding a tool that compares the data from the game opened with the data from a HWS file and generates a summary of its changes may be useful (for generating changelogs but also for a potential textual format of HWS, because why not).

And here is a list of new possible panels to add:
Walkmesh Editor: With the possibility to import custom backgrounds, it would be nice to be able to edit or create the walkmeshs as well. Walkmesh are the paths on which the characters can walk, so making new areas requires being able to make walkmeshes. Their format is not too complicate (and is already readed by HW) and so the work there would be to implement a convenient way to modify them in 3D. It could also be a possibility to import 3D models (untextured, unanimated...) to use as walkmeshes, but there will be parameters to adjust in HW anyway, as a walkmesh is not only a 3D model. The best solution may be to add a walkmesh support to the Background Editor tool.
Camera Editor: Also needed along with walkmeshes to create new fields, but there are also the battle cameras that should be editable. As of now, the only camera movements available in each battle are the ones already there. Being able to add new cameras make the variety of the enemies' attacks stand out. It'd also be a great tool for making dialog moves in battles.

There's also the possibility to make the tool compatible with the Android and iOS versions. Most of the datas should be the same for what I know, only packed differently.


IMPROVING HW CURRENT FEATURES
There are some features in HW that are currently only partial or missing some database.

Listing the IDs of the resources:
3D Models: Most of them are already listed. Listing them all is very useful because it makes the field scripts way more readable: you know which entry is associated to which object through its model ID. That's how you can easily spot the entry of Zidane, for instance. There are a few of them missing, though, and the list should be completed.
Animations: That will already be a longer job. Fortunatly, there is already a list of the field's model animations, but it's a bit imprecise for my tastes: it only links the ID and the file name of the animations. A better list would link the ID with the name of the animation and the model that uses that animation. Fortunaly, the file name kinda contains these informations already (for instance, there is "ANH_MAIN_F0_VIV_LAUGH.anim") but not all are explicit. Also, the same kind of list exists for battle animations, but none of the file name is explicit there.
Musics: Listing the musics and find their ID shouldn't be too hard for someone who knows the game well and which music is played at which occasion. That would be useful for the script editor.
Sounds: Same as for musics, but there are more and it will need more precision and/or testing to accurately identify the sounds. Also, you have to come up with simple and adapted names for those sounds, which won't be an easy task.

Overall, listing the IDs of the resources is useful for making the script editor better. It will also come in handy for exporting/importing the assets if HW gets a Unity Assets Viewer.

Completing the modding features:
Spell Animations: For now, there are a lot of unknown instructions in the spell sequencing. You can effectively make multi-hit attacks (great thing they removed a few of the potential bugs in the Steam version) but the possibilities given by this feature is limited. One thing to do is to complete the instructions (and the arguments), but it won't be enough: a lot of the useful stuffs are hidden in what are currently called the "Play model on target" instructions. Without talking about the 3D models of the SFX, it would be nice to, let's say, make a spell that consecutively launch a Thunder SFX and a Fire SFX. A lot of things need to be learned about the Spell Animations file formats.
Enemy Spell Animations: I've worked on this one pretty recently so it is more complete. It should be perfected by displaying convenient informations about the instructions' arguments: for now, the animations, cameras, sound, etc... that you want to run are only identified by a number. Being able to import more sounds usable here should also be done.
Character Progression: I had some fun to make the Curve editor, to see how the HP/MP/Exp progressions were climbing and how to *comfortably* move those progression curves. It was kind of like coding a pencil tool for an image editor. However, it never has been my priority to complete that, so it was left in a state that is quite unconvenient. By the way, if I recall correctly, the default progression curves are piecewise quadratic functions. It could be useful to add a way to input the function instead of drawing them (or even import them from a spreadsheet).
World Maps: Aside from the 3D model, a better grasp of how the different locations are placed could be worked out. A few of the locations are given their coordinates directly in the scripts (chocobo treasures), but not all of them (the towns/dungeons, the topography and different battle areas). Not much to do here besides that, because a lot is coded in the game's script ; a World Map viewer would come in handy in the script.
Text Editor: Surely one of the most useful part of HW that needs big improvements. The text opcodes are handled by HW for the PSX version, maybe not fully but still quite well. However, for the Steam version, the text opcodes are all displayed raw. One thing to do is to display correctly the in-game text we get in the Text Editor window. It is standard work but I haven't done it yet. Another thing would be to convert the PSX text opcodes into Steam text opcodes, and vice versa. That won't be of huge use, but that would allow translations and mods to be compatible both for the Steam and the PSX versions at once. Last but not least, it should be possible to switch languages in HW at any time, as well as being able to add pieces of text for all the languages at once.
Multi-language scripts: Speaking of multi-language, the scripts (enemies' AI, field and World Map scripts) are also language-dependent. The script modifications should expand to the script of all the languages, as much as possible, and notify when it can't be the case because of the differences.
Background Editor: It is a young feature of HW and has a room for improvements. There seems to be some seams left when importing images and that should be fixed. Also the background file format, as they are handled (exported mainly) is the worst possible in term of memory management (each layer is of the size of the full image, usually transparent on 90% of its surface, and saved as uncompressed RGBA format). Finally, creating new fields from scratch requires algorithms for computing the tileblocks, their depth, the walkmesh, the camera position, etc... I would say that it could be automatized with few to no user adjustments if we ask for a 3D model and are able to convert it to the structures mentioned above.

The Script Editor can be improved further, in many many ways. Here are a few possible improvements that were not already mentionned:
Figuring out the purpose of each of the local and global variables in each of the World Maps/Fields scripts, and renaming them. I did that already for the enemies' AI, and it shouldn't take too long to do it for the World Maps, but it is a big task for doing it for all the fields. However, the mini-games, the cutscenes, the progression, the treasures and a few dozens of other things are written in these field scripts. Making them more readable and exhibit how they are coded will make their modding much easier. It's a work that should definitely be done on the long-term and we should only focus on a few fields to begin with that are of primary interest (the chocobo places, the World Maps, the Airships...).
Making macros, automatically generated script, would come in handy too. They used some for sure during the development of FF9 and it would save quite a few copy/paste when coding the script. A few possible macros would be:
- Generating the default script for a talkable NPC or a moogle,
- Generating the default AI (with the random attack picking system),
- Generating the default script for item picking (in a chest or on the ground),
- Generating the script for a ladder,
- Generating the script for leaving a field (opening a door as an option)...

Modding the engine:
What I call the game's engine is basically the CIL code. It can be tweaked a bit, but that's all but satisfying. A big improvement would be to reverse engineer the CIL code into C#. There are a few tools that can do that already (.NET Reflector, JetBrains dotPeek, ...) so it's not like we should rediscover the wheel ; hopefully there is or there will be some library that we can use to do that. Albeoris's Memoria does that already better than HW, but it completely screw up the format by delegating a lot of the classes to an external .dll, making it impossible to come afterwards and mod something else on top of it...

For the time being, and because it can make things way simpler, the CIL macros are a good option to mod the engine, so we should add more. For instance:
- Changing the FPS limit: It has been asked a lot, and it's definitelly feasible, but a few things have to be changed there and there. The model animation factory seems to be adjusted for a particular FPS limit, and the walking speed is also dependant on the FPS if I recall correctly.
- Modifying the Supporting Abilities: This one is tougher than it looks. The supporting abilities really are melted with the battle system, and it wouldn't be easy to make an automatic way to mod them. It's not an impossible task either.
- Making the base commands moddable: The commands like "Defend", "Item"... are specially handled by the engine so changing the spell(s) linked to them is ineffective and/or buggy. There is also a few spells specially handled by the engine and it would be nice to have a simple way to configure that.
- Removing the tiled background system: This was an idea for easing the background image importation, but it turns out to be less simple than expected. Each 32x32 tile has a different depth, which makes the rendering of one big image instead of plenty of little tiles complicated. Currently, I don't think it's feasible without creating more problems.
- Maybe adding analog support: I don't know why all the types/keys of controllers are not supported. It may be because of Unity's engine, or it may be because of FF9's engine. If it's the latter, fixing it shouldn't be such a problem. There is a list of input codes in the class NGUITools, with "KeyCode.JoystickButton" from 0 to 19. Maybe there are more to add, or maybe they are not handled well...
- Being able to add new things to fixed lists: It's quite vague, but it would be nice, for example, to add more possible battles, or fields, instead of needing to change the existing ones. There are things for which it is highly improbable that we can add more, because the engine is calibrated for it. What we may hope to be able to add are battles, fields, world maps, text areas, 3D models, animations, shops, levels (increase the max), battle scenes... What will unlikely be possible to add are spells, commands, supporting abilities, items, spell animations...
- Implementing new functions to the game's script: That is something unavoidable at some point. For now, the enemy AI, field and world map scripts are limited by the features decided by the developers. It is for instance impossible to get access to a character's strength from the field's script, or to give exp or AP, or to have any information about the Tetra Master cards (except for the number the player has). There are rooms for adding more functions, it only needs to be done and make HW compatible with it.
- Same thing for spell effects: Increasing the variety of effects a spell can have will definitely be a plus for most mods. I'm thinking of a spell that can turn an ally to trance that can be used only if the trance gauge is already up to a certain pourcentage for instance. Also, the only effects that can decrease the MP are MP Hammer and Ryuken for now, which is quite poor.
- Make the encounter rate the same as for the PSX version.
- Allow for more languages: There are russian and portuguese translations out of there, maybe more. I guess they replace an existing language with the translation, which is fine, but will likely ask for workaround when playing mods. Adding languages to the game engine can make it easier. Also unlock the japanese language in the main menu.


FIXING HW'S CODE
I started coding Hades Workshop a long time ago and it would need some reworking here and there. There are memory leaks to fix (I start with the most boring thing so you stop reading this paragraph now :D), some structures could replace list of arrays, for some reason, I was reluctant to use std::vectors for a long time and they could also find their place...
There are also a few things to complete or code better. Usually, I comment them with the words "TODO" or "DEBUG". Someone told me the other day that he couldn't stand a final release of a program that has those words in its source code. So you know what we need to do if we want to see the birth of a v1.0 ^^


MAKING NEW MODS
Well, yes, that's the point of the whole thing in the end ^^"
Difficulty mods or those that refresh the abilities are the natural mods made by HW. But it can of course do much more. Here are random suggestions.

Boss Rush: I wanted to make one, but I can't really handle developing HW + improving AF from time to time + making a boss rush. I don't have a clear idea on how the characters should progress, be it their levels or their abilities available. Still, a boss rush could refresh the game a lot, making tactical battles and faster playthrough than usual.
Kuja mod: Well, the battle model(s) need to be replaced (as well as a lot of icons and images), and it will be a huge work about the cutscenes, but that is in the range of doable things: tell the story from Kuja's point of view.
New Game +: If correctly balanced, it could be pleasant to be able to run the game with all the abilities from previous playthroughs unlocked. If the levels are re-initialized to 1, it can be made possible to max the stats with several playthroughs.
Importing the mods from PSX to Steam: currently, except for the texts, it is quite easy to do that. Either the mod was already in .hws format and can be imported with HW, either it was a .ppf or modded .bin and a trick can convert them into .hws (using the Mod Manager). The most obvious one is Unleashed. I contacted LandonRay a few years ago to ask him the permission to convert his mod into .hws (the point was to be able to translate it more easily) and he never answered... So I'm not porting it now, as a revenge :D But it can be done.
A Bug Fix: There are a few bugs left in the Steam version. I don't recall them all, but there's the Thunder Slash glitch, the Marcus/Eiko stat glitch, Ozma's AI, Necron's return magic guard, the Tetra Master rank bug, mini effect or cure not persisting after trance or detrance, the fact that the last card of a Tetra Master deck is never used by the opponent (to be confirmed), for some reason the rope in the well of the Mount Gulug doesn't display correctly (speaking of which, Eiko is clearly standing with her HD model a few screens later, while she should be lying down ^^), people say there are still sounds missing even though I thought it was fixed, correct the few typos mistakes (I know only one in french, the description of the Cid VIII statue in Lindblum; also, a few have been fixed for the port, in english). For those who really can't stand any bug, there's also the Puck skip, the Mistodon skip, the Madain Sari moogle skip, the World Map stuttering... I must forget some, but that's a little list already. Of course, some of them may be fixed by Silicon Studio in the future.


GROWING THE COMMUNITY
Qhimm is a great forum. I received a lot of help and feedback here from people knowing their stuff. However, because Final Fantasy VII is so overwhelmingly represented here, there's little room for a big community about another game (I might be wrong though, but neither FF8 nor FF10 modding had a piercing impact here for now). Also, when it comes to FF9 mods, it seems to me that people have a hard time finding us. It's my fault as well, because I don't actively spread the words and I don't even have any social network activity.
Nevertheless, I feel that more people could be interested in FF9 mods than those who seriously search about it.

Additionally, there's basically one topic now about HW, and considering the variety of questions one can have about it, I don't think it's enough.

The obvious place to speak about FF9 modding is the FF9 Steam forum, I guess. There's also the FF9 sub-forum of the FF Modding community on Steam ; it is more clear. The thing is, there are mods to be played and for that it is easy to make a topic listing all the available mods (there are not a tons of them). But it would be nice to also have tutorials and demonstrations about HW. Even a proper shapping of all the tips, suggestions and procedures people gave in this topic (mostly me, but also a few others) would be very useful. And it would tell people that modding can be easy if you have the will to do it. I'm the kind of guy that consider everyone should have the possibility to play a game his own way (that's why I give myself the right to mod to begin with) and that goes with a correct documentation about the available tools.

Also, the more different mods there are, the bigger the community is, that's about sure. It however needs a proper place to sort them out.

- -- --- ---- ----- ------ ------- -------- --------- ---------- ----------- ------------ ------------ ----------- ---------- --------- -------- ------- ------ ----- ---- --- -- -

Well, that's just about everything about that.
I have no idea of how far FF9 modding will go, but I hope I gave an overview about where it could go. The rest is up to us.

Keep enjoying this game, it deserves it  ;)

542
@Fraggoso: yeah, i'll do some test to see if it can be modified easily. I'll probably need a FMV as well, not MBG (they may use a different FPS parameter). You're sure you can replace the FMV with .mp4 files? The normal format is .ogg for FF9 FMV.

@Meru: Yeah, all those tiny defects suck, but I gave up trying to fix them with hand-made twisted solutions. They'll surely go away once we change the engine to non-tiled backgrounds.
I'll think about making a .tmp file and rename it only if the process was successful (no error thrown).

543
It is already supported, you just copy the outputs of HW into the x86 folder instead of the x64.
The two folders are, with the exception of few files ignored by HW, carbon copy of each other.

544
Ah yes, I was able to reproduce that bug (the PSX backgrounds are not displayed correctly in the viewer also). I forgot to check where it comes from, sorry :/

545
Updated to v0.36b to fix that crash at the beginning. That surely was the dumbest error I ever made in a release...

I also tested other algorithms to convert the background into the atlas, but without better result, so I kept the last one. I won't go back to it for now ; next time I'll tackle the problem by the "remove the tiling concept" approach.

546
I don't know why this layer is green. I thought you colored it on purpose... It's not green in the Steam version, right?

I don't know about trilinear filtering, you're the one doing tests about it. Here are the different modifications done on the images:
1) As I explained to you, the tiles in the atlas are 36x36 instead of 32x32 and the 33x33 center region will be used by the 3D engine. So when importing the backgrounds, I need to somehow expand the 32x32 tiles into 36x36 tiles ; the center region is kept and the borders are averaged with the color of the tile next to it. In the mean time, I also gives color to the transparent pixels because they will have an impact on the DXT5 compression. Currently, I average the transparent pixels with the opaque pixels belonging to the boundary of the object near to it, but I tried a lot of other methods, and the default atlas doesn't do it like that.
2) The atlas gets DXT5-compressed. All the pixels are packed into 4x4 blocks with a few color variations in them. I use an external library for that (Squish) that is quite efficient. The compression quality parameter is used at this point to compute more fitting color variations in those 4x4 blocks.
3) The atlas is rendered by the game's 3D engine: the 33x33 square at the center of the tiles are used as textures for 3D quads (couple of triangles in fact) and the whole thing forms a kind of flat 3D model.
4) The rendering is scaled depending on the resolution. I have no idea of which algorithm is used there and I can't help you if you want to change it at this step.

547
Maybe it has something to do with premultiplied alpha...
The way FF9 handles the alpha is pretty bizarre ; they kind of still use the PSX way to do things in that regard. The best is to use image with only 2 alpha values: fully transparent and fully opaque (or half-opaque for the semi-transparent layers). I'm not saying it will fix the problem, but it worths the try. It's also a big argument for reworking entirely the engine about it, and get rid of the tiled format (this way, any alpha value could be used for any layer).

EDIT: About the "can't allocate memory" error, I also got it once and, by trying again right after, without even closing the program, it worked. I don't really know why it sometimes throws that error (maybe when requesting too much RAM space at once, it can be refused?).

548
Pft.
That no good surprise.

Remove the problematic images then. Just delete (or rename) the "Backgrounds10.tif" and "Background11.tif" and do it again. In the Mass Converter, there are warnings if a few images are missing, but I forgot to throw a warning in the Converter so it will tell you it did just fine without them (and it will be right, I tested, period, no more bad news about that  :-X ).

549
Hum... those are the English (UK) tiles. It seems that I don't handle them correctly.
The thing is, they are not used in-game: the US tiles are used instead of the UK for nearly all the titles (all except South Gate).

I'll try to fix that (and the other problems) but you can bypass it for now by copying the English (US) layers and replace those ill tiles by the US ones. If I understand correctly, what happens now is:
- The title is not present for UK so I export something incorrect (I meant to export a duplicate of the US but I made a mistake),
- When converting, the US title is imported and then the UK title is imported over it, so this fuzzy title is used in place of the US (the others should be correct).
So yeah, replacing the UK title with a duplicate of the US title should be ok. The only field for which it matters is exporting the title correctly.

550
Updated to fix that. There was indeed a weird behavior in the compiler that I didn't know. Thanks Meru :)

Pages: 1 ... 17 18 19 20 21 [22] 23 24 25 26 27 ... 35