[FF9]2016 release

  • Thread starter Thread starter makipl
  • Start date Start date
Status
Not open for further replies.
No one is reversing anything into Unity to my knowledge, FF9 for PC uses Unity,besides I believe Android version uses Unity anyways.
 
Last edited:
Just a thought. Instead of trying to reverse the PC version into unity we could do it to the android one ? Then use the same scripts to get the controls and other things back from the PC version
From what I've seen in the source it's the same unity project for both Android and PC as remnants of android scripts have still been left in the PC version such as google play store stuff. Some modifications of course but nothing huge.
 
Okay I have a lot of experience working with unity but reversing a game or any asset files back in is one thing I could never do. If we can get it in I could all sorts of things with it.
 
Progress Update:
Work completed on the launcher update, that will integrate the mod patch files I'm working on.
Managed to extract every single file in the game, it's just down to me analyzing the file types and converting them into content that we can mod. Thanks so much for the UnityEx tool for this.
 
My biggest issue is with the Assembly-CSharp.dll file. It contains a lot of useful datas to mod but it's extremely unconvenient to modify it directly.
The best would be to recompile it to have a modded version... but I don't like that solution either (you'd always need to have the source code).

Seriously, who said PC modding was easier than PSX? I feel the contrary here ^^"
 
My biggest issue is with the Assembly-CSharp.dll file. It contains a lot of useful datas to mod but it's extremely unconvenient to modify it directly.
The best would be to recompile it to have a modded version... but I don't like that solution either (you'd always need to have the source code).

Seriously, who said PC modding was easier than PSX? I feel the contrary here ^^"
I know, I've decompiled the dll easily into a complete source code project in Visual Studio but compiling it is another issue entirely, there's tons of debug errors, as it seems Unity compiles very differently to the way the Microsoft compiler does (well it make sense, it's mono) I may have cracked it though by using MonoDevelop instead, as it tends to be lighter on these errors. The good thing is now though is that the source points to alot of hard coded data which means finding these assets is alot easier. I've seen a hell of a lot of PSX endian numbers and references though which I can't make sense of. Anyone who needs the source I've been working, give me a PM. Can't share here for obvious reasons.

Also how would we tacke the issue of redistrubuting the assembly file? I know patches would work but this isn't fail safe. So much red tape huh.
 
I know, I've decompiled the dll easily into a complete source code project in Visual Studio but compiling it is another issue entirely, there's tons of debug errors, as it seems Unity compiles very differently to the way the Microsoft compiler does (well it make sense, it's mono) I may have cracked it though by using MonoDevelop instead, as it tends to be lighter on these errors. The good thing is now though is that the source points to alot of hard coded data which means finding these assets is alot easier. I've seen a hell of a lot of PSX endian numbers and references though which I can't make sense of. Anyone who needs the source I've been working, give me a PM. Can't share here for obvious reasons.

Also how would we tacke the issue of redistrubuting the assembly file? I know patches would work but this isn't fail safe. So much red tape huh.
yikes.png

6044 errors....Yep, this will take a while.
 
You're going to recompile C# produced code from IL assembly with Xamarin?
That's crazy. For what? IL patch can be easily produced using .NET Reflector with Reflexil plugin. It has built-in compiler to write function code from scratch. It does all the things. There's no need to correct 6k errors from generated code...

The PSX classes are briefly described in my first post.
 
You're going to recompile C# produced code from IL assembly with Xamarin?
That's crazy. For what? IL patch can be easily produced using .NET Reflector with Reflexil plugin. It has built-in compiler to write function code from scratch. It does all the things. There's no need to correct 6k errors from generated code...

The PSX classes are briefly described in my first post.
Ah awesome, that would save time, thanks for the head's up! :)
 
You're going to recompile C# produced code from IL assembly with Xamarin?
That's crazy. For what? IL patch can be easily produced using .NET Reflector with Reflexil plugin. It has built-in compiler to write function code from scratch. It does all the things. There's no need to correct 6k errors from generated code...

The PSX classes are briefly described in my first post.
The plugin with IL Spy works fantastically, already injected a custom class over the DLL, brilliant tool had I known about this earlier would have saved me much more time. Now I can completely inject my XINPUT plugin over the top of the native class which stops the game from trying to use the old one even when the DLL is replaced. Thank you so much, you are a life saver!
 
I'm a bit out of the loop. Is this reversed code creating function names? Are symbols intact?
 
I think it was that they accidentally left their source code in. Amazing mistake, right?
Edit:
I'm not actually sure whether it was actual code or not. .NET might just leave in lots of info. Didn't remember exactly what the opening post originally said.
 
Last edited:
They did it ... *again*
Well, in FF7 they lefty in the debug stuff, but still.
 
Not really. C++ code can be decoded into disassembly or C pseudocode. Java can be decompiled into Smali and C#/VB can be decompiled into IL. IL and Smali are much more readable than typical win32 assembly. The construction of IL makes it possible to generate code almost the same as in source (except comments and etc). They have not left any source. It's normal compiled DLL with game code that is ran by game.

IL=CIL (Common Inter something language)
 
Last edited:
That sounds promising, I'll check that this week.
But there's already a Final Fantasy IX tool called Memoria. There're not many tools and it would be a shame if they shared the same name ^^"
 
But there's already a Final Fantasy IX tool called Memoria. There're not many tools and it would be a shame if they shared the same name ^^"
Oh, seriously? Damn... x.x
 
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 battle (Custom FPS, 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.

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:
More progress in the software? I am excited to see the 3D work, I wonder if the fields that FF are real or just 3D images like the others
 
Small. Another one hack: easy rope jumping. (=
Now I try to create a Override folder.
 
Status
Not open for further replies.
Back
Top