----------------------------
DROD Version 2.0.16
1 October 2007

Change Log
----------------------------

Legend:  +: addition/change
         *: bug fix

2.0.16
------
+ Explosions: now don't break crumbly walls under force arrows pointing the wrong way.
+ Room editor: now tarstuff mothers can have unstable tar under them
+ Export: optimized memory usage and speed
+ Added "Startup:QuickPlayerExport" option to the INI.
* Path map fix that could potentially affect Halph and Slayer movement paths, but shouldn't break any rooms.
* CaravelNet: Fixed room conquer upload hang and key loss when connection is bad.
* Checkpoint save bloat when other entities activate a checkpoint.  Semantically duplicate saved games are now checked for and deleted during player export.
* Halph: door opening replay speed optimization.
* NPC scripts: AppearAt sword fix.
* Room Editor fixes: couldn't place monster where NPC sword was after deleting the NPC; overlapping Halph & Slayer edge placement issues; error highlights now remain during script command AOE selection.  Now can't paste obstacles under serpents.  Stair placement now updates minimap.  Level entrance now doesn't change orientation on Cancel.
* Fixed some memory leaks.
* Various stability improvements.

2.0.15.1
--------
+ Import player speedup.
* Room editor: Now don't allow cut-and-pasting NPCs onto serpents.
* Fixed help file error in full build.

2.0.15
------
+ Huge player export speedup.
+ Reduced memory allocation and fragmentation during import significantly.
+ Made saved game and demo verification during import much faster.
+ Added command line API for text localization (-exportTexts and -importTexts).
+ Updated third-party libraries: SDL 1.2.11, SDL_ttf 2.0.8, libpng 1.2.12.
+ Now "Wait 0" script command halts script execution till next turn.
+ Seep in the open on room start now immediately die.
+ Now can make NPCs look like decoys.
+ In-game: press F7 to toggle move counter; Alt-F7 toggles framerate.
+ CaravelNet: Now room rankings can be displayed during level exit sequence.
+ CaravelNet: Now player may view room conquer demos if they are flagged as having conquered the room on the server.
+ Can now delete SS holds from the hold list.
+ Added INI options: Startup->ValidateSavesOnImport and LogErrors.
+ Now stairs ending hold are marked in the room editor.
+ Optimized database set+query operations.
+ Reduced delay going to and from editor screens.
+ Now duplicate NPC script text labels aren't allowed.
* Evil eye: now can spot decoys when player is invisible and outside smell range.
* Fixed crash when starting a game on stairs that end hold.
* Now you can't remove a level's main entrance room to another level.
* Now a door can't be made to have multiple associations with one orb, allowing orb lightning to empty tiles.
* Room conquer demos weren't recorded when leaving an initially empty room after undoing or restarting.
* Script "Wait for Monster stabbed" event didn't catch rock golems breaking.
* Player sound preferences not always set correctly on startup.
* Fixed game display issues: incorrect persistence of user-clicked tile highlighting, burning fuse non-display, shadow of a wall under an obstacle can be cast onto the obstacle, missing error highlight.
* Fixed small text.dat file bloat when playtesting, deleting holds and player profiles.
* Removed erroneous saves to disk during demo playback or playtesting.
* CaravelNet: sometimes wrong conquer demo lists would show up.  Network interface now more robust to errors.  Now JtRH users may delete the KDD Smitemaster's Selection hold.
* Game more robust to bad data files.
* Fixed conquer demo error when saved in empty rooms.  Fixed demo display assertions.
* Fixed "end on room exit" script bug.
* Fixed speech memory leak.
* Fixed double-song play.
* Editor: Couldn't playtest a room on a level entrance w/ arrow or potion.  Now can start playtest w/ sword on a monster.  Serpent placing stopped working after tool tip pops up.
* Editor: Could make a broken serpent segment.
* Settings Screen: Keyboard UI now works on the check boxes.

2.0.14.1
--------
* Fixed 2.0.14 bug: sound bites are lost when importing a hold with voice

2.0.14
------
+ Optimized disk saves.
+ Now serpent type may be changed during placement.
+ Added some alternate instant exit hotkeys: Ctrl-F4 (all OSes), Ctrl-Break (Linux/FreeBSD).
* Fixed speech loss/crash after repeated editor playtesting, then undos.
* Fixed incorrect decoy/door highlighting.
* Fixed faulty 2.0.13 fixes.
+ Linux: External URIs: Try some common browsers if $BROWSER isn't set correctly.
* Linux: Don't copy data files before reading DataPath.txt.

2.0.13
------
+ NPCs can now move onto tunnels.
+ Now can't place wraithwings on stairs in the room editor.
* Brain pathmaps: should not consider preplaced mimics and Halph as obstacles.
    Broken rock golems destroyed by bombs should be removed as pathmap obstacles.
* Multiple player profiles now don't lose saved games on hold upgrade.
* Unstable tar tiles with monsters on them now break.
* Fixed crash when the player is recording a multi-room demo and deletes the previous demo in the sequence.
* Can't kill Halph and exit level on same turn.
* Now black gates drop if tarstuff is removed on entering the room.
* Seep kill assertion fix.
* CaravelNet: more robust to key loss due to connection failure.
* NPC script editing fix.
* Changing screen mode during playtest is now saved to player settings.
* Linux: Fixed memory detection issue.
* Linux: Load libX11.so.6 in stead of libX11.so for clipboard, etc.
* Linux: Installer now works on amd64/x86-64 systems (w/32-bit emul.)
* OS X: Change location of data files to ~/Library/Application Support/Caravel

2.0.12
------
+ Added AutoLogin INI option.
* Restarting room goes to false checkpoints.
* Cosmetic fixes and improved UI.

2.0.11
------
+ Now demo recording isn't aborted when rewinding to a move inside the recording session.
+ Lost drod.ini entries are now set to default values on startup.
+ Reduced slowness caused by unneeded data saves.
+ Faster in-game rewinding to a checkpoint save.
+ Halph pathmapping faster with lots of monsters in the room.
* Script commands created, then changed to a Label type, couldn't be made Goto destinations.
* Victory demo recording wasn't working after restoring to the start of a clean room.
* Slayer's wisp couldn't find player on a tunnel; wisp shouldn't intersect decoy swords.
* Goblins now avoid decoy's sword when targetting the decoy.
* Now orb associations aren't lost when door tiles are deleted in the room editor.
* Scripted sounds wouldn't play repeatedly.
* Minor cosmetic and UI fixes.

2.0.10
------
+ Sped up CaravelNet score upload.
+ Sped up loads and saves.
* Fixed several memory leaks.
* NPC: command coords reflected incorrectly.
* Minor aesthetic fixes.

2.0.9
-----
+ CaravelNet beta holds: now can view demo lists for any rooms in beta holds.
+ Movement animation: fixed jerky motion and increased frame rate when moving fast.
+ Import: now adds imported data faster and requires less RAM to perform.
+ Seep: now won't be transparent while a double is being placed for better visibility.
* Rattlesnake: killing a rattlesnake by placing a mimic/decoy caused a crash.
* Guards: could accidentally stab each other when next to the player.
* Copying a hold: could potentially scramble staircase destinations; show demos were not being copied.
* Copying a room to another hold: Kept a reference to the special floor image in the old hold, resulting in a dangling ID when the old hold is deleted.
* CaravelNet demos: sometimes couldn't view demos in rooms conquered before.
* Demo playback: fixed incorrect state display.
* Time: 12PM was shown as 12AM.
* NPC: had wrong stab effect displayed for some monster types.
* Misc: several other minor fixes.

2.0.8
-----
* Game texts: weren't changing when only removing characters from the end.
* Import: more robust to invalid data.
* Hold upgrade: doesn't assume previously clean rooms are automatically conquered.
* Room editor: couldn't undo a character script view/edit.  Removed confirmation on serpent deletion.
* Rattlesnakes: weren't killed by NPC sword stabs.
* Characters: subtle script fixes; invisible swords should not be treated as monster barriers; wubba NPC is now invulnerable by default; mimic/decoy NPCs can now light fuses and drop trapdoors.
* Export: Now can export hold speech script by enabling ExportSpeech ini parameter.
* Explosions: effect is no longer expansion order-dependent.
* Seep: kills by door now counted.
* Level start position: couldn't place sword on serpent.
* Minimap: room state wasn't updating when an NPC turns into a monster.
* Brain powerdown: was incorrectly playing on some room entrances.
* Stairs: double cast shadow.

2.0.7
-----
+ CaravelNet holds: augmented displayed hold information on download screen.  On hold upgrade, demo scores can be re-uploaded.  Beta holds now recognized.
+ CaravelNet Scores upload: now faster and more friendly -- allows interrupting the process at any time.  Cleaned up Internet options on Settings screen.
+ Room UI: now can click on tunnels to highlight the exit tunnel.  Added hold name to stats box.  Refined minor handling issues.
+ Demos screen: reduced delay when selecting a demo.
+ Memory usage: Slightly optimized.  Screen fades now take up 50% less memory.
* Startup: could open more than one instance of the program at the same time, possibly causing data loss
* CaravelNet: Marquee crash when not connected; some CaravelNet holds were not matching up with local holds; now not allowed to download non-existent demos; now tracks version and OS.
* Room editor: could copy a monster onto a serpent head, causing a crash; placing NPCs wasn't updating where swords are located in the room; copy region highlight not being reset; fixed phantom orb-door associations after a copy-and-paste.
* Saved games: now overwrites the saved games at the beginning of a hold any time you start the hold from the beginning (via Play New Game).  Now overwrites the saved games made at the start of a level if you enter the level w/o any rooms in it explored yet.  Now the saved game made on exiting a hold is always resaved.  The turn exiting a hold is now counted.
* Multi-room demos: now room featuring stairs exit won't mistake room as conquered; map now updates instantly on room change.
* Evil eye: gaze is no longer obstructed by a tunnel.
* Brains: now don't direct monsters toward an invisible player when a decoy is next to the brain
* Slayer: patched a tactical vulnerability; sometimes could have two wisps
* Tar mother: now grows when the player is invisible and a decoy is near it; now does not grow if a monster kills it on the same turn that it would spawn
* Character: fixed rapid running with MoveTo conditional; WaitForCleanRoom script command now waits until green doors have dropped.
* Serpents: now brained movement won't move them the wrong way off force arrows.

2.0.6
-----
+ Low-quality graphics: Turning off alpha blending now gives more benefit to lower-end systems (less frame rate drop instead of more complex rendering).
+ High score submitting: Now demos you have already submitted are not tested again for submission.
+ Door placement: Sped up placement of large yellow doors in room editor.
* CaravelNet key loss: Could invalidate your key on the settings screen after editor playtesting.
* Browser: Opening external browser from in-game while full screen might freeze cursor.
* Custom speech speaker: Was resetting to None after playing once.
* CaravelNet rank: Was not displaying higher scores correctly.
* Death animation: Fixed minor rendering problems.
* Explosions: Reduced delay when rendering large explosions.
* CaravelNet: Fixed problems showing extended ASCII chars.

2.0.5
-----
* Import crash: when importing buggy DROD:AE beta holds
* Map: fixed incorrect color

2.0.4
-----
+ CaravelNet high scores: place text now correct for high numbers.
* Room editor: could leave while defining a script operation, causing assertions or crashes.
* Hold import: fixed player saves sometimes not retained during upgrade/downgrade.
* Special floor designation and import: fixed UI problems.
* File selection dialogue: fixed UI problems.

2.0.3
-----
+ Hold Select Screen: now all uninstalled CaravelNet holds appear at the bottom of the list.
+ News marquee: can now click on hyperlinks.  Telltale sound indicates news has been updated.
* CaravelNet: fixed crashes on connection failure 
* Importing saved games: was flagging a hold as completed when no end stairs were in the "end hold" saved game's room
* Editor: crash after editing a room, deleting it from main editor screen, then viewing help 
* Restore screen: wasn't showing levels where player hadn't entered at the main level entrance
* Change Location menu: Double-clicking the scroll bar selected the highlighted location.
* Title Screen CaravelNet news marquee: long texts were being truncated
Decoy highlighting via mouse: compounded highlighting for multiple clicks
* Credits: updated screen
* Hold export: was incorrectly exporting bad values for special floors that no longer exist in the hold, causing import to think the hold was corrupted.
* Added MSVCP60.dll to install.
* JtRH L3:1N2W: fixed Halph script bug.  Fixed L7 entrance typo.

2.0.1
-----
* Full Screen: When a dialog box is active, using Alt-Tab to switch between applications caused the screen around the dialog to be black.
* Switching to windowed mode: When in full screen mode, after Alt-Tabbing between applications, switching to windowed mode moves the app window offscreen so it's no longer visible except in full screen mode.
* Halph: Couldn't follow Beethro over force arrows, scrolls or potions.
* Demo descriptions: Death demos were incorrectly recorded.
* Room stats dialog: Now real time elapsed is always current.
* Script assertion: StrikeOrbAt, when no orb is at square.
* JtRH L3:3N1W: fixed script problem allowing a Slayer kill
