Tag Archives: reverse engineering

Patching the mouse wrapping glitch in 3ds Max 2010 on Windows 10

Using 3ds Max 2010 under Windows 10, when panning the viewport, the mouse cursor frequently glitches away and the viewport pans off to nowhere. I worked around the issue by…

3ds Max File Format (Part 6: We get signal)

Let’s see what we can do now. INode *node = scene.container()->scene()->rootNode()->find(ucstring(“TR_HOF_civil01_gilet”)); nlassert(node); exportObj(“tr_hof_civil01_gilet.obj”, node->getReference(1)->getReference(1)); Plain easy, right?

3ds Max File Format (Part 5: How it all links together; ReferenceMaker, INode)

At this point, you should start to familiarize yourself a bit with the publicly available 3ds Max API documentation. The contents of the file map practically 1:1 with how the…

3ds Max File Format (Part 4: The first useful data; Scene, AppData, Animatable)

The most interesting part of this file is, evidently, the Scene. Opening it up in the chunk parser, it begins like follows, and goes on for a few ten thousands…

3ds Max File Format (Part 3: The department of redundancy department; Config)

Now we’ll have a look at the Config stream. It begins like follows, and goes on forever with various integer fields and other binary blobs. (StorageContainer) [15] { 0 0x2090:…

3ds Max File Format (Part 2: The first inner structures; DllDirectory, ClassDirectory3)

Now that we understand the outer structure of the file, it’s time to look closer to what’s inside. The DllDirectory stream looks like a good starting point. After cleaning up…

3ds Max File Format (Part 1: The outer file format; OLE2)

The 3ds Max file format, not too much documentation to be found about it. There are some hints here and there about how it’s built up, but there exists no…