What's new

BMDView2 Linux

dashxdr

New member
I got your source to build but I had to modify the Makefile. I attached the Makefile.txt (rename to Makefile).

I'm building under linux, not a mac.
 

Attachments

  • Makefile.txt
    2.3 KB · Views: 258
Last edited:

dashxdr

New member
I just got BMDVew2 compiling on linux, however exporting to 3DS using lib3ds produces garbage data, so if anyone wants to work on it here you go:

Ok I got it to build and I got it to load a .bdl file (from Mario.arc inside Super Mario Galaxy). I see Mario in the jesus pose, arms straight out. Are there any controls to animate him? I'm a newb as regards 3D. Are these the "bones" people speak of?
 

dashxdr

New member
Just an update in the hopes that this thread will be of more use to other people exploring this area.

There is a thread from 2008 timeframe on this site where these things were first getting worked out. Here's some of the link:

www.emutalk.net/threads/43273-Guess...ses-for-Wii-games-Pictures-inside-56K-Warning

What's maddening is these people talk about viewing animations, they make comments on how cool they are... but they don't say what specific files they're viewing from Super Mario Galaxy to view the animations. Or even how to view animations in bmdview2. So here's that info:

In the dump of the Super Mario Galaxy you will see these files:
RMGE01/files/ObjectData/Mario.arc
RMGE01/files/ObjectData/MarioAnime.arc
Unpack those. Inside the Mario.arc file is mario.bdl which contains the model (with bones, or control points, or whatever). This model can be animated, but doesn't contain any of the animation data itself.

Inside MarioAnime.arc are all the animation data files, they end in .bck. Here are some examples:
kick.bck
walk.bck
run.bck
and so on.

With my linux built executable from the original post, having used my modified Makefile, I ended up with a program
bmdview2_glut
To view the models, you pass a .bdl file to it on the command line:
bmdview2_glut mario.bdl
To view an animation, you pass both the .bdl file and the .bck file on the command line:
bmdview2_glut mario.bdl run.bck

The animations play very slowly, something like 1/16th the speed they should. The source in bmdview2 can be modified, main.cpp:
float animTime = 16*16*g_time; //TODO: find the right factor for this
The original line had only 16*g_time, I added the 2nd "16*". This speeds up the animations.

I'd have loved to RTFM but there doesn't appear to be much documentation.

Hope this is helpful...
 
Last edited:

dashxdr

New member
I just got BMDVew2 compiling on linux, however exporting to 3DS using lib3ds produces garbage data, so if anyone wants to work on it here you go:

OK I found the critical problem in your exporter code, it was a very very minor typo.

addons/export3ds.cpp line 287
- for(size_t k = 2; j < curr.points.size(); ++j)
+ for(size_t k = 2; k < curr.points.size(); ++k)

The point numbers for each triangle were garbled. I updated the copy of the codebase on googlecode:

code.google.com/p/bmdview2/

Just posting this here for the sake of closure, even though the original poster seems to have vanished... The exported model now is recognizable.
 

Top