READ THE RULES: Click here

Follow us on Facebook: https://www.facebook.com/xentax/ :)

Final Fantasy IX: Engine modification

Coders and would-be coders alike, this is the place to talk about programming.
Post Reply
User avatar
Albeoris
beginner
Posts: 27
Joined: Thu Oct 16, 2014 12:40 am
Been thanked: 16 times

Final Fantasy IX: Engine modification

Post by Albeoris » Mon Apr 25, 2016 8:16 pm

A new version is available: (09.06.2016)
Git: https://github.com/Albeoris/Memoria
Build: https://yadi.sk/d/FVB-1Qs3rJwnz

Features:
  • Disable/Enable cheats
  • Fast battles (Skip waiting or turn-based)
  • Save/Load anywhere (Alt+F5 / Alt+F9)
  • Edit game data
  • All of characters available
  • Easy rope jumping
  • Change the game font
  • Export text resources
  • Import text resources
Important:
Update the game to the last version first!
Delete Memoria.ini from a previously installation.

Future:
  • Import text resources
  • Export/import graphics resources
  • Exit to main menu
  • Redesign the battle menu
  • Rewrite the game engine
First run:
  • Run game.
  • If there is no error you will see "Memoria.ini" file in the game directory.
  • If something went wrong you will see error in the "Memoria.log"
  • If you not see "Memoria.log" try to run game with administrator rights
  • If you see "Sharing violation on path" then close applications that hold this file
  • If you see "at Memoria.CsvReader.Read" then fix files in the StreamingAssets\Data directory or delete them and patch again.
  • If the error persists see "\FINAL FANTASY IX\x64(or x86)\FF9_Data\output_log.txt"

    Configuration:
    • Close the game
    • Open Memoria.ini via any text editor (notepad for example)
    • Change "Enable" value from 0 to 1.
    • Specify other params
    • Save Memoria.ini
    • Run the game
Feedback, pull requests and issues are welcome.
Last edited by Albeoris on Thu Jun 09, 2016 6:32 pm, edited 11 times in total.

WRS
ultra-veteran
ultra-veteran
Posts: 601
Joined: Fri Nov 06, 2009 12:13 am
Has thanked: 74 times
Been thanked: 132 times

Re: Final Fantasy IX: Engine modification

Post by WRS » Mon Apr 25, 2016 9:26 pm

woah cool! i missed the steam sale so haven't bought it yet..... but wanted to tear down their engine too. they're using unity?!?

i loved that tetra master minigame so much :ninja:
Useful tool links:

User avatar
Albeoris
beginner
Posts: 27
Joined: Thu Oct 16, 2014 12:40 am
Been thanked: 16 times

Re: Final Fantasy IX: Engine modification

Post by Albeoris » Mon Apr 25, 2016 10:05 pm

Yeah. :)

User avatar
Albeoris
beginner
Posts: 27
Joined: Thu Oct 16, 2014 12:40 am
Been thanked: 16 times

Re: Final Fantasy IX: Engine modification

Post by Albeoris » Tue Apr 26, 2016 8:03 pm

Update. :)

User avatar
Albeoris
beginner
Posts: 27
Joined: Thu Oct 16, 2014 12:40 am
Been thanked: 16 times

Re: Final Fantasy IX: Engine modification

Post by Albeoris » Thu Apr 28, 2016 11:35 pm

Update:
+ All of characters available

User avatar
lionheartuk
double-veteran
double-veteran
Posts: 674
Joined: Tue May 16, 2006 10:55 pm
Location: Tokyo, Japan
Has thanked: 24 times
Been thanked: 22 times

Re: Final Fantasy IX: Engine modification

Post by lionheartuk » Fri Apr 29, 2016 6:07 am

This is great.

When you mention there are plans to export graphics.
Will that include the walkmesh, as right now I'd like to extract the walkmesh for various scenes, but no tools seem to be able to do this because the walkmesh isn't being rendered, so nothing picks it up.

I would try NinjaRipper on the game, however there seems to be no way to get Ninja Ripper to work with this game at all due to it having the annoying launcher.
"Lemons are people nice hardworking & honest people too..."

User avatar
Albeoris
beginner
Posts: 27
Joined: Thu Oct 16, 2014 12:40 am
Been thanked: 16 times

Re: Final Fantasy IX: Engine modification

Post by Albeoris » Fri Apr 29, 2016 1:27 pm

lionheartuk wrote:This is great.

When you mention there are plans to export graphics.
Will that include the walkmesh, as right now I'd like to extract the walkmesh for various scenes, but no tools seem to be able to do this because the walkmesh isn't being rendered, so nothing picks it up.

I would try NinjaRipper on the game, however there seems to be no way to get Ninja Ripper to work with this game at all due to it having the annoying launcher.
Unfortunately, I do not know anything about 3D-formats, so I cannot export a walkmesh in a convenient format.

It's just magic words for me:

Code: Select all

public class WalkMeshTriangle
{
  public int floorIdx;
  public int triIdx;
  public Vector3[] originalVertices;
  public Vector3 originalCenter;
  public Vector3[] transformedVertices;
  public Vector3 transformedCenter;
  public Rect transformedRect;
  public float transformedZ;
  public int[] neighborIdx;
  public int cost;
  public int pathCost;
  public WalkMeshTriangle next;
  public WalkMeshTriangle nextListElem;
  public ushort triFlags;
}
If you can write a serializer for WalkMesh I can add it to the Memoria. :)

User avatar
Albeoris
beginner
Posts: 27
Joined: Thu Oct 16, 2014 12:40 am
Been thanked: 16 times

Re: Final Fantasy IX: Engine modification

Post by Albeoris » Mon May 02, 2016 4:57 pm

+ Import text resources

User avatar
lionheartuk
double-veteran
double-veteran
Posts: 674
Joined: Tue May 16, 2006 10:55 pm
Location: Tokyo, Japan
Has thanked: 24 times
Been thanked: 22 times

Re: Final Fantasy IX: Engine modification

Post by lionheartuk » Tue May 03, 2016 2:13 pm

Albeoris wrote:
lionheartuk wrote:This is great.

When you mention there are plans to export graphics.
Will that include the walkmesh, as right now I'd like to extract the walkmesh for various scenes, but no tools seem to be able to do this because the walkmesh isn't being rendered, so nothing picks it up.

I would try NinjaRipper on the game, however there seems to be no way to get Ninja Ripper to work with this game at all due to it having the annoying launcher.
Unfortunately, I do not know anything about 3D-formats, so I cannot export a walkmesh in a convenient format.

It's just magic words for me:

Code: Select all

public class WalkMeshTriangle
{
  public int floorIdx;
  public int triIdx;
  public Vector3[] originalVertices;
  public Vector3 originalCenter;
  public Vector3[] transformedVertices;
  public Vector3 transformedCenter;
  public Rect transformedRect;
  public float transformedZ;
  public int[] neighborIdx;
  public int cost;
  public int pathCost;
  public WalkMeshTriangle next;
  public WalkMeshTriangle nextListElem;
  public ushort triFlags;
}
If you can write a serializer for WalkMesh I can add it to the Memoria. :)
Unfortunately, much to my chagrin, that isn't my specialty at all. I'd love to help but I've no idea about that side of things myself.
"Lemons are people nice hardworking & honest people too..."

User avatar
Albeoris
beginner
Posts: 27
Joined: Thu Oct 16, 2014 12:40 am
Been thanked: 16 times

Re: Final Fantasy IX: Engine modification

Post by Albeoris » Tue Sep 27, 2016 2:02 am

Now I can attach debugger to the Final Fantasy IX! ^^
You can do that for the most of Unity games.

Image
Image

Post Reply