ROM Hack [WIP] Ohana3DS tool

Lilothestitch

Active Member
Newcomer
Joined
Jan 24, 2015
Messages
29
Trophies
0
Age
26
XP
119
Country
United States
So, I updated the build on the first post today. Changes:
- More fixes on *.mbn format (it also have normals and vertex colors now), I believe that the only issue now is the wrong material binding. Those are read from the .bch, so no Idea of what can be wrong, but again, this is trivial to fix on a 3d software.
- Fixed weighting issues (that include the Primal Groudon problem pointed by @Demonslayerx8 some months ago I believe... Also probably all the weighting issues reported on that thread.
- Added custom model export dialog, now its possible to export all models on a file at once, and also all skeletal animation at once (only with smd format atm).
- Added custom texture export dialog, it have the same functionality of the old Save Dialog.
- The DAE exporter is working again. I added all UVSets present on the model as requested by @Demonslayerx8, but didn't tested it. So let me know if its working.
- Fixed EndOfStreamException on some cgfx models pointed by @MasterLel (it a workaround tbh, so let me know if it works for you).
- It's now possible to import several skeletal animations at once (I dont recommend loading thousands of files at once through, for obvious reasons).


Unfortunately no, the focus of this tool is only 3DS formats (hence the name Ohana3DS).
I see. It was kind of suggestion.
 

Demonslayerx8

Well-Known Member
Member
Joined
Mar 17, 2011
Messages
156
Trophies
0
XP
155
Country
United States
So, I updated the build on the first post today. Changes:
- More fixes on *.mbn format (it also have normals and vertex colors now), I believe that the only issue now is the wrong material binding. Those are read from the .bch, so no Idea of what can be wrong, but again, this is trivial to fix on a 3d software.
- Fixed weighting issues (that include the Primal Groudon problem pointed by @Demonslayerx8 some months ago I believe... Also probably all the weighting issues reported on that thread.
- Added custom model export dialog, now its possible to export all models on a file at once, and also all skeletal animation at once (only with smd format atm).
- Added custom texture export dialog, it have the same functionality of the old Save Dialog.
- The DAE exporter is working again. I added all UVSets present on the model as requested by @Demonslayerx8, but didn't tested it. So let me know if its working.
- Fixed EndOfStreamException on some cgfx models pointed by @MasterLel (it a workaround tbh, so let me know if it works for you).
- It's now possible to import several skeletal animations at once (I dont recommend loading thousands of files at once through, for obvious reasons).
oohh nice... ill check out the updated DAE exporter then! c:

altho 3ds max crashes when importing said DAE (3ds max 2014 is what im using.. might be the DAE version), but when i load the DAE into noesis, there seems to be some meshes missing, but exporting it as FBX then into 3ds max is working properly, so im fine with that and shows every mesh

edit:
i dont think these meshes should be blue.. at all ._.
looks like a color node issue.. looks like that in 3ds max also
RdXFR35.png

M0VmDPB.png

edit2:
meshes with 2 uv's didn't export its 2nd uv layer.. would u like the bch file of the model?

edit3:
played around a bit more.. and seems like rigging with mbn files is gone.. exported some stage models with bones, rigging was gone, same for character models (both smd and dae)
 
Last edited by Demonslayerx8,

xXMelvinXx

Active Member
Newcomer
Joined
Sep 16, 2013
Messages
29
Trophies
0
Age
28
XP
142
Country
United States
Hello gdkchan,

Your program looks great and I was really excited to use it, but every time I try to open any of the supported files I get this error:
************** Exception Text **************
System.IO.FileNotFoundException: The specified module could not be found. (Exception from HRESULT: 0x8007007E)
at Ohana3DS_Rebirth.Ohana.RenderEngine.initialize(IntPtr handle, Int32 width, Int32 height)
at Ohana3DS_Rebirth.GUI.OViewportWindow.initialize(RenderEngine renderEngine)
at Ohana3DS_Rebirth.FrmMain.launchModel(OModelGroup model, String name)
at Ohana3DS_Rebirth.FrmMain.open(Stream data, String name)
at Ohana3DS_Rebirth.FrmMain.open(String fileName)
at Ohana3DS_Rebirth.FrmMain.mnuOpen_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.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.5485 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Ohana3DS Rebirth
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/o3ds_14_11_2015_%232/Ohana3DS%20Rebirth.exe
----------------------------------------
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
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5492 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
Assembly Version: 3.5.0.0
Win32 Version: 3.5.30729.5420 built by: Win7SP1
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
Microsoft.DirectX
Assembly Version: 1.0.2902.0
Win32 Version: 5.04.00.2904
CodeBase: file:///C:/o3ds_14_11_2015_%232/Microsoft.DirectX.DLL
----------------------------------------
Microsoft.DirectX.Direct3D
Assembly Version: 1.0.2902.0
Win32 Version: 9.05.132.0000
CodeBase: file:///C:/o3ds_14_11_2015_%232/Microsoft.DirectX.Direct3D.DLL
----------------------------------------
System.Configuration
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5483 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.5485 (Win7SP1GDR.050727-5400)
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
Microsoft.VisualC
Assembly Version: 8.0.0.0
Win32 Version: 8.00.50727.4927
CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualC/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualC.dll
----------------------------------------
I have tried opening models in .lz format from Fire Emblem Awakening, .bch format from Kirby Triple Deluxe and Yoshi's New Island, .bcres format from Animal Crossing: New Leaf and Kid Icarus: Uprising, .cx format from Pokemon Rumble Blast, .cmp format from Kirby: Triple Deluxe, and .ZTEX format from Fantasy Life. All of them have given me the same error, leading me to believe I have installed the program incorrectly. Could I be missing some .dll's? I am using a 64-bit system, but I have no idea how that might cause a problem or how to install the program differently. Thanks for any help you can provide.

-Melvin

P.S. Any chance you are planning support for .n3ddta files from Cave Story 3D?
 

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
So, I updated the build again. Changes:

- Finally fixed the CGFX EndOfStreamException, turns out that it was a dumb mistake
- Hopefully fixed the colors issue with *.mbn files
- Minor tweaks on UI and DAE exporter

@Demonslayerx8
.mbn rigging is working fine for me. All UV layers are exported, maybe theyre lost on the dae -> fbx conversion. But I made minor changes on the dae exporter, can you see if it work on 3dsmax now? I also tried to fix the color issue. Looks like mbn uses bgra instead of rgba like bch and cgfx.

@xXMelvinXx
Looks like it can't find the Managed Directx dlls, weird because I included 'em on the package.
I can look into the .n3ddta format, if someone send me the file.

@Lilothestitch
I didnt added support for the *.pt files used on Pokemon because it was not a priority. They are just bch files inside a container.

@darklordrs
Yes, I didnt added it on the model import option for a good reason. *.mbn files only contains mesh data, this means that stuff such as material, skeleton and whatnot are inside the bch file. Therefore, it must read the model from the bch file, and combine it with the meshes from the *.mbn file. If I added a option to import it, all you would have is a white model without skeleton, unless I added a special case for the mbn files.

@MasterLel
Those errors with cgfx should be fixed now, please try it out.
 

Lilothestitch

Active Member
Newcomer
Joined
Jan 24, 2015
Messages
29
Trophies
0
Age
26
XP
119
Country
United States
So, I updated the build again. Changes:

- Finally fixed the CGFX EndOfStreamException, turns out that it was a dumb mistake
- Hopefully fixed the colors issue with *.mbn files
- Minor tweaks on UI and DAE exporter

@Demonslayerx8
.mbn rigging is working fine for me. All UV layers are exported, maybe theyre lost on the dae -> fbx conversion. But I made minor changes on the dae exporter, can you see if it work on 3dsmax now? I also tried to fix the color issue. Looks like mbn uses bgra instead of rgba like bch and cgfx.

@xXMelvinXx
Looks like it can't find the Managed Directx dlls, weird because I included 'em on the package.
I can look into the .n3ddta format, if someone send me the file.

@Lilothestitch
I didnt added support for the *.pt files used on Pokemon because it was not a priority. They are just bch files inside a container.

@darklordrs
Yes, I didnt added it on the model import option for a good reason. *.mbn files only contains mesh data, this means that stuff such as material, skeleton and whatnot are inside the bch file. Therefore, it must read the model from the bch file, and combine it with the meshes from the *.mbn file. If I added a option to import it, all you would have is a white model without skeleton, unless I added a special case for the mbn files.

@MasterLel
Those errors with cgfx should be fixed now, please try it out.
So how do I load the Pokémon .bch textures?
 

Hiccup

Well-Known Member
Member
Joined
Nov 21, 2009
Messages
1,000
Trophies
1
XP
1,806
Country
Error when opening NSMB2 (Europe)'s kinopio model:
Code:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
   at System.IO.__Error.EndOfFile()
   at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
   at System.IO.BinaryReader.ReadSingle()
   at Ohana3DS_Rebirth.Ohana.ModelFormats.CGFX.getAnimationKeyFrame(BinaryReader input, OAnimationKeyFrameGroup frame)
   at Ohana3DS_Rebirth.Ohana.ModelFormats.CGFX.load(Stream data)
   at Ohana3DS_Rebirth.FrmMain.open(Stream data, String name)
   at Ohana3DS_Rebirth.FrmMain.open(String fileName)
   at Ohana3DS_Rebirth.FrmMain.mnuOpen_Click(Object sender, EventArgs e)
   at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   at System.Windows.Forms.ToolStrip.WndProc(Message& m)
   at System.Windows.Forms.ToolStripDropDown.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.8009 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
Ohana3DS Rebirth
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Writ-App/Game%20Editing%20Tools/Nintendo%203DS/~Multiple/Ohana3DS/Ohana3DS%20Rebirth.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8015 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8009 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.8016 (FX35W81RTMGDR.050727-8000)
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
    Assembly Version: 3.5.0.0
    Win32 Version: 3.5.30729.7903 built by: Win9Rel
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.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.
 

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
Theres not much I can do if you dont send the model file. But I guess the error is due to the fact that I didnt implemented full baked skeletal animations format on cgfx yet.
 

Lilothestitch

Active Member
Newcomer
Joined
Jan 24, 2015
Messages
29
Trophies
0
Age
26
XP
119
Country
United States
@gdkchan I'm still having trouble loading textures for the Pokémon. I also need the animation files for them too. Does this tool work with Pokémon Super Mystery Dungeon?
 

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
@gdkchan I'm still having trouble loading textures for the Pokémon. I also need the animation files for them too. Does this tool work with Pokémon Super Mystery Dungeon?
yes I guess, I didnt tested with this game but afaik it uses bch. But youll need to decompress it first. Textures are inside the *.pt files like I said, which arent supported yet. If youre desesperated to extract it, you can just dump the bch file inside using a hex editor, and then import this bch file.
 

Lilothestitch

Active Member
Newcomer
Joined
Jan 24, 2015
Messages
29
Trophies
0
Age
26
XP
119
Country
United States
yes I guess, I didnt tested with this game but afaik it uses bch. But youll need to decompress it first. Textures are inside the *.pt files like I said, which arent supported yet. If youre desesperated to extract it, you can just dump the bch file inside using a hex editor, and then import this bch file.
How do I decompress it? Do I need a tool? If so what is the tool I need and where can I download it?

--------------------- MERGED ---------------------------

@gdkchan What about the animation files? I kinda meed those too.
 

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
How do I decompress it? Do I need a tool? If so what is the tool I need and where can I download it?

--------------------- MERGED ---------------------------

@gdkchan What about the animation files? I kinda meed those too.
http://www.romhacking.net/utilities/826/
One of those should do the job.

Edit: I don't know where animation files are (or which format it uses) since I dont have this game. Or are you talking about ORAS? Man, calm down a bit. You're making questions so fast that I dont even have the time to answer. One step at a time.
 
Last edited by gdkchan,

Lilothestitch

Active Member
Newcomer
Joined
Jan 24, 2015
Messages
29
Trophies
0
Age
26
XP
119
Country
United States
http://www.romhacking.net/utilities/826/
One of those should do the job.

Edit: I don't know where animation files are (or which format it uses) since I dont have this game. Or are you talking about ORAS? Man, calm down a bit. You're making questions so fast that I dont even have the time to answer. One step at a time.
I'm sorry for making questions too fast. I was talking about ORAS.
 

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
@gdkchan What is the file format for the animation files?
I dont even know of which game youre talking anymore. But I just checked a file from Pokémon Myster Dungeon, and it uses bcres, and is working. But you need to decompress the .cx file first. I guess that the animations uses the .bcskla format. But its just a wild guess, I DONT HAVE THIS GAME SO I HAVE TO WAY TO KNOW.

Edit: ORAS uses a custom format for animation on Pokemon that arent supported yet.
 
Last edited by gdkchan,

Hiccup

Well-Known Member
Member
Joined
Nov 21, 2009
Messages
1,000
Trophies
1
XP
1,806
Country
Thanks. It works, but sometimes stops working if I do things them in certain orders.
Could you add a feature for exporting video/gif of animations and/or exporting images of models?
 
Last edited by Hiccup,
  • Like
Reactions: I pwned U!

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    RedColoredStars @ RedColoredStars: The tots through Tina quotes are Napoleon. No free drinks and the big brown finger are Greasy...