--------------------------------- MD2 viewer for Quake 2 Models with source code v2.3 December 11, 1997 by Trey Harrison (trey@crack.com) --------------------------------- ------------- Instructions: ------------- I've added a glideemu.dll for those of you without 3dfx cards. Rename glideemu.dll to glide.dll, put it somewhere where Windows can find it (the best place is in the directory from which you run md2view), and make sure you're running Windows in 16-bit color. Md2view is a command-line based program, and there are a lot of parameters. Dont worry, no list of -options to memorize, the md2view command-line interface is about as easy as it gets. You specify the model file (.md2), the .pak file (if you want to search the .pak for models and skins), the .pcx file (if you want to use a skin other than the one used by the .md2 file), or a .lst file (a regular text file like this one with 1 .pcx filename per line -- a list of skins to view on the specified .md2 file). * When you specify a .pak file, filenaming on the .md2 and .pcx files becomes important. You must specify the path for those files as it appears in the .pak file (dont foget the forward slashes '/'). * To find out what .md2's are IN the pak file, specify a pak file and no .md2 file. It will write the names of all .md2 files found in the .pak file to a file named "md2names.txt" * If you specify a .pak file, and the specified .md2 or .pcx can't be found in it, md2view will search through your external .pak directories (the same way Quake does) for those files. Examples (these are probably more useful than the above mess of instructions): md2view c:\quake2\baseq2\pak0.pak models/monsters/tank/tris.md2 md2view tris.md2 (assumes you're in a directory containing tris.md2, and that directory also contains the skins that tris.md2 needs) md2view c:\quake2\baseq2\pak0.pak (will create md2names.txt) I don't think you can do this: md2view c:\asdf\tris.md2 because it will try to load skins from the directory which the program started in (not c:\asdf, most likely) md2view tris.md2 skin.pcx md2view tris.md2 skins.lst This probably wont work: md2view tris.md2 models/monsters/tank/skin.pcx Because no pak file was specified. ------------------------------ Controls: (* = changed from version 2.1) ------------------------------ - You can rotate him around with the mouse similar to +mlook. - You can zoom in and out with the left and right mouse buttons, OR the A and Z keys. - You can adjust the speed of animation with the + and - keys. (It might only work with the + and - on the numeric keypad, I havent checked) - You can see what the animation looks like WITHOUT linear interpolation by holding down the I key. - You can move him in xy screen space with the arrow keys. This is especially useful for taking screen shots. - You can freeze the animation by holding down the F key. (Releasing it resumes animation) - You can take a screenshot by hitting the S key. (DONT hold it down) * You can view different skins of the model by using keys 0-9 (skin #0 is at key '1', skin #1 at key '2', skin #9 at key '0') * You can also use the TAB key to flip through the different skins. (Shift+TAB flips backwards through the skin list) * You can toggle between "skin" view and "model" view by hitting enter. For the Ambitious: Position the model on screen using the mouse and arrow keys. Use +/-/F to get the model in the frame of animation you want. While holding F (to freeze the animation), tap S to take a screenshot. ------------ Screenshots: ------------ When you start md2view, it starts writing screenshot files with "shot0.tga". It will increment the number on the end of the filename every time you take another screenshot, but (as I just said) resets the number every time you restart. Also, the screenshots seem dark, so you'll probably have to doctor them up in your favorite image editor. --------- The code: --------- It started out as my old mdldemo code, but lots changed. I commented some of it but not all. As it says at the top of each file, LEARN, dont steal. And don't laugh at my method of transforming / projecting / clipping the tris. It was a 5 minute hack =). The .mdp and .mak files were built using MSVC 4.0. You'll also need the GLIDE SDK. Feel free to add on to this code and release a better viewer (as long as you give credit where its due, *ahem*). A nice GUI "front-end" that generates proper command line arguments probably wouldnt be hard for those who have actually taken the time to learn MFC. ------------------ The Glide Emulator ------------------ The emulator has extremely limited functionality, and I can pretty much guarantee that you wont get it to work with much other than md2view. I don't plan on releasing the code (sorry). Some key toggles for the emulator: Space Bar - toggles the framerate display W - toggles wireframe mode ----- Plug: ----- My real job involves me working on an extremely cool game called Golgotha. It is a combination of Doom and Warcraft and deserves a much better description than what I've written here. You can find more information and download our latest demo via the link listed below. http://crack.com/games/golgotha ------- Thanks: ------- Thanks to John Carmack and Brian Hook for responding to my questions about the .md2 format, American McGee for putting up with all the messages I send him on ICQ, and Dave Taylor for tolerating the fact that I still write Quake/Quake2 utils. Also thanks to |nsane for his helpful beta testing of the md2view <-> glideemu.dll combo and his wonderful suggestion of the .lst option. Trey Harrison trey@crack.com