
		                =========================
                      Subspace Level Editor
                           v1.10 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 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. In general though you're free to
    use SSLEd for personal use for free.
  - 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.29.
  - The internal editor stores tiles in the order in which they were
    added to the map. SSLEd no longer does this. Tiles are stored sorted
    by their y and x positions.


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.


Caveats for importing tile sets:
---------------------
  NOTE: For the official (and more accurate) word on tile sets see
    Rod's scenario page.

  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.
  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.

  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:

  - For best results use the tile set template provided on Rod's
    Scenario page. SSLEd does NOT check for the correct palette on
    imported BMPs.
  - 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.
  - 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.


Choices in the 'Options' window:
---------------------
  - "Reset Window Size"
    If the window somehow gets sized off the screen this will reset
    the window to 600x400.
  - "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:
    Esc    Exit
    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 is possible in the
  editor. For example you can fill an entire zone with 'safe' tiles. While
	the editor can deal with this, Subspace will bog down if you do so.
Undo has been disabled for the time being.
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.
The selection rectangle isn't fully redrawn if you scroll the window while
  selecting.
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.


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. To be honest I'm not sure what to
  do with them. The tiles just aren't shaped right for a toolbar, but
  the floating windows are just plain ugly.


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.
No I will NOT add flood-fill. Filled rectangles make the LVL files big
  enough as it is. The undo for it would suck up memory too.


Troubleshooting bad LVL files
----------------------
If Subspace complains about your level, then it is probably corrupt. To
avoid starting over from scratch, try these:
- Restore the backup version of the file (filename.BAK). Its always a
  good idea to make regular backups of your work.
- This may be a bit slow, but copy the entire level to the clipboard
  then paste it into a new level. You may want to do this in several
  large chunks.
- Remove the custom tile set, then re-add it from a fresh BMP.


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.
	I'm usually in Speed zone nowadays, but Turf & Running are also
	possibilities.
Note that lately I haven't had time to use the editor much myself. So
	you shouldn't assume I'm aware of any particular bug. Especially new
	ones.
Please be patient. I am only able to work on SSLEd when not overwhelmed
  with real work. This means that progress is intermittent, and some
  bugs/features may take a while to get to.

  --- Pastor of Muppets

