================================================================
Title         : Classic Quake mapping with WorldCraft 2.0 (HalfLife Edition)
                incl. Map Attribute Changer v1.00 (c) 1999 by Matthias Buecher
Date          : 2000-06-16
Filename      : wc2_4_q1.zip
Author        : Matthias "Maddes" Buecher
Email Address : maddes AT go DOT to
Homepage      : Quake Info Pool
                http://www.quake-info-pool.net/
                http://www.bigfoot.com/~maddes (redirection)
Idea          : Daniel "Armadillo" Roberts
================================================================

Classic Quake mapping with WorldCraft 2.0 (HalfLife Edition)

Made possible through:
Map Attribute Changer v1.00
(c) 1999 by Matthias Buecher
Created to provide a tool to use WorldCraft 2.0 for Classic Quake map editing.


Including:
A new "quake.fgd" of WorldCraft 1.6 with...
... the corrected size of the "info_teleport_destination" entity
... TyrLite/ArghLite support


Index
-----
1. Disclaimer
2. How does it work
3. What is MapChanger for
4. How to setup WorldCraft 2.0 for Classic Quake mapping
5. Useful links to WorldCraft infos
6. Known bugs/shortcomings
7. Credits
8. Thanks
9. History


1. Disclaimer
-------------
The authors of this system and programs, intended for using WorldCraft 2.0 in
conjunction with Classic Quake(R), are not responsible for any damage this
program may cause to your system. id software and Valve were not part of the
production of this program, and are also not responsible for it and its results.
The sources included with this program may not be redistributed, or reduplicated
without the authors permission.
The compiled binary may not be redistributed by any means other than
electronically. If you would like to make further modifications or additions to
this program, please ask for permission from the authors.


2. How does it work
-------------------
WorldCraft 2.0 still accepts custom FGD files (entity definitions).
The created HalfLife map has the same format than Quake maps.
The difference is that WorldCraft 2.0 only accepts HalfLife WADs.
You have to convert your Quake WAD2s to HalfLife WAD3s for using your textures
within WorldCraft 2.0.
The created map file will have references to the WAD3s, but the compiling tools
need WAD2s references to work.
You have to change the references to compile the map for Classic Quake.

You can still use all the prefabs of WorldCraft 1.x.


3. What is MapChanger for
-------------------------
You can change the WAD3 references in the map file by hand, but this would avoid
easy compiling and testing.
MapChanger will do the job for you by searching a given map file for the
attribute stated in an ini file (default file is "mapchanger.ini") and will
replace the given texts within the attribute's value.


4. How to setup WorldCraft 2.0 for Classic Quake mapping
--------------------------------------------------------
Take some time this is a longer part....

  1. Necessary tools:
     * WorldCraft 2.1 by Ben Morris/Valve, available at
                                           http://halflife.gamedesign.net/ (8MB)
       - or if you do not want to download 8MB -
       WorldCraft 2.0 by Ben Morris/Valve, available on the HalfLife CD
     * TexMex 2.9 or later by Mike Jackman <mickey@planetquake.com>, available
        at http://www.planetquake.com/texmex/
     * Quake compiling tools (see recommendations below)
     * This package of course

     Recommend compiling tools:
     * TreeQBSP 1.63 or later by Greg "Tree" Lewis <tree@yossman.net>, available
        at http://www.yossman.net/~tree/
     * TyrLite 0.3 or later by Kevin "Tyrann" Shanahan <tyrann@planetquake.com>,
        available at http://www.planetquake.com/tyrann/
        TyrLite supports nearly all features of ArghLite
        (no antilights and spotlights with yaw/pitch)
     * ArghLite 2.0 or later by Tim "Argh!" Wright <argh@ntplx.net>, only
        available at ftp://ftp.cdrom.com/pub/quake/utils/level_edit/bsp_builders/
        Argh's homepage at http://www.planetquake.com/arghrad/
     * RVISPlus or later by Kevin "Tyrann" Shanahan <tyrann@planetquake.com>,
        available at http://www.planetquake.com/tyrann/

     Original id compiling tools:
       ftp://ftp.idsoftware.com/idstuff/source/qutils.zip
       ftp://ftp.cdrom.com/pub/quake/idstuff/source/qutils.zip

     Note: As there is no license agreement in WorldCraft, its installer or
           readme and the full version of 2.1 is also available for download,
           it seems that WorldCraft 2.1 is free for anyone without any costs

  2. Suggested file handling system and directory structure
     It is recommended to keep the WAD2s and WAD3s in the same directory, just
     add "_wad3" to the WAD3s name, e.g. "id1_wad3.wad", this way you just have
     to remove the "_wad3" part later.
     A separation through different subdirecories, e.g. "WAD2\" and "WAD3\", is
     also an easy and practicable way.
     As the "mapchanger.ini" will get full or even complex, avoid to have WAD2s
     and WAD3s on different drives and to spread WAD2s/WAD3s all over your
     drive.

     Keep your editing related files in a separate directory, so you do not
     delete your work with the game. For every game you edit, you should create
     a subfolder which contains the palettes, textures, map source files,
     necessary tools and data related to this game for editors and other tools.

     Here's an example:
     C:\
       | Editing\
       |  | MapChanger\
       |  |  | mapchanger.exe
       |  |
       |  | Quake\
       |  |  | quake.pal
       |  |  | ...
       |  |  | maps\
       |  |  |  | *.rmf (WorldCraft maps)
       |  |  |  | *.map (text maps)
       |  |  |  | ...
       |  |  |
       |  |  | textures\
       |  |  |  | *.wad      (WAD2)
       |  |  |  | *_wad3.wad (WAD3)
       |  |  |
       |  |  | tools\
       |  |  |  | treeqbsp.exe (QBSP)
       |  |  |  | tyrlite.exe  (LIGHT)
       |  |  |  | rvisplus.exe (VIS)
       |  |  |  | ...
       |  |  |
       |  |  | worldcraft\
       |  |     | mapchanger.ini
       |  |     | wc2_4_q1.txt
       |  |     | quake.fgd
       |  |     | ...
       |  |
       |  | HalfLife\
       |  |  | ...
       |  |
       |  | WorldCraft2\
       |     | ...
       |
       | Quake\
          | winquake.exe
          | ...
          | id1\
             | ...
             | maps\

     You may ask why is "mapchanger.ini" not in the same directory as the
     executable? Because then there is no default ini file for MapChanger.
     As you may need other separate "mapchanger.ini" for other game/editor
     combinations, it is best to provide no default ini as every combination has
     other demands and changes.
     The only disadvantage is that you have to state the explicit path to the
     necessary ini in the editor (here the compile/run configurations of
     WorldCraft).

     Note: Everything in the following steps is based on this system and
           directory structure. If you use another system or structure, you
           may have to change "mapchanger.ini" and some settings accordingly.

  3. Create all the directories for your RMF/map files, textures, etc. and copy
     all the necessary files to them.

  4. Convert your WAD2s with TexMex to WAD3s
     This is a good opportunity to clean your WAD2s from garbage behind texture
     names, just save your WAD2s with TexMex again.
     Sorting the textures by name and maybe remipping them before saving your
     WAD2s with TexMex is another good idea.

     To create your WAD3s, load a WAD2, use menu "File -> Export All -> WAD3"
     and add "_wad3" to the name, e.g. "id1_wad3.wad".

     Note: Do not resize textures!!!
           TexMex "WAD validation warns you about textures bigger than 256x256,
           because some editors and compiling tools produce weird results with
           these (e.g. id's textures "lgmetal"s, "muh_bad" (Jesus) and "quake").

  5. Install WorldCraft 2.x, e.g. to C:\Editing\WorldCraft2

  6. Extract the files of the WC2_4_Q1 package (this package)
     quake.pal			(here C:\Editing\Quake)
     quake.fgd			(here C:\Editing\Quake\worldcraft)
     ^^^^^^^^^ this is the file of WC1.6b with the corrected size of the
               "info_teleport_destination" entity
     wc2_4_q1.txt		(here C:\Editing\Quake\worldcraft)
     wc2test.rmf		(here C:\Editing\Quake\worldcraft)
     mapchanger.ini		(here C:\Editing\Quake\worldcraft)
     mapchanger.exe		(here C:\Editing\MapChanger)
     mapchanger.txt		(here C:\Editing\MapChanger)

  7. Start WorldCraft and configure it
     (have a look at pictures "config7a.jpg" to "config7c.jpg")

     Note: If you already started WorldCraft before then use
           menu "Tools -> Options..."

     a) register "Textures"
        add your WAD3s				(here C:\Editing\Quake\textures\*_wad3.wad)
     b) register "Game Configurations":
        choose game configuration "Edit", add game configuration "Quake" and close
        select game configuration "Quake"
        add game data file "quake.fgd"		(here C:\Editing\Quake\worldcraft\quake.fgd)
        select "info_player_start" and "func_door" as default entities
        state your Game directory		(here C:\Quake)
        state your RMF/maps directory		(here C:\Editing\Quake\maps)
        state your Palette file			(here C:\Editing\Quake\quake.pal)
     c) register "Build Programs":
        state your Game executable		(here C:\Quake\winquake.exe)
        state your BSP program			(here C:\Editing\Quake\Tools\treeqbsp.exe)
        state your LIGHT/RAD program		(here C:\Editing\Quake\Tools\tyrlite.exe)
        state your VIS program			(here C:\Editing\Quake\Tools\rvisplus.exe)
        state your Maps (BSP) directory		(here C:\Quake\id1\maps)

  8. Open the dummy map "wc2q1test.rmf", a simple room which uses only id
     textures and contains a rotated brush to test the axis alignment and big
     texture handling of the QBSP program and a negative light for Argh's
     antilights.

     Now choose menu "File -> Run" or "Run Map" from the SmartIcons or hit F9.
     Switch to expert mode.
     Note: It is not possible to use normal mode for Classic Quake mapping in WC2.

     Edit configurations, create a new one called "Quake Fast Compile" and close.
     Select configuration "Quake Fast Compile".

     Create the following compile/run commands:
     (have a look at picture "config8.jpg")
     Note: "Use long filenames" and "Use process window" must always be checked.
           Maybe you have to change some parameters if you use other compile
           tools than the recommended ones.

     ...just to make sure every tool works within the RMF/map directory...
     a) Command: Change Directory (select through CMDS button, do not type in)
        Parameters: $path

     ...converting map file...
     b) Command: C:\Editing\MapChanger\mapchanger.exe
        Parameters: -y -i "C:\Editing\Quake\worldcraft\mapchanger.ini" $path\$file.$ext
        Ensure file post-exists: $path\$file.$ext.cnv
     c) Command: Delete File (select through CMDS button, do not type in)
        Parameters: $path\$file.$ext
     d) Command: Rename File (select through CMDS button, do not type in)
        Parameters: $path\$file.$ext.cnv $path\$file.$ext
        Ensure file post-exists: $path\$file.$ext

     ...compiling map file...
     e) Command: $bsp_exe
        Parameters: -oldaxis -nopercent $path\$file.$ext
        Ensure file post-exists: $path\$file.prt
     f) Command: $vis_exe
        Parameters: -fast -nocount $path\$file.bsp
     g) Command: $light_exe
        Parameters: -nocount $path\$file.bsp

     ...testing bsp file...
     h) Command: Copy File (select through CMDS button, do not type in)
        Parameters: $path\$file.bsp $bspdir\$file.bsp
        Ensure file post-exists: $bspdir\$file.bsp
     i) Command: Change Directory (select through CMDS button, do not type in)
        Parameters: $gamedir
     j) Command: $game_exe
        Parameters: -zone 1024 +map $file

     Recheck all the commands again before proceeding, do they all have "Use
     long filenames" and "Use process window" enabled? Did you entered the
     "Ensure file post-exists" where stated? Are all parameters correct?

     Enable commands when finished.

     Note: It is recommended to disable commands h to j, and call Quake by hand
           instead. This avoids multiple calls of Quake, saves time and you just
           have to switch to Quake and type "map <mapname>", but you need enough
           memory for this (64MB or more)

     Edit configurations, copy "Quake Fast Compile" as "Quake Full Compile" and close.
     Select configuration "Quake Full Compile".
     Change parameter of VIS program (f) to: -level 4 -nocount $path\$file.bsp
     Change parameter of LIGHT program (g) to: -extra -nocount $path\$file.bsp

     Edit configurations, copy "Quake Fast Compile" as "Quake Normal Compile" and close.
     Select configuration "Quake Normal Compile".
     Change parameter of VIS program (f) to: -level 1 -nocount $path\$file.bsp
     Change parameter of LIGHT program (g) to: -extra -nocount $path\$file.bsp

     Edit configurations, copy "Quake Fast Compile" as "Quake Entities Only" and close.
     Select configuration "Quake Entities Only".
     Change parameter of QBSP program (e) to: -onlyents -oldaxis -nopercent $path\$file.$ext
     Disable/Remove VIS program (f).
     Change parameter of LIGHT program (g) to: -extra -nocount $path\$file.bsp

  9. Close WorldCraft to make sure everything is saved correctly.

 10. Restart WorldCraft and try to compile the dummy map
     If it does not work, then check all steps carefully again and remember to
     change all compile configurations if you find a typo/mistake.

 11. Not necessary, but it's always useful to make a backup of WorldCraft's
     "GameCfg.wc" and "CmdSeq.wc" (here C:\Editing\WorldCraft2)


5. Useful links to WorldCraft infos
-----------------------------------
Portal to "The Forge" (WorldCraft 1.x)
and "HalfLife Resource Center" (WorldCraft 2.x)
  Get more FGD files there and learn about Quake editing
  (remember to correct the size of the "info_teleport_destination" entity)
  http://www.planetquake.com/worldcraft/

QBoard - THE discussion board for mappers
  http://games.terrafusion.com/qboard/

QuakeLab - "oldie but goldie"
  especially check out the pages about common compiling/mapping problems
  http://www.planetquake.com/quakelab/

Rust / Gamedesign.net - how to do maps the right way
  http://www.gamedesign.net/


6. Known bugs/shortcomings
--------------------------
- unfortunately this does not work with WorldCraft 3.x, as it outputs a
  different .map file format, which can not be processed by Quake's BSP.
  Maybe MapChanger will get updated when the new format is documented somewhere
  and the new data can be converted to the Classic Quake format


7. Credits
----------
Daniel "Armadillo" Roberts <armadillo@fidra30.freeserve.co.uk>
  Idea

Matthias "Maddes" Buecher
  Author of BSPTXTREN and maintainer of Q.I.P., where you can find out about
  bugs and shortcomings in Classic Quake and QuakeWorld, plus the
  "Ultimate Regular Quake Patch" (URQP)

Additional credits:
Marc Stern <stern@mble.philips.be>
 For his C replace function strmvstr(), Copyright (C) 1993


8. Thanks
---------
... id Software for making such a great game
... Valve for releasing WorldCraft 2.0 for free
... all supporters of the buglist on "Quake Info Pool"


9. History
----------
v1.01: 2000-06-16
* added information about WorldCraft 3.x in paragraph 6 "Known bugs/shortcomings"

v1.01:
* included readme for Hexen II mapping with WorldCraft 1.x

v1.00:
* initial release
