FixMDL 0.1 ALPHA
May 8, 2010
by Sajt

Part of the QShed project:
http://www.icculus.org/qshed/

FixMDL is a Windows GUI program which can process Quake 1 MDL files without any
lossy recompression. It offers various fixes for potential issues you may have
with crappy exporters.

You can also edit the offsets, sync type, and flags of the model. If you don't
know what those are, ask on the Inside3D forums. I'm too lazy to describe them
in the readme right now.

A list of frames and skins will be shown on the right of the window, but you
can't do anything to them, they're just there for reference. Maybe in future
versions of FixMDL you will be able to rename, reorder and remove frames and
skins.



HOW TO USE THIS PROGRAM:

Either drag a model onto the EXE, or open the EXE by itself and click "Open" to
load up a source MDL. Then make your changes, select an output filename, and
hit "Run". The program will exit after a successful export.



FIXES AND OPTIMIZATIONS:

Note: only the fixes which are applicable will be available. The rest will be
greyed out.

-------------------------------------------------------------------------------

[X] Pad skin width out to a multiple or 4.

This is mandatory for models whose skin width is not a multiple of 4. This
feature specifically fixes models saved by QME with incorrect skin widths.

-------------------------------------------------------------------------------

[X] Remove unused vertices.

Remove floating vertices which are used by no triangles. They are just wasting
space.

-------------------------------------------------------------------------------

[X] Strip extra data from end of file

Some programs such as QME 3.0 might append extra data to the end of the MDL
file. This data would not be used by Quake, but might provide extra metadata to
editors. You can preserve or strip this data away to save space. If you perform
operations using FixMDL which can alter the number of vertices or triangles,
it's possible that such metadata will be invalidated, so it's recommended that
you strip the data.

-------------------------------------------------------------------------------

EXTRA OPTIONS:

[X] Facetize model for flat-shading

This will split vertices up so that each triangle has its own exclusive three
vertices. As a result, the number of total vertices in your model will shoot up
to three times the number of triangles. This is used if you want the model to
be lit using flat-shading. Note that when you check this option, the
"Regenerate vertex normals" checkbox will be checked. You can uncheck that, but
it will result in all the extra vertices with the old normals, so no flat-
shading. I'm not sure why you'd want to do that, but it's there anyway.

-------------------------------------------------------------------------------

[X] Regenerate vertex normals

If your model isn't getting lit properly, it might have corrupted normals.
Check this box to recalculate all the normals from scratch.

-------------------------------------------------------------------------------



DISCLAIMER:

This is an alpha (so is this readme, which I wrote in about five minutes). It's
not an official release. I recommend that you not overwrite your source models,
in case FixMDL does something funny. Also, if you are really suspicious, you
can use some binary-diff program to inspect the before and after of your model.

This is one of my extremely rare forays into Win32 programming, so the program
isn't exactly sophisticated looking. Sorry, I don't have any books on Win32
programming. Anyway, the source will be released with the first official non-
alpha release. It's a big mess right now.



FUTURE FEATURES:
* Merge texture coordinates that were split by such programs as QWalk.
* More error checking when loading MDLs.
