Author Topic: [PSX] Import/Export TIMs from PSX MNU files - MNU-TIMjector (v1)  (Read 8354 times)

hotdog963al

  • Crazy poster
  • *
  • Posts: 225
  • Karma: 1
  • Horse
    • View Profile
    • Horse HQ
MNU-TIMjector



This is a tool for the PlayStation version of the game.

Previously when doing a Face-set mod for the Playstation, the name-a-character screen would show the old graphic, this for me ruined the face-set modding completely. This tool will enable you to easily change the TIMs inside of NAMEMENU.MNU.

I have found plenty of tools to scan for TIM files inside of other files, but none of them correctly "inject" new files... so I've created this tool which imports/exports set TIM files from the specific offsets on NAMEMENU.MNU, SAVEMENU.MNU and ITEMMENU.MNU.

I've tested it out and it all seems OK, I'd appreciate it if you PSX modders gave it a go.
Let me know if you have any problems with this initial release!

Download 1.40MB (Feel free to mirror)
« Last Edit: Today at 17:32:11 by Covarr »

ff7rules

  • Insane poster
  • *
  • Posts: 422
  • Karma: 2
    • View Profile
I am testing this now and im mighty impressed with it nice one  :wink:

Jonnylossus

  • Crazy poster
  • *
  • Posts: 115
  • Karma: 0
    • View Profile
If that works:

Well done!

davoker

  • Fast newbie
  • *
  • Posts: 11
  • Karma: 0
  • Final Fantasy forever
    • View Profile
I like the program * O *
A penalty that is not apparent to the Spanish PAL version T_T
Does anyone know how you could remove the TIM files of this type of files. MNU? eh tried to find the graphics with Tile Molester but there is no way to see them ...
Would be nice to draw graphs of these files. MNU and insert it as this program does hehe

Unknown Master

  • Fast newbie
  • *
  • Posts: 10
  • Karma: 0
    • View Profile
The link to download above seems to be broken... At least, for me!
I'd like to see how this tool works.

A mirror... Please... ;)

Thanks!

Tekkie.X

  • Freak
  • *
  • Posts: 896
  • Karma: 21
  • Formerly known as DragonNinja
    • View Profile
Necro says you get jack squat.

sl1982

  • Administrator
  • No life
  • *
  • Posts: 3610
  • Karma: 32
  • GUI Master :P
    • View Profile
Necro says you get jack squat.

Not true. He gets a warning.

vayneruel

  • Crazy poster
  • *
  • Posts: 139
  • Karma: 17
    • View Profile
Please someone could upload the program?
Thanks

Covarr

  • Covarr-Let
  • Administrator
  • No life
  • *
  • Posts: 3934
  • Karma: 116
  • The Great Redarr.
    • View Profile
From the rules:
Posting in threads more than a month old IS allowed. However, if your post contains no relevant information it will likely be deleted and you will be warned. If a link is broken, inform the author by using a Private Message.

Not to mention, the last few posts in this thread were someone getting a warning for necroing a thread. Reading the rules can be helpful.

vayneruel

  • Crazy poster
  • *
  • Posts: 139
  • Karma: 17
    • View Profile
Im sorry

Lazy Bastard

  • Insane poster
  • *
  • Posts: 298
  • Karma: 13
  • I may be lazy, but I can...zzzZZZzzzZZZzzz...
    • View Profile
    • GameHacking.org
Necromancy!

Since this is still the first Google result for MNU-TIMjector, and since it's disappeared from the face of the internet, here's its new mirror: LINK

I've also added a little something to make it work on 64-bit versions of Windows (which was a real pain until I worked out what was going on). Here's the ReadMe:

Quote
[Lazy Bastard, of GameHacking.org]: I didn't write this app. hotdog963al was its author. By the time I wanted it, it had disappeared from the face of the internet. Luckily kranmer still had a copy of it lying around, and provided it to me. Everything was fine, until I tried to run it on my 64-bit machine, and it didn't work. After some digging, I discovered that the DLL it uses, MagickNet.dll, isn't 64-bit compatible, and it seems hotdog963al didn't write the app to force 32-bit mode, thus the OS was trying 64-bit mode and crashing the app. Luckily, Microsoft has something called CorFlags.exe, which allows you to force an executable to run in 32 or 64-bit mode if desired. However, Microsoft loves to bundle such useful apps in several-hundred-megabyte packages, which take quite a while to install once downloaded, and which must be dug through viciously before finding the actual app desired...so I've decided to simply include CorFlags.exe with this download. It's a free app, so I hope Microsoft won't cry about it.

I've also whipped up a short batch script to perform the 32-bit mode force for you, entitled "64-bit_Compat.bat", along with an un-force script entitled "64-bit_Compat_Un.bat", in case for some reason you'd like to reverse the process (though there's no reason I can think of at the moment). Finally, if you're nervous running a batch script that some guy on the internet wrote, just go into your command line, change directory to your MNU-TIMjector folder, and type "CorFlags.exe MNU-TIMjector.exe /32Bit+" (without the quotes), and press Enter. To reverse the process, type "CorFlags.exe MNU-TIMjector.exe /32Bit-" (without the quotes), and press Enter.

Without further ado, here's the original description of this great app, by its author, hotdog963al:

(here I regurgitate the first post of this thread)

Enjoy!

hotdog963al

  • Crazy poster
  • *
  • Posts: 225
  • Karma: 1
  • Horse
    • View Profile
    • Horse HQ
Do people still use this? Would it be worth me fixing it up?

Lazy Bastard

  • Insane poster
  • *
  • Posts: 298
  • Karma: 13
  • I may be lazy, but I can...zzzZZZzzzZZZzzz...
    • View Profile
    • GameHacking.org
I certainly think so. It saves a lot of time normally spent in a hex editor for this purpose.

The ability to convert between BMP and TIM would be nice, since other apps purporting to do so seem to have serious flaws (still, I use a PhotoShop plugin to handle TIM editing, so I don't worry about conversion).
« Last Edit: 2013-03-17 00:50:49 by Lazy Bastard »

wolverinecarnage

  • Newbie
  • *
  • Posts: 2
  • Karma: 0
    • View Profile
This tool is definately usefull. Keep working on it. This is the only tool i know of for the psx which can do this. Would be nice if there was a tool that could replace the "tims" for the materia icon in the menu screen for example replacing it a different design/picture instead of just the red/blue/green etc design. I'm guessing we are ways off till something like this is possible on the psx anyway.

NERV Agent

  • Cool newbie
  • *
  • Posts: 94
  • Karma: 4
  • Toblerone is waifu of the year.
    • View Profile
I know I'm bumping this up, but I found something worth noting.

This program works fine when viewing/editing the US version of "SAVEMENU.MNU". However, you open the Japanese version of "SAVEMENU.MNU" and try to view anything, it results in the following error (removed my computer name and directory info since no one needs to know that):

Code: [Select]
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
MagickNet.MagickError: MNU-TIMjector.exe:ImproperImageHeader `C:\Users\["my computer name here"]\AppData\Local\Temp\BUSTER.tim'
   at MagickNet.MagickException.Throw()
   at MagickNet.MagickException.Throw(Object source, ExceptInfo* e)
   at MagickNet.Image.Read(String imageSpec)
   at MagickNet.Image..ctor(String imageSpec)
   at MNUTIMjector.Main.procImg(String name)
   at MNUTIMjector.Main.HandleComboBox()
   at MNUTIMjector.Main.ComboBox1_SelectedIndexChanged(Object sender, EventArgs e)
   at System.Windows.Forms.ComboBox.OnSelectedIndexChanged(EventArgs e)
   at System.Windows.Forms.ComboBox.WmReflectCommand(Message& m)
   at System.Windows.Forms.ComboBox.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8762 (QFE.050727-8700)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
MNU-TIMjector
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///["My directory info here"]/MNU-TIMjector/MNU-TIMjector.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.5483 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8770 (QFE.050727-8700)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5491 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.5495 (Win7SP1GDR.050727-5400)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8771 (QFE.050727-8700)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
MagickNet
    Assembly Version: 1.0.0.3
    Win32 Version:
    CodeBase: file:///["My directory info here"]/MNU-TIMjector/MagickNet.DLL
----------------------------------------
msvcm80
    Assembly Version: 8.0.50727.6195
    Win32 Version: 8.00.50727.6195
    CodeBase: file:///C:/Windows/WinSxS/x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a/msvcm80.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Will this be fixed anytime soon? If not, is there an alternative to replacing ".TIM" files in the Japanese version of "SAVEMENU.MNU"?

And yes, I already ran "64-bit_Compat.bat".

UPDATE: I noticed that the offsets between the US and Japanese version are different.

For example, offsets for “sword” pic:
US: 0x4EDC
J: 0x4CF8

I guess the problem is the program only references the US offsets, not the Japanese ones.

Alternative method for replacing the sword pic:

1.)   What you do is use a hex editor to open the Japanese “SAVEMENU.MNU” and go to 0x4CF8. Select a block of data the size of the “.TIM” file you wish to import, then fill that block with 0s.
2.)   Open the “.TIM” file you wish to import, select everything and copy.
3.)   Then go back in “SAVEMENU.MNU” at 0x4CF8 and select the block of data the size of the “.TIM” you wish to import. Paste into selection. Done.
4.)   The results will NOT show up in Tim2View, TIMViewer, or even PSicture. But like the T-800 says, "Trust me."

I hope this tool gets updated soon.
« Last Edit: 2018-03-10 06:03:02 by NERV Agent »