home *** CD-ROM | disk | FTP | other *** search
/ Total Destruction / Total_Destruction.iso / util / q2source.exe / readme_7_1.txt next >
Encoding:
Text File  |  1997-07-01  |  9.0 KB  |  201 lines

  1. Quake2 7/1 code dump
  2. --------------------
  3. Create a 'quake2' directory, and copy the entire contents of the cd into it.  This includes all of our source data (500+ megs of it...) for reference.  You can delete most of it after you are familiar with it.
  4.  
  5. Add /quake2/bin_nt to your search path.
  6.  
  7. exercising command line tools
  8. -----------------------------
  9. cd /quake2/baseq2/scripts
  10.  
  11. qlumpy e?m?.ls
  12. // grabs all the wall textures for all the episodes,
  13. // generates /quake2/gfx/*.wad files read by qe4 and qbsp3
  14. // this takes significant time due to mip mapping, error
  15. // diffusion, and palette mapping.
  16. // This will soon be integrated with qdata, and I hope to move to
  17. // discrete image files instead of .wad files.
  18.  
  19. qdata *.qdt
  20. // grabs all the images, models, and sprites
  21. // All images are grabbed off of full screen art pages (usually .lbm for us,
  22. // but it also reads .pcx) and saved off as cropped .pcx files, which quake2
  23. // reads directly.  We intend to move towards editing directly on the
  24. // cropped images and only refering to them in the .qdt scripts, but right
  25. // now you should allways draw on seperate pages and ignore the cropped
  26. // images.
  27. // elaborate: -only option, model header file generation
  28.  
  29.  
  30. qdata -pak /quake2/baseq2/pak0.pak *.qdt
  31. // combines all output files (and files/directories specifically included)
  32. // into a single pak file for distribution purposes.  Pak files are also
  33. // handy for just making the game start up faster during development.
  34. // You can also do qdata "-release /atest/baseq2" to cause the files to
  35. // just be copied to another tree instead of into a pak file.
  36.  
  37. cd /quake2/baseq2/maps
  38.  
  39. qbsp3 jail_e3
  40. qvis3 jail_e3
  41. qrad3 jail_e3
  42. // takes jail_e3.map and build jail_e3.bsp
  43.  
  44. bspinfo3 jail_e3
  45. // dumps information on jail_e3.bsp
  46.  
  47.  
  48. texpaint
  49. --------
  50. cd /quake2/baseq2/models/tank
  51. texpaint skin.lbm
  52.  
  53. REQUIRES A FULL 24 BIT OPENGL if you are going to use the painting-on-model features.  It can be used as a model viewer on any opengl system.
  54.  
  55. Displays skin.lbm on the base.tri model.  You can load a different skin
  56. (pain.lbm, for example), or load another .tri file to see other poses.
  57.  
  58. A three button mouse is required for proper operation.
  59.  
  60. The left button paints with the current color in either the skin window
  61. or the camera window, or selects colors in the palette view.  Ctrl-left
  62. click picks up the color clicked on in any view, making it current.
  63.  
  64. Right button dragging slides the object or skin around.  Ctrl-right drag
  65. to move in or out on the object or skin.
  66.  
  67. Middle button dragging rotates the object in the camera view.  Ctrl-middle
  68. drag to change the roll angle.
  69.  
  70.  
  71.  
  72. QuakeEd 4
  73. ---------
  74. cd /quake2/baseq2
  75. qe4
  76.  
  77. Reads the /quake2/baseq2/quake.qe3 configuration file, which contains the following key / value pairs:
  78.  
  79. "basepath" : the path to the game directory on the local machine
  80.  
  81. "remotebasepath" : the path to the game directory for bsp commands.  This may be different if the bsp machine runs unix, or has drives mounted differently.
  82.  
  83. "wads" : a space seperated list of all the texture wad files.  These will be added to the textures menu.
  84.  
  85. "wadpath" : an optional key that lets you get the wad files from someplace other than the basepath.  We use this so that people working over ISDN can avoid the texture load times, but still have map data sent over the network so the bsp machine can read it.
  86.  
  87. "autosave" : specifies the full path used to autosave the current map every five minutes.  Should not be on a shared drive, or multiple editors will conflict.
  88.  
  89. "bsp_*" : any keys that begin with "bsp_" will be added to the bsp menu.  Any $ characters will be expanded to be "remotebasepath" + current map name.  @ characters will be changed to quotes, but that currently isn't needed in any of our commands.  If you want to bsp on your local machine, remove the "rsh seera" strings from every bsp command, and set "remotebasepath" to the same thing as "basepath".
  90.  
  91.  
  92. Don't bother running this on a system without OpenGL acceleration.  It works (slowly), but you'll be sad.  Permedia II boards with 8 meg are only $200...
  93.  
  94. We don't have any documentation on using the editor.  Sorry.
  95.  
  96. Every save or bsp, the editor renames the current .map to .bak, then writes all brushes and entities to the .map fuke.  If the editor is in region mode, it will also produce a .reg files containing only the regioned brushes.  (currently, it only does this when you actually run a bsp command, not if you just do a file->save).
  97.  
  98.  
  99. Development notes
  100. -----------------
  101. Eventually, your development work should be moved to a seperate /quake2/mygame hierarchy, and accessed with quake2 -game mygame, but for now it may be easier to just work in the baseq2 hierarchy (-game hasn't been tested with Q2, I'm not sure it works at the moment).
  102.  
  103. The current qbsp3 creates some maps that can take far too long to qvis.  I'm working on the problem, but you may just want to use FastVis (qvis3 -fast) whenever a map starts taking too long.  That won't give you an accurate speed estimate, but it will let you keep working until I get the tools improved.
  104.  
  105.  
  106. File descriptions
  107. -----------------
  108. /quake2/quake2.exe
  109. The main quake2 executable.
  110.  
  111. /quake2/ref_gl.dll
  112. The opengl renderer dll, dynamically loaded by quake2.exe
  113.  
  114. /quake2/ref_soft.dll
  115. The software renderer dll, dyaamically loaded by quake2.exe.
  116.  
  117. /quake2/fxmemmap.vxd
  118. 3dfx glide vxd, should be put in windows/system if glide isn't allready installed.
  119.  
  120. /quake2/glide2x.dll
  121. 3dfx glide dll, used by the 3dfx opengl32.dll
  122.  
  123. /quake2/opengl32.dll
  124. 3dfx specific gl mini driver.  If you have a real opengl system (intergraph, etc) you should delete this file, because it will prevent the system dll from functioning.  We are currently implementing a manual library load to avoid this problem.
  125.  
  126. /quake2/code/
  127. Source to build quake2.exe, ref_soft.dll, and ref_gl.dll.  Rhapsody code exists, but is not up to date.  You must have masm installed to rebuild the executables.  ml.exe is included in /bin_nt, in case you don't have it.
  128.  
  129. /quake2/code/game/
  130. These files are currently just compiled into quake2.exe, but soon they will be living in a seperate .dll that you will be free to modify.
  131.  
  132. /quake2/bin_nt/
  133. Win-32 compiled versions of all the utilities.
  134.  
  135. /quake2/bin_nt/bspinfo3.exe
  136. Dumps information on a bsp file.
  137.  
  138. /quake2/bin_nt/qbsp3.exe
  139. Converts a .map file into a .bsp file which can be used by the game.
  140.  
  141. /quake2/bin_nt/qvis3.exe
  142. Builds potentially visible set information for a .bsp to accelerate rendering and qrad calculations.
  143.  
  144. /quake2/bin_nt/qrad3.exe
  145. Builds lightmaps for a .bsp file.  If the PVS has not been generated, only direct lighting is considered.  Otherwise, a radiosity solution is done.
  146.  
  147. /quake2/bin_nt/qlumpy.exe
  148. Currently only used for grabbing textures to be used by qe4.exe and qbsp3.exe.  This will probably be merged with qdata soon.  Reads .ls files from /baseq2/scripts.
  149.  
  150. /quake2/bin_nt/qdata.exe
  151. Reads .qdt files from /baseq2/scripts and generates cropped pcx files for 2d images, .md2 files for models, and .sp2 files for sprites.
  152.  
  153. /quake2/bin_nt/texpaint.exe
  154. Interactive OpenGL program for creating and painting on model skins.  Reads alias .tri files and reads / writes .lbm images.
  155.  
  156. /quake2/bin_nt/qe4.exe
  157. The map editor.  Should be launched with the current directory set to /quake2/baseq2.
  158.  
  159. /quake2/utils3/
  160. Source for utilities in /bin_nt/.
  161.  
  162. /quake2/utils3/common/
  163. Common code used by all the utilities.  No executable generated.
  164.  
  165. /quake2/baseq2/
  166. Data for Quake2.  Both source and derived data are held in this hierarchy.
  167.  
  168. /quake2/baseq2/quake.qe3
  169. Configuration file for qe4.  We will be moving this to the scripts dir soon.
  170.  
  171. /quake2/baseq2/scripts/common.ls
  172. Wall graphics $included by other .ls files.
  173.  
  174. /quake2/baseq2/scripts/e?u?.ls
  175. Qlumpy script files to create texture wads.
  176.  
  177. /quake2/baseq2/scripts/*.qdt
  178. Qdata script files to grab models, sprites, and images.
  179.  
  180. /quake2/baseq2/gfx/env
  181. Environment map images for outdoor skies.  The naming convention is the output from 3dstudio's environment map option: six characters, followed by "bk", "ft", "lf", "rt", "up", or "dn".  The software renderer will use .pcx images, and the gl renderer uses .tga images.  The pcx images need to be generated together by a special utility to avoid palette quantization seams between the images.  The software sky doesn't work yet, so that utility is not included.  It will be merged into qdata by next dump.
  182. The default sky is "sky1", but you can set values in the world entity to cause a map to have a different sky:
  183. "sky" "space1"        // the base images
  184. "skyaxis" "1 1 1"
  185.     // vector to rotate around for space scenes
  186. "skyrotate" "4"
  187.     // degrees / second rotation speed
  188.  
  189. /quake2/baseq2/pics
  190. Cropped 2d images generated by qdata, and loaded by quake2.  Mostly 2D interface components, like the console and status items.
  191.  
  192. /quake2/baseq2/sprites
  193. Sprite data files and cropped images generated by qdata, and loaded by quake2.
  194.  
  195. /quake2/baseq2/sound
  196. For shipping, we will include both sound_22_16 and sound_11_8 directories, which can be dynamically selected.
  197.  
  198. /quake2/baseq2/glquake
  199. This directory was created by the gl renderer to hold cached model meshes, but it is no longer needed with the new model format.   It will be gone in the next dump.
  200.  
  201.  
  202.  
  203.