What's new

Program Creating tutorials and help

Alliance

New member
Hello, I was wondering if anybody had any tutorials on where to start on how to create programs to extract models from GC games. I would like to create my own programs to extract the resident evil 4 models and also in the near future i would like to create a program to extract other models from other games. If anybody could give me some help on where to start that would be great. Thanks
 

mariokart64n

New member
Aww RE4 models have already been extracted dude.

it take you years of schooling to learn coding too.

first off, you should prolly choose which coding langauge you are more able to work with. VB is of course is easier but cost an arm and a lag for the console. but whatever, try getting you hands on it, and try to find some basic VB tuts, maybe consider buying some books, even the VB for dummies should be half a foot thick.

once you get confortable coding with a langauge, "THEN".. maybe[b/] you'll be able to start looking into dissasembling.

See what your asking about, is;

A. how to make a program (easy learn a coding langauge)
B. how extract models (involves knowledge of 3D architecture and reverse engineering)

anyway, in summary, your prolly to nieve and unaware to learn anything like what you want with one single tut anyone could hope to post about.

Though in retospective, pulling 3d data isn't hard, you gotta figure out the header through a hex editor or disassembler or take pot shots at finding the vertex floats, then you move onto texture coordinates soo on.
 
OP
A

Alliance

New member
Well ok the thing is I know enough in VB, C++, C# and some others but what im asking for is where to get started in the 3d stuff. I dont know how to look or even read the header data in a file. Creating a program to render polygons and verts is new to me, I am used to programming applications that focus around fire-wall data for windows and other things. If someone could help me out in how to read a simple game model in a hex viewer that would help and also how to find the bitmaps also.
 

mariokart64n

New member
well, honestly, if your doing programming for firewalls? not sure what that is.

you should be able to understand how to reverse data.

using C/C++ you can compile easy data types, then re-open them in a he editor, then making a new program to pull the data back out. you should already know how variables are kept in memory, so theres no problem there.

for bitmaps, do the same take a small 32x32 bmp file, open it up in an a hex editor, and try to reverse the data out.

it's all about reconizing data types.

or are you unclear oh how to write new files, from another file?
 

Lunaboy

New member
If you never did any reverse-engineering before, it's a bad idea to start with 3D models, because most of them have very complex file structures. Since the Gamecube can handle bytes, shorts and floats as positiondata, these can be very hard to recognise.

When you are new to reverse-engineering, it's a better idea to start with 2D imagefiles (textures).

First search for a datablock wich is probbably imagedata. Then try to load the datablock by guessing the image dimensions and dataformat (RGB5A3, RGB565 etc.)
After you've found the right dimensions and dataformat, you have to search these values in the header (the header is mostly at the beginning of the file). Note that the Gamecube is a PowerPC and most fileformats will store their values in Big-Endian instead of Little-Endian format. To use these values, you'll need to byteswap them after reading.

When you've decoded the header (you know the offsets where the dimensions and the dataformat are stored) you can try to decode other files of the same type by loading the values out of their headers. If they decode correctly, the imageloader is ready to use in your project.
 

Top