
                Doomsday Directory Structure Standard
                =====================================
          $Revision$ -- $Date$

        Contact <jaakko.keranen@iki.fi> if you have any questions.


WHY A STANDARD STRUCTURE?
---------------------------------------------------------------------------
* Different games are allowed to co-exist.

* Extendable: TCs and other projects may add their own subdirectories.

* KickStart is the primary way to launch the games. TCs and other projects
  may provide a profile for easy use.


RECOMMENDATIONS AND GUIDELINES
---------------------------------------------------------------------------
* The runtime directory is under [Run]. For jDoom it's [Run\jDoom].

* Do not create new subdirectories under the base directory [Doomsday],
  only under [Run], [Data], [Defs], [Doc], etc.

* Not too exhaustive; no need to have a separate directory for each type
  of file.

* File names should not include spaces or underscores (_). E.g.
  "Trooper.ded" is an acceptable file name but "My Cool Trooper.ded" is
  not. If you feel that you *must* use a separator, use a hyphen (for
  instance "Cool-Trooper.ded").

...........................................................................
Definition Files (DED)

* With Model definitions, the primary DED file (e.g. jDoom.ded) includes
  only Models.ded. Models.ded will in turn include the rest of the
  model definitions.

* Be very careful with

    Include "*.ded";

* Games and patches should place DED files in the [Auto] directory only
  when there is no chance of a conflict.

...........................................................................
Model Files (MD2, DMD, PCX, TGA, PNG)

* Use simple and intuitive names for model files. E.g. you should name
  monster models based on the names that appear in the game. No spaces!

* When possible use the same name for a model and its skins. E.g.
  "Trooper.md2" and "Trooper.pcx".

* With submodels, use a hyphen to separate the name of the submodel from
  the base name (i.e. the name of the main model). For example, if a
  Cacodemon model would be named "Caco.md2" and it had a submodel for a
  glowing eye, the eye could be named "Caco-Eye.md2". Following this logic,
  a player model's submodel for the weapon could be named "Marine-Wpn.md2".
  If there is no suitable name for the submodel, use "Sub1", "Sub2", etc.
  For example: "Caco-Sub1.md2".

* Begin words in file names with a capital letter. (Looks nicer. :-))


DIRECTORY STRUCTURE
---------------------------------------------------------------------------
[Doomsday]
  Kicks.exe             - Doomsday KickStart
  jDoom.exe             - Simple launchers
  jHeretic.exe
  jHexen.exe

  [Bin]                 - Doomsday Engine and game binaries, libraries
    Doomsday.exe
    *.dll               - Includes games and plugins
    *.exe               - Other executables

  [Run]                 - Runtime files (mostly generated stuff)
    [jDoom]             - ...for jDoom
      [Demo]            - Demos (CDM)
      [Savegame]        - Savegames (DSG)
      jDoom.cfg         - Main jDoom config file
      Autoexec.cfg
      Doomsday.out      - Console dump and startup messages
      *.tga             - Screenshots
      *.wad             - One place to put (custom) WADs
    [jHeretic]
    [jHexen]

  [Data]                - Data files
    *.wad               - Standard WADs like Doomsday.wad
    [Fonts]             - DFN files (-fontdir option)
    [KeyMaps]           - Keyboard mappings (DKM)
    [jDoom]             - jDoom.wad, default place for IWADs
      [Textures]        - TGA/PNG/PCX textures for Doom (-texdir)
      [Music]           - Custom/external music files (e.g. MP3)
      [Models]          - 3D models (no definitions)
    [jHeretic]          - jHeretic.wad, default place for Heretic.wad
    [jHexen]            - jHexen.wad, default place for Hexen.wad

  [Defs]                - Doomsday Engine Definition files
    Doomsday.ded        - Primary DED file, always read
    Flags.ded           - Flag values
    XG.ded              - Extended General (XG) related flag definitions

    [jDoom]
      jDoom.ded         - Game's main DED file, includes "Auto\*.ded"
      Audio.ded         - Sounds, Music and Texture Environments
      Details.ded       - Detail textures
      Finales.ded       - InFine scripts
      Lights.ded        - Lights
      Maps.ded          - Map Info
      Models.ded        - Includes definitions from the Models subdir
      Objects.ded       - Things, States
      Special.ded       - Particle generators
      Sprites.ded       - Sprites
      Text.ded          - Text
      Values.ded        - Values
      *.ded             - Some other/custom definition files
      [Models]          - Model definitions
      [Auto]            - DED files to include automatically

    [jHeretic]
      [Models]          - jHeretic model pack definitions
        [Actors]        - Players and enemies
          *.ded         - One DED file per object
        [Decor]         - Decorations
        [HUD]           - HUD models (player weapons)
        [Items]         - Pick-up items
...........................................................................
NOTE: The directory structure under [Defs\Game\Models] should match the
structure under [Data\Game\Models]. If there is
"Defs\Game\Models\Actors\Bobby.ded" then the model's data files must be in
the directory "Data\Game\Models\Actors\Bobby\".
...........................................................................

    [jHexen]

  [Doc]                 - Documentation
    [jDoom]             - jDoom specific documentation
    [jHeretic]
    [jHexen]

  [Src]                 - Source files
  [Include]
