Author Topic: [FF9]2016 release  (Read 109103 times)

patternjake

  • *
  • Posts: 12
  • .NET Programmer with over 10 years experience
    • View Profile
Re: [FF9]2016 release
« Reply #25 on: 2016-04-20 13:33:07 »
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.

patternjake

  • *
  • Posts: 12
  • .NET Programmer with over 10 years experience
    • View Profile
Re: [FF9]2016 release
« Reply #26 on: 2016-04-20 14:06:16 »
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.

6044 errors....Yep, this will take a while.

Maki

  • 0xBAADF00D
  • *
  • Posts: 621
  • 0xCCCCCCCC
    • View Profile
Re: [FF9]2016 release
« Reply #27 on: 2016-04-20 14:14:53 »
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.

patternjake

  • *
  • Posts: 12
  • .NET Programmer with over 10 years experience
    • View Profile
Re: [FF9]2016 release
« Reply #28 on: 2016-04-20 14:17:22 »
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! :)

patternjake

  • *
  • Posts: 12
  • .NET Programmer with over 10 years experience
    • View Profile
Re: [FF9]2016 release
« Reply #29 on: 2016-04-20 14:23:13 »
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!

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Re: [FF9]2016 release
« Reply #30 on: 2016-04-21 01:27:19 »
I'm a bit out of the loop. Is this reversed code creating function names? Are symbols intact?

Vehek

  • *
  • Posts: 215
    • View Profile
Re: [FF9]2016 release
« Reply #31 on: 2016-04-21 06:01:40 »
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 Edit: 2016-04-21 06:31:02 by Vehek »

halkun

  • Global moderator
  • *
  • Posts: 2097
  • NicoNico :)
    • View Profile
    • Q-Gears Homepage
Re: [FF9]2016 release
« Reply #32 on: 2016-04-21 23:11:57 »
They did it ... *again*
Well, in FF7 they lefty in the debug stuff, but still.

Maki

  • 0xBAADF00D
  • *
  • Posts: 621
  • 0xCCCCCCCC
    • View Profile
Re: [FF9]2016 release
« Reply #33 on: 2016-04-22 07:07:48 »
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 Edit: 2016-04-22 07:12:52 by MaKiPL »

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #34 on: 2016-04-25 19:19:48 »
Initial commit.
Now you can change font and export text resources.

Git: https://github.com/Albeoris/Memoria
Build: https://yadi.sk/d/QbZQdNqHvJBSe

Feedback, pull requests and issues are welcome.

Future:
  • Import text
  • Disable cheats
  • Exit to main menu
  • Export/import textures
  • Redesign for battle menu
  • Rewrite the game engine

Join now!  :wink:
« Last Edit: 2016-09-17 17:00:14 by Albeoris »

Tirlititi

  • *
  • Posts: 874
    • View Profile
Re: [FF9]2016 release
« Reply #35 on: 2016-04-25 20:49:15 »
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 ^^"

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #36 on: 2016-04-25 21:03:48 »
Quote
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

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #37 on: 2016-04-26 18:48:31 »
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 Edit: 2016-06-09 17:32:57 by Albeoris »

jmp434

  • *
  • Posts: 285
  • https://www.paypal.me/jmp434
    • View Profile
    • Make a donation
Re: [FF9]2016 release
« Reply #38 on: 2016-05-11 07:42:24 »
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

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #39 on: 2016-05-14 19:38:49 »
Small. Another one hack: easy rope jumping. (=
Now I try to create a Override folder.

LeeHiOoO

  • *
  • Posts: 128
    • View Profile
Re: [FF9]2016 release
« Reply #40 on: 2016-05-15 19:52:58 »
Wow! Big progress I see here!
Is there possible to add a language option on the language menu as for now?
Or it's just easier to change one of them to the language I want?

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #41 on: 2016-05-15 20:56:17 »
Updated!

Fast battles:
Skip waiting: https://youtu.be/EqDkhKLHwT0
Turn-based: https://youtu.be/UqY3bhSnKAo

Wow! Big progress I see here!
Is there possible to add a language option on the language menu as for now?
Or it's just easier to change one of them to the language I want?
Absolutely impossible. Have to fix a lot of code. Just replace the existing one.

bajol

  • *
  • Posts: 11
    • View Profile
Re: [FF9]2016 release
« Reply #42 on: 2016-05-23 19:02:42 »
is there any way we can have more freedom remmaping buttons? For example, remmaping WASD to something other than movement, also have the controller "A" button as selection button (i know it can be changed in game but you still have to press "B" in the start screen)

for me not being able to remmap WASD as i am used to, is way worse than bad UI or backgrounds

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #43 on: 2016-05-24 22:36:20 »
Yes, but only after game will be stable.

popochan

  • *
  • Posts: 5
    • View Profile
Re: [FF9]2016 release
« Reply #44 on: 2016-05-27 15:51:04 »
Is it possible to mod the UI buttons to psx buttons just like FF8?

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #45 on: 2016-06-04 09:50:45 »
Is it possible to mod the UI buttons to psx buttons just like FF8?
Hm... What are you talking about?

popochan

  • *
  • Posts: 5
    • View Profile
Re: [FF9]2016 release
« Reply #46 on: 2016-06-04 14:26:15 »

bajol

  • *
  • Posts: 11
    • View Profile
Re: [FF9]2016 release
« Reply #47 on: 2016-06-04 19:21:07 »
yep, that would be cool too, at least for controllers, not sure if it could be done for keyboard, also i am not sure if this game is compatible with ds3 yet, i use betterds3 to turn my ds3 into a xbox360 controller
« Last Edit: 2016-06-30 18:15:23 by bajol »

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #48 on: 2016-06-05 12:17:29 »
Yes, it's possible.

Albeoris

  • *
  • Posts: 72
    • View Profile
    • FFRTT
Re: [FF9]2016 release
« Reply #49 on: 2016-06-09 17:33:21 »
Updated.
+ Battle on the stage fix (9999 HP)
+ Now you can edit items