home *** CD-ROM | disk | FTP | other *** search
/ Demon Gate Mega Collection / DemonGateMegaCollection.bin / text / dox.txt < prev    next >
Text File  |  1994-12-06  |  38KB  |  920 lines

  1.  
  2. This version of wacker is now fully functional i.e All the texture
  3. manipulation and full dragNdrop interface is implemented including
  4. modification of existing textures as well as building new ones.
  5.  
  6.  
  7. ---------------------------------------------------------------------
  8.  
  9. DISCLAIMER (Just for my protection)
  10.  
  11. The is a BETA test version of the WACKER program. When you execute
  12. this program you do so at your own risk. I take no repsonsiblity for
  13. any damage caused and make no claims as to the functionality of the
  14. program.
  15.  
  16. Please dont be frightened by the above sentence. It it just to cover
  17. me in case anything should go wrong. WACKER does crash occasionaly,
  18. but it has NEVER done any serious damage to any of the machines it
  19. has been tested on.
  20.  
  21. Note:
  22.  
  23. As far as I am aware WACKER is the first publicly available program
  24. that will allow you to create your own textures for DooM and then
  25. save them out with a PNAMES,TEXTURE1 and TEXTURE2.
  26.  
  27. This is the last beta version, the next release (unless a major quick
  28. bugfix is required) will be version 1.0 and will be a bugfix plus
  29. addition of an external config file to allow you to place wacker
  30. where you like.
  31.  
  32. Regards
  33.  
  34. Keith Wilkins
  35.  
  36.  
  37. I can be contacted via email at the addresses below:
  38.  
  39. spike@nectech-uk.com OR spike@nectech.demon.co.uk
  40.  
  41. ---------------------------------------------------------------------
  42.  
  43. Thanks to:
  44.  
  45. Lee Witek -         For pre-alpha testing an lots of handy ideas about the
  46.                     user interface, and the coke machine.
  47. Jean Serge Gagnon - Alpha testing and suggestions for improvement
  48.  
  49. ---------------------------------------------------------------------
  50.  
  51.  
  52. Version Control
  53. ---------------
  54.  
  55. Beta7   28/07/94  * Bug fix to fTextureDragNDrop & fPictureDragNDrop
  56.                     due to some mouse drivers returning a modulo 2
  57.                     mouse position on the X axis after the upper
  58.                     limit was modified for 640 resolution.
  59.                   * New code for barry@infant2. Semi automated
  60.                     texture creation. Try the new LTB command.
  61.                   * Patch loading modified so that if your patches
  62.                     are referneced by TEXTURE1 or TEXTURE2 they need
  63.                     not be placed between P_START & P_END markers
  64.  
  65. Beta6   26/07/94  * Modifications to dox.txt after feedback from Joe
  66.                     Pulic:
  67.                             New sections on making/modifying textures
  68.                             Notes on how to overcome the Deu problem
  69.                             Explanation of examples
  70.                   * New code to allow modification of textures and
  71.                     deletion of patches by pickup and drop.
  72.                   * Code added to allow patches to be pushed to the
  73.                     back or pulled to the front of a texture.
  74.  
  75. Beta5   22/07/94  * Serious bug fixed which stoped any level data being
  76.                     saved
  77.                   * Code added to allow saving of NEW textures and
  78.                     creation of new textures.
  79.  
  80. Beta4   15/07/94  * Button text added
  81.                   * DragNDrop partially implemented
  82.                   * Some minor bugs fixed
  83.                   * Finally squashed the obscure save bitmap bug that
  84.                     was giving real problems on bitmaps where the width
  85.                     wasnt a multiple of 4, bloody windows!!!
  86.  
  87. Beta3   09/07/94  * Bug fix to cure save BMP error, it seems a line
  88.                     of code got deleted between Alpha3 & Beta1/2 that
  89.                     setup in internal pointer in fBMPSave().
  90.                   * Fix of load object bug memory being accidently freed
  91.                     by the gallery display function.
  92.                   * Button regions added for texture & picture galleries
  93.                     but no internal graphics yet.
  94.  
  95. Beta2    07/07/94  * Loads of new functionality.
  96.                   * Bug fixed in the gallery that was causing GPF
  97.                     under windows on some systems.
  98.                   * Improved documentation.
  99.  
  100. Alpha3  24/06/94  * First limited alpha test of basic functionality
  101.  
  102.  
  103.  
  104. ---------------------------------------------------------------------
  105.  
  106.  
  107. Known bugs
  108. ----------
  109.  
  110. Copy (replace)       - Copy doesn't work if you are replacing a LEVEL
  111.                        in the destination. Delete then copy to ensure
  112.                        correct copying. There is no problem if the
  113.                        copy creates a new object, it is only replace
  114.                        that has the bug.
  115.  
  116. Move                 - Moving a level may screw up a wad file. Dont
  117.                        move the level using move. You should not need
  118.                        to do this anyways.
  119.  
  120. Slow initialisation  - After doing some speedups its still slow,
  121.                        escpecially after adding sprite & graphics
  122.                        support. Pallette setting takes a rather long
  123.                        time and I cant figure why ??
  124.  
  125. Occasional NULL      - I squash these whenever I encounter one but
  126. pointer error          I'm sure there must still be some somewhere.
  127.  
  128. ---------------------------------------------------------------------
  129.  
  130. Future Additions/Features
  131. -------------------------
  132.  
  133. High Priority
  134. *************
  135. WACKER.INI configuration file
  136. Free up more memory
  137. Use of extended memory to store loaded objects
  138.  
  139.  
  140. Low Priority
  141. ************
  142. GIF Load/Save
  143. LIG <handle> <patch> <filename>  - Load an image patch from a GIF file
  144. SIG <patch> <filename>           - Save a image patch from a GIF file
  145.  
  146.  
  147.  
  148.  
  149. ---------------------------------------------------------------------
  150.  
  151.  
  152.  
  153. Getting Started
  154. ***************
  155.  
  156. Place all the files in the directory containing Doom.wad. You can place
  157. it anywhere in your path if you dont want the executable in your doom
  158. directory but the OEM08.FON file must be in with the directory you
  159. are executing from. Sorry, this will be fixed ay V1.0 by an external
  160. config file specifiying paths and files.
  161.  
  162. Type WACKER to run the program. The screen goes black for about 3-5
  163. seconds at the start before the loading meassage appears. It takes about
  164. 20-30 seconds to initilise depending on the machine (sorry, but there is
  165. a mass of data to load & check for consistency).
  166.  
  167. WACKER will only run in 640x480x256 SVGA mode. If you don't have SVGA
  168. then use a VESA emulator such as UNIVESA.
  169.  
  170. It has been tested without problems on the following configs:
  171.  
  172. Clone 486DX2-66 16MB RAM Diamond VIPER VLB grapics card
  173. Clone 486DX40 16MB RAM GENOA VLB card with Cirrus chipset
  174. NEC Versa-50 laptop 4MB RAM
  175.  
  176. WACKER works under windows (if you must). I have been told that it now
  177. works O.K under OS/2. The only problem I've come across under windows
  178. is on the Diamond VIPER machine, using crtl-esc to task switch will
  179. completely lock the machine. On the Versa the screen corrupts on return
  180. to wacker but it still functions O.K. The moral of this story is don't
  181. bother with windows.
  182.  
  183. The more free memory the better. Running from a RAM disk can speed thing
  184. up quite considerably, that is if you have the odd spare meg or 12.
  185.  
  186. WACKER is written in C using Microsoft Visual C (prof) and is
  187. compiled using the huge memory model, after the major work is
  188. done I plan to port it to a 32bit flat model program using DJPP. 
  189.  
  190.  
  191. BATCH FILES
  192. ***********
  193.  
  194. WACKER now supports external batch files and an argument to speedup
  195. that initialisation process. The batch files must be ordinary
  196. text files with 1 command+args per line. To run a batch file type:
  197.  
  198.     WACKER [filename]
  199.  
  200. Its not too pretty at the moment but what the hell, it works, or at
  201. least I think it does !!
  202.  
  203.  
  204. To stop WACKER building the galleries then start WACKER with the
  205.  
  206.  -NOGALLERIES option
  207.  
  208. and it will start up faster but you wont have any pretty pictures to
  209. look at.
  210.  
  211.  
  212.  
  213. WACKER MANUAL
  214. *************
  215.  
  216. The main wacker screen will apprear after intialistation.
  217.  
  218.  
  219.                ------------     --------------
  220.               |            |   |             |
  221.               |            |   |             |
  222.               |  TEXTURE   |   |   PICTURE   |
  223.               |  WINDOW    |   |    WINDOW   |
  224.               |            |   |             |
  225.               |            |   |             |
  226.               |            |   |             | 
  227.               |            |   |             |                  
  228.                ------------     -------------
  229.                          
  230.                ------------------------------                 
  231.               |                              |                
  232.               | COMMAND WINDOW               |                
  233.               |                              |                
  234.                ------------------------------                  
  235.  
  236. Click the mouse within a window to activate it, or use the keyboard:
  237.  
  238. C = Command Window
  239. T = Texture Gallery
  240. P = Picture Gallery
  241.  
  242. When you wish to exit WACKER press ALT_X or type BYE in the command
  243. window.
  244.  
  245.  
  246. How WADS are handled
  247. --------------------
  248.  
  249. You can load many different PWADS into WACKER, each PWAD you load
  250. must be given a HANDLE which can be up to 8 characters in length. The
  251. purpose of the HANDLE is to allow you to reference a wad file by a short
  252. name rather than a long path+file name. All PWADs are held separately and
  253. do not patch each other. The exception to this is the texture and picture
  254. resources, if a PWAD contains new pictures or textures these will replace
  255. textures in the main picture & texture galleries.
  256.  
  257. A picture is defined as any object within a WAD file that is in the
  258. doom picture format. These can be PATCHES, SPRITES or GRAPHICS, where
  259. GRAPHICS refers to the DOOM help screens & player faces, status bar
  260. etc. Pictures can be detected in a PWAD but they must be in the following
  261. formats OR have a name identical to a gallery patch/sprite/graphic:
  262.  
  263. PATCHES     Enclosed between P_START & P_END entries
  264. SPRITES     Enclosed between S_START & S_END entries
  265. GRAPHICS    New objects are not allowed but any name conforming to the
  266.             naming conventions of the main DOOM.WAD will be picked up
  267.             and loaded as a graphic replacing the current object
  268.  
  269. Any operation involving a PWAD or IWAD requires the use of the handle
  270. to identify which wad you wish to operate upon. The main DOOM IWAD
  271. file is always called "DOOM" and the handles "PATCHES", "TEXTURES",
  272. "SPRITES" and "FLOORS" are all reserved, do not attempt to load a new
  273. PWAD with these handle names otherwise you will not be able to access
  274. the loaded PWAD.
  275.  
  276. EXAMPLE - Load a level, and modify a patch and save the new PWAD
  277.  
  278. LDW E1M1 d:\games\doom\mylevel\e1m1.wad
  279.         (Load a Wad file with handle E1M1 from file d:\games\doom...)
  280. LPB E1M1 DOOR2_9 d:\games\doom\mylevel\newdoor.bmp
  281.         (Load a Picture in BMP format into wad E1M1 called DOOR2_9)
  282.         (from a file called d:\games\doom\mylevel\newdoor.bmp)
  283. SDW E1M1 d:\games\doom\mylevel\newgrp.wad
  284.         (Save a Wad file using the internal Wad handle E1M1 to a file)
  285.         (called d:\games\doom\mylevel\newgrp.wad)
  286.  
  287. After the LWB command is executed the new DOOR2_9 patch will appear
  288. in the patch window.
  289.  
  290.  
  291. EXAMPLE - Load a level and copy graphics & level from another PWAD
  292.  
  293. LDW TESTLEV mylevel.wad
  294.         (Load a Wad file with handle TEXTLEV from file d:\games\doom...)
  295. LDW DONOR donorlvl.wad
  296.         (Load a Wad file with handle DONOR from file d:\games\doom...)
  297. COPY AG128_1 TESTLEV
  298.         (Copy patch AG128_1 to the wad called TESTLEV. Note that we)
  299.         (dont need to say where AG128_1 comes from as wacker knows)
  300.         (that we must be talking about the AG128_1 in the patch gallery)
  301. COPY DONOR E1M1 TESTLEV
  302.         (Copy from DONOR the E1M1 object to the wad called TESTLEV)
  303. COPY DONOR BCRATEM1 TESTLEV DOOR2_4
  304.         (Copy from DONOR the BCRATEM1 object to the wad called TESTLEV)
  305.         (and rename it to DOOR2_4, this will also change the patch)
  306.         (gallery entry DOOR2_4 to be the same as BCRATEM1)
  307. SDW TESTLEV newlevel.wad
  308.         (Finally save out our modified wad TESTLEV to a file called)
  309.         (newlevel.wad)
  310.  
  311.  
  312.  
  313. ---------------------------------------------------------------------
  314.  
  315.  
  316. Picture Gallery
  317. ---------------
  318.  
  319. The picture gallery holds three picture lists: PATCHES, SPRITES & GRAPHICS
  320. the same command set applies to all picture lists. i.e You can use any
  321. graphic for inclusion in a texture. The following keys will swap
  322. between lists at any time:
  323.  
  324. F5  - Patch list
  325. F6  - Sprite list
  326. F7  - Graphics list
  327.  
  328. Once in a particular list the following commands apply:
  329.  
  330. I                  - Give information about the displayed picture
  331. F                  - Find a picture name       /* Not Implemented */
  332. HOME               - Display last picture in the selected gallery
  333. END                - Display first picture in the selected gallery
  334. PAGE UP            - Jump down the selected picture list
  335. PAGE DOWN          - Jump up the selected picture list
  336. UP/LEFT CURSOR     - Move to the next picture in the selected list
  337. DOWN/RIGHT CURSOR  - Move to the next picture in the selected list
  338.  
  339. All of the above functions are accessable via the mouse interface, by
  340. clicking on the buttons under the mouse window. To dismiss the info
  341. window press any mouse button.
  342.  
  343. You can pick up patches/sprites & graphics in this version and drop
  344. them onto the texture window. See the texture gallery description
  345. for details on how to build and maipulate textures.
  346.  
  347. To pick up a picture, first position the cursor over the picture and
  348. then press and hold the left mouse button. You can then drag your
  349. picture around the screen. If you dont wish to do anything with it
  350. then release the mouse button making sure that the picture is NOT
  351. positioned over the texture, wacker will assume that if you drop
  352. a patch on any area other then a textures then you wanted to discard
  353. it. If you wish your patch to be added to the texture then position it
  354. where you want it to be placed and then release the mouse button and
  355. it will then be added to the texture. Fine positioning of the patch
  356. can be achieved using the cursor keys whilst the mouse button is
  357. kept pressed.
  358.  
  359.  
  360.  
  361. Texture Gallery
  362. -------------
  363.  
  364. I                  - Give information about the displayed texture
  365.                      While in this mode LEFT,RIGHT ARROW move UP/DOWN the
  366.                      list of patch descriptors that make the texture. Pressing
  367.                      the return key will cause the Patch Gallery to display
  368.                      the patch for that descriptor. Press ESC to exit.
  369.                      For mouse based operation:
  370.                      Left button   = Previous patch entry
  371.                      Right button  = Next patch entry
  372.                      Centre button = Display patch in patch gallery
  373.                      Left+Right    = Close window
  374.  
  375.  
  376. S                  - Step throught the drawing of a patch, each time you press
  377.                      the 's' key then next patch.
  378.  
  379. F                  - Find a patch name  /* Not implemented in this vesion */
  380. HOME               - Display last patch
  381. END                - Display first patch
  382. PAGE UP            - Jump down the patch list
  383. PAGE DOWN          - Jump up the patch list
  384. UP/LEFT CURSOR     - Move to the next patch in the alphabetical list
  385. DOWN/RIGHT CURSOR  - Move to the next patch in the alphabetical list
  386.  
  387. Again as with the picture gallery all the above functions are available via
  388. the button bar.
  389.  
  390.  
  391. Making NEW textures
  392. ------------------- 
  393.  
  394. Completely new textures can also be created using the CREATE command
  395. from the command window:
  396.  
  397. CREATE TEXTURE <name> <width> <height>
  398.  
  399. for example
  400.  
  401. CREATE TEXTURE STARTAN4 128 128
  402.  
  403. will make a new texture called startan4 which is 128x128. The texture
  404. gallery will then display a blank box for you to build your texture in.
  405. When textures are drawn to the screen a white box is first drawn to show
  406. the bounding area of the texture. On some textures this may still be
  407. partially visible. It is not saved as part of the texture.
  408.  
  409. NOTE - Texture widths MUST be a binary power of 2 i.e
  410.        2,4,8,16,32,64,128,256. This is a limitation of the DooM engine.
  411.        If you ignore this advice then your textures wont draw properly.
  412.  
  413. You can then use the drag and drop method to build your textures as
  414. described in the picture gallery section.
  415.  
  416. See below for details on how to change the drawing priority of a patch
  417. unsing the FRONT/BACK buttons.
  418.  
  419.  
  420. Modifiying existing textures
  421. ----------------------------
  422.  
  423. To move a patch within a texture you first position the cursor over the
  424. patch you wish to move and then press and hold the left mouse button
  425. to drag it around. If you wish to delete the patch then just move it
  426. out of the patch window and drop it. When you have re-positioned your
  427. patch release the mouse button to drop it. As with the patch drag and
  428. drop the cursor keys may be used adjust the position accurately.
  429.  
  430. If patches are covered or it is awkward to see where one patch starts and
  431. another ends you can use the STEP button to make things easier as you
  432. can only pickup those patches that are visible.
  433.  
  434. If you wish to alter the way in which a texture is drawn i.e move a patch
  435. to the back or the front then use the front/back buttons. Click on FRONT
  436. or BACK then click on the patch you wish to move. If you wish to cancel
  437. the order then click on a part of the screen outside the texture. Wacker
  438. will take the very next mouse click after selecting FRONT/BACK as being
  439. the front/back opertation. Once you have clicked on FRONT or BACK then
  440. ALL other operations are suspended until you have clicked on an area of
  441. the screen.
  442.  
  443. When textures are drawn to the screen a white box is first drawn to show
  444. the bounding area of the texture. On some textures this may still be
  445. partially visible. It is not saved as part of the texture.
  446.  
  447. Handy Tip:
  448.  
  449. Its hard on some textures to see where one patch starts and another ends
  450. so put the STEP button to good use. You can only modify the patches that
  451. you can see in the texture window. If you have a patch stuck at the back
  452. that you want to the front you can either BACK all the other patches OR
  453. press STEP until your patch appears then click FRONT and your patch and
  454. the texture will then be re-drawn with the patch at the front.
  455.  
  456.  
  457. Saving out your new textures
  458. ----------------------------
  459.  
  460. Once you have modified the textures and wish to save out your new or
  461. modified textures you must make sure that the PNAMES object is present
  462. in the WAD as this will trigger WACKER to create PNAMES,TEXTURE1 and
  463. TEXTURE2 in your PWAD, you can do this with :
  464.  
  465. CREATE <yourwad> PNAMES
  466. SDW <yourwad> <somefile.wad>
  467.  
  468. IMPORTANT- If you have modified patches you must make sure these have
  469. been copied to the PWAD as well so all required data is saved. In later
  470. WACKER versions this will be done automagically. Ideally your patches
  471. should be contained with P_START & P_END markers but wacker beta7 and
  472. upwards will not complain if they are not.
  473.  
  474. BUT BUT BUT
  475. -----------
  476.  
  477. The above is ONLY true IF the patches are used in TEXTURE1 or TEXTURE2.
  478. So if you have a group of patches that are NOT used in textures and
  479. are not bracketed by P_START & P_END then they will NOT be recognised
  480. as patches. So it is STILL ADVISABLE to enclose your patches within
  481. P_START & P_END.
  482.  
  483.     How to enclose with P_START & P_END
  484.     -----------------------------------
  485.     For Wacker to recognise patches when loading a PWAD they must
  486.     be enclosed in P_START P_END markers
  487.  
  488.     CREATE mygfx
  489.     CREATE mygfx p_start
  490.     CREATE mygfx p_end
  491.  
  492.     LPB myfgx coke01 front.bmp
  493.     LPB mygfx coke02 back.bmp
  494.     LPB mygfx coke03 side.bmp
  495.     MOVE mygfx p_end coke03
  496.  
  497.     The move command makes sure that the patches are within the markers
  498.     as when you load a new patch it is always tagged onto the end of a
  499.     WAD.
  500.  
  501. IMPORTANT2 - If you wish to load your new textures into Deu as a PWAD
  502. you must do the following to overcome a feature in Deu that causes it
  503. to Barf on texture pwads. When Deu loads textures & gfx from an external
  504. PWAD it reads an entire 64K chunk rather then only the data is requires.
  505. This means it will often try to read past the end of the file and hence
  506. Barrrrf. All you need to do is make sure that there is a least 64K of
  507. data after your patches. You can do this in the following way:
  508.  
  509. Load a raw object onto the end of your PWAD using the LOR command
  510. this object can be absolutly anything you like. Give it a name that
  511. doesn't occur in the doom IWAD such as CALVIN or HOBBES. Just make
  512. sure it is around the 64K mark.
  513.  
  514.  
  515. ---------------------------------------------------------------------
  516.  
  517.  
  518. Command Window
  519. --------------
  520.  
  521. This window is the command line interface to wacker, the following
  522. commands are currently supported:
  523.  
  524. BATCH    - Redirect command window input from batch file
  525. COPY     - Copy object from pwad->pwad
  526. CREATE   - Create a new WAD,ENTRY or TEXTURE
  527. DEL      - Delete objects
  528. DISP     - Force patch/texture window to display object
  529. FILE     - Enable/Disable command line logging to a file 
  530. HELP     - Display command list
  531. LDW      - Load a PWAD/IWAD into memory
  532. LIST     - List details of pwad/patch/texture
  533. LOB      - Load/patch a WAD object from windows BMP file
  534. LOR      - Load/patch a WAD object from RAW format file
  535. LPB      - Load a picture from a windows BMP file
  536. LPR      - Load a picture from a raw binary file
  537. LTB      - Load a Texture from a BMP file (creates a patch)
  538. MOVE     - Move an object within a WAD
  539. MCOPY    - Multiple copy from WAD to WAD or gallery
  540. SDW      - Save a PWAD/IWAD to disk
  541. SOB      - Save a picture format object to a windows BMP file
  542. SOR      - Save an WAD object to a raw binary file
  543. SPB      - Save a picture to a windows BMP file
  544. SPR      - Save a picture to a raw binary file
  545.  
  546. Many of the commands use an argument called PICTURE this agument can be
  547. any loaded patch,sprite or graphic object from
  548.  
  549. Some commands do take a while to exectue, be patient. It does take time to
  550. copy all of the patches from the gallery to a WAD. The longest wait is
  551. if you copy then entire patch/sprite list to a WAD then delete the WAD as
  552. WACKER must rebuild the patch list from the original wad.
  553.  
  554.  
  555. Command Detail
  556. --------------
  557.  
  558.  
  559. BATCH <filename> [STEP]
  560.  
  561. Take command line input from the given filename, the file should be
  562. a text file with identical format to that of the keyboard command
  563. line. The FILE command can be used to generate batch files that may
  564. then be edited and used. If the optional STEP parameter is given
  565. then the user will be promped to run each command line and given
  566. then option of exiting batch mode.
  567.  
  568. ---------------------------------------------------------------------
  569.  
  570. CREATE <handle|TEXTURE> [name] [width] [height]
  571.  
  572. Create will allow blank wad objects to be created such as an empty
  573. WAD, an empty entry or a new texture.
  574.  
  575. CREATE <handle>                - Make a new empty WAD
  576. CREATE <handle> <object>       - Make a new wad object (i.e PNAMES)
  577. CREATE TEXTURE <name> <width> <height> - Make a new texture
  578.  
  579. ---------------------------------------------------------------------
  580.  
  581. COPY [handle] <obj> <handle|PATCHES|SPRITES> [obj]
  582.  
  583. Copy is used to copy individual objects between WAD files or within
  584. a WAD file. If the final agument is ommited then the object is
  585. copied with the same name.
  586. Additionally copy may be used to copy ANY graphic object into
  587. the picture gallery. This is done using the Pseduo handles 'PATCHES',
  588. or SPRITES for example:
  589.        
  590.        COPY <handle> <object> PATCHES [object]
  591.  
  592. Any picture object that is copied in the picture gallery can then
  593. be used within a texture. Yes this does mean you can put the DooM
  594. logo in a texture or a Spider demon.
  595.  
  596. Copy can also be used to copy any picture object to a WAD, this can be
  597. done by omitting the handle, then 1st argument must the the name of a
  598. picture in one of the galleries. i.e
  599.  
  600.        COPY AG128_1 MYWAD
  601.        
  602. Will copy the AG128_1 patch into a WAD called MYWAD which must already
  603. exist. The 1st argument can be PATCH|SPRITE|GRAPHIC. The pseudo handles
  604. may still be used for this type of copy to clone a patch.
  605.  
  606. ---------------------------------------------------------------------
  607.  
  608. DEL <handle|picture|texture> [object|ExMx|patch|floor|sprites|FORCE] [obj]
  609.  
  610. This command can be used to delete almost any loaded object or group
  611. of objects.
  612.  
  613.         DEL <handle>                  - Delete handle & contents
  614.         DEL <handle> <ExMx>           - Deletes ExMx level from handle
  615.         DEL <handle> <ExMx> <object>  - Delete object of level
  616.         DEL <handle> <object>         - Delete object of handle
  617.         DEL <object>                  - Delete a patch|texture
  618.  
  619. If no handle is given then the object MUST be a patch or a texture.
  620. The patch or texture will be deleted from the texture list but NOT
  621. from the PWAD it was loaded into. If you wish to delete patch AND
  622. wad entry then used DEL <handle> <object>. When a patch is deleted
  623. WACKER will search ALL other loaded PWADS for a replacement and use
  624. that to replace the deleted patch, if no replacement is found then
  625. that patch is erased from all texture entries, if any particular
  626. texture has no patches left in its description then it will also be
  627. deleted. When only the <handle> is used then the entire PWAD is
  628. erased. The PATCHES, SPRITES, GRAPHICS and TEXTURES pseudo handles
  629. can be used in the delete, remember that deleting any picture may also
  630. delete textures by association. If you delete the entire patch list
  631. you WILL lose all of the textures. BUT if you load a PWAD with its own
  632. patches and you then delete all of the doom patches you will just be
  633. left with the textures that can be built from the new PWAD.
  634.  
  635. When you attempt to delete a single object from a picture gallery
  636. WACKER will attempt to find a replacement for that picture with the
  637. same name from a different WAD that is loaded into memory. For example
  638. if you patch AG128_1 from a PWAD and then type DEL AG128_1 the original
  639. DOOM AG128_1 will be put back into the gallery, type DEL AG128_1 again
  640. and the new AG128_1 will re-appear. If you wish to delete a picture
  641. without the auto-replace feature then do DEL AG128_1 FORCE and WACKER
  642. will not attempt to find a replacement. The FORCE agrument is only valid
  643. for PICTURE deletions. An alternate way is to delete the picture from
  644. the WAD rather than the gallery as the galleries hold separate lists
  645. from the WADS.
  646.  
  647. For example:
  648.  
  649.                 DEL PATCHES          - Delete ALL patches from the patch
  650.                                gallery. But not from wads
  651.                 DEL TEXUTRES         - Delete ALL textures from the texture
  652.                                gallery.
  653.                 DEL WIBBLE           - Deletes a loaded WAD called WIBBLE
  654.  
  655.                 DEL WIBBLE PATCHES   - Deletes all patch entries from WIBBLE
  656.                                that lie between P_START & P_END.
  657.                                   
  658.                 DEL WIBBLE FLOORS    - Deletes all floor entries from WIBBLE
  659.                                that lie between F_START & F_END.
  660.  
  661.                 DEL WIBBLE SPRITES   - Deletes all sprite entries from WIBBLE
  662.                                that lie between S_START & S_END.
  663.                                   
  664.                 DEL WIBBLE E1M1      - Delete level E1M1 from wibble
  665.                 DEL WIBBLE ENDOOM    - Delete the ENDOOM object from WIBBLE
  666.                 DEL AASTINKY         - Delete the AASTINKY texture from the
  667.                                texture gallery.
  668.                 DEL AG128_1 [FORCE]  - Delete the AG128_1 patch from the
  669.                                patch gallery.
  670.  
  671. ---------------------------------------------------------------------
  672.  
  673. DISP <picture|texture|P|T> [picture|texture]
  674.  
  675. This command will force the picture or texture galleries to display a
  676. particular image. If a partial name is given then DISP will match
  677. it against the gallery contents. The P & T operators force disp to
  678. only match P-Pictures or T-textures
  679.  
  680.         DISP T STAR  - Would display the 1st STARTAN texture
  681.         DISP A       - Texture and Patch windows display 1st entry
  682.                        begining with 'A'
  683.         DISP AG128_1 - Display the AG128_1 patch
  684.  
  685. ---------------------------------------------------------------------
  686.  
  687. FILE <filename|OFF|CLOSE>
  688.  
  689. Enable/Disable command line logging to a text file. This command
  690. is handy for saving repetative functions and using the BATCH
  691. command to automate things. If a filename is given then the file
  692. is opened, if a file is already opened then the old file is closed.
  693. If you wish to stop logging then use FILE CLOSE.
  694.                           
  695. ---------------------------------------------------------------------
  696.  
  697. HELP
  698.  
  699. This will display a list of commands available within the command
  700. window.
  701.  
  702. ---------------------------------------------------------------------
  703.  
  704. LDW <handle> <filename>
  705.  
  706. Load a WAD into memory, the WAD can be an IWAD or a PWAD. A handle
  707. name must be given. Do not choose a handle that is the same as a
  708. patch or texture name or this may cause some commands to function
  709. strangely.
  710.  
  711. The following handle names are reserved, do not used them:
  712.  
  713. DOOM,PATCHES,TEXTURES,SPRITES,FLOORS
  714.  
  715. You have been warned, WACKER will not stop you but you may find
  716. that a lot of commands will fail to operate with these names.
  717.  
  718. ---------------------------------------------------------------------
  719.  
  720. LIST <handle|picture|texture|PATCHES|SPRITES|GRAPHICS|TEXTURES>
  721.      [start ojbect] [filename]
  722.  
  723. Dump information to screen or file about an object. This command
  724. has several modes of operation. If you wish to direct the
  725. output to a file then give a filename at the end. If wacker is
  726. unsure if the agrument is a start object or a file it will ask.
  727.  
  728. If a handle is given then the directory of the WAD is printed
  729. to the screen/file. If a 2nd argument is given then wacker will
  730. attempt to use this as a search key, and will start listing the
  731. WAD from the 1st match of the search key. This is handy for listing
  732. large WADs, for example:
  733.  
  734.     LIST DOOM P_START    - List patches within doom (no Xref)
  735.     
  736. It would be better to use the following to list the patches as
  737. it will also generate a cross-reference to the used textures.
  738.  
  739.     LIST PATCHES
  740.  
  741. Similarly LIST TEXTURES will display alll loaded texures and a
  742. cross reference to the patches contained in each texture.
  743.  
  744. If just the name of a picture or texture is given then information is
  745. displayed about that object. For patches the command will also
  746. display a list of textures that the picture is used in. For textures
  747. it will display the list of pictures for that texture.
  748.  
  749. ---------------------------------------------------------------------
  750.  
  751. LOB <handle> <object> [object] <filename>
  752.  
  753. Load an DooM picture format object from a windows BMP format file.
  754. The object name can be an existing or new object. If the object
  755. exists then it is modified otherwise it will be created. If the
  756. second object argument is given then and a new object is created
  757. then it will be placed after the object. This is handy for loading
  758. new sprites into an IWAD between the S_START/END markers. If no
  759. second argument is given the object is tagged onto the end of
  760. the WAD.
  761.  
  762. You can use this to replace sprites/misc graphics/patches.
  763.  
  764. (See notes about importing external bitmaps)
  765.  
  766. ---------------------------------------------------------------------
  767.  
  768. LOR <handle> <object> [object] <filename>
  769.  
  770. Load an DooM picture format object from a Raw binary format file.
  771. The object name can be an existing or new object. If the object
  772. exists then it is modified otherwise it will be created. If the
  773. second object argument is given then and a new object is created
  774. then it will be placed after the object. This is handy for loading
  775. new sprites into an IWAD between the S_START/END markers. If no
  776. second argument is given the object is tagged onto the end of
  777. the WAD.
  778.  
  779. You can use this to replace anything.
  780.  
  781. ---------------------------------------------------------------------
  782.  
  783. LPB <handle> <patch> <filename> [PATCH|SPRITE]
  784.  
  785. Load a new picture into a WAD file from a windows BMP format
  786. file. If the object exists then it replaces the object otherwise
  787. a NEW picture will be created. Existing pictures will be replaced
  788. in the relevant list but any new object will always be created in
  789. the patch list unless the optional PATCH|SPRITE] argument is used
  790. to explicitly specify the list to load the new object into.
  791.  
  792. (See notes about importing external bitmaps)
  793.  
  794. ---------------------------------------------------------------------
  795.  
  796. LPR <handle> <patch> <filename> [PATCH|SPRITE]
  797.  
  798. Load a new picture into a WAD file from a raw binary format
  799. file. If the object exists then it replaces the object otherwise
  800. a NEW patch will be created by default unless the optional PATCH|
  801. SPRITE] argument is used to explicitly specify the list to load
  802. the new object into.
  803.  
  804. ---------------------------------------------------------------------
  805.  
  806. LTB <handle> <texture name> <filename> [width] [height]
  807.  
  808. This command automates the process of creating textures. Given
  809. a BMP file it will load the file into memory as a patch called
  810. <texture name> and will then create a NEW texture with the same
  811. name as the patch. The patch is always positioned at the top
  812. left corner of the new texture. If height and with are not given
  813. then the texture will be created the same size as the patch. Read
  814. the creating new textures section for a warning on texture sizes
  815. i.e make your bitmap a binary power of 2 in width or set the height
  816. and width manually.
  817.  
  818. The handle must be a loaded WAD as the new patch must be associated
  819. with the wad.
  820.  
  821. The new patch that is created is built into the PATCH list unless
  822. is is an already existing name then it will be replaced with the
  823. new bitmap for the texture. Be careful with your naming.
  824.  
  825. (See notes about importing external bitmaps)
  826.  
  827. ---------------------------------------------------------------------
  828.  
  829. MCOPY <handle|PATCHES|SPRITES> [start_obj] [end_obj]
  830.                                               <handle|PATCHES|SPRITES>
  831.  
  832. Copy is used to copy multiple objects between WAD files or between
  833. a WAD and a gallery. If the copy is WAD->WAD then all ojbects from
  834. and including <start_obj> to <end_obj> are copied. If the destination
  835. is a gallery then only non-zero picture format objects will be copied.
  836.  
  837. You can use this to copy all of the active patches to a WAD for saving,
  838. when copied in this way the patches will be placed between the relevant
  839. START/END markers, these will be created in the WAD if they dont exist.
  840.  
  841. If the start and end objects are omitted then the entire WAD is copied
  842. across to the destination handle.
  843.        
  844. ---------------------------------------------------------------------
  845.  
  846. MOVE <handle> <entry> <dest_entry>
  847.  
  848. This will move an object within a WAD file, you can use it to
  849. reposition objects. It will move the entry to be after dest_entry
  850. in the directory list. 
  851.  
  852. ---------------------------------------------------------------------
  853.  
  854. SDW <handle> <filename> [PWAD|IWAD]
  855.  
  856. Save a memory resident WAD file to either a PWAD or an IWAD, if the
  857. IWAD/PWAD argument is missing the file is saved as a PWAD by default.
  858.  
  859. DO NOT save you pwad to any file name that is already open/loaded.
  860. When WACKER loads a PWAD with LDW it leaves the file handles
  861. open to make access faster. The last time I tried it it junked
  862. loaded file.
  863.  
  864. ---------------------------------------------------------------------
  865.  
  866. SOB <handle> <object> <filename>
  867.  
  868. This command will attempt to save the given object as a windows BMP
  869. format file. The object name given must be a DOOM picture format
  870. object. WACKER attempts to verify the object by checking the header
  871. of the object as if it were a picture and verifying that the header
  872. parameters are within some set limits.
  873.  
  874. ---------------------------------------------------------------------
  875.  
  876. SOR <handle> <object> <filename>
  877.  
  878. Save an object from within a WAD to a binary file in raw binary
  879. format file.
  880.  
  881. ---------------------------------------------------------------------
  882.  
  883. SPB <picture> <filename>
  884.  
  885. Save a entry from the picture gallery to a windows format BMP file,
  886. the handle is not needed as this is provided by the association
  887. of picture gallery.
  888.  
  889. ---------------------------------------------------------------------
  890.  
  891. SPR <picture> <filename>
  892.  
  893. Save a entry from the picture gallery to a raw binary file,
  894. the handle is not needed as this is provided by the association
  895. of picture list.
  896.  
  897. ---------------------------------------------------------------------
  898.  
  899. Notes about importation of external bitmaps in GIF/BMP files:
  900.  
  901.     The 2nd object parameter can be used to force WACKER to store a
  902.     resource at a particular point in the PWAD i.e within S_START/END.
  903.     If the operation replaces an object then this parameter is ignored 
  904.  
  905.     When WACKER imports a graphic file it will convert the palette of
  906.     your file to an equivalent colour on the doom palette. It is not
  907.     always possible for WACKER to exactly match the colours, it will
  908.     do the best job it can and find the closest match. If you wish to
  909.     have transparent colours in your patches then use the following
  910.     colour value:
  911.  
  912.         Red=0 Green=255 Blue=255
  913.  
  914.     Once imported into wacker the cyan transparent regions will vanish
  915.     and be converted to transparent areas. I have found that corel
  916.     draw seems to do some gamma correction on images and so everything
  917.     comes out a little darker.
  918.  
  919. ---------------------------------------------------------------------
  920. The END