
                      Subspace Level Editor
                           v1.07 Notes



Disclaimeroids
---------------------
  - I'm not affiliated with Burst or VIE in any way. I can't fix your
    server problems or anything like that. I can't tell you why you
    blow up (unless I happen to be the one that blew you up). I don't
    have any more access to the source code or other game internals than
    any of you.  So I can't help you cheat, nor would I if I could.
  - Likewise Burst is not affiliated with me in any way, so asking them
    questions about this editor is not likely to do anybody much good.
    A good rule of thumb would be: If you can reproduce the problem in
    the game's internal editor, then it MIGHT be a question for Burst.
    (It could also be a goofy LVL file)
  - Burst has made many revisions to the LVL file format, and I'm sure
    they will make more. I cannot guarantee any compatibility between
    the editor and future versions of the game.
  - This editor is distributed as-is, without any warranty of any kind.
    You use it at your own risk, and I won't be responsible for any damage
    you might do to your files, computer, electrical wiring, small pets,
    hypothalimus or anything else with it.
  - I reserve any and all rights I can concievably get away with.
    If there's any way to make money off this, I want some of it. Even if
    there isn't I want some anyways.
  - Cut and paste a really strict license agreement from some other
    software here, but cross out their name & write mine in.
  - By using this software you agree to use this software.
  - So There.


Requirements
---------------------
  - The editor uses standard GDI calls for graphics. This is both good news
    and bad news. The good news is that Direct Draw, and any headaches
    associated with it are not necessary to use the editor. The bad news
    is that people use Direct Draw for a reason: GDI's palette management
    and display performance aren't terribly good.
  - Your video mode should be at least 256 colors.  The editor has not been
    designed to run at 16 colors, nor has it ever been tested in such modes.
    Unexpected behavior may result from using the editor in 16 color modes.
  - The game was written on a relatively fast machine (166 MHz Pentium w/
    32 MB RAM). That's also the only platform with signifigant first hand
    testing. The program SHOULD work on much slower machines, but there
    may be unforseen problems.


Compatibility with the built in editor
---------------------
  - I'm not sure if Subspace uses the clipboard for its cut & paste, but
    I am sure that you won't be able to cut and paste between the two
    programs.
  - SSLEd can read/write almost any LVL files that the current version
    of the game can, although there is a message in the NEWS.TXT file
    that refers to compressing LVL files. I've never seen a compressed
    LVL file, and doubt if SSLEd will ever support them.
  - The editor produces LVL files which appear to be viable with game
    versions through 1.23.


Tile Resources
---------------------
  The editor looks for tile bitmap resources in this order:
  - Any tiles embedded in the LVL file (static tiles only)
  - * DISABLED * If present the games RESOURCE.DLL will be used for static or animated
    tiles (assuming the resource IDs don't change).
  - Internal resources - these are the same as the default tiles for
    version 1.21? of the game.


A brief explanation of custom tile sets.
---------------------
  For a good example of a level with a custom tile set, take a look at
  the level Melted made. (Running Zone East I believe).

  This editor doesn't have any facilities for editing the tile sets
  themselves, but it does allow you to attach an externally created
  tile set to a level.

  To add a tile set, you should create the tiles in a graphics editor. For
  the tile set to work correctly you will need to save the file as an
  uncompressed Windows BMP file. The image should consist of 10 rows of
  tiles with 19 tiles in each row. Each tile is 16x16 pixels. The overall
  size of the tile set should be 304x190. The palette should be 256 colors.
  When the file is ready, choose 'Attach tile set' from the File menu.

  Setting up a custom tile set does NOT let you change how the tiles act.
  It only lets you change how they look. The door tiles will still be doors
  whether they look like force fields or neutronium.

  The special tiles are in the last two rows of tiles. I haven't checked
  very carefully, so this list may be incomplete and/or inaccurate, but
  these are the ones I'm aware of:

  Row 9
     6,7    Vertical door jams
     8,9    Horizontal door jams
    10-13   Vertical doors/force fields
    14-17   Horizontal doors/force fields
      18    Turf zone 'flags'
      19    Safe zone

  Row 10
     1-3    'Over' tiles - tiles you can fly over
     4-19   'Under' tiles - tiles you can fly under

  FWIW: I suspect some of the under tiles may do something different
        in the future. I could be wrong.


Caveats for importing tile sets:
---------------------
  While the editor can read existing LVL files with custom tile sets
  fairly well, importing a new tile set is currently what programmers
  refer to as a kludge. And its a pretty big one at that.
  At this point it is not difficult to break. Here are some guidelines
  to help you avoid seeing SSLEd guts all over the place:
  - The Import tiles option will check the selected BMP for appropriate
    size and palette depth, and will warn you about incompatibilities.
    It will still attach that tile set to the level though. Unless you are
    sure what you're doing, you should probably restore the default tiles
    if you get any warnings.
  - Don't feed the editor any BMPs that aren't 256 colors. I haven't tested
    that and I suspect it'd blow chunks.
  - If you want to load someone elses tile set DO NOT just rename the LVL to
    BMP and try to load it. While doing so WILL add the tile set to your
    level file, it will ALSO merge their entire level into yours. While this
    may sound kinda interesting, it also causes the editor to error out
    rather nastily.
  - While the palette for the bitmap is 256 colors (aka 236 colors). Using
    all the available colors will certainly make parts of the editor ugly.
    I'm not sure how the game handles this situation, but there's a good
    chance you won't get what you intended.

Choices in the 'Options' window:
---------------------
  - "Undo enabled"
    When this is enabled you can undo your changes. It is optional
    because undo is relatively new and complex, so it hasn't been
    exhaustively tested yet.
  - "Enable tile animation"
    If you have a slower machine, you may want to turn this option off.
    Animated tiles only animate at the 1:1
    and 1:2 zoom levels. Only these zoom modes are affected by this
    check box.
  - "Reload last file on startup"
    This determines whether the editor starts a new session with the
    last file you were working with.
  - "Make backups of saved files"
    When a level file is saved, this option will cause the old version
    to be saved with the same name, but with a BAK extension. If a
    BAK file already exists, it is overwritten without any warning.
    NOTE: if you save twice, the original version of the file
    is effectively gone.


Keyboard interface
---------------------
  The keyboard interface is not currently "complete". That is, there
  operations that can be performed by mouse that cannot be done by
  keyboard. The keypad can be useful for navigating around the screen
  though. Here is an incomplete list of keys the editor understands:
    PgUp   Similar to hitting the page up area on the scroll bar
    PgDn   Similar to hitting the page down area on the scroll bar
    Home   Similar to hitting the page left area on the scroll bar
    End    Similar to hitting the page right area on the scroll bar
    Arrows These may move the mouse highlight around, and scroll if
	   you get near the edges. Not terribly effective at the moment.
    Grey + Zooms out one click (actually the regular + does too)
    Grey - Zooms in  one click (yeah they're cheap accelerators)
    F1     Switches to the Select tool
    F2     Switches to the Paint tool
    F3     Switches to the Line tool
    F4     Switches to the Rectangle tool
    F5     Switches to the Filled rectangle tool
    F6     Switches to the Ellipse tool
    F7     Switches to the Filled ellipse tool
  The menu bar shows most of the other key mappings.


For Registry Snoopers
---------------------
  All the editor's registry entries are somewhere under (something like)
  HKEY_CURRENT_USER/software/Psychic Software/Subspace Level Editor
  Any or all of this information can safely be wiped at any time. At this
  point there is nothing in the registry that can't be accessed from the
  program itself.


Known 'Features'
-----------------
The line, rectangle, and ellipse algorithms are geared towards regular
  sized tiles. Using them with large tiles (stations, warps and large
  asteroids) will produce interesting, but unproductive results. This
  applys to areas selected into a brush as well.
Making very large (100x100 or larger) filled rectangles can take several
  seconds to complete even on fast machines. Larger rectangles take
  proportionately (currenty at n^2 where n is area - yech) longer amounts
  of time. The program may appear to be hung, but give it some time and
  it should come back. If Undo is enabled the pause will be shorter, but
  the difference will appear as another pause when the file is about to
  be saved.
Regardless of whether the 'Undo enabled' option is changed, going to
  the options window, and clicking 'OK' will flush anything currently
  in the undo buffer. The changes are not written to disk, but they can
  no longer be undone. The same goes for choosing Open from the File menu
  then hitting cancel.
Large animated tiles partially off the left or top edge of the screen
  do not animate correctly, and may be drawn improperly.
If the editor crashes, it may leave files in the TEMP directory.
  Maybe its the debugging process, but I've been getting a whole lot of
  temporary files. Any files named SLEnnnn.TMP (nnnn is some number) are
  from the editor.
Scrolling with the scrollbars or PgUp/PgDn at higher zoom levels doesn't
  completely redraw the newly visible area, leaving occasional black
  stripes across things. This is only a cosmetic problem.
Minimizing the program causes the palette to be lost. I'm sick of dealing
  with the palette code so I'm not going to fix it for now.
If the editor doesn't seem to be responding, but doesn't appear busy,
  it may be waiting for you to respond to a message box that isn't
  initially visible. Try hitting the Alt key, this will bring foreward
  any hidden dialogs. I'm fairly certain this problem does not exist
  in release versions of the editor.


Shortcomings that bother me
-----------------------------
Editing with the keyboard hasn't kept up with the mouse interface. The
  zooming and scrolling interface isn't bad, but there is no way to
  actually change anything using the keyboard at this point.
The load time for files has gotten pretty horrendous.
Error handling is embarrasingly feeble and inconsistent at this point.
  If the program recommends saving your work, I'd do so (soon), but to a
  different file name.
The Tools / Tiles windows don't fit well, and should probably be part of a
  more general toolbar or something.


Other stuff I've considered but haven't had time to do
----------------------
I've considered the ability to save selections to disk for commonly used
  structures. It would be pretty simple to do I just haven't done it.
I've considered intelligent line drawing stuff, but I'd need to figure
  out how the tiles would be grouped. This is further complicated by the
  custom tile sets.
At some point I want to add flip/rotate commands. But then I tend to make
  things too symmetric.
I've gotten a request to display the border around the levels, and show
  starts like the game.


Reporting problems
----------------------
The latest version of the editor will usually be available through
  my web page at http://www.primenet.com/~farweb/subpage.htm
You can send bugs or enhancement requests to me at farweb@primenet.com
  but I can't guarantee anything beyond reading it and in most cases
  responding eventually.
If its really urgent, find me in the game and kill me a couple times.



  --- John Dillinger

