ROM Hack [WIP] Ohana3DS tool

caprathebest

Well-Known Member
Member
Joined
May 15, 2014
Messages
113
Trophies
0
Age
27
XP
199
Country
Italy
if you use vgmtoolbox, you can unpack those .awb files, which will most likely give you .hca audio format. I have a HCA2WAV program if you want it. I don't think gdkchan will add support for MGS3D tho
Damn, still I'm interested in the HCA2WAV :) If you could send it to me it would be awesome :D
 

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
upon further search.. seems like some stage MBN files are fine, and others r broken with the colors. As last time, the red channel took the alpha channel value, but seems like the green took red, and blue took green, and that leave blue with nothing (altho this could be wrong and that green is green and blue is blue while red is just missing).

can you tell me where the vertex color data is stored in the mbn data? Even tho I have no knownledge on hex data and all that stuff, so I'd most likely get lost at some point.
I think I found the problem with mbn colors. Looks like that the vertex color data may come right after the 3 bytes normal data, without any padding, which is weird cause other attributes does have padding. Anyway, I updated the build on the first post so you can try if this fixes the color issues.
 

Demonslayerx8

Well-Known Member
Member
Joined
Mar 17, 2011
Messages
156
Trophies
0
XP
155
Country
United States
Damn, still I'm interested in the HCA2WAV :) If you could send it to me it would be awesome :D
sure, i'll send it to ya in a PM


I think I found the problem with mbn colors. Looks like that the vertex color data may come right after the 3 bytes normal data, without any padding, which is weird cause other attributes does have padding. Anyway, I updated the build on the first post so you can try if this fixes the color issues.
yep, that pretty much vfxed it all!! Thanks for that update fix! Stage used to be all red and stuff..
a0fY02l.png
 
Last edited by Demonslayerx8,

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
yep, that pretty much vixed it all!! Thanks for that update fix!
a0fY02l.png
Just updated the build again because I noticed that it broke the models that doesn't use vertex colors -_- but should be alright now.
Only thing remaining for mbn now is fixing the material binding.

I've got a few files for you to analyze if you want to :P They're all from Metal Gear Solid 3D. They're files with the .la2 (used for the models and images), .acb (audio), .awb (audio again), .cnf (used for the stages), .gcx (stages again) and .hpk (stages again). Hit me up on PM if you want some of them :P
You can send the files if you want, but Im not going to look them anytime soon, cause I already have other files to RE atm. But MGS looks more interesting than the other formats I have on the list :D so maybe I look into them first, who knows. But anyway, before I start looking into any of those formats, I still have a bunch of more important stuff to fix and implement.
 
Last edited by gdkchan,

MK73DS

Non-commutative algebra
Member
Joined
Feb 23, 2015
Messages
575
Trophies
0
Age
25
Location
France
Website
www.youtube.com
XP
1,536
Country
France
Im the author of both programs, as you can see on this github repository:
https://github.com/gdkchan/Ohana3DS

Now Ill explain this again... one last time.
First, the old version of Ohana3DS have a texture replacer, it doesnt create a new BCH file, it just REPLACES the texture data inside it, everything else is untouched. So I wouldn't consider it an exporter.

OK thank you for your answer, now I got it ^^"
 

Coleman_C18

Well-Known Member
Member
Joined
Sep 1, 2015
Messages
429
Trophies
0
Age
27
XP
345
Country
United States
I found a pretty big bug when it comes to exporting .bcres files from animal crossing and perhaps many other games.
Take for example this file: grd_F_1.bcres, when viewing its materials via HxD you can see the following.

grd_F_1.VisibilityAnimation.MaterialAnimation.m_grass.IsBranchVisible.Materials["m_grass"].MaterialColor.Emission.Materials["m_grass"].MaterialColor.Ambient.Materials["m_grass"].MaterialColor.Diffuse.Materials["m_grass"].MaterialColor.Specular0.Materials["m_grass"].MaterialColor.Specular1.Materials["m_grass"].MaterialColor.Constant0.Materials["m_grass"].MaterialColor.Constant1.Materials["m_grass"].MaterialColor.Constant2.Materials["m_grass"].MaterialColor.Constant3.Materials["m_grass"].MaterialColor.Constant4.Materials["m_grass"].MaterialColor.Constant5.Materials["m_grass"].TextureMappers[0].Sampler.BorderColor.Materials["m_grass"].TextureMappers[1].Sampler.BorderColor.Materials["m_grass"].TextureMappers[2].Sampler.BorderColor.Materials["m_grass"].TextureMappers[0].Texture.Materials["m_grass"].TextureMappers[1].Texture.Materials["m_grass"].TextureMappers[2].Texture.Materials["m_grass"].FragmentOperation.BlendOperation.BlendColor.Materials["m_grass"].TextureCoordinators[0].Scale.Materials["m_grass"].TextureCoordinators[1].Scale.Materials["m_grass"].TextureCoordinators[2].Scale.Materials["m_grass"].TextureCoordinators[0].Rotate.Materials["m_grass"].TextureCoordinators[1].Rotate.Materials["m_grass"].TextureCoordinators[2].Rotate.Materials["m_grass"].TextureCoordinators[0].Translate.Materials["m_grass"].TextureCoordinators[1].Translate.Materials["m_grass"].TextureCoordinators[2].Translate..grass.tex_grass.tex_flocky_grd.DefaultShader.Lut_field.lu_field_grass.

However when you convert it to a .obj, .dae, ect it only retains only the textures (in this case just grass)
recompiled to .bcres it looks like this:
grd_F_1.m_grass_mat.mat_ground.CompleteModel..DefaultShader.
As you can see its missing A LOT, only retaining about 5 materials.

This is problematic because when making modifications everything comes out without shading, bumpmapping, grass doesn't know to change based on season, semi-transparent ect.as seen below (on a different test map I edited)
qROjwWr.png
 
Last edited by Coleman_C18,

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
First, I dont know which program youre using to create the bcmdl files again, it may be destroying most of this data. Second, some of this stuff is specific to the PICA200, and can't be exported as DAE (for example, the Fragment Shader stuff, the LookUp tables, they all can't be exported as DAE, at least afaik).

I plan to add support for exporting into the Intermmediate File Format soon, which should fix those issues for the users of the official tools.
 
Last edited by gdkchan,

Coleman_C18

Well-Known Member
Member
Joined
Sep 1, 2015
Messages
429
Trophies
0
Age
27
XP
345
Country
United States
First, I dont know which program youre using to create the bcmdl files again, it may be destroying most of this data. Second, some of this stuff is specific to the PICA200, and can't be exported as DAE (for example, the Fragment Shader stuff, the LookUp tables, they all can't be exported as DAE, at least afaik).

I plan to add support for exporting into the Intermmediate File Format soon, which should fix those issues for the users of the official tools.
I was mainly using .obj, but tested it with everything but .smd, and as far as I can see the material "grass_mat" is the only material shown. I have been using Everyfileexplorer and not the official tools however, so aside from there being only one Material, it could very well be screwing up some things

thanks for the quick reply btw
 

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
I was mainly using .obj, but tested it with everything but .smd, and as far as I can see the material "grass_mat" is the only material shown. I have been using Everyfileexplorer and not the official tools however, so aside from there being only one Material, it could very well be screwing up some things

thanks for the quick reply btw
Im pretty sure that "EFE" doesn't support creating any of this anyway. It probably just uses a generic material. And .smd or .obj are the most basic formats, so all material stuff will be lost after exporting into them. The dae exporter that I made isn't much better either.
 
  • Like
Reactions: Coleman_C18

Coleman_C18

Well-Known Member
Member
Joined
Sep 1, 2015
Messages
429
Trophies
0
Age
27
XP
345
Country
United States
.smd or .obj are the most basic formats, so all material stuff will be lost after exporting into them. The dae exporter that I made isn't much better either.

That's likely a large part of the problem then, EFE only accepted .obj
This is how I've been doing it:
Create bcres: EFE -> File -> New From File -> Nintendo 3ds Plugin -> CGFX -> Choose .obj file with the mtl and you get a bcres file.
Texture: Drag & Drop the bcres in Ohana3ds and you can export/import texture
 

Asia81

Yuri Lover ~
Member
Joined
Nov 15, 2014
Messages
6,665
Trophies
3
Age
29
XP
3,553
Country
France
@gdkchan If I send you 2 files, can you check and work on something for me?
It's just open a CGFX (from a banner.bnr), import a texture in the Texture tab, and Save.
I need just to save once I imported the texture.
 

Ehm

New Member
Newbie
Joined
Dec 11, 2015
Messages
2
Trophies
0
XP
65
Country
Canada
I've been trying to view a few models with various builds of Ohana Rebirth, and each build has its own issues.

The oldest one I have is from July 6th, and seems to be the most accurate. The downside here is that there's no options menu, and fragmented lighting/gridlines are locked on.
9f2b4eaeeb.png


The next one is from November 19th. Options menu is there so I can disable fragmented light/lines, but it doesn't render some geometry. Some of the texture mapping is also wrong.
b3ab11ed63.png


The latest build (Dec 9th) doesn't render textures at all unless fragmented lighting is enabled. It also still has the geometry/texture issues that the November 19 build does.
5aea19e34b.png


I'd greatly appreciate any help with this!
 

gdkchan

Well-Known Member
OP
Member
Joined
Jul 8, 2015
Messages
181
Trophies
0
Age
26
XP
425
Country
Brazil
@Ehm
The mesh visibility issue probably goes away after you export the model. Some models got invisible meshes that should be visible after I implemented mesh visibility. About the texture issue, its probably a problem with the fragment shader, it is pretty incomplete atm and idk when Ill fix it up. But anyway, the fragment shader doesn't affect the exported models.
 

Demonslayerx8

Well-Known Member
Member
Joined
Mar 17, 2011
Messages
156
Trophies
0
XP
155
Country
United States
I got a question. In the past Ohana version (that can view scene/lighting/camera data), for smash3ds, what are the HS data for? I know you took it out, altho idk if you know of any information on the stage lighting data. Only thing I can get perfect for rendering is the ambient/lighting color, the position and direction they go to.

not sure what the Angular Attenuation or the distance attenuation is. One final thing.. would texture animations (not material animation, even tho color animation is part of material animation too) be able to be exported at some point? like as a txt file or something, to where it'll just show the keyframe and the value's it has.

edit:
ok now i know what the HS stands for. Hemisphere lighting.. not quite sure how I can pull that off in brawl tho.. any idea's?
 
Last edited by Demonslayerx8,
D

Deleted User

Guest
Is there a reason that Ohana doesnt provide me with anything but a black screen? Im on windows 10

nED0Sqb.png
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtu.be/qv96JYhfAuA?si=_PN4PTWfj5BWI9wk