-----------------------------------------------------------------------------
MedDLe v1.0
-----------------------------------------------------------------------------

  by brian martin
  brian@phyast.pitt.edu

  Disclaimer: The author takes no responsiblity for misuse of
  this program. He also is not responsible for any damage caused by it.

-----------------------------------------------------------------------------
Contents:
-----------------------------------------------------------------------------

        1. About MedDLe
        2. Installation
        3. Basic Use
        4. Editing MDL files
        5. History

-----------------------------------------------------------------------------
1. About
-----------------------------------------------------------------------------

MedDLe is a program which lets you look at and edit the mdl
files in quake. These are the files which describe the objects
in quake and are located in the QUAKE\PROGS directory. You have to first
unpack the id1.pak file with a program like unpack or qube. These can both
be found at ftp.cdrom.com.

Features :
        View bitmaps (object textures)
        View/edit point mapping of the vertices
        View/edit polygon mapping
        Export model textures to a BMP file
        Import BMP files to give objects a new 'skin'
        View mdl header information
        3D View of object (vertex/wire frame/flat shaded/texture mapped views)
        Animation frame browser

-----------------------------------------------------------------------------
2. Installation
-----------------------------------------------------------------------------

You should stick MedDLe in its own directory. Just unzip MDLv02.ZIP
in a suitable directory (i.e. c:\mdl).  You should have these files
in the MedDLe directory:

    MDL.EXE     -the executable
    MDL.CFG     -the configuration file
    MDL.FNT         -the fonts
    MDL.PAL         -the palette
    CWSDPMI.EXE     -dpmi environment (not needed if in windows)

If everything is in place, bring up MDL.CFG in a text editor and set
the path variable and video driver to match your system. You can set
the video resolution here too. When your done, save the file. That's it!

note: You may need a 386/483sx and math co-procesor or a 486dx or higher 
to run this. I don't know. There are several math emulators on the net
if it doesn't work on your numerically challenged machine.

-----------------------------------------------------------------------------
3. Basic Use
-----------------------------------------------------------------------------

MedDLe has no GUI at this point. Live with it.

MedDLe is can both be used to view and edit mdl files. To
start the program just type 'mdl file.mdl' where 'file.mdl'
is a valid mdl filename.

You start in 3D mode (unless you use the -2 switch).
The keys here are (usually press once to turn on and again to turn off):  
        
    c: cycle animation frames
    v: view vertices
    w: view wireframe
    f: view flat shading
    g: view gouraud shading (not enough quake info for this yet)
    t: view texture mapping
    h: view header info
    b: change background color
    2: goto 2D mode
    UP ARROW: move view point up
    DOWN ARROW: move view point down
    RIGHT ARROW: goto next animation frame
    LEFT ARROW: goto previous animation frame
    Esc: quit the program

    MOUSE LEFT/RIGHT: rotate object around z-axis
    MOUSE UP/DOWN + LEFT BUTTON: zoom in/out
    MOUSE UP/DOWN + RIGHT BUTTON: rotate object around y-axis

Just think of the mouse as your hand grabbing the object. It should
then be easy to control. If you hit the '2' key, you will go to
2D mode. Here the keys are:

    v: view vertices
    w: view wireframe
    s: save mdl file    <---------- Remember
    3: goto 3D mode
    Esc: quit the program

The mouse can be used to move vertices in this mode.

To import a BMP file, at the command line type:
        mdl -i file.bmp file.mdl
To export a BMP file type:
        mdl -e file.bmp file.mdl

NOTE: When you use MedDLe, it will read the original mdl files from
the quake/progs directory but will do all saving and reading from the
current directory. If you load MedDLe in your quake/progs directory,
you may end up erasing something you wish you hadn't.

-----------------------------------------------------------------------------
4. Editing MDL files
-----------------------------------------------------------------------------

The following explains the basic proceedure for replacing object textures.
In this example the 'player.mdl' file is modified with the texture
'play1.bmp'.  I recommend using low-res mode (320x200 or 640x350)
since the mouse is hard to control at higher resolutions. Sorry about
this, but the problem is most likely due to hyper-sensitive mice (like
mine, all ready for a game of doom). You can try turning down your mouse's
sensitivity if you find editing impossible.

    1. First export the original texture. It will be saved in your
    MedDLe directory.
    'mdl -e play0.bmp player.mdl'

    2. Now go off and modify the texture in your favorite paint
    program. Make sure you use the original palette of the 'play0.bmp'
    file. Save the modified texture as 'play1.bmp' and place it in your
    MedDLe directory.

    3. Import the new texture.
    'mdl -i play1.bmp player.mdl'

    4. Get into 2D mode (hit '2'). Now press 'v' and 'w' to show the
    polygon mapping. You can use the mouse to tweak some of the vertices.
    You want to make sure that you don't change the original layout
    too much, but also want to make sure there is no background showing
    through any of the polygons. You should toggle back and forth between
    2D mode and 3D mode to check that the texture mapping is ok. When
    your done tweaking, PRESS 's' IN 2D MODE to save your changes.

    NOTE: If you don't press 's' in 2D mode your imported texture
    will NOT be saved!

    5. Copy the new 'player.mdl' file to the quake/progs directory.
    You may want to back up the original 'player.mdl' before doing this.

    6. Run QUAKE!

-----------------------------------------------------------------------------
5. History
-----------------------------------------------------------------------------

v1.0
    -now you can edit the 2d vertices
    -fixed bugs which caused crashes in 3d mode
    -expanded video support via GRX20
    -added flat shading to 3d models and texture mapping
    -you can now cycle through the frames of animation
    -several other little things
v0.1
    -added wire frame 3d view
    -added importing/exporting BMP files
v0.00002
    - same as v0.00001 but with correct palette
v0.00001 (not released, except on IRC)
    - displayed the skin texture

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

Programmers Note: in this version GRX20 was used along with 3DGPL.
I sorta merged the two together and stuck some of my own stuff in there.
The program is not optimized at all, and a sharp eye will notice that
there is no _perspective_ texture mapping. Oh well, maybe I'll get around
to that in a later version. 

Special thanks goes out to...
Chris Babcock for making me aware of the frame data
Raphael Quinet and Sean Werkema for giving out their source which
  made learning to read BMP files easy (also the source taught me a few tricks)
Sergei Savchenko for 3DGPL. I learned a lot of 3D programming from that and
  use several modified versions of his routines for clipping and stuff.
DJGPP v2 and the excellent GRX20 graphics lib.
Id for quake.
Becky for putting up with me :)

-end document------------------------------------------------------------------
