home *** CD-ROM | disk | FTP | other *** search
/ Quake 'em / QUAKEEM.BIN / quake / programs / accqc / acc.doc < prev    next >
Encoding:
Text File  |  1996-08-15  |  3.7 KB  |  95 lines

  1.  
  2.        ---===  DEACC  &  REACC  ===---
  3.  
  4. This is a set of utilities allowing you to decompile and
  5. recompile the QuakeC programs included into the game Quake,
  6. from ID Software. See how they programmed Quake behaviors.
  7.  
  8. Included examples : guided missiles following monsters,
  9. pipebombs like in Duke Nukem that only explode at your
  10. keypress, and more. These utilities allow you to change or
  11. add almost anything to monsters, items, etc, etc, etc...
  12.  
  13. They require you to expand your pak0.pak file. To do this, see
  14. utilities like SWUNPACK. DEACC and REACC work with the file
  15. "progs.dat", found in the root of the expanded pak file.
  16.  
  17.  
  18.  * DEACC *
  19.  
  20. Syntax :  DEACC <path and filename to the file progs.dat>
  21.  
  22. Decompiles progs.dat. It will write a whole bunch of files with
  23. the extension .qc into the current directory. These are NOT
  24. ID's original files, don't ask anything to ID about them. They
  25. only contains what can be reconstituted from the progs.dat
  26. file. Anyway, they are very complete, and include function
  27. names, global variables names, and even local variables names.
  28. progs.dat is generous of such information.
  29.  
  30. Sorry for the purists, but the result isn't C. It's some
  31. strange mixture of Pascal and C... But it IS very close to C,
  32. and shouldn't be difficult to understand.
  33.  
  34.  
  35.  * REACC *
  36.  
  37. Syntax : REACC <path and filename for the progs.dat to write>
  38.  
  39. Recompiles .qc files. It takes all the .qc files of the current
  40. directory and compile them back into a progs.dat file. Make
  41. changes in the original .qc files, then compile them back with
  42. this tool, and try them with Quake. Don't forget to do a backup
  43. of your original progs.dat file before replacing it with a file
  44. produced by REACC.
  45.  
  46. Note that the compiled progs.dat file is smaller than the
  47. original, thanks to the more compact code produced and better
  48. string-redundancy checking.
  49.  
  50. Screen comments are in french... I hope this won't be a too big
  51. problem, as they are not very important.
  52.  
  53.  
  54.  * Patches *
  55.  
  56. .qc files are compiled in alphabetical order, and if a function
  57. appears twice, it is only compiled the first time. This means
  58. that you can make "patch" .qc files replacing a few of the
  59. original functions, as long as the filename is before the
  60. original filename in alphabetical order. I suggest naming patch
  61. files with a leading "$". A few examples are included, named
  62. $*.QR. To try one of them, change its extension to .qc and run
  63. REACC. Here is a description of them :
  64.  
  65. - $GUIDMIS : your missiles have auto-sensors and follow
  66.              monsters. Very useful !
  67.  
  68. - $PIPBOMB : grenades don't explode automatically any more, but
  69.              only when you issue the "impulse 12" command. You
  70.              can bind this command to a new key, like *, by
  71.              adding the following line to your autoexec.cfg :
  72.  
  73.                 bind * "impulse 12"
  74.  
  75. - $BREATH  : a "Breath-out-to-go-back" moving method to use
  76.              with low- or zero-gravity levels : without
  77.              gravity, you can't walk any more, but with this
  78.              patch, you can "breath", which will push you
  79.              backward. A strange type of movement... Try this
  80.              in deathmatch... To "breath", you also have to
  81.              issue the "impulse 12" command (see above). This
  82.              Means you can't try simultaneously $PIPBOMB and
  83.              $BREATH (I think this would require too many keys 
  84.              anyway).
  85.  
  86. ---
  87.  
  88. NO WARRANTIES. This software is provided "as is". Use at your
  89. own risk. The author cannot be held responsible for any damage,
  90. neither direct nor indirect, caused to your computer or its
  91. data.
  92.  
  93. Author : Armin Rigo, armin.rigo@p22.gnothi.fn.alphanet.ch
  94. Any comment / bug report is welcome.
  95.