*** 2004-12-31 by Thomas Towey
- De-referneced gemActor* in workmanager.cpp to handle bad client pointer when player goes offline.

*** 2004-12-31 by Keith Fulton
- Converted npcclient to use a new table "sc_npc_definitions" to
  know what npcs he is controlling, etc. instead of the <npcs>
  tag in data/npcdefs.xml.  The "sc" prefix will be on any table
  that is superclient-only.  We will not always have the assumption
  that these tables are in the same database with the server tables
  and are only colocated here for convenience.

*** 2004-12-31 by Andrew Craig
- Fixed up some general warnings and some code formatting.

*** 2004-12-31 by Andrew Robberts
- Fixed camera collision detection with other players.
- Fixed effect crash.

*** 2004-12-31 by Trent Waddington
- Make only objects that are pickupable transient when dropped.

*** 2004-12-30 by Michael Cummings
- Changed Attack stance buttons to be a bit larger on infowindow

*** 2004-12-30 by Andrew Dai
- Changed pscelclient to use the proper method of using CreateEntity(CS_ID) rather than
  storing/restoring the id that CEL allocates itself, this requires CEL to be updated.
- Fixed a bug in NPC chasing where the destination was not being initialised.

*** 2004-12-30 by Andrew Craig
- Changed FationsSet to use csHash instead of deprecated csHashMap.

*** 2004-12-30 by Keith Fulton
- Fixed guild name check in entitylabels when mainActor is NULL.
- Improved subclassing npctypes.  Improved completion decay on behaviors
  that were auto-promoted to top, so they now get auto-demoted to 0 again
  afterwards.

*** 2004-12-30 by Trent Waddington
- Target entities on mouse down instead of mouse up.  This fixes the "retarget on interactWindow
  selection" bug, and the "retarget on window close" bug.
- Made exchange manager give back items and money when npc has no trigger for give (previously it
  just refused the transaction and user had to manually remove items from give window, this is
  apparently too hard for some).
- Made char creation easier for first time users and more intuitive for advanced users.
- Removed silly hack in psCharacter::HasGlyphs that ment magic users didn't have to keep hold of
  their Glyphs.
- Changed server to prevent players from jumping in on another player's attack (unless grouped).
- Removed code which was causing player-to-player money trades to take double the offered amount
  from the client.

*** 2004-12-29 by Andrew Dai
- Fixed the client crashing when moving between zones.
- Fixed NPCs respawning in the exact place they died.
- Added more serverside NULL checks.

*** 2004-12-29 by Trent Waddington
- Only update the inventory doll view with equip commands that are for the current player.

*** 2004-12-28 by Keith Fulton
- Added option of spawn ranges being interpreted as rectangles (areas) or
  line segments between the two specified vectors.
- Moved psDatabase into Util so it could be shared with npcclient and server.
  npcclient will use the mysql db also in the future instead of npcdefs.xml.
  Currently npcclient connects but doesn't do anything else.

*** 2004-12-28 by Andrew Dai
- Added the sector to psAllEntityPosMessage, which now makes NPCs respond
  to attacks much more consistently.
- Fixed a major bug in npcclient by removing use of oldid and directly
  setting the entity id upon creation, this change should be made in the
  client as well to prevent possible conflicts.

*** 2004-12-28 by Anders Reggestad
- Fixed so that work is terminated if the tool is removed during a
  production phase. Otherwise removing of the tool would leave the
  player in working mode on event termination and any /dig commands would fail.

*** 2004-12-28 by Jorrit Tyberghein
- Fixed a bug in the sound manager where it would forget to test for
  a NULL currentSoundSector.

*** 2004-12-27 by Christian Svensson
- Added ingame controls for sound
- Removed passing iObjectRegistry in all the config windows
- Added wait period for the MsgStrings to arrive to the client
- Fixed a soundmanager bug regarding not applying sound and music when crossing to new sector
- Made the labels a bit more colorfull for easier identifications

*** 2004-12-27 by Jorrit Tyberghein
- Removed several warnings throughout the place.
- Fixed a bug in the handling of effect messages in case the gui was
  not setup yet. In that case the effect manager was missing causing
  a null pointer crash. Fixed by adding a protecting if.
- Fixed a bug in the effect system where a variable was not initialized
  which could cause crashes.

*** 2004-12-27 by Andrew Dai
- Fixed a bug with the iDisconnect system in which
  iDisconnectReceiver::Disconnecting() was not being called.
- Fixed some problems with targeting and added the ability for a NPC to have
  a target.
- Added different message if a player gives out or receives 0.00 damage.
- Added some npcclient null checks.
- Server now kills npcs if they fall down.
- Fixed a big bug in npcclient reconnecting causing psNPCClient::npc_entities
  to contain bogus entries.

*** 2004-12-27 by Andrew Craig
- Moved dependecy check inside the null check for the GetSafeReference.

*** 2004-12-26 by Christian Svensson
- Progression points are now saved when you gain one or more
- Skills are saved when you rankup
- Moved all skills calcs to mathscripts
- Fixed adjuststat on the server
- Fixed shared exp (again)
- Fixed that NPCs saved their training to the DB

*** 2004-12-26 by Andrew Dai
- Fixed the -append command option being ignored.
- Made gemActor call Disconnect in its destructor before it's character, etc.
  pointers are deleted.
- Made Disconnect() delete all the receivers after calling them.
- Got rid of some printf()s that were clogging the server.
- Fixed up Error(), Warning().. functions so that they pay attention to the
  maximum log setting in psLog.
- Made some fixes to npc combat not stopping.
- Fixed more issues with NPCs not fighting back.
- Hardcoded the melee range to 3 to match the server and prevent conflicts.
- Added an identifying string to psGameEvents to help debugging.
- Temporarily disabled the /advisor command and StatOp::Run to halt crashes.
- Fixed OnMapsLoaded moving entities to a bogus position or sector.
- Added a patch to sort the buddy list, thanks to Pogopuschel.

*** 2004-12-25 by Keith Fulton
- Changed attack damage history to use csRefs to new class gemObjectSafe.
  Whenever a class needs a semi-permanent pointer to a gemObject or gemActor,
  they should use this class and get the ref from the gemObject.  When the
  object is deleted, the safe reference will live on and be set to NULL.  Then
  when using your ref, check for NULl and it will reliably tell you if the actor/
  object has been removed already.  We have this situation all over our code
  and should, imo, standardize on this.

*** 2004-12-25 by Andrew Craig
- Formatted the output of the server_report a bit better.

*** 2004-12-25 by Christian Svensson
- Fixed ExperienceOp error
- Committed a real updaterconfig
- Added null check in equipment handeling
- Applied and fixed securityrules on all "other" pages in the serverconsole
- Removed storage of plaintext passwords in the serverconsole

*** 2004-12-25 by Andrew Dai
- Fixed floating chars and crash on loading new map.
- Made death jingle only play if you die.
- Increased paladin tolerance.
- Fixed crash when typing /advice on its own.
- Made a major optimisation to the server, it now cleans world files before loading,
  so meshes, textures, materials are NOT loaded.

*** 2004-12-25 by Keith Fulton
- Committed 'different sector penalty' in prox list range finding.  It adds 50m
  onto your calculated range if your sectors are different.  This has a couple of
  good effects:
    a) Players must be within 50m if they are in different sectors, which will cut
       down on the "sphere effect" of the current prox finding, so people in hydlaa
       and sewers don't get each other's updates.
    b) Players in another sector will not get shouts and /say because their ranges
       will be bigger.
- Attempted fix on some very bad corruption problems with the advisor session
  tree.  I think these were caused by the == operator not being the same as
  the < operator so things were being deleted that were not removed from
  the tree.  We'll see.
- Attempted fix on redundant deregister of iDisconnect on combat event
  when client disconnects.
- Attempted fix on npc stopattack for dead attacker already removed.
- Attempted fix on empty guild MOTD string.

*** 2004-12-24 by Christian Svensson
- Added check of uniqueness first and lastname after
  pressing the next button on charcreation
- Changed the default title from CVS to 0.3.004
- Added timeout on the interact window
- Made some improvments in the scrollbar with dragging mouse,
  not perfect but better
- Added support for resize image
- Added verfication code / status to the account view in server console

*** 2004-12-24 by Andrew Craig
- Fixed psMysqlConnection::Escape to use csStrings now.  This prevents
  a possible corruption of memory and the requirement to create 4MB temp
  buffers on every Escape call.
- Removed the Escape(char*) that was returning a csString.  Is a bit
  'dangerous' to return.
- Fixed up all the Escapes in code to use the
  correct Escape( csString& to, const char* from ) function where the 'to'
  string is automatically sized sufficiently for MySQL.

*** 2004-12-24 by Andrew Dai
- Disabling widget fade now automatically makes the widget opaque.
- Added ability to refresh the loading screen.
- Added logging so we know when the server has hit the connection limit.
- Temporarily disabled warp portal resolving during jumping due to
  potential huge server CPU usage.
- Added more logging to DR processing determine reason for huge server CPU usage.
- Improved logging of messages and added logging of long events (>200 ticks).
- Fixed dangerous use of non-const Data pointers in psMysqlConnection::Escape().
- Fixed some issues in fade settings.
- Fixed npcclient crashing when recieving player range perception.
- Added basic group attack perception, does not yet read from xml file.
- Added charlist command to psserver and psnpcclient to show only characters
  and their character IDs and entity IDs.
- Added player count to /who command.
- Added a basic, unfair flushing mechanism to CSV log files.
- Fixed npcs not being broadcasted to superclients after respawn.
- Fixed a few NULL server-side crashes.
- Added debugnpc command for real-time npc debugging.
- Fixed crash on loading new map.

*** 2004-12-23 by Christian Svensson
- Changed standard number for number prompt window to 1
- Fixed the stance highlight in info window
- Made the experimental autorun toggable
- Fixed server crash if the death zone couldn't be found or
  died on a CVS server
- Fixed mouseevents that were applied on both the world and PAWS widgets
- Fixed PAWS alpha loading and made a shortcut to the standard font
  colors by using r="-1" g="-1" b="-1"
- If you click on the EntitySelect button without clicking on anything,
  you will clear the target
- Added Apply to all in the widget config window
- Added notify when a quest is assigned to you
- Recolored some widgets and changed standard font color
- Made the text readable in pawsNumberPromptWindow
- Fixed mousedown event in pawsSlot
- Updated MSVC 7.1 project files
- Fixed quest edit in the server console
- Fixed issue where done wasn't being set to Y.
- Fixed email caps issue in migration

*** 2004-12-23 by Keith Fulton
- Added new npc perceptions for players coming in range of npcs.
  + "player sensed" is triggered when a player is <30m from the npc
  + "player nearby" is triggered when a player is <10m from the npc
  + "player adjacent" is triggered when a player is <4m from the npc
  An NPC can get all 3 of these in sequence as a player comes toward them,
  and he can respond to all or none of them.  See npcbehave.xml wanderer
  for example of how to use them.

*** 2004-12-22 by Andrew Dai
- Fixed npcs not attacking clients if they ran away and then ran back.
- Fixed clients able to continue hitting impervious npcs.
- Added a sanity check when stopping an attack, might fix the mysterious
  server crashes.
- Moved specialist SetMode() code from gemActor to psCharacter.
- Fixed minidumper memory leak.

*** 2004-12-22 by Michael Cummings
- fixed a formating error in stance buttons
- added stance button highlight on change of attack
- added more description to why a spell can't be cast upon the target

*** 2004-12-21 by Christian Svensson
- Fixed a MouseDown bug in textfields
- Added new layout for stance buttons in the info window

*** 2004-12-21 by Andrew Dai
- Reduced server load on DR extrapolation by limiting it so it is only done
  on sane velocities.
- Fixed stack overflow bugs in psMysqlConnection::GenericInsert... and
  GenericUpdate... thanks to acraig.

*** 2004-12-19 by Michael Cummings
- Added Attack buttons to infowindow to compliment /stopattack, /attack #
- Moved some of the info around to save space
- Made loadwindow not resizable

*** 2004-12-19 by Andrew Dai
- Updated help.xml with data from the manual thanks to KL.
- Removed //n support from pawsHelp, it's handled directly in the text box.
- Completely removed dependency on csString in crash dumper.
- Made crash messages and dump filenames more informative so vast numbers of
  them can be filtered easily.
- Fixed crash code not crashing in FatalError().

*** 2004-12-18 by Thomas Towey
- Added a trade pattern group identifer.

*** 2004-12-18 by Andrew Dai
- Fixed some server-side memory leaks.
- Fixed GetBestSkill() never using skill buff values and added
  ability to get the best skill type.
- Fixed crash on /advisor command with no text.
- Fixed NPCs still accepting an item even if there is an error response.

*** 2004-12-17 by Andrew Robberts
- Renamed effect stuff to make it less confusing
- change <movable ...> tags to <anchor ...>
- change <movable>pos</movable> tags to <attach>pos</attach>

*** 2004-12-16 by Andrew Craig
- Updates to migration table.  Bumped database number because table structures
  have changed.

*** 2004-12-16 by Jorrit Tyberghein
- Fixed PS for latest CEL changes.

*** 2004-12-16 by Andrew Robberts
- Committed all the eedit art to cvs. Update to get art/eedit.

*** 2004-12-16 by Andrew Robberts
- Removed unwanted text shift when clicking on a non-toggle pawsButton
- SpinBox arrow cosmetic fix (get new releaselist.xml)
- psEffectsManager now stores effects in a csHash for efficiency
- Improved the pawsSpinBox timer
- Added mouse wheel scroll to text boxes, listbox, tree, and spinbox
- Fixed the setting of colour in pawsSimpleTreeNode
- Changed pawsWidget to use the current colour if the colour has been
  changed, not if it has a custom font
- Added an xml attribute to pawsWidget for justtitle
- Fixed an issue where pawsListBox didn't display the scroll bar when the
  last now was half hidden
- Added the ability to specify a different paws config file other than
  planeshift.cfg
- Minor paws fixes
- Some major changes to eedit

*** 2004-12-16 by Jorrit Tyberghein
- Fixed PS for latest CS changes.

*** 2004-12-16 by Andrew Dai
- Fixed NPCs rotating to wrong direction when initialising combat.

*** 2004-12-15 by Keith Fulton
- Added spell perception system to NPC superclient networking. Now spells
  are assigned a spell_category in mysql.  This spell category is sent to
  npcclient, which decodes it per npc whether it is cast by a friend, enemy
  or unknown player.  Then it can react to these by adjusting its hate list
  accordingly, which hopefully will make npcs attack faster and sometimes
  go after spell casters instead of melee fighters.

*** 2004-12-15 by Andrew Dai
- Fixed crash in char creation.
- Fixed a bug in which some unresolved entities would never be reresolved.
- Fixed occasional crash when despawning NPC.

*** 2004-12-15 by Daniel Fryer
- Fixed updater to make sure temp files were downloaded to /this/ in order
  to avoid problems caused by a lack of a current working directory under
  Mac OS X

*** 2004-12-15 by Trent Waddington
- Stop npcclient from crashing when chasing client that disconnects.

*** 2004-12-14 by Christian Svensson
- Added small inventory to exchange
- Added auto-avoidance of obstacles to mouserun
- Added sound to purchase action
- Added message to updater when selfupdate isn't implemented for the current OS

*** 2004-12-14 by Andrew Dai
- Made entity CD pruner more sensitive, now prunes entites with vertical speed
  higher than 50.
- CD is now disabled when entities are moved into the unresolved sector, this
  significantly improves fps in some areas.
- Disabled mouse cursor during splash and loading screen.
- Some paws fixes, where dynamic_casts on the loading screen are not needed.
- Client now only allows login after all characters have been received.
- /teleport_to command now also resets your velocity to stop jumping bugs.
- Added some debugging logging to find errors during despawning.
- Removed logging of messages that take 0 time to process.
- Stopped resetting the log settings when loading the sound manager.
- Fixed some PAWS initialisation where widgets were being initialised offscreen.
- Stopped server from accepting DR messages once client is dead.
- Client now stops attacking when changing target.

*** 2004-12-14 by Trent Waddington
- Stop NPCs moving when they die.

*** 2004-12-13 by Andrew Craig
- Fixed CP tool tips missing in some character creation screens.
- Made the /equip command compare no case for item names.

*** 2004-12-13 by Daniel Fryer
- Added files in support/macosx for building a distributable psclient
  & updater.  Also added a few instructions.

*** 2004-12-13 by Andrew Dai
- Fixed the Load Window not appearing.
- Eliminated repetitive dying from falling off the end of the world messages.

*** 2004-12-12 by Andrew Dai
- Fixed a bug in fall damage.
- Added a NULL check to npcclient talk perception.
- Added ability to record moving averages of the time taken by the last
  50 events.

*** 2004-12-11 by Andrew Dai
- Fixed NPCs repeatedly spawning and falling to their deaths in a world
  where nothing is solid.
- Improved client error messages.

*** 2004-12-10 by Christian Svensson
- Added automatic module including depending on OS and made
  sortingrules able to rename and move files

*** 2004-12-10 by Andrew Dai
- Fixed a small bug in fps limiter.
- Improved the crash dumper so it writes the modified date of psclient.exe
  on the filename so we can identify which version was crashing.
- Removed the crash dumper's dependency on psString.

*** 2004-12-10 by Andrew Craig
- Added /equip amount itemname
        /dequip itemname
  commands that can be use to equip items from command line/shortcuts.  Can
  also be used to shortcut things like drinking potions ( which is a form of
  'equip' )
- Fixed error message: ("Could not locate the slot %d!") in the small inventory
  window. These items are in equipment slots which are not available in this window
  and should just be ignored.


*** 2004-12-09 by Christian Svensson
- Fixed money transfer in exchange
- Removed odd guild window borders
- Added choseable md5 sum checks to trigger autoupdate on updater

*** 2004-12-09 by Andrew Dai
- Patched up the FPS limiter to fix 'flickering'.
- Added unloading of some unused paws windows after game loading to reduce memory load.
- Added command to export or import from a directory, all quests or NPCs via /importnpc
  /importdialogs /exportnpc /exportdialogs.

*** 2004-12-08 by Christian Svensson
- Improved the FPS limiter and added it to the loading screens
  which improves loading pretty much
- Changed description on items from char[255] to csString
- Added a attack and trade button to players
- Added new layout for loot window

*** 2004-12-07 by Michael Cummings
- Updated psEffectObjectSound
  - Now uses SoundManager to load sound resources
  - Added play action : values [once|true|stop|false|loop|pause] (pause==stop currently)
  - sample effect in marker.xml

- fixed unsigned int issue in AdviceManager

*** 2004-12-07 by Andrew Dai
- Fixed a bug where you would die when jumping through a space warping portal.
- Extended frame rate limiter to whenever the camera is not in use.
- Fixed server crash when logging off in the middle of combat.
- Fixed npcclient overrunning packets if it isn't connected to the server.

*** 2004-12-06 by Michael Cummings
- AdvisorManager fixes/changes
  - Fixed disconnect handling
  - Renamed timeout events to be more descriptive
  - Added new command for advisors /list_advice_requests to list all unanswered questions
  - Added handing for /advisormode with no parameters to indicate current status
  - Moved all AdvisorManager commands into one message type (This may cause MacOS incompatabilities)
  - Moved all Client Advisor commands into usercommands

*** 2004-12-06 by Andrew Dai
- Fixed an extra linebreak in PalJr logs.

*** 2004-12-05 by Andrew Craig
- Fixed a crash ( assertion error ) when quitting the server.  GemSupervisior
  now removes all it's entities.

*** 2004-12-05 by Andrew Dai
- Added linkdead logging.
- Used the EventManager to use threads to reconnect on npcclient and increased
  the timeout to 60 secs. This should finally fix the reconnect problem.

*** 2004-12-05 by Christian Svensson
- Fixed a inverted combobox issue in the birth screen

*** 2004-12-05 by Andrew Craig
- Added a new pawsSimpleInventoryWindow.  This window just contains
  the items that are in your bulk slots.  Makes it easier to move stuff
  from containers to this window instead of blocking most of your screen
  with the full inventory window.
  * Need to add pawssimpleinventory.h/cpp to the correct MSVC project
    file.
- Added a button on the container description window that can be used to
  open up this screen
- Added the combine icon to the interact window for those containers that are
  transformers.

*** 2004-12-04 by Ondrej Hurt
- Fixed that listboxes in autoresize mode were resizing their textual rows
  too wide (they sometimes overlapped the vertical scrollbar)
- Changed order of stats in skill window so that it matches the order
  in character creation.

*** 2004-12-04 by Andrew Craig
- Added 'Use' button to interact window. Makes it a little bit
  easier then typing /use in the chat window all the time.

*** 2004-12-03 by Andrew Craig
- Started to update the tradeskills web pages. Still lots to be done
  but is a start. Now show transformations correctly on a trade pattern.

*** 2004-12-02 by Andrew Craig
- Made targetlocation a int in the combat messages and packed it in as
  an int8 instead of an uint32.
- Patches from Karosh Steinkatz for improved tab widget ( used mostly in the
  chat window ).

*** 2004-12-02 by Christian Svensson
- Committed beauty patches from Manuel A. Fernandez Montecelo (Ginga)
- Improved the updater --help text a bit

*** 2004-12-01 by Andrew Craig
- Fix from Jose Marti to fix enum references for gcc 3.4.1 in npcclient
  network manager.

*** 2004-12-01 by Andrew Robberts
- Added the ability to associate some extra data with any pawsWidget
- some fixes/additions to eedit and effects

*** 2004-12-01 by Andrew Craig
- Fixed a crashing issue with combat.  For some reason the UpdateStatDR in the
  pscharacter was trying to Kill the npc many times. This resulted in
  many death/do damage events.  Made sure the alive flag is set fixes this.
- Fixed issue where NPC's respawn were impervious.  Fixed by adding a
  NPCManager::ControlNPC( gemNPC* npc ) that is called when the NPC is
  created. If it's controller is connected it will set it's impervious
  flags correctly.
- Made npclient delete removed entities from npc_entities. Otherwise I think
  the hash map would get in a bad state.

*** 2004-11-29 by Andrew Dai
- Fixed npcclient not sending a disconnect message on shutdown.

*** 2004-11-29 by Trent Waddington
- Applied patch by Matthias Weiss (Karosh)...
data/gui/infowindow.xml: Fixed the "Additional Spell Power" label size.
data/gui/chat.xml:       Redesigned the chat tabs and turned the chat type
                         buttons into semi-tabs.
data/gui/configchat.xml: Fixed a widget size (log system chat was not
                         selectable)
data/gui/group.xml:      Made the window configurable.
data/gui/helpwindow.xml: Corrected the window size and made it unresizable.
                         (Note: since the pawstree and the scrollbar are not in
                          the file, they are still not well aligned)
data/gui/petition.xml:   Made the window configurable.
planeshift.cfg:          The window config options for the group and petition
                         windows.
Thanks Karosh!

*** 2004-11-28 by Andrew Craig
- Attempt to fix the advisor system crashes.  Not sure if setting
  activeSession->event = NULL will cause a memory leak.  Hopefully
  Michael Cummings can also take a look here to see any issues.

*** 2004-11-28 by Christian Svensson
- Added GetSecondaryName for slots to replace ".. hit on the boots" to
  ".. hit on the feet"
- Fixed spawn rules to be invalid if you had 0 in loot_category

*** 2004-11-28 by Andrew Craig
- Fixed system message to it tells you where you got hit.

*** 2004-11-26 by Andrew Craig
- Fixed some ownership issues when placing items in creation.
- Make work manager continue search for trade pattern instead of bailing out
  if the item quantity was not the same.

*** 2004-11-26 by Trent Waddington
- Execute progression scripts when items is equiped/de-equiped.
- Implement special "inverse_equip" progression event name.
- Make message about envisioning mind objects a progression event.

*** 2004-11-25 by Andrew Dai
- Improved authentication logging.
- The server and npcclient no longer call Prepare() and PrecacheDraw()
  when loading regions since they will never render anything anyway.

*** 2004-11-25 by Christian Svensson
- Implemented the new layout for the item description window
- Improvments and fixes to the server console

*** 2004-11-25 by Trent Waddington
- Added left and right finger slots.

*** 2004-11-24 by Andrew Robberts
- Added start of text and trail effect objs
- Did something to eedit

*** 2004-11-24 by Andrew Dai
- Made LogCSV flush the buffer when important writes are made.

*** 2004-11-23 by Michael Cummings
- Reverting usermanager.cpp which broke the build, sorry everyone.

*** 2004-11-23 by Michael Cummings
- Fixed StatOp progressionOperation undoing spell effects on basic Stats

*** 2004-11-23 by Christian Svensson
- Some GUI fixes and standard pos changes
- Also cleaned up in data/options

*** 2004-11-23 by Michael Cummings
- Add Client UI for active spells. Displays 'buff' spells in one list, debuff's in another.
  buffs and debuffs are identified by categroy prefixes (currently "+/-") which can be configured
  through the BUFF_CATEGORY_PREFIX and DEBUFF_CATEGORY_PREFIX defined in pawsactivemagicwindow.h
- Server uses new block progressionOperation to get category
  <block category="" delay="">
  category: any string prefixed properly
  delay   : length of time block is held, normally  should be same length as spell effect.
  This should be the first operation of any spell scripts
- Updated VC7.1 solution and Project files for latest additions

*** 2004-11-23 by Keith Fulton
- Added CheckQuestCompleted operation, which checks cached quest
  assignments for the character to see if he has completed the specified
  quest or not.  Quests not marked as "permanent" will be deleted immediately
  and will never return "completed" here.
- Added <verifyquest> tag in npc scripts.
    <verifyquest quest="name" error_msg="You are not ready."/>
  is the syntax and it should be the first operation in the script.

*** 2004-11-23 by Andrew Dai
- Fixed the 'Already Logged In' bouncing error messages right after the
  client or npcclient logs in for the first time.

*** 2004-11-22 by Andrew Dai
- Added a basic, specialized LogCSV class designed purely for managing
  day-to-day logging in a consistent format. These files
  can later be parsed to generate statistics such as max. server uptime,
  attempted password hacks, etc.

*** 2004-11-22 by Christian Svensson
- Implemented new layout on the container window
- Fixed a init of pawsSlot (containerID) and
  a client crash if server sent NULL in animation
- Some minor paws layout fixes
- Fixed inventory crash
- Fixed kick and ban reasons (/ban min hours days reason)

*** 2004-11-22 by Keith Fulton
- Redid how npcclient gets its entity lists from the server.  This allowed
  making the npcs impervious to attack temporarily while npcclient is not
  running.
- When npcclient connects, npcs which are not supposed to be
  impervious get fixed up until the npcclient disconnects again.
- Also redid how impervious flag works now, to be 2 bits instead of 1 bool.
- Also made several DR updates high priority msgs so clients do not miss
  the "stop npc" messages when the npcclient dies.
- Note:  Fixed bug in CEL tonight also which affects all this, so please
  update it as well.

*** 2004-11-22 by Andrew Dai
- Fixed trying to reconnect on npcclient shutdown.

*** 2004-11-21 by Christian Svensson
- MoveTo in pawsListBox should now be stable to use
- Fixed loot with no items but with money
- Implemented the new layout on the glyphs window
- Added heightmod to <scrollbar > in pawsListBox
  to control the height of the scrollbar
- Fixed order the server sent glyphs to the client

*** 2004-11-20 by Christian Svensson
- Added training support for stats( Str, agi etc )
- Added MoveTo function to pawsListBox, works for the thing I use it for,
  need to test more before it's stable
- Added message to the user when trying to equip an item
  which has higher requirements than they have
- Added remaining time to disconnect message if you're banned
- Fixed a message in modehandler
- Patch: 'Camera Distance' field cluttered with decimals in config window
- Patch: advisor mode, no option for the colour
- Patch: Crash when dropping out while loading
- Patch: misplaced Examine slot in inventory window

*** 2004-11-19 by Michael Cummings
- Added spell categories to prevent buff/debuff spells from effecting a player more than once.
- Added block progression operation in progression scripts to handle spell categories. client
  is now notified if the spell did not have any effect. Modified ProgressionEvent::Run to stop
  processing operations if an operation returns a non-zero value.

*** 2004-11-19 by Christian Svensson
- Added reason to ban and kick

*** 2004-11-19 by Andrew Craig
- Fixed crash if crafter did not have a valid guild.

*** 2004-11-18 by Trent Waddington
- Made races that are not available for the selected gender grayed on the character creation
  screen.
- Made eyes/hair/etc options grayed until we get art.
- Dropping an object now places it 1 unit from the player on either the left or right side.

*** 2004-11-18 by Andrew Craig
- Added checks to psCharacter::EquipItemInSlot to see if the character
  can actually equip that item.  Added a new function
  psItemStats::CheckRequirements(char) that will check the requirement_* values
  for the item with those of the char.
- Added random target locations in combat. The combatmanager ctor creates a list of
  the allowable targets for attack.
- Target location is sent to client now and is decoded to a name on the client
  ie ( Guest hits Smith on the torso for 200 )
- Increased the network version since the combat message structure has changed
  slightly which could result in unexpected errors.

*** 2004-11-17 by Andrew Craig
- Fixed some more /guildinfo problems where it was not filtering correctly
- Fixed online time in guild list

*** 2004-11-17 by Trent Waddington
- Fixed trades of money (bug #243) so it can be taken back and is returned on trade cancel.

*** 2004-11-17 by Andrew Craig
- Added Karosh's proper fix to the shortcut window.
- Instances of money are now removed from the database after they are picked up.
  In response to Bug #237
- Fixed some issues with the char select window.
   - All buttons are hidden until all characters are received from server.
   Added number of chars to the auth message from the server.
   - Only one "New Character" button is shown now ( if space available )

*** 2004-11-17 by Trent Waddington
- Disable mouse crosshair on initialization.
- Add support for ProgressionDelay mathscript variable for spells.  When present the "result"
  of a spell (e.g., causing HP damage) will be triggered by a delayed game event.

*** 2004-11-16 by Andrew Dai
- Made some fixes in PalJr.
- Fixed crash on displaying QuitInfoBox when attempting to disable mouse
  look.

*** 2004-11-15 by Keith Fulton
- Implemented auto-expiration of player items dropped into the world.
  This is done with a psItemRemovalEvent object, which is set on any psItem
  with the TRANSIENT flag.

*** 2004-11-15 by Michael Cummings
- Fixed Advisor messages getting displayed in AllText Tab twice
- Fixed Advisee messages not displaying in Help Tab
- Added Help Text color to chat configuration
- Added timeout to Advisor-Advisee relationship if no activity.
- Added #defines for Question and Session timeouts.

*** 2004-11-15 by Andrew Craig
- Fixed an issue where it was doing some strange loading of items
  for npcs. ( some items were trying to be loaded twice ). Should
  fix the issue of items disappearing on a server restart.
- Patch from Cad for keys.xml:
    "On some keyboards, the double quote character ('') is the default
     character"

*** 2004-11-14 by Andrew Craig
- Fixed 'target not ready' message shown at incorrect times.
- Fixed npc's not responding. Was a faction comparison error.

*** 2004-11-14 by Andrew Dai
- Fixed a typo in SpeedCheck().

*** 2004-11-13 by Andrew Craig
- Made Guild ranks system a little more flexable. Can now change the
  max number of ranks in util/psconst.h #define MAX_GUILD_LEVEL

*** 2004-11-13 by Ondrej Hurt
- Spells that drain HP over time now actually kill when HP drops to zero.
- Buffing of stats cannot result in negative buffed stats now
  (it is unsigned and underflowed to 2^32-1)
- Fixed server crash when a StatsOp was run on behalf of a NPC.
- Fixed server crash when a NPC was killed by an unspecified attacker.
- Commented out the /spawn command.
- Fixed that pawsMoney had wrong layout in res other than 800x600.
- Fixed inventory window doll missing graphical border.
- Fixed doll position in Skill window.
- Actor::DoDamage() exits now when target is dead and actor is NULL.

*** 2004-11-13 by Andrew Craig
- Several fixes from res2k for new Crystal Space changes ( so you will
  need the most recent version of CS ). Thanks Res!
- Fixed invite system to pop behind current focused widget.  This means
  that they will no longer pop up and take focus from your chatting.
- Fixed problem where a player could /quit right after dieing and when they
  logged back in they were not in the death realm

*** 2004-11-13 by Christian Svensson
- Commited fixes from res2k in credits, crosshair

*** 2004-11-13 by Andrew Robberts
- Fixed paws_generic dependency
- Fixed bad #include in advicemanager
- Fixed effect loading of materials so that they load in effects region
- Some stuff done to eedit
- Added support to psMaterialUtil to handle regions
- Fixed up pawsTree
- pawsfileNavigation was modified, don't remember why
- random effect fixes
- changes to camera, don't think it was anything

*** 2004-11-13 by Andrew Dai
- Added checking for oversized PalJr log files.
- Added speed checking to PalJr.
- Updated PalJr to 0.12.

*** 2004-11-12 by Andrew Craig
- Added patch from Pogopuschel that fixed a couple of the petition
  window problems.

*** 2004-11-12 by Keith Fulton
- Submitting patch by Michael Cummings reworking the advisor system.
  - New column to track advisor points.
  - New tab in chat window for Help, which uses /advisor by default.
  - New /advisormode on|off command to be in advisor mode.
  - Advisors respond with /advice <name> <answer>
- Fixed bad commit by QuantumG.

*** 2004-11-12 by Andrew Craig
- Fixed Bug #199 - HP bar in target window is not updated correctly with some spells.
  Made the StatsOp trigger a StatDR message to the client.

*** 2004-11-12 by Trent Waddington
- Applied patch by Matthias Weiss (Karosh) to handle hiding of the toolbar and shortcut window
  better.  Thanks Karosh!

*** 2004-11-11 by Andrew Craig
- Skills window now shows updated information in combat.  Right now
  just redumps the entire stats data again. An optimization would be
  to just send the dirty skill values to the client.
- Both sides in a fight have to both have Client::IsReady() before the
  fight can take place.  This prevents attacking clients that have
  not fully loaded into game yet.
- Fixed some of the guildwindow issues:
      - Members, the scroll bar overlaped the data
      - Members, sorting by 'Level' is done by level and not name now.
      - Members, 'Last Online',shows hour of the day
      - Members, 'Online only' check button is no longer ignored when the
        window is opened again.

*** 2004-11-11 by Andrew Dai
- Cleaned up more objects in server destructor.

*** 2004-11-09 by Jorrit Tyberghein
- Removed an annoying warning in prb.h.
- Fixed a crash bug in updater in case a path couldn't be mounted.

*** 2004-11-08 by Andrew Dai
- Fixed a memory leak in psAuthenticationServer::HandleAuthent().

*** 2004-11-08 by Christian Svensson
- Bug #217 - /ban requires the target to be online fixed

*** 2004-11-09 by Keith Fulton
- Added Combat Stance handling to /attack command.  Now use
  /attack 1 up to /attack 5 to set your stance.  1 is most aggressive.
  In mathscripts, use Attacker:CombatStance to access this value.

*** 2004-11-08 by Trent Waddington
- Disable mouse look mode when quit popup is displayed
- Exchange with NPC refused if no trigger for offered item
- Disable give -> npc inventory

*** 2004-11-07 by Ondrej Hurt
- Adapted Guild window, Help window, Number prompt, Merchant window,
  Inventory window to new GUI images.

*** 2004-11-07 by Andrew Craig
- Fixed ability to /attack targets that are already dead.

*** 2004-11-07 by Christian Svensson
- Changed tinyint(3) to int(10) in item_instances

*** 2004-11-07 by Keith Fulton
- Fixed alliance bug which allowed a guild already a part of one alliance to
  erroneously join another one.  This caused all manner of problems as reported
  by Tanguy Gilmont.  Thanks Cad.

*** 2004-11-07 by Andrew Craig
- Fixed trade/context menu to make sure you can only trade when in a
  peaceful mode ( for both parties ).
- Fixed server crash on /guildyield if no target selected.
- Reset tria counts when trade window opens.
- Fixed problems in exchange where dropping items in wrong slots
  caused them to be removed and lost.

*** 2004-11-07 by Trent Waddington
- Make mouse button mouselook command not a toggle
- Fix crosshair "jiggling" when in mouselook mode
- Make crosshair visible in first person mode only

*** 2004-11-06 by Christian Svensson
- Added check so that the users can't drop and pickup items while dead
- Fixed crash with command completition (TAB), Thanks Tanguy "Cadripper" Gilmont
- Added confirmation dialogs on all GM GUI actions except slide and visiblity
- Tried to fix the multiple combat, test requierd
- Now you yield if you spawn
- Commited fixes to the pssetup's layout, Thanks Matthias "Karosh" Weiss

*** 2004-11-06 by Andrew Craig
- Added check to targetguild leader in guildwar.  If for some reason
  the guild was in a bad state without a leader it would crash the server.
  Now sends a notification message to the person informing them that the guild
  is in a bad state.

*** 2004-11-05 by Andrew Dai
- Changed deleting of Clients to be compatible with the new binary tree
  API.

*** 2004-11-05 by Christian Svensson
- Fixed /unban
- Added an Armor vs Weapon table to the db to give more variations to combat.
- Added -help to the updater

*** 2004-11-05 by Trent Waddington
- Add items given to NPC to NPC inventory
- Add items in NPC inventory to loot
- Load items in database to NPC inventory
- Check for non-present variables in combat script that was causing segfault

*** 2004-11-05 by Andrew Robberts
- Fixed toolbox buttons in eedit
- Cleaned up some eedit stuff
- Fixed gfx effects' targeting

*** 2004-11-05 by Andrew Craig
- Made the advisor system a bit more robust.  Now if a client logs out any
  request he had pending is added back and the requestor is notified.

*** 2004-11-04 by Andrew Craig
- Made Exchange class an iDisconnectReceiver to make sure it has good data
  if one of the parties goes away.
- Made sure you couldn't add NPC's to your buddy list by checking npc_master_id=0

*** 2004-11-04 by Andrew Robberts
- Fixed a problem with eedit. It should now work in windows. Everybody point
  and laugh at Perique.
- Added a small patch to the pawsFileNavigator by Emaib.

*** 2004-11-04 by Christian Svensson
- Made the keys prettier
- Added functions to access a charactes whole modified stats from
  all holding items (DB version pushed)

*** 2004-11-04 by Trent Waddington
- Added keys for lockable objects.  One key can open multiple lockable objects.
- Added /key admin command for manipulating keys.  Any object can be a key (it's a flag), and
  there is support for skeleton keys.

*** 2004-11-03 by Andrew Craig
- Removed the mod_* columns from the item_instances database and from the
  psItem class
- Added item_decay column to the item_instances table
- Added accessors for decay in psItem
- Added item_quality to item_stats table

*** 2004-11-03 by Christian Svensson
- Changed the /teleport_to command to allow teleporting of players and with XYZ cords
- Interact window closing when you click on it now
- Fixed guild levels in guild GUI

*** 2004-11-03 by Andrew Dai
- Implemented new BinaryRBTree<T> and BinaryRBIterator<T> red-black
  binary trees based on libavl.
- Removed old BinaryTree<T> and BinaryTreeIterator<T> implementation.

*** 2004-11-02 by Andrew Robberts
- Some effect fixes
- Some eedit fixes
- Added two generic effects (get them from private ftp, but not on server yet)

*** 2004-11-02 by Andrew Craig
- Made the spell event an iDisconnectReceiver to be informed when a entity
  has left.  Fixes a crash when trying to cast a spell on a entity that respawns
  durning the cast

*** 2004-11-02 by Christian Svensson
- Added % to the updater until switching to whole zip mode for that zip

*** 2004-11-01 by Daniel Fryer
- Committed patch from Joseph Long (josePhoenix) to add "Launch" button to pssetup.
  Broken in OS X, but not critical
- Committed patch from Matthias Weiss (Karosh) to add "OpenAL" option to pssetup.

*** 2004-11-01 by Andrew Craig
- Fixed crash in server when attempting to send a NULL system message.

*** 2004-11-01 by Christian Svensson
- Changed the gm log to include full commands with params instead of the command itself
Updater:
- Made the updater faster by making it sync each 10th zip file (setting in xml)
- Implemented support for whole zips
- Code comments added to be easy to understand
- Cleaned up a bit overall in it, with this the updater is now pushed to 1.0.2.0, woo :)

*** 2004-11-01 by Andrew Robberts
- Minor compile/runtime issues fixed.

*** 2004-11-01 by Andrew Dai
- Added a patch by res with slight changes to allow caching of
  mouse cursors and to support alpha-blended cursors.

*** 2004-10-31 by Andrew Craig
- Fixed entitly labels when a player changes their guild from public to
  private.
- Added scripts to calculate the starting HP/Mana values.  Calls scripts
  from RPG rules to calculate this.
- Added GetStatValue function to the mathscript system.
- Fixed up some of the windows to show the HP/Mana values correctly
  ( actual vs percentage )

*** 2004-10-31 by Andrew Robberts
- Added patch by Tom Batt that adds camera key control and a generic keyboard
  input layer to eedit.
- Added an improved pawsFilenavigator by Emaib
- Many improvements/bug fixes to EEdit
- Added a Load Effect toolbox to eedit that allows you to easily select the effect
- Some minor feature additions and improvements to the effect system
- Started to add the functionality to actually edit an effect from eedit

*** 2004-10-31 by Ondrej Hurt
- Fixed that when you teleported or spawned, you sometimes did not see
  any entities (wrong csList iteration in pscelclient).
- Added sector name to the "Invalid sector sent to server..." msg
- Spells can be cancelled by caster now.

*** 2004-10-31 by Christian Svensson
- Moved around a few admin commands
- Fixed a spell description issue
- Fixed updater slowdown and 9999 in ping response (Pushed updater version)
- Probably fixed zonehandler issue with load all maps

*** 2004-10-31 by Andrew Craig
- Fixed problem in Loot window where it was removing the wrong item.
  Problem was that listbox rows were not assigned an ID so it was always
  removing the first item.
- Added patch from res that makes sure the 'Connecting' label is always
  shown: "the 'connecting' label is not shown and under some
  circumstances the app may appear as it wouldn't respond"

*** 2004-10-30 by Ondrej Hurt
- Added restriction of what spells can be casted depending on skill:
  the realm of allowed spells is restricted by rank of given magic way skill.
  When caster has rank=0, he needs to have full theoretical training for rank 1,
  then he can cast realm 1 spells.
- Fixed handling of uninited item slots in Inventory.
- Fixed that you could cast more spells at the same time.
- Fixed that when you were moving a window using mouse during drag and drop,
  position of mouse cursor was not updated.

*** 2004-10-29 by Ondrej Hurt
- When you type /greet while being dead, greet anim is not played
  at your client now.
- Fixed setting character stats with StatsOp.
- Added IdentifyMagicOp that identifies magical items for a spell caster.
- Players can now /attack while casting, and cast while in attack mode.
  But attacks executed during casting are skipped.
  This implied removing the PSCHARACTER_MODE_SPELL_CASTING character mode.
- The attribute "offensive" of the "spells" table is not used for target
  type restriction of spells, because that's the purpose of the
  "target_type" attribute.
- Area-of-effect spell targets are restricted by the "target_type" attribute
  of the "spells" table (like the other spells),
  instead of the "EffectTypes" mathscript var.

*** 2004-10-30 by Andrew Dai
- Improved zone loading.

*** 2004-10-30 by Christian Svensson
- Loot window now hides itself when the looting object is removed
- Made the npcclient reconnect if the server dropped it
- Commited a patch from Uwe Berthold to prevent multiple guilds
  with the same name when you rename a guild
- Fixed targeting on the NPC you were attacking would stop attacking it
- Fixed the message when bringing the action menu up when a NPC was impervious
- Fixed tooltip not hiding itself when the widget was invisible
  Also rewrote a bit in pawsinteractwindow for this to take effect
- Fixed a crash if the image in a pawsSlot was NULL
- Added Get/SetIsPickupable to psItem
- Added Pickupable to GM Spawn item window

*** 2004-10-29 by Christian Svensson
- Made some improvements to the GM spawn item window
  You are now able to spawn lockable/locked items
  And specify skill and strength on the lock
- Commited fix from Pogopuschel: Where the guild name wasn't check
  when removing the guild
- Added setting mode to PEACE in the "multiple actors, main actor dead" combat
- Replaced alpha 255 to alpha 0 in guild window to stop the unwanted fading
- Fixed names not updated in guild members list, group list,
  target and in auto complete
- Fixed RemoveAutoCompleteName not removing name from chat window
- Added /groupremove for the leader to be able to remove members of the group
  Thanks Uwe Berthold (Pogopuschel)

*** 2004-10-29 by Andrew Craig
- Fixed problem with skill information.  Was saving the data incorrectly to
  database.  ( swapped Z for Y )

*** 2004-10-28 by Andrew Craig
- Fixed a problem in the client where it was not setting the client
  position data correctly. This could cause linmove to have bogus sector
  data after a teleport or a spawn.
- Fixed bug in NPC respawn. Was trying to use the object after it was
  deleted.

*** 2004-10-28 by Christian Svensson
- Fixed Bug #149 - Petition list not updated
- Fixed Bug #141 - Range not taken into account with /challenge
- Commiting test for Bug #136 - Challenging multiple players and dying
- Added count to GM spawn item
- Fixed NULL pointer crash with Window Config

*** 2004-10-27 by Andrew Craig
- Fixed the spawn_item issue. It was doing a very bad iteration over the
  list of items and bailing out.  Fixed by adding a DB hit to get all items
  in a particular category.

*** 2004-10-27 by Christian Svensson
- Cleaned up among commands
- Made the /away command turn itself off if run without args
- Commited /who filter patch from Pogopuschel
- Actually made the function /guildpoints, before it was just a dummy
- Fixed typo in configchat, althought the code uses it, the GUI doesn't show it
- Fixed some typos in /guildname
- Fixed faulty check in /guildremove
- Fixed /echo to use whole line
- Updated the help.xml file and resized the help window
- Fixed crash in charcreation (#44)
- Added option to load all maps at once to the setup
- Made the main window of the setup bigger
- Added warning when you select DirectSound 3D
- Fixed spelling error in groupmanager

*** 2004-10-27 by Andrew Dai
- Fixed some issues with GUI alpha-blended text.
- Fixed a bug in BinaryTree.

*** 2004-10-27 by Trent Waddington
- Recognise "startlocation" in spawn rules and replace with race specific start sector.

*** 2004-10-27 by Andrew Craig
- Fixed issue where you couldn't go back to main selection screen if went into
  the character creation screens and had no current characters.
- Reformated help.xml based on KL's format from generation.

*** 2004-10-26 by Christian Svensson
- Fixed linux compile issue in pawsChatWindow
- Made the server send out item removal messages to loot windows
- With loose chat focus off and pressing enter on a empty
  line will now unfocus the chatwindow (Thanks Pogopuschel)

*** 2004-10-26 by Trent Waddington
- Make player not stand up when trying to dead chat.

*** 2004-10-26 by Trent Waddington
- Applied patch from Tanguy Gilmont (Cad) to make chat window tab flashing
  more consistent.  Thanks Cad!
- Will create logs directory if it doesn't exist.
- Fixed forwardon-strafeon-forwardoff bug.

*** 2004-10-26 by Andrew Dai
- Enabled fading effects on the GUI text based on parent widget.

*** 2004-10-26 by Andrew Craig
- pawsTextBox now obeys the delete key.

*** 2004-10-25 by Jorrit Tyberghein
- Made the mouse pointer code a bit more forgiving in case some mouse
  image is not found. Instead of crashing nothing is done.

*** 2004-10-25 by Christian Svensson
- Remade the CRTError function to be much much more nice (Updater)
- Updater won't delete files marked as system files
- Added a todo function for dialup uses to use if they want to
  download the files on some other place.
  Usage: updater -addresses -mirror=?
- Made the updater use max 20 FPS which made the CPU usage go down
  from 99% to 3% :)
- Same to PS client while in the login screen
  (Login: max 30-40, Credits: Max 100)
- Added a check to prevent the dumb users to not enter their verification
  code as new password and then complain about long passwords :\

*** 2004-10-23 by Trent Waddington
- Added a progress bar to the load screen.
- Delayed loading of individual regions in a zone to give gui a chance
  to update.

*** 2004-10-25 by Andrew Craig
- Fixed issue with all say chat being converted to lower case.  Problem was in
  ChatManager::CheckNPCEvent() that did a downcase on the text.  Fixed by making
  ChatManager::CheckNPCEvent() use a local var for the text and downcase that.

*** 2004-10-24 by Andrew Robberts
- Fixed mouse run, it should now be completely working through warping
  portals.

*** 2004-10-24 by Keith Fulton
- Fixed bug 112, npcs not responding to given items.

*** 2004-10-24 by Christian Svensson
- Fixed GM GUI's player sectors
- Fixed multiple "Race:" in pawsSummary
- Moved summary verification text
- Now you can't select a character if you are connecting
- Made the login ping a little more nice
- Fixed non centered "Connection.." in big reses
- Resized the selection window in the life events screen
- Moved stuff around in the paths window
- Moved the random label in the main char creation screen
- Erased the 0.15 format in paths to 15%
- Fixed a horz scroll bug in listbox
- Made the selector use GetActualWidth on a place where it was missing
- Added some space under the listboxes in the childhood screen
- Moved the credits screen around
- Moved the race description to the lower part of the main char creation screen
- Disabled the maximize button for now in the client
- Group stats is now sent when you are injured and mana is drained
- Added a DrainMana function, please use this instead of AdjustMana or SetMana
- Fixed recent CS change to csList in pawsTree.
  Please update to latest CS to avoid troubles
- Fixed use of orgw instead of orgh in the toolbar
- Min resize to the toolbar is now changed when minimzing

*** 2004-10-24 by Andrew Craig
- Secret guilds will no longer have guild name labels painted to
  non-guild members.

*** 2004-10-24 by Andrew Robberts
- Implemented the star/explosion flair effect obj.
- Fixed up and improved the EEdit position toolbox.
- Added/Fixed the EEdit Render Toolbox.
- Added patch by Christopher Kings-Lynne and Tom Batt for an EEdit Camera
  Toolbox.
- Added the mouse run effect to the game.
- Fixed a bug in the calculating of the 3D point under the mouse cursor in
  psCamera.
- Fixed some problems with incorrect calculations in the spire effect obj.
- Fixed a problem with lighting of the effects.
- Got the setting of effect obj colours working again.
- Improved Mouse Run to the point where all known bugs are *ALMOST* resolved.
- General effect improvements.

*** 2004-10-24 by Andrew Craig
- Added a check in the pawstextbox SetText to replace any \r characters with
  a \n character. This should prevent any square boxes being drawn in the textbox.

*** 2004-10-24 by Andrew Dai
- Fixed to a mouse color temp variable
- Fixed an import dialogs bug.

*** 2004-10-23 by Christian Svensson
- Added a log output of the actions to be taken (updater.log)
- Renamed -silent to -auto

*** 2004-10-22 by Jorrit Tyberghein
- Fixed a potentially bad bug in the handling of iteration over a csList.
  Turns out the CS prefered way to iterate over a csList doesn't work
  properly (first item is skipped). So fixed this by using an alternate
  way to iterate over the list.
- Removed more leak guard stuff.

*** 2004-10-22 by Trent Waddington
- Adding patch by Christopher Kings-Lynne (KL) to display zone specific load
  screen if zone element contains "loadimage" attribute in zoneinfo.xml.
  Thanks Chris.

*** 2004-10-21 by Keith Fulton
- Fixed bug which caused your speech to show up underneath the npc
  response to your speech.

*** 2004-10-21 by Andrew Craig
- Fixed some random crashing issues in the character creation screens.  It
  would bomb out when trying to use a material that could not be loaded.
- Added check on server to make sure user cannot upload extra characters.

*** 2004-10-21 by Andrew Dai
- Added support for win32 hardware-accelerated mouse cursors

*** 2004-10-21 by Trent Waddington
- Fix updating of container window when contents change

*** 2004-10-21 by Trent Waddington
- Fix mouse zoom (don't toggle like mouse look does)

*** 2004-10-21 by Trent Waddington
- Fixed a number of segfaults in the trade code.
- Fixed segfault when server tells client to do '' animation.
- Made it so an autocontainer can use items in already in the container when
  expecting an item to be "in-hand".
- Added lots more trade for smithing.

*** 2004-10-21 by Jorrit Tyberghein
- Changed the resurrect event on the server so that the player
  resurrects in npcroom in case he died in npcroom and otherwise in
  the DR.
- Removed the leak guard stuff from CelBase since it seems to cause
  compile errors now.

*** 2004-10-19 by Luca Pancallo
- Added MoneyResponseOp, added a sample in npc_responses.sql

*** 2004-10-18 by Ondrej Hurt
- The "delay" attribute of script operations is calculated by MathScript now.
- Undo scripts of AttachScript and DetachScript operations now send
  informative text messages to their actor.
- Fixed StringTo() for ScriptOp, AttachScriptOp, DetachScriptOp
- Fixed broken ShowDetailsOp
- MathScript functions "getAttack(Defense)ValueModifier" actually work now.
- Server logs when it fails to find a psCharacter property.
- ProgScripts that are run when character hits/is hit are invoked
  from CombatManager now.

*** 2004-10-18 by Andrew Dai
- Reenabled mid-air movement control to cope with collisions.

*** 2004-10-18 by Trent Waddington
- Moved "bad words" filtering from server side to client side
- Fixed running when turning/strafing
- Made mouse sensitivity options have some effect.

*** 2004-10-18 by Andrew Robberts
- Added patch by Trent Waddington to allow for static sizes of paws windows
  (not resolution independent).

*** 2004-10-18 by Andrew Robberts
- Added ability to move position mesh
- Added sound effect obj
- Added collision buffer to camera
- Removed bad client/camera dependency in effects
- Fixed some hitbeam/tracebeam problems in pscamera
- Fixed some bugs in camera
- Added framework for star/explosion flair effect element
- Added framework for swipe/swoosh (ie, sword swooshes) effect element
- Fixed some problems with effect element colour and alpha
- Fixed a problem with the loading of effect keyframes
- Improved the performance of effects
- Added the ability to load a mesh object for the position indicator in eedit
- Did some code cleanup on eedit
- Fixed the File Navigation window in paws

*** 2004-10-16 by Keith Fulton
- Submitting new and improved mouselook from Trent Waddington (QuantumG).
  Now cursor switches to crosshairs to indicate the mode.  Also the context
  menu clears mouselook mode now.  Thanks Trent.

*** 2004-10-16 by Andrew Craig
- Fixed problem of settings windows X button not working.  Was due to incorrect
  name of the close button.

*** 2004-10-16 by Andrew Dai
- Prevented CD being performed on NPCs on spawn.
- Added a PruneEntities() function to remove actors moving near terminal velocity
  to improve performance.

*** 2004-10-15 by Ondrej Hurt
- Applied patch by Tanguy Gilmont (Cadripper) that adds logging of chat,
  smarter coloring and tab flashing
- Changed psString::ReplaceAllSubstrings so that it accepts constant strings.
- Fixed the CVS boxman cal3d model (changed "dwarf.cal3d" to "stonebm")
- Added function that generates XML from tree of iDocumentNodes.
- Fixed typo in "The server is up but not fully ready ....."

*** 2004-10-14 by Andrew Craig
- Fixed cfg files based on patch from James Gregory as well as looking
  in the wrong place for the paws_generic XML file.
- Added a 'New' button to the petition window so you can enter a new petition
  from this window in the popup box.
- Fixed some of the chat.xml to make the text behave a bit better durning a resize.
- Reset group member count to 0 after leaving group.
- Fixed buddywindow not staying hidden. Now /buddylist shows the window and
  sends a message to the server requesting current buddies.  So removed /buddylist
  command on client connect.
- Now sends system chat message when group disbanded by leader

*** 2004-10-13 by Andrew Dai
- Added a give icon and player description icon when right clicking on
  NPCs.
- Reduced the buy and sell icons to a single buy/sell icon for merchants.
- Removed picklock icon on unlockable items.
- The interact popup can now be closed by clicking outside it.
- Partially fixed CVS imagelist.xml so the GUI graphics appear again.
- Added a warning in case of missing GUI graphics.

*** 2004-10-12 by Christian Svensson
- Fixed not umounting zip on the end of update

*** 2004-10-12 by Keith Fulton
- Committing patch to remember which server you selected last on the
  connect window, the next time you run the client.  Thanks to Christopher
  Kings-Lynne for this.

*** 2004-10-11 by Christian Svensson
- The updater shouldn't umount every zip if the next is in the same zip

*** 2004-10-11 by Keith Fulton
- Added disallowed_words support to triggers.  These words are skipped when
  building the dictionary and removed from the underlying triggers.  See examples
  in npc_triggers and npc_disallowed_triggers for how it works.

*** 2004-10-11 by Andrew Craig
- Fixed some issues with some /commands not opening windows correctly.
- Fixed missing ignore.xml causing failure to load.
- Made pawsMultilineTextbox reset to first line on SetText()
- Fixed equipping items in wrong hands.  Because the models had to be rotated
  180 the socket lefthand is actually the socket righthand.
- Fixed bug with boots not checked to see if item can be placed there.

*** 2004-10-10 by Ondrej Hurt
- Added possiblity to attach and detach scripts to a character. They will be called
  when character hits or is hit.
- Better error handling of spells with nonexistent progscripts.
- Operation StatsOp can be specified as temporary - it will undo the changes after
  requested time interval.
- Added operations to change attack value, defense value, HP regen rate, attach and detach
  scripts that will be called when character hits or is hit.
- Added ShowDetailsOp operation that shows full details of a character to another client.
- These progscript changes are work in progress.
- Fixed typo in psCharacter method name.
- Added missing SetLocInParent() call in psCharacter::EquipItemInSlot()

*** 2004-10-10 by Keith Fulton
- Fixed quests to be assigned by name, not id, in npc <assign> commands.
- Fixed <exp> tag not to assume combat exp allocation.
    Use type="allocate_dmg" for this behavior, or just nothing for direct assignment.
- Fixed dr msg handling in PaladinJr and ServerDR to not crash.
- Fixed param0-2 passing from npc scripts to prog scripts.
- Took out several printfs from the server console.
- One small improvement to client loading error checking.

*** 2004-10-10 by Andrew Dai
- Disabled PalJr by default.
- Fixed a memory leak when PalJr was disabled.

*** 2004-10-07 by Keith Fulton
- New ability to pass params from npc response scripts to progression math
  scripts.  Now <run scr="scriptname" param0="2" param1="3" param2="4" />
  will pass Param0, Param1, and Param2 with those values into the named
  event.
- Also, now actor and target variables support :KillExp, which returns that value
  from the Kill_Exp column of the Characters table.
- Added GetSimple to ExchangeManager for Npc triggers to use simpler xml.


*** 2004-10-07 by Christian Svensson
- Added resize possebility (finally) to the toolbar
- Bumped the net version for recent chardata changes

*** 2004-10-06 by Andrew Mann
- Midnight and noon are now displayed as 12 o'clock instead of
  0 o'clock.  Partially resolves bug #58.

*** 2004-10-06 by Andrew Craig
- Added ZODIAC character creation details to the creation manager on
  the server to link them to creation events.

*** 2004-10-06 by Christian Svensson
- Added a /buddylist to startup to request the buddylist
- Fixed a few compile errors in MSVC

*** 2004-10-06 by Daniel Fryer
- Fixed psStatDRMessage to be endian safe.  Constructor now takes a
  psCharacter as a parameter
- Fixed compile problem on macosx - size_t is unsigned long, not unsigned
  int, and the compiler complains.  Fixed cast in progression mgr.

*** 2004-10-06 by Jorrit Tyberghein
- Fixed compile error in pawsselector. How could people compile
  this???

*** 2004-10-05 by Christian Svensson
- Added failsafe to control.xml

*** 2004-10-05 by Andrew Mann
- Fixed crashes due to incorrect array handling in sound manager.

*** 2004-10-04 by Andrew Craig
- Fixed bug with not sending greet animations to players. Now
  sends a text message to those in SAY range and animation to those
  in your players PROX list.

*** 2004-10-04 by Christian Svensson
- Fixed/Added last_login and last_login_ip
- Fixed randomize button on childhood screen
- Fixed compile error in MSVC
- Fixed multiple new guild textbox windows
- Added autofocus if you change message type in the chat window

*** 2004-10-04 by Andrew Mann
- Changes to sound system to handle cross-sector sounds.
  - psMapSoundSystem now maintains a list of active sounds.
    Playing songs and ambience sounds are considered active, and
    emitters that are audible when first entering a sector in addition
    to all emitters (audible or not) in the sector you are in.
  - Updates to position and time are no longer passed through the
    psSectorSoundManager since psMapSoundSystem now knows just which
    sounds need processing.
  - Fixes: Ambience and Song sounds that exist in two adjacent sectors
           are not cut off when entering another sector where the sound
           should not play in some cases.
  - Fixes: Emitters do not stop playing in some cases of sector traversal.

*** 2004-10-04 by Andrew Craig
- Changed how stats/skills are stored in the pscharacter class. They are now
  in one array each and you use
    GetStat( PSITEMSTATS_STATS id, withBuff=true )
    GetSkillRank( PSSKILL id, withBuff=true )

    where withBuff tells if it should give the final value with all buffs applied
    or just the base value.
- Removed the calls like GetBaseStat and fixed those things that called them.
- Fixed Progression operations to use BufferStat/BufferSkill character calls
- Added a new buffer="yes/no" attribute to the syntax for SkillOps to tell if the
  skill should be buff'd or base adjusted.
- Also there is some floating -> integer changes so will have to watch out to
  make sure there are no problems there.
- Fixed a invalid message creation size in psLifeEvents message. Fixed by
  using a runningSize counter to get the correct size of the message to create
- Added summary stats/skills section to the summary window.  This is done by
  sending all the data to the server to calculate the final results and sending
  them back to the client using the new psCharVerificationMesg.


*** 2004-10-03 by Andrew Mann
- Fixed NULL ptr deref when traversing from a sector with sound
  properties to a sector without.
- Fixed pssoundmanager so that it no longer halts all sound.xml
  parsing when a single resource fails to load.

*** 2004-10-03 by Ondrej Hurt
- Added code that teleports people from DR to hydlaa. Completely
  hardcoded for now, we can design more general system later.

*** 2004-10-02 by Andrew Mann
- Added override configuration directives for crash dump prompting
  and dump type (windows client only).
  - Planeshift.Crash.Action may be "prompt" "off" or "always"
  - Planeshift.Crash.DumpType may be "normal" "detailed" "full"
    "nthandles" "filter" or "scan"
  - Default is Prompt, Normal
  - A normal dump contains stack, backtrace and basic loaded module
    information.
  - A detailed dump contains data segments associated with modules
    at load time (global variables and static class member variables)
  - A full dump includes the entire program memory in use, including
    any objects allocated on the heap.  This dump will be large but
    may be useful for debuging obscure problems.
  - A nthandles dump includes information about system handles at
    the time of the crash (NT/2K/XP only). This will probably not be
    usefull.
  - A filter dump will be smaller than a normal dump but will strip
    out any stack and backtrace data not involved in the call stack.
    This will give just a list of what functions were called in what
    order (with linenumbers - as a function of the PDB processing).
  - A scan dump will scan the stack and backtrace data for references
    to modules and mark those modules as referenced.  The debugger
    may be able to use a scan dump to reconstruct a backtrace from
    a mangled stack (unsure about this).
- Fixed the date in dump files to include the month as 1-based so
  dumps stop looking like they're a month old :)

*** 2004-10-01 by Andrew Mann
- Updated the sound system to set the head size and rolloff factor
  properties of the sound listener, and use the new maxdistance and
  mindistance properties of sound sources.

*** 2004-09-31 by Ondrej Hurt
- Fixed that HP and mana progressbars in group window were set
  to total numbers instead of percents, in other words
  full bar meant 100 hp, instead of 100% hp.

*** 2004-09-30 by Ondrej Hurt
- psGEMEvent dtor was not calling gemObject::Unregister()
  when psGEMEvent::valid was false. This caused that after deleting
  psGEMEvent instance, some GEM object could be still referring to it
  and server crashed. (this was happening with PendingInvite)
- Avoided server crash when attempting to send guild notifications
  to client which had them subscribed but was not in any guild.
- More than one guild notifications per client cannot be subscribed now.
  I hope this could fix that client without guild could be subscribed,
  but I am not sure because I failed to reproduce it.
- When client connects to game, it sends /who instead of /online
- Removed/commented out some unused stuff in releaselist.xml
- Added aliveness checks to most player actions.
- Added possibility to show all stats in description of a character
  (this will be used in spells)
- Changed the message that is sent to client when it connects with
  wrong password from "Your user id and password were not correct.
  Please restart and try again." to "Incorrect password."

*** 2004-09-29 by Ondrej Hurt
- Fixed Petition windows that were crashing when you clicked on the
  "no petitions" row.
- You can no longer open credits screen after clicking on Connect
  in login screen (it remained open and was obscuring view).
- Removed that annoying message "you fell down and injured yourself".

*** 2004-09-28 by Christian Svensson
- Fixed non hiding credits screen if you connected while looking at the credits

*** 2004-09-28 by Ondrej Hurt
- Fixed that server wasn't regenerating hp,mana and fatigue after player
  died and resurrected again.
- Fixed Group window: Invite button was obscured by the member list and
  could not be pressed.
- Fixed Life event window crashing on invalid data sent from server
  (when life events reference other life events which do no exist)
- Fixed WidgetConfigWindow - manipulating with scrollbars there caused
  infinite recursion.
- Submenus of chatwindow context menu could not be opened.
- Quest notebook: changed button label from "cancel" to "reload".
- Characters in the character picking screen are sorted by id now.
- Bad word filter: a) made case insensitive
                   b) won't transform "compass" to "compa$@" etc.

*** 2004-09-28 by Christian Svensson
- Added a options window for the chat
- Updated the project files for MSVC7.1

*** 2004-09-27 by Andrew Craig
- Bullet proofed the character customization loading to prevent crashes
  on missing data.
- Slowed down left and right strafing

*** 2004-09-27 by Christian Svensson
- Added dummy values to the CVS skills sql that prevented it to be imported
- Replaced "You're not in any guild" message on loading with an empty one

*** 2004-09-26 by Ondrej Hurt
- Improved Life events window layout.
- Fixed that positions of buttons in pawsSelector were not scaled
  according to screen resolution.

*** 2004-09-26 by Andrew Robberts
- Fixed a problem in Binary Tree

*** 2004-09-25 by Ondrej Hurt
- Added HP/mana/fatigue progressbars to Skill window.
- Fixed widget positions in Parents screen and Childhood screen.
- Client no longer crashes when unloading map that contains entity
  without assigned mesh.
- Similar crash fix for entity labels.
- Fixed that you could get more that 100 CP in char creation.
  You could reset available CP points to 100 by selecting a different
  race but keep the advantages that you had already bought before.
- Fixed invisible background of Credits screen.

*** 2004-09-24 by Keith Fulton
- Minor NULL protection fix in progression events.
- New update to MSVC compile doc from Mike Gist (Xordan).  Thanks Mike.

*** 2004-09-23 by Daniel Fryer
- Added the ability to read books (for now using ordinary /examine,
  later we can add /read).  Uses ugly window.  Only uses item description
  field, later we can add new database structure or file to load from.
  A test book was added to npcroom, looks suspiciously like a mug.

*** 2004-09-21 by Keith Fulton
- MathScripts now have some support functions which enable them to be
  shared and have their vars copied across scripts.  Spells use this to
  propagate spell variables into progression scripts.
- Progression Manager can now define variables in Mathscripts used inside
  prog script operations, and share between subsequent ops in the same
  script.  They can be printed as well.
- Changed spells to use new progression script variable system instead of
  changing the text of the spell and reparsing each time.

*** 2004-09-21 by Andrew Dai
- Added import/export of whole quest dialogs capability to psserver.
- Disabled import/export of queststeps.

*** 2004-09-21 by Jorrit Tyberghein
- Fixed some VERY stupid bugs in the chat manager bad word filter:
    - while (X) { ... } while (Y); is a very strange while construct.
    - strncpy does not null terminate the string it copies! This could
      potentially have bad results.
    - the code was doing strncpy() with len 2048 even if the source
      string was smaller. This could potentially read into unallocated
      memory and cause a crash on some systems.
    - the code was calling strlen a LOT for every bad word. Even if that
      is totally not needed since the words are csString and the length
      is already precalculated.

*** 2004-09-19 by Thomas Towey
- Added check to not display negative stack count which indicates item owned by other player.
- Added support for generic transformations which allow one transformation to be defined for multiple quanitities.

*** 2004-09-19 by Ondrej Hurt
- Skill indicators in skillwindow made prettier - added color gradient.
- Fixed positions of stats in skill window.
- Added attack value, defense value and defensive damage modifiers
  to psCharacter.

*** 2004-09-19 by Keith Fulton
- Fixed bug in slot indexes.  This was part of the crash on bringing up the
  inventory window.  The other part is that the inventory window does not have
  a bothhands slot, while the slot table does.  This results in 1 uninitialized
  slot record in the inv window slot array, which causes the crash.
- Changed progression scripts to use mathscript formulas instead of the
  op based structure Anders invented.  Still not 100% done because vars
  cannot be saved between ops yet.
- Added a bunch of comments to how math scripts work.  Minor enhancements.
- Two small fixes to spells and training ops.

*** 2004-09-19 by Andrew Craig
- Battle music now causes map sounds to fade down.  At the end
  of battle map sounds fade back up.

*** 2004-09-19 by Christian Svensson
- Added <critical><file path="libcurl.dll"/></critical> to the updater
- Removed flood from npc talking
- Updated the <train> response. Now it's <train skill="Skill"/>
- Moved PowerLevel and ManaCost to rpgrules.xml
- Fixed a server crash if you picked up an object but failed

*** 2004-09-19 by Daniel Fryer
- Added NOPICKUP flag for items, prevents player from picking up an
  item.  Also fixed item loader to load glyph purification status.

*** 2004-09-18 by Christian Svensson
- Added more debug output when a widget fails to load in the updater

*** 2004-09-16 by Christian Svensson
- Added support for passworded dirs to the updater
- Fixed that the updater server added "used" to the repository xml file

*** 2004-09-16 by Andrew Dai
- Converted importnpc/exportnpc to use iDocumentSystem.
- Fixed bugs in importnpc/exportnpc and importdialogs/exportdialogs.

*** 2004-09-15 by Christian Svensson
- Made the removal bit in the file identifing code a bit more trustworthy
- Removed the merchant buttons if the merchant is dead
- Added some debug output in the practising system

*** 2004-09-15 by Andrew Dai
- Fixed so importnpc/exportnpc now recognises genderless npcs.
- Fixed an error in importnpc when importing factions.
- Fixed a bug in npc dialog exporting.
- Other importnpc/exportnpc fixes.

*** 2004-09-15 by Andrew Craig
- Fixed problem with ambient sounds not fading out after leaving a sector
- Added LoadLogSettings to the client and sound manager so the client can
  also turn on and off different log streams.

*** 2004-09-14 by Andrew Robberts
- Fixed comment in pawsSpinBox.
- Extended eedit to add effect position indicators and selection.
- Moved Rhad's file navigation widget to the paws lib.

*** 2004-09-13 by Christian Svensson
- Added more info to the crash dumps filename, now it's
  PlaneShift_<user>_<time>.dmp (Note: If the crash is in the menu, the user
  is NoBody)
- Fixed a server crash if a inventory item had NULL in location
- Added ds3d as a sound renderer and added a Stream buffer value box

*** 2004-09-13 by Daniel Fryer
- Fixed crash when clicking the "beard" button in the char creator when
  using female stonebreaker.  "lastAddedBeardStyle" was uninitialized.

*** 2004-09-12 by Ondrej Hurt
- Fixed deleting of GEM objects in npcclient
  (it was crashing and not deleting everything).

*** 2004-09-12 by Andrew Craig
- Fixed a bunch of mesh name issues.   Change the name of the factories to
  follow this standard:
  dirname#dirname#filename

  so for example sword.spr in weapons.zip would be:
  weapons#sword

  This MUST be the name of the meshfact in the .spr file as well.

- Changed the database common_strings to go with this so UPDATE DATABASE.

*** 2004-09-12 by Andrew Dai
- Disabled mid-air acrobatics, in line with the change in CEL.
- Fixed an equipment issue in importnpc.

*** 2004-09-12 by Christian Svensson
- Fixed a resize issue in the toolbar
- Fixed missing image in releaselist.xml
- Now flushing the network instead of waiting for it to send the quit msg
- Added a missing RegisterFactory call to the skill indicator
- Hack to the skill indicator to fix overflow in width
- Did some very small moving and made the first letter in
  the settings window uppercase

*** 2004-09-11 by Ondrej Hurt
- Skill window:
  - shows skill rank
  - shows gained Y points as green bar
  - filter of untrained skills works
  - improved position+size of character doll

*** 2004-09-11 by Daniel Fryer
- Committed ability to specify a transform (translation/rotation) for an equipable
  item.  To do this, you add the xml tag <key name="socket_(some socket name here)"
  value=" (some values here)" /> to the mesh file.  The format of the value string
  is comma separated floats, in the order x_translation, y_translation, z_translation,
  x_rotation, y_rotation, z_rotation.  Rotations are applied in the xyz order.
  For example: <key name="socket_righthand" value="0.0,0.1,0.0,-0.14,0.0,0.45" />
  would apply some weird transform if the item was equipped in the right hand.

*** 2004-09-10 by Andrew Craig
- Work on the skill progression system. Removed a lot of old code/functions
  that were not being used.  Made a couple of small API changes so I hope
  nothing is broken.  Mostly GetBaseSkill was replaced by GetSkillRank(). Still
  some more clean ups to do but it is a working system now.
- Requires a DATABASE UPDATE!

*** 2004-09-10 by Ondrej Hurt
- Fixed server crashing when mathscripts of spells lacked required variables.
- Fixed missing image of "eye" icon.
- Added graphical indicator of skill status to skill window.
- Adapted skill window to new GUI images. (but the image is not 100% correct)

*** 2004-09-10 by Christian Svensson
- Fixed server crash on invaild script in npc_response
- Switched the left and right hand in the inventory screen
- Commited some forgotten files regarding the attack interact button

*** 2004-09-10 by Daniel Fryer
- Fixed thread termination problem with pinger that surfaces under MacOS X.
  Pinger now dies a more natural death.

*** 2004-09-09 by Andrew Dai
- Fixed importdialogs crashing.
- Changed the order in which client DR updates are sent to provide more accurate
  updates.
- Fixed a potential buffer overflow in importnpc, and other potentially disastrous
  buffer overflows.

*** 2004-09-09 by Ondrej Hurt
- Adapted Buddy, Detail, SpellCancel and YesNo windows to new GUI images.
- Fixed server crash when client goes linkdead.
- Fixed that standard window close buttons were not visible.

*** 2004-09-08 by Andrew Robberts
- Reduced memory usage of effects and cleaned them up a bit.

*** 2004-09-07 by Andrew Craig
- Added ability to specify mesh for sound.xml files inside the map files.
  Used inside the emitter tag like MESH="name_of_mesh" will attach the sound
  object to that object. The sound.xml in art/world/ shows an example.

*** 2004-09-06 by Luca Pancallo
- Fixed some bugs in importnpc and exportnpc

*** 2004-09-05 by Andrew Craig
- Fixed sound problems when crossing sectors that play the same background
  music.  It restarted the same track and had bad clicking sounds.

*** 2004-09-05 by Luca Pancallo
- Serverconsole: fixed assign quest
- Serverconsole: added player lockout, quest lockout
- Serverconsole: made editing of quests possible

*** 2004-09-04 by Keith Fulton
- Fixed bad direction finding between waypoints not on horizontal plane.
- Made npc interpolate Y coord linearly between non-horizontal waypoints.
  This makes range-finding work better when npcs are interrupted on a hillside.

*** 2004-09-04 by Ondrej Hurt
- Fixed pawsWidget::FindWidgetXMLBinding() inappropriately complaining
  about binding not found.
- Adapted Quest window to new GUI images. (including removal
  of Quest view window and embedding the text to the main Quest window)
- Fixed crashes in GM Petition window when you clicked on buttons
  without having a petition selected.
- Improved structure and names of releaselist.xml.

*** 2004-09-04 by Andrew Dai
- Added capability of importing/exporting items from/to NPC XML files.

*** 2004-09-03 by Ondrej Hurt
- Adapted Group window to new GUI images.

*** 2004-09-03 by Keith Fulton
- Fixed bug where npcclient was getting multiple copies of the same entities
  when they went in and out of anyone's proxlist range.

*** 2004-09-03 by Luca Pancallo
- Serverconsole: added invulnerable and kill_exp
- Serverconsole: fixed the display of triggers/attitudes

*** 2004-09-03 by Andrew Dai
- Added capability to the exportdialogs command for exporting dialogs based
  on questid.

*** 2004-09-02 by Ondrej Hurt
- Adapted Info window to new GUI image.
- Adapted Spell book window to new GUI image.
- Fixed that <frames> of listbox column definitions were ignored.
- When a listbox has title row, then the top coordinate of the vertical
  scrollbar equals to the top coordinate of the first non-title row.
- Adapted Petition and Petition GM windows to new GUI image (including removal
  of Petition view window and embedding the text to the main Petition window)
- Replaced function itoa() - not ANSI standard and not available in linux

*** 2004-09-02 by Christian Svensson
- Added kill experience points
- Fixed a logic error in the dmg history
- Added an attack button to the context menu

*** 2004-09-02 by Andrew Dai
- Removed many obsolete CS_QUERY_REGISTRY entries for iPSEngine since
  psengine is now global on the client.
- Made importnpc and exportnpc compatible with the new npc file format.

*** 2004-09-02 by Luca Pancallo
- Fixed importnpc (still issues present)
- Fixed exportnpc (still issues present)
- Serverconsole: fixed trainer skills functions
- Serverconsole: added merchant capabilities functions
- Serverconsole: replaced spaces with %20 in many urls calls while
  editing an NPC. It should make names like "Rabartus Livrandar" work.

*** 2004-09-02 by Jorrit Tyberghein
- Fixed a bug in the entity labels where they would use a material name
  based on the first row of text set in the entity label. This would
  occasionally match the name of a real texture (like one for a cal3d
  model) and in that case the model texture would be overwritten. Fixed
  by prepending 'matlabel_' in front of the entity label material
  name (and texture).
- Crystal Space has a new csColliderHelper::TraceBeam() function which is
  considerably faster then iSector->HitBeamPortals(). Changed the psCamera
  to use this now in third person mode. Should speed up fps a bit in
  case the camera is close to some high-poly model.

*** 2004-09-01 by Ondrej Hurt
- Fixed /graphicbug command that was sometimes returning string located
  in invalid part of memory.

*** 2004-09-01 by Andrew Dai
- Fixed psServerPinger causing thread conflicts.

*** 2004-09-01 by Jorrit Tyberghein
- Added a Jamfile for partview.
- Fixed lots of compile errors in partview. Seems very outdated code
  indeed. Still crashes though.

*** 2004-08-31 by Andrew Dai
- Added a remember password option on the login screen.
- Improved error message on missing mesh a bit.
- Made labels on checkboxes default to the right-hand side.
- Made pawsEditTextBox return a 'safe' C-string by default.

*** 2004-08-31 by Jorrit Tyberghein
- Changed npcclient to use OPCODE instead of RAPID. This improves
  speed of npcclient a bit.

*** 2004-08-31 by Andrew Craig
- Fixed an issue with the sound manager not playing music in the opening
  screens.

*** 2004-08-30 by Ondrej Hurt
- Bound the Enter key to chatwindow focus. Press f1 to toggle visibility,
  enter to toggle focus. Hopefully this will stop the endless
  chatwindow whinning ;)
- Added some border space to borderless pawsMessageTextBox so that it does
  not sometimes horizontally clip part of the last text line.
  I think this is probably small bug in font rendering: it draws text
  a few pixels lower than requested.

*** 2004-08-30 by Jorrit Tyberghein
- Removed leak guard in psMaterialUtil again since it seems to cause
  linking errors now.
- Fixed a crash in the chatwindow where it would try to do completion
  on an empty string.

*** 2004-08-30 by Andrew Dai
- Improved fatal error handling when a quit info box is displayed. Now,
  the connection is severed as soon as the box is shown to minimise bad
  messages to the server.
- Improved error handling when a sector is missing from zoneinfo.xml
- Added feature requested in #1008503 bug tracker. Chat window will now show
  itself on recieving system messages and shift focus to the correct tab.
  on eg. the say command at the server console

*** 2004-08-29 by Keith Fulton
- Fixed allow_return flag on waypoints in npcclient and improved debug reporting
  for that.
- Fixed bug on debug="no" in npcdefs.xml file.
- Improved error reporting on client when zoneinfo.xml and maps are not
  in sync.
- Added ability to delete and reload a window from xml.  This makes it easier
  to reskin a window because you can edit the xml multiple times and not have
  to restart psclient each iteration.  It is fragile and not intended to be used by
  players, or even to be permanent code.  You may have to close and reopen
  the window after reloading to get the data to repopulate.  Ctrl-Alt-Click the
  window to delete and reload it.

*** 2004-08-28 by Ondrej Hurt
- Reverted my chatwindow change 1.28 - the F1 key simply toggles chatwindow
  visibility now.
- Fixed crash when saving shortcut definition in shortcutwindow.
- Fixed overlapping widgets in chatwindow (chat text and inputbox)

*** 2004-08-28 by Christian Svensson
- Added read only support for the updater
- Made the updater not remove files from unused modules

*** 2004-08-27 by Ondrej Hurt
- Added path symbol images to game.
- Characters can now climb obstacles 0.7m tall instead of 0.4m
- Changes of money of characters are automatically saved to DB.
  Removed all calls to SaveMoney().
- Added more failure checks to drag&drop code.
- Added check that prevents puting item A to container B when
  A=B or B is (possibly indirectly) contained in A.
- Fixed that if you tried to put container into itself or to unknown
  container or to unknown exchange, it disappeared.
- Fixed that if you tried to inspect a container that was contained
  in another container, the game showed something else.

*** 2004-08-27 by Keith Fulton
- Added flag allow_return to waypoint definition.  This flag keeps the npc
  from going back the way he came unless there is no other choice.
- Also waypoints now allow their y-coord to be overridden by the y coord of
  the npc.  In effect, this allows CD to control the height of the character,
  such as going up stairs and allows waypoints to be less accurate.

*** 2004-08-26 by Andrew Craig
- Big changes to the sound system.  Sounds can now be defined on a per map zip
  file bases as a sound.xml file inside the zip.  Basically allows to specify
  the background/ambient/3d sound effects for each sector in that map.zip.
  The example sound.xml in the art/world directory should be placed into the
  npcroom.zip file ( I did not place it in the .zip because it will be a pain
  to have to update the zip file for every change made ).

 -This is the first version of this sound system and future improvements will
  be to trigger sound changes on time of day and weather.  As well as proper
  delays between tracks.

- Fixed: [ 1017137 ] Right click in any window causes crash. Was looking in
  the wrong place for the xml files.

*** 2004-08-26 by Jorrit Tyberghein
- The Bug, Debug, Error, Warning, and Notify macros now also send
  a message to CPrintf (but with logging to file only) in addition to the
  reporter. This ensures that we get to see all output in the log.
- Fixed a bug in paladinjr.cpp where 'abs' was used for floating
  point values. Please don't do that! 'abs' is 'int' only and will cause
  truncation of floats.
- Added a message class parameter to CPrintf. The following classes are
  possible:
    - CON_CMDOUTPUT: this is used for all output from server or npcclient
        commands. It should usually always be displayed.
    - CON_BUG: use this for very critical situations. This is usually a bug.
    - CON_ERROR: this is an error of some sort.
    - CON_WARNING: something suspicious but not that critical yet.
    - CON_NOTIFY: an important thing to tell.
    - CON_DEBUG: not important, only there for debugging stuff.
    - CON_SPAM: same but typically used when a high volume of output is
        expected so you can disable this kind of output seperatelly.
  When you use the existing macros: Bug[x], Notify[x], Error[x], Debug[x], and
  Warning[x] then CPrintf will be called with the appropriate message class.
  The big difference between (for example) Error2() and CPrintf(CON_ERROR) is
  that in the first case the error will also be reported on the standard
  reporter (which means it can become visible for the user if that's
  enabled).
- Scanned all CPrintf's throughout PS and guessed a reasonable value
  for the message class for all of them. Possibly I made a mistake here
  and there but it should be roughly ok.
- Added two new commands to the server and npcclient so that you can control
  the maximum message class that is outputed on both standard output
  ('setmaxout' command) and the optional output file ('setmaxfile' command).

*** 2004-08-25 by Ondrej Hurt
- Fixed that /attack didn't work and server was sending text messages
  containing memory garbage.
- Modified quest reward window so that it fits its background image.
- Modified glyph window so that it fits its background image.
- Fixed that you could log in more than once at the same time.

*** 2004-08-25 by Keith Fulton
- Fix to psMessage->GetSize() to clarify symmetrical calls.
- Fix to bounds checking of adding elements.
- Renamed some elements and classes to clarify what classes do what in
  networking.
- Added GetType and SetType accessors for MsgEntry, to hide psMessageBytes
  code and to plan for endian-correctness if we end up needing it there.
- Also committed Area of Effect patch from new contributor Michael Cummings
  (Borrillis).  Thanks Michael.

*** 2004-08-25 by Jorrit Tyberghein
- Fixed updater for recent move of gui's.
- Changed psSpell::Effect() to use 'fabs' instead of 'abs' for calculating
  the effect radians. 'abs' is int to int only and will not work correctly
  for floats.
- Changed all 'printf' in the server and npcclient to 'CPrintf' to make it
  easier to have server output logged to other files.
- Separated the CPrintf() function from the ServerConsole (placed in
  ConsoleOut class) so that modules besides server and npcclient can also
  use that function. Mostly the modules in src/common/util.
- Changed all printf in src/common/util to use CPrintf too.
- Added the ability to set an additional output file where all CPrintf output
  will be logged.
- Added a commandline option -output to the server so that you can specify
  where output will be logged. Also added an -append option which is similar
  but will allow appending to an existing log file.
- Added a similar commandline option to the npcclient.

*** 2004-08-23 by Keith Fulton
- Moved all gui xml files to /data/gui instead of /data.
- Updated chat window to use beautiful new gfx from Nanaki.
  Release files are on laanx in updater area.

*** 2004-08-23 by Jorrit Tyberghein
- Changed all csRef<iObjectRegistry> into iObjectRegistry*.
- Changed partview and pssetup to use OpenGL instead of software.
  NR software is too unstable to use.
- Added several leak guards through PS in an attempt to fix leaks
  in PS too.
- Fixed two cases in PS where objects were assigned to csRef's without
  casting to csPtr first (or using AttachNew).
- Avoided some CS_QUERY_REGISTRY of iEngine in a few places. Lots
  more needs to be done though. CS_QUERY_REGISTRY is slow and to
  be avoided at all costs (except in init code)!!!

*** 2004-08-22 by Keith Fulton
- Added quest assignment/already completed check to quest award responses.
  The <complete> tag must be the first tag in the response script now.

*** 2004-08-20 by Ondrej Hurt
- Changed both petition windows to fit their background images.
- Default distance clipping mode is the fixed mode now, instead of adaptive.
- Fixed adaptive distance clipping: minimal distance wasn't applied.
- Fixed multiline pawsEditTextBox: when user entered enough text
  and the scrollbar showed up, both text and cursor disappeared.

*** 2004-08-18 by Ondrej Hurt
- Fixed Ignore of players: removed unnecessary code that should have zero
  effect in theory, but that failed in practice because of bug
  in csString::operator=()
  (assigning string to itself causes that its contents is deleted)
- Shortcutwindow saves the shortcuts definitions immediately after user
  changes them, not at client shutdown.
- Skillwindow: changed form of displaying stats from x(y) to x/y
  because it is smaller and thus easier to fit it inside the window
  background gfx.

*** 2004-08-18 by Keith Fulton
- NPC can now assign from up to 5 different quests randomly from the same
  trigger.  See "can bring you" example in npc_responses table for example.
  NPC also validates that no other quest is active for the same NPC, so multiple
  quests from the same guy cannot be active at the same time.  This avoids
  several stupid outcomes in-game.
- Moved code out of psDatabase for copying npc.
- Changed /npc command to not require npc name specification.  Now
  master npc to copy should be targeted.
- Added new npc net notification to superclients.  This allows the superclient
  that owns the master npc to create and take control of the new one.  (That
  control is not yet implemented.)

*** 2004-08-18 by Andrew Craig
- Added patch from Michael Cummings that starts work on Area of Effect spells.
  Update your database to have 2 AoE spells to try out.

*** 2004-08-18 by Jorrit Tyberghein
- Artificially scaled the bounding boxes of actors 70% so they can move
  more easily in cramped spaces.
- Speed up loading of levels in psserver by using xmlread there too (pslient
  was already using that).
- Fixed key handling in psclient by renaming the keys in
  data/options/keys_def.xml to lowercase.
- Changed the default custom resolution to 1280x960 (instead of 1280x1024)
  since 1280x960 preserves the correct aspect ratio that is needed for nice
  looking window definitions.
- Fixed an uninitialized variable in PawsManager (timeOver) as reported
  by valgrind.

*** 2004-08-16 by Jorrit Tyberghein
- Added a call to PrecacheDraw() every time a region is loaded. This
  greatly reduces the appearance of 'lag' during playing because all objects
  are already precached. Results in much smoother gameplay experience.

*** 2004-08-15 by Andrew Craig
- Added ability to get the "General" time of day as morning/afternoon/etc.
  This can be useful for things that trigger off a general time of day like
  different background music.
- Added ability to get the current weather conditions for same reason.
- Cleaned up a couple of compile warnings.

*** 2004-08-14 by Christian Svensson
- Added a spawn interface for GMs (/spawn_item)
- Fixed a overflow in psGUIInventory message
- Added some sounds to the GUI

*** 2004-08-13 by Jorrit Tyberghein
- Made the login button visible again because it doesn't appear to
  become visible even if I select a character.

*** 2004-08-12 by Andrew Craig
- Hide the "Join Game" button if no characters to pick from yet.

*** 2004-08-12 by Jorrit Tyberghein
- Fixed PS for the latest key def changes in CS.

*** 2004-08-12 by Keith Fulton
- Added new quest functionality for lockout periods.  Player lockout determines
  the time during which the same player cannot receive the same quest.
  Quest lockout sets the time during which no one will get the quest again.

*** 2004-08-12 by Andrew Robberts
- Fixed a bug with camera going through warping portals
- Removed some superfluous functions from the camera
- Basic camera cleanup

*** 2004-08-09 by Jorrit Tyberghein
- Fixed a crash bug in pawsMultiLineTextBox::OrganizeText() in case
  the text to organize started with a newline.

*** 2004-08-09 by Christian Svensson
- Added "Launch PlaneShift" button to the updater
- Added normalization to names in char creation
- Added ability to ban names
- Changed Cam CD to on by default
- Fixed the birth screen image's pos
- Fixed the birth zodiacs pos

*** 2004-08-08 by Andrew Craig
- Fixed 3D sound fade in and fade out volumes.  Also reduced the update
  time for these sounds to be updated.

*** 2004-08-08 by Christian Svensson
- Added shared exp in group combat against NPC

*** 2004-08-08 by Jorrit Tyberghein
- Fixed the psCamera class to recursively set invisibility for the actor
  mesh and all children. That way items an actor is holding are now invisible
  in first person mode as was intended.

*** 2004-08-07 by Keith Fulton
- Committing patch by new contributor Read Bixby, which fixes the situation
  of changing targets not having any effect while in combat mode.
- Committing a patch from Seth Yastrov for tab-auto-complete of player names.
  The complete list is built dynamically based on your buddy list, guild list,
  group list and people who send you tells.

*** 2004-08-07 by Ondrej Hurt
- Fixed server crashes when you tried to cast spell without having
  target selected or when mathscript of spell failed to load.
  Improved textual messages sent by server a bit.
- Fixed bugs in saving of items into database.
- All item modifications are saved automatically now. This can be temporarily
  disabled by new method psItem::EnableSaving(). Every nonprimitive item
  manipulation now costs several updates in database. When this will become
  an issue, we can implement a save queue that will merge several updates
  into one.

*** 2004-08-05 by Ondrej Hurt
- Adjusted layout of Spellbook, Quest window, Quest edit window
  and Skill window so that they correspond with their window backdrops.
- Returned color of guild chat text to the old dark blue, which is more
  visible on the real chatwindow background image.
- Added XML attribute "margin" to pawsWidget. Only pawsListBox uses it now.

*** 2004-08-04 by Ondrej Hurt
- When you exited client then those windows that were open were automatically
  open after you started it next time. This is not appropriate for many windows,
  some of them can even crash, so I changed client so that it keeps them hidden:
    DescriptionEdit, ItemDescWindow, ContainerDescWindow, GroupWindow,
    InteractWindow, ExchangeWindow, MerchantWindow, ShortcutEdit,
    FingeringWindow, QuestEdit, LootWindow, DetailWindow, QuestRewardWindow,
    SpellCancelWindow.

*** 2004-08-04 by Christian Svensson
- Added a new button in the container description window.
  Drag items to it will move them to your inventory

*** 2004-08-03 by Christian Svensson
- Now the summary screen hides when the client gets an error
- Added some ouput to combat
- Server now handles the error that ocurrs when a character should be saved
  with a sector that doesn't exist in the db more nicely
- Took out 1 forgotten debugging printf left in netbase

*** 2004-08-03 by Ondrej Hurt
- Added new attribute called "selectable" to pawsListBox which you can use
  to disable the possibility to select a row. It's appropriate when
  the purpose of listbox is just to layout other widgets, not select rows.
  Now used in: inventory, container description, exchange, glyph,
  guild window level list.

*** 2004-08-02 by Keith Fulton
- Enabled support of one-way links in waypoint wandering scheme.  The more
  of these you have, the more waypoints will seem like marching and less like
  wandering, but at least now it is possible.  Very useful on curved paths.

*** 2004-08-02 by Jorrit Tyberghein
- Fixed PS for latest CS changes (COMP_xxx -> CS_COMPILER_xxx and
  OS_xxx -> CS_PLATFORM_xxx).

*** 2004-08-02 by Christian Svensson
- Removed some options in the setup application
- Fixed a issue in IsAllowedToAttack
- When a combat situation is over, winner and loser is now put in peace mode
- Now updater files that needs to be updated WITH the new version of the updater
  (for example, dlls files) is stored in a zip with the updater.exe file on the server
- Removed some unneeded things in psupdater.cfg

*** 2004-08-01 by Andrew Craig
- added patch from Michael Cummings that defines target types. This can
  be useful for spells to determine if a spell can hit that type of target.
  Can also be useful in other areas.
  Changes the db structure so need to update your local database.

*** 2004-08-01 by Keith Fulton
- Fixed npc respawn not being picked up by the npcclient again.  Also made
  npcclient handle item removal, although not critical right now.
- This means people should be able to start testing combat, I think.

*** 2004-08-01 by Christian Svensson
- Fixed "No object with the name '**'" error message when using GM commands

*** 2004-07-31 by Jorrit Tyberghein
- Fixes for latest CS (qint, qsqrt, ... other changes).

*** 2004-07-31 by Christian Svensson
- Fixed [ 1001001 ] Crash in GM console
- Fixed the credits screen
- Added support for \n in the help window and switched to pawsMultiLineTextBox

*** 2004-07-30 by Andrew Craig
- Fixed SF bug [ 997617 ] Upload char with negative CP. This fixes
  the server side only and not the client side yet.
- Client now warns you if you try to upload if you have negative CP values.

*** 2004-07-30 by Ondrej Hurt
- Fixed crashes when removing a guild member out of guild.

*** 2004-07-30 by Christian Svensson
- Small fixes to the updater (New version, 1.0.1.0)

*** 2004-07-30 by Jorrit Tyberghein
- A profiler showed that the most time consuming PS routine is
  pawsProgressBar::Draw(). This routine did a g3d->DrawBox() for
  every single vertical line in the progress bar and that's not
  very good. Optimized this by detecting when there is a color change
  and then drawing all same colors in one DrawBox() call.

*** 2004-07-29 by Christian Svensson
- Some DLLs/EXEs in use fixes and selfupdating updated (Updater)
- Increased updater version to 1009

*** 2004-07-29 by Jorrit Tyberghein
- With the help of Eric Sunshine I managed to fix the configure script
  so that with mingw the -lwsock32 library is added to the link line.
- With the help of myself I managed to fix mk/autoconf/ac_path_mysql.m4 so
  that it no longer links the test program with -lz. That way the test for
  mysql succeeds on mingw and finally we get a fully working configure for
  mingw!
- Cleaned up the 'liststats' command on the server console (it used some
  ugly code to loop over all entities and find the right character instead
  of just getting the chracter). Also enhanced 'liststats' so that it can
  now get stats for a character that is not online. In that case it will
  not show all stats (because celpcdata is missing) but it shows most.

*** 2004-07-28 by Christian Svensson
- Moved config init to inside updater->init call
- Thanks to jorrit, added comments how to set up the proxy in updaterconfig.xml

*** 2004-07-28 by Jorrit Tyberghein
- Fixed psserver to compile on mingw (but not link due to missing -lwsock32,
  same problem as psclient).
- Fixed compile error in updater for mingw.
- Cleaned up the code to show the inventory of a player on the server so there
  is a LOT less code duplication now. Also added a new 'showinvf' command which
  gives more information about items in the inventory.

*** 2004-07-28 by Andrew Craig
- Fixed SF bug [ 998319 ] Trade bugs
  - Money was not being sent at all. Added psExchangeMoneyMsg class to deal with
    money for the exchange manager.
  - Exchanges were ref counted for some reason and not destroyed after finish
    ( possible ref count leak ).  Made them not ref counted any more and change
    their storage class to csPDelArray<>
- Fixed SF bug [ 997463 ] pawsObjectView - Render when outside screen
- Fixed SF bug [ 999024 ] Gender error

*** 2004-07-27 by Christian Svensson
- Added commandline options for adding files to
  already existant repository
  Usage:
  updater -updaterep=/path/to/repository.xml -file=art/soundlib.xml"
- Fixed repository specific bug while handleing mirrors
- Added multiple config exts
- Removed a lonely LoadSound

*** 2004-07-27 by Jorrit Tyberghein
- Fixed PS for the removal of Prepare() for textures in CS.

*** 2004-07-26 by Ondrej Hurt
- Fixed that dolls in inventory and skill window were too big:
  added "distance" attribute to pawsObjectView which lets you control
  distance of camera from the mesh i.e. mesh size.

*** 2004-07-25 by Christian Svensson
- Fixed compile error in messages.cpp
- Fixed server crash if you tried to create a guild with a name
  that already was in use
- Some fixes to the updater
- Fixed non-peace bug in locking
- Added 1 time lock to Join game button in char picker
- Added context menu for other players
  Now you will get an eye icon when you
  request the context menu which is linked
  to /targetinfo
- Added horizontal scroll to pawsListBox
- Added a few helping labels to the exchange window

*** 2004-07-25 by Ondrej Hurt
- Changed psPersistActor so that it contains all DR data (it inherits
  from psDRMessage now). This fixes that moving entities that were sent
  to clients were not moving on the clients, until a DR packet came.
- Fixed crash in pawsItemDescriptionWindow caused by cast to wrong type.

*** 2004-07-25 by Keith Fulton
- Fixed client ping crash.
- Fixed several server crashes caused by client disconnecting during
  combat with npc.

*** 2004-07-25 by Andrew Craig
- Overhaul of the spellbook network messages to remove the XML ones
  and place in our more compact Add/Get system for messages.
- Added pawsTextBox::FormatText( fmt, ... ) to allow easier inserting
  of numbers.
- Cleanups in different places to remove bad/outdated code.

*** 2004-07-25 by Jorrit Tyberghein
- Small compile fix in psclient.
- Fixed rain so it is now visible in client.

*** 2004-07-25 by Christian Svensson
- Added guild name check
- Fixed /cast command to use new psSpellCastMessage
- Removed a delete in the exchange manager that caused the server to crash
- Added locking and lockpicking items, woow :)

*** 2004-07-25 by Keith Fulton
- Rewrote how death is handled on the server and split it up among
  handlers for each subsystem in an event publish model.  This should be
  how we do all such complex things in the future, rather than trying to
  write one huge function that calls all the managers.

*** 2004-07-25 by Andrew Craig
- Overhaul of the network messages for the glyph window.  Broke out the
  one big message that used XML to smaller, more compact messages bassed on
  our Add/Get scheme.
- Reduced the tool tip time to 0.5 seconds
- Added some more tool tips to the inventory and glyph windows.

*** 2004-07-24 by Ondrej Hurt
- Changed how the F1 button works: when you press it while the Chat window
  is visible but the inputbox inside does not have focus, then focus is set
  on it, instead of hiding the Chat window. You can just press F1 and chat now.
- Widget that is hidden looses focus now so that it doesn't capture key presses.
- Fixed Guildmanager crashing on uninitialised msghandler pointer.

*** 2004-07-24 by Jorrit Tyberghein
- Jorrit fixed a problem with the selling price for goods. The
  merchant likes to take 20% profit but this was only done in
  the list of items. Not when actually selling the item. So
  you got full price when selling items. Solved by adding
  psItem->GetSellPrice().

*** 2004-07-24 by Christian Svensson
- Fixed the quest reward window
- Added SelfPopulate to pawsSlot
- The merchant window is now cleaning itself when it closes
- Fixed server crash if world killed player
- Fixed client crash in the server pinger
- Fixed too many decimals on psspell
- Added autogenerated bio
- Fixed bug that messed up char creation with races
- Fixed old SetDescription() to not access DB directly
- Removed Get/SetCharIDOwner from psItem. Use Get/SetOwningCharacter instead
- Added starting stat values for races

*** 2004-07-23 by Ondrej Hurt
- Fixed teleportation of players: when the player was in different sector
  that the target location but all maps needed were already loaded,
  then player's position wasn't set.
- Fixed that spell description in Glyph window and Spellbook
  that didn't fit in the box was scrolled, so its last few text lines
  were visible, instead of the few first text lines.
- Fixed that /invisible people were visible by all players, except GMs ;)
- Fixed that money was not visible in inventory: inventory message
  lied about number of items it contained so client failed to parse it right.
- When player enters invalid glyph sequence or sequence that needs
  higher skill, then the spell description in Glyph window clears itself.
- Added backdrop for Spell-cancel window, fixed art for scrollbar thumb.

*** 2004-07-23 by Andrew Craig
- Changed a bit on how the pings are handled by the server. Now the
  ping message is just reflected back to the address and not added as a
  'game' client.

*** 2004-07-23 by Christian Svensson
- Some updates to the pssetup app:
  - Added controls for Video.OpenGL.UseExtension.GL_ARB_vertex_buffer_object and Video.OpenGL.StencilThreshold
  - Removed OpenGL / Software because PS can't be used in Software
- Fixed client crash if you choose gender, but not the race
- Fixed kill player as GM function

*** 2004-07-22 by Ondrej Hurt
- Server pinging fixes
  - checks if received message is really a ping and doesn't presume it
  - sends the servers disconnect messages when login screen hides
- Fixed server assertion failure when client sends /invisible command
- Implemented teleportation to maps: /teleport_to map map_name

*** 2004-07-22 by Keith Fulton
- Added some networking functions to psMessageCracker base class so
  that messages can send themselves instead of always needing access
  to msghandler.  This centralizes error checking and makes the code much
  cleaner.  Conversion of code to use these functions is not 100% complete
  yet.
  Internal Server Events are just like net messages but are never sent, only
  published internally to the server.  events.cpp is the file for putting these
  into but otherwise looks exactly like /net/messages.cpp
- Removed many #include's from header files, so that not so many dependencies
  are created whenever something is changed.  This speeds up the build
  and reduces repetition of STL warnings.

*** 2004-07-22 by Christian Svensson
- Moved the pinging class to own files and placed it in libpsutil
- Fixed a hardcoded port in the pinging class
- Added "Check game server" button in updater
  This will be used to see if the user can connect to the
  game server before downloading the whole game
- Made the toolbar shrink when pressing the minimize button

*** 2004-07-22 by Jorrit Tyberghein
- Changed the LoadState constants in psEngine so that they all start
  with LS_. This is to avoid compile problems on mingw which apparently
  already has defines for things like ERROR and DONE.
- Added a hack to pawsCreationMain for mingw compiler: apparently GetObject()
  is defined to GetObjectA() there so I added an #undef of that at
  the start of the source file (only if it is defined).

*** 2004-07-21 by Ondrej Hurt
- Login screen now measures and displays pings to all servers.
  (a bit problematic now because server complains about connection timeouts)
- Server port configuration moved from psclient.cfg to servers.xml
  Update your servers.xml file
- Changed width of item slot listbox in Container description window
  so that scrollbar has the right position.

*** 2004-07-21 by Christian Svensson
- Added a -compare argument to the updater
  Use this to see what files need to be updated to the WWW
- Added chat toggle and auto reply keys to the setup window
  instead of having them hardcoded
- Fixed a bug in the guild window which resulted in that
  the members didn't show before you clicked on the Online
  checkbox

*** 2004-07-20 by Christian Svensson
- Fixed the binding of keys with modifiers in the setup window

*** 2004-07-19 by Keith Fulton
- Rewrote psCharacter->SetMode to be much simpler and more consistent.
  Hopefully nothing was changed functionally, except for the better.
- Took out a bunch of redundant checks for validity of outbound net msgs
  in CombatManager.
  Some might like them but I think they are unnecessary and obfuscate the
  underlying code in some places because they take so much space.
- Fixed bug in print serverconsole command which made it only work if you
  happened to print the first member of the hash table.
- Changed GetAllGEMS() to return csHashMap& instead of csHashMap.
  Please don't return complex structs except by reference.
- Refactored stat resetting to gemObject->SetAlive instead of doing it in
  multiple places.
- Basically rewrote gemActor->DoDamage so that it is simpler and more
  consistent across npcs, players and has fewer special cases.  This should
  clear up bugs of not seeing death anims on other players' machines, etc.
- Fixed bug in proxlists which had the effect of not updating the range to
  pre-existing proxlist objects if they were already on the list.  This had the effect
  of not showing combat messages consistently to you.
- Redid how death animations are played.
- Added a few debug printfs to find a problem where the dwarf shows the death
  animation as if he has been killed when he has not been killed.  If you see
  this behavior, please try to figure it out.
* KNOWN BUGS IN PROGRESS: If you kill npc, you sometimes cannot loot him.
                          If you kill npc, he respawns but npcclient does not reactivate him.
                          Sometimes if you attack from out of range, npc doesn't chase you.

*** 2004-07-19 by Andrew Craig
- Some big changes to the spell system to use the mathscripts instead
  of just progression_events.  Now allows for variable range/durations.
- Fixed bug with some char creation data not showing. Was due to the
  message size not being big enough to hold them all.  Set to 30000 now.
  Not the best solution but there is no easy way to get the final size
  since the message is built up as things are added to it.  Best solution
  would be to buffer all the data first then get the final size and then
  create the message.

*** 2004-07-18 by Ondrej Hurt
- Fixed that pawsMessageTextBox effectively hanged client when its size
  became too small (thanks to negative number in variable of type size_t).

*** 2004-07-18 by Andrew Craig
- Updated the parents screen a bit more so parent status affects
  CP costs.
- Added ability to have params in progression events.  Use
  progressionManager::ChangeScript( script, param number, new text ).
  Params are defined in the script as $paramNumber
- Made 'shout' limited to those in the prox list of the player.

*** 2004-07-17 by Ondrej Hurt
- Fixed that client was bombarding server with DR packets,one per screen frame.
- Fixed that distance clipping config wasn't saving fixed distance
  and was always showing the adaptive mode when loaded.

*** 2004-07-16 by Thomas Towey
- Added a new message class for updating open container windows
  when the contents change from trades.
- Fixed a compiler inconsistancy problem with the constraint functions.

*** 2004-07-16 by Keith Fulton
- Changed behavior of default reaction (which moves the named behavior to
  the top) so that when it is complete, it deducts the same amount of need
  as was added to escalate it.  This keeps behaviors much straighter.
- Attacking and being killed repeatedly appears to work now.  Killing the npc
  does not show up right and is not handled right again.  Will fix that next.
- One of the problems was conflicts between the melee operation and the chase
  operation--having different effective ranges.  Now melee has a range to fight
  and a range to search for new enemies.

*** 2004-07-16 by Ondrej Hurt
- Fixed that buttons at Chat window bottom didn't work
  (bug in pawsWidget::WidgetAt())
- Changed how entities positioned on maps that are not currently loaded
  are handled on client: such entities are moved to special sector
  created for this purpose and they are put into list of "unresolved entities"
  together with their real locations. Every time the client loads some maps,
  this list is checked and entities which were successfuly resolved are
  set to their real locations and removed from that list.
- Widgets now "stick" to screen borders and other widgets less, it was
  way too annoying. (SNAP_RANGE=3)

*** 2004-07-16 by Andrew Mann
- Added NOT NULL attribute to skill_id column definition in skills.sql
  to comply with primary key requirements.
- Added returns to various functions in pawsConfigDetails (client GUI)

*** 2004-07-15 by Andrew Craig
- Added unique name check on the 'next' button in the character
  creation.  Will inform if the name is valid ( ie unique ).

*** 2004-07-15 by Ondrej Hurt
- Committed first version of distance clipping a.k.a. farplane clipping
  including config window where you can set this. Adaptive mode needs
  some tweaking.
- Changed default scrollbar tickValue from 0 to 1.

*** 2004-07-14 by Andrew Robberts
- Committed updates to visualc compiling doc by Axsyrus.

*** 2004-07-14 by Thomas Towey
- Removed trade_constraint table from database and all support logic.
- Added table for autocontainers.
- Added logic to transform item into useless item if dropped into
  auto transform container without a plan in mind.

*** 2004-07-14 by Andrew Robberts
- Fixed PS for new cel
- Did effect stuff

*** 2004-07-13 by Keith Fulton
- Committing patch which fixes coordinate swapping of x and z coords in
  DR messages on macintosh.  Thanks to Daniel Fryer for figuring this out
  and fixing it.
- Fixed bug where npcs not attacked would overreact to death of player
  they didn't even know.

*** 2004-07-13 by Ondrej Hurt
- Fixed that GuildManager was trying to broadcast guild messages to guild
  members by calling ChatManager::HandleMessage() with chat message
  that had clientnum=0. But this method always denied such messages
  and sometimes even crashed the server.
- Character description editor: the "Save" button relabeled to "OK"
  and when the user clicks on it, the window closes.
- Increased height of pawsComboPromptWindow so that the combo inside fits in.
- Title of Group window changed from "Group status" to "Group" because the long
  label covered the standard window quit button.
- The color of guild messages in Chat window is more bright now.
- Fixed width of bulk slot listbox in inventory, so the listbox scrollbar has
  right distance from the listbox now.
- Added titlebar with standard quit button to Glyph window, removed
  the old quit button.
- Added standard quit button to Quest notebook, removed the old quit button.

*** 2004-07-11 by Ondrej Hurt
- When map is loaded, all the mesh factories that it contains
  are moved to special iRegion for shared map data.
- Fixed that when you died while rotating, your carcass continued rotating.
- Fixed broken pawsCreditsWindow: the problem was that some
  variables storing negative values had been changed to size_t
  and they looked like "2^32 minus something".
- Positions of entities received by client are now applied by this
  client only if their sector has resolvable name
  (i.e. entity resides in map that has been loaded by that client).
- Fixed that screenshots were saved to slightly different file names that
  the game told you.

*** 2004-07-11 by Andrew Craig
- Added +5% save throw failure for save against spells.

*** 2004-07-11 by Christian Svensson
- Fixed a spelling error (Updater)
- Fixed a OS dependant error (Updater)

*** 2004-07-10 by Keith Fulton
- Fixed math errors in bandwidth calculations that must have been there forever
  in psNetConnection.
- Animation for death is now a part of the mode message for the dead client.
  This still needs to be fixed for other clients in the vicinity to show the death
  correctly.
- Fixed to play death animation after setting vel to 0.
- Updated sample npc scripts, corrected for combat, chase avoidance, etc.  You
  should be able to fight and be killed by the enkim reliably now.
- Augmented death perception handling so that npc will take the dwarf off the
  hatelist after he kills the dwarf, instead of chasing the dwarf forever.


*** 2004-07-09 by Ondrej Hurt
- Fixed that the loading screen was not showing when player crossed sectors,
  because its visibility was set to true after GUI rendering.
- Reverted Khaki's change of psclientdr.cpp from Jun 28 that made
  fall damage calculations very inaccurate.
- Fixed that if you made a few arc movements in mid-air, fall damage
  was calculated as if you fell from top of the first arc, not the last one.
- When server receives DR message with sector name that is cannots resolve,
  it refuses it and teleports the player to his spawn, instead of crashing
  on NULL sector later.
- When user presses key that is handled by PAWS, all character movement
  (except mouse run) halts. This fixes that if you held e.g. right arrow down,
  then opened e.g. chat window and released the arrow, char control
  didn't receive the key release (because it was handled by PAWS
  and wasn't delivered to char control) and your char kept rotating.
- Map loading: materials and textures are now removed from the iRegion
  they resided in, after assigning them to the special region that holds
  all materials and textures.

*** 2004-07-08 by Andrew Craig
- Added in the concept of saving throws for spells.  Added 3 colums to the
  spell table:
    saving_throw - The name of the stat or skill to throw against.
    saving_throw_value - The value of the throw
    saved_progression_event - The event to trigger if saving throw was a
                              success.
- You will need to update your database version.

*** 2004-07-07 by Keith Fulton
- Changed class name paladinJr to PaladinJr
- Defined a constant for (size_t)-1  SIZET_NOT_FOUND
- Committed a patch from Axsyrus:
 - Fixed a "bug" where the first screenshot was saved as shot2.jpg, instead
   of shot1.jpg
 - It now gets the filename to use from PlaneShift.Screenshot.Filename,
   so you can customize the name you want the screenshots to have.
 - The first 9 screenshots are now 01,02,03,04,05,06,07,08,09 instead of
   1,2,3,4,5,6,7,8,9
- Set max CD interval on all entities on the client, so that long delays do
  not cause lag or infinite loops.
- Made psengine preload the char pick window so that moving to it after
  clicking Connect is faster.

*** 2004-07-07 by Andrew Craig
- Made the skills.sql table and the skills defined in then enum psskills.h match
  Updated database version so you will need to rebuild/recreate your local database.
  Added realm checking to spells combinations.
- Fixed a bug in loading skills where it was resetting skills back to 0 on load
  from database.

*** 2004-07-07 by Ondrej Hurt
- Fixed server crash on /death command (missing check for NULL attacker)
- Fixed that after killing a NPC, loot wasn't created and respawn wasn't scheduled.
  (psSpawnManager::KillNPC() exited because NPC was already set as dead)
- GM GUI window: fixed that the "Slide back" button didn't accept clicks (obscured by transparent part of nearby widget)
                 and that the "Ban" button was visible in all three tab sections.
- Added tiny hack to entity labels to avoid CS bug which causes that some labels are not visible.
- Petition window: the window for viewing contents of one petition is now child of mainWidget instead of the Petition window,
  because it didn't fit into the Petition window and it was clipped.
- Petition management window: same modification as in Petition window, and fixed that clicking on the View button
  crashed client because of uninitialized pointer.
- Guild window: fixed that positions of priviledge checkboxes was shifted by four pixels, which caused that they were clipped.
- Fixed more Shortcut edit window crashes when it was open from the beginning of the game.
- Checkboxes: their size is scaled according to resolution now.
- MessageTextBoxes: fixed some crashes caused by calling textbox events handlers before Setup() of the textbox was called.

*** 2004-07-05 by Thomas Towey
- Moved item quality from item stats to item instances.
- Rearranged item save function.
- Fixed item quality bug in trades.
- Added call to stop transformation of items when item picked out of auto transform container.
- Fixed bug with uninitialized autotransform variables.
- Fixed a bugs where too many items were being combined.
- Added the capability to transform an item into nothing.  This will allow us to remove items over time from public containers.

*** 2004-07-04 by Ondrej Hurt
- Fixed: when the Shortcut edit window was open from the beginning of game, clicking on OK or Cancel buttons made it crash.
- Changed PawsManager::LoadWidget() so that it registers each widget immediately after it is loaded, instead of loading all widgets from a XML
  file first and then registering them. This caused that Shortcut edit window ignored clicks on OK and Cancel buttons
  because Shortcut window was registered too late and its name wasn't resolved by Shortcut edit window when needed.
- When a map is loaded, all its materials and textures are moved from the iRegion of the map to a special iRegion where all
  materials and textures from maps reside. This fixes that when map A uses materials/textures from map B, and map B
  is unloaded, A crashed.
- Map loading is now called with checkDupes=true which prevents materials/textures which have the same name
  but which are stored in different map files to be loaded more than once into memory.

*** 2004-07-03 by Keith Fulton
- Fixed for CS size_t csArray<> change.
- Standardized all our "if(" and "for(" to be "if (" and "for (" while I
  was at it.

*** 2004-07-03 by Andrew Dai
- Improved DR updates from clients to be more responsive and so that y
  velocity is now sent, so you should be able to see other players jump.
- Added angular velocity reporting to PalJr.
- Added a QuitClient() call to the destructor of psengine so in most cases
  you will be disconnected from the server correctly.

*** 2004-07-02 by Thomas Towey
- Added tool tips to container description window.
- Fixed some trade debug messges to be more helpfull.
- Added set character ID owner logic to pickup and drop logic for items.
- Made set character ID owner set ownership of contents for container when container is picked up.
- Fixed bug view items.
- Cleaned up creating trade items.

*** 2004-07-02 by Andrew Dai
- Improved the char creation summary window.

*** 2004-07-01 by Thomas Towey
- Added item ownership checks and reorged code.
- Added ability to combine items in left and right hands.
- Fixed trade item creation bugs where not all the item instances columns were being properly populated.
- Added item save() call to TakeOutOfContainer() and AddItemToContainer().

*** 2004-07-01 by Andrew Craig
- Some updates to the spell windows to add tool tips to the buttons and
  fixed up some poorly named variables.
- Added the script system back in so the spells actually do what they are
  supposed to.

*** 2004-06-29 by Thomas Towey
- Now store item's owner character id.
- Added access functions.
- Fixed bug with combining only items that are owner by player.

*** 2004-06-29 by Andrew Craig
- Fixed up some CVS art issues. It should not crash now on missing model
  files.

*** 2004-06-29 by Andrew Dai
- Fixed some psengine memory leaks so the client no longer crashes on exit.
- Fixed an unintialized variable in pawsTree.
- Changed the fall damage script so jumping doesn't hurt you.

*** 2004-06-28 by Andrew Dai
- PalJr is now controlled through the psserver.cfg file with the options
  Planeshift.Paladin.Enabled and Planeshift.Paladin.WatchTime.
- PalJr has been fixed so that the previous DR packet is stored, it was
  giving false measurements before. With this major bug fix, PalJr is now V0.1.
- Plugged a memory leak in mdump.
- Shortened the legs of all races equally so now they can all only climb a tiny amount.
- Reduced the jump velocity from an insane value so unfortunately these dwarfs
  will no longer be able to compete in the olympics (long jump and high jump).
- Added an end of the world and associated effects.
- Fixed fall calculation so it is now all done on the server.

*** 2004-06-27 by Thomas Towey
- Fixed trade bug with bad column name typo in SQL where clause.
- Fixed trade bug where player does not own any items in container.

*** 2004-06-26 by Ondrej Hurt
- Guild window: fixed that the "online only" checkbox was not working.
- Fixed that pawsWidget::alpha was not initialized in constructor. This caused random alpha of the toolbar for example.

*** 2004-06-25 by Ondrej Hurt
- When server teleports you to map that is not loaded, your position is set correctly after loading now.

*** 2004-06-25 by Andrew Dai
- Plugged a ClientCacheManager leak.
- Resurrected Paladin Jr by using CD for and only for Paladin Jr.
- Disabling sound no longer induces a mysterious crash during loading.

*** 2004-06-23 by Keith Fulton
- Added a server mode of DEAD, which limits movement and actions while in
  this state.  (This state is between the moment of death and the moment of
  resurrection in the Death Realm, currently hardcoded to 20 seconds.)
- Changed SendAllDR to use a shorter threshold distance delta so that npc
  perceptions of where everyone is are a little more accurate.  This makes
  combat look better because the monsters faces you more closely.
- Implemented 20 second resurrection delay.  This serves to let you stare at
  your dead corpse for a while and think about your failure.  It also serves as a
  penalty to your group if you die while in a group.  They lose your services
  for a while.
- Changed minimum satisfactory range for <chase> operator, which I think was
  causing the infinite chase loops acraig was having.  Basically it checked that
  distance every 1 second, and if the timing was perfect it would be >1m to
  each side of the chase target every time it checked, resulting in turning 180
  degrees and being >1m off on the other side the next second.
- Fixed bug of not restoring correct music when combat is complete.
  Fixed bug of allowing movement while dead.
  Correctly plays death anim now.  Death anim is NOT removed when player
  is resurrected however--due to bug in cal3d which I am working on.

*** 2004-06-23 by Christian Svensson
- Prevented the user to select non-implemented races/genders
- Fixed automatic model refresh upon gender change

*** 2004-06-22 by Christian Svensson
- Improved preloading of models (Now it works :) )

*** 2004-06-22 by Andrew Dai
- Alignment fixes to the birth screen.
- Fixed a bunch of randomize buttons on char creation.
- Improved pawsComboBox::Select()
- Added a GetRowCount method to pawsComboBox to count the number of options
  available.

*** 2004-06-21 by Keith FUlton
- Fixed char creation to work with new model pathnames.
- Fixed xml.
- Fixed several texture path problems with stonebm and a couple other models.
  Please refresh from release_cb asap.

*** 2004-06-21 by Andrew Dai
- Added birth screen to character creation.
- Fixed Pal Jr's constructor.
- Fixed the annoying widget snapping so you can now utilise more than 100% of your
  desktop space.

*** 2004-06-20 by Keith Fulton
- Race_info table now specifies correct common_strings references for all
  races.  Common Strings table now specifies mesh names only as the base
  name, no path and no ext.  UPDATE YOUR DATABASE!
- Added a combat idle anim which the player uses when in combat between
  swings of the sword or whatever.
- Changed mesh names to always be in format /planeshift/models/%s/%s.cal3d
  where %s is stonebm or something, specified in the db.
- Now npcclient correctly handles server disconnect.  I can't make it quit
  all the way, however, because the console is still in a fgets() call until the
  user hits Enter.  Then it quits.  If someone has a way to fix this, please do.
- You need release_cb version of models.zip to see the new combat idle stuff.

*** 2004-06-20 by Andrew Mann
- Added a few simple paths to partview so that particle systems can be
  viewed while the emitter position is moving.
- Radius adjustments should now work for particle systems after a recent
  CS fix.  All features except the Mouse adjustment for gravity are working.

*** 2004-06-19 by Andrew Dai
- Fixed pawsControlWindow so it longer crashes the GUI on startup because
  pawsControlWindow is not added to MainWidget until after
  pawsControlWindow::PostSetup() is called.

*** 2004-06-19 by Andrew Mann
- Fixed a typo in the includes of pawscollapsablewidget.cpp

*** 2004-06-19 by Andrew Mann
- Fixed a gcc warning in pawsManager constructor caused by using a macro
  with a csString.

*** 2004-06-19 by Andrew Mann
- PartView interface rewrite.
  - All basic functionality should now be working.  Be sure to use a recent
    CS checkout to ensure your CS has important bugfixes.
  - Adjusting particle radius on the fly is buggy (doesn't work at all) in
    CS at this time.

*** 2004-06-19 by Andrew Mann
- Changes to pawsListBox:
  - Listbox now defaults to no title row unless the headings attribute is
    set and does not have a value of "no".  Since heading values need to be
    specified if headings are being used, it makes more sense to require
    headings="yes" in addition to the other specifications than to require
    the extra specification of headings="no" when no headings are desired.
  - NewRow() now inserts the new row into the correct position in the rows
    array as well as the child array.
  - Select() no longer calls Draw() on child rows.  Draw() should only be
    called during the paws drawing operation propagated through the widget
    heirarchy.
  - Select() now adjusts the drawing position (topRow) of the listbox to
    ensure the selected row is visible.
  - OnKeyDown() returns true if it handles the keystroke and otherwise
    returns the value from calling the default pawsWidget handler which will
    pass the keystroke up the widget heirarchy.

*** 2004-06-19 by Andrew Mann
- Changed the way pawsSpinBox handles loss of focus on its component editbox.
  The OnLostFocus() call does not pass the deepest widget which is losing focus
  (or any widget), so the signal is anonymous.  pawsSpinBox was passing this up
  when the value in the editbox was changed - this meant a parent watching for
  the editbox to change would have to catch OnLostFocus() and check all possible
  children for a change in value.
  Now pawsSpinBox generates an OnChange(this) where this is the pointer to the
  pawsSpinBox (not the component editbox) when OnLostFocus() is called.

*** 2004-06-18 by Andrew Mann
- Changed pawsWidget destructor so that a destructing widget is removed
  from the parent if a parent is present.

*** 2004-06-18 by Andrew Mann
- Fixed a crash when destructing a pawsSpinBox caused by multiple AddChild()
  calls with the same widget in ManualSetup().

*** 2004-06-18 by Andrew Mann
- Changed the default (empty) handler for pawsWidget::OnListAction() to pass
  the event up to the parent.

*** 2004-06-18 by Andrew Mann
- Added functionality to allow specifying an alternate file from which to load
  widget definitions. In the <widget> tag in place of the 'factory' attribute,
  the 'file' attribute should be specified.  Both the file definition and the
  parent definition must contain the <frame> node, though the parent's frame
  overrides the child.  Widget description in the parent will be parsed
  after the file description meaning the parent description has the ability
  to override settings and even add children.

*** 2004-06-18 by Andrew Mann
- Added PawsManager::LoadChildWidgets() call which loads widgets without assigning
  them as children of the main widget.  It's primary use is intended to be loading
  child widget definitions from a file as needed.  This is in contrast to
  PawsManager::LoadWidget() which loads widgets from a file and adds them to the
  main widget but does not provide the caller with a reference to the loaded widgets.
  Due to this, LoadWidget() is not practical to use when loading children without
  constant names or with names that may conflict with existing widgets.
- Added pawsSpinBox as a default registered paws factory.

*** 2004-06-18 by Andrew Robberts
- Reduced memory usage of effect movables

*** 2004-06-18 by Andrew Robberts
- Fixed up the effect movables
- Added a spline movable and basic movable
- Couple effect bug fixes

*** 2004-06-17 by Andrew Craig
- Added ability to consume items. Done by adding a new PSITEMSTATS_CONSUMABLE flag
  and a progress event name to trigger when the item is consumed.  Requires a
  database update.

*** 2004-06-17 by Andrew Robberts
- Fixed some effect bugs
- Rewrote the position updating code for effects
- Added some effect stuff

*** 2004-06-16 by Andrew Mann
- Fixed pawsWidget::ClipToParent() so that the border frame is used instead
  of the widget frame if a border and title are present.

*** 2004-06-16 by Andrew Craig
- Updated drag and drop to doll so it will automatically try to place the
  item in any slot it can.

*** 2004-06-16 by Andrew Mann
- Fixed pawsWidget::SetFont() so it actually sets the font based on the name passed
  as a parameter and not as the previous font name in the widget.
- Fixed pawsWidget::ClipToParent() to consider an empty parent clip region as a
  "don't draw" case.  If unclipped drawing is desired in child widgets, another
  indicator should be created.
- Fixed pawsWidget::ClipToParent() to properly clip to the parent region even when
  a border is present.
- pawsWidget::ClipToParent() and pawsWidget::Draw() now early-out before executing
  any graphics commands if the clipRect is empty.

*** 2004-06-16 by Ondrej Hurt
Fixed handling of teleportation of players between maps (e.g. when you die):
- Client crashed when it received DR message with sector that was not loaded on the client.
- Client didn't set psCamera to valid position after map change (when its old sector was deleted).
Exchange Window: it sets its width according to type of exchange now (/give versus /trade)

*** 2004-06-15 by Keith Fulton
- Made several fixes to the way time deltas are handled in DR updating.
  The first update cannot update for 100's of seconds, because that large
  time interval leads to incredibly long update times due to the number of
  iterations.  Also, fixed and clarified function name semantics as to what is
  expecting a time delta and what is expecting a clock ticks value.

*** 2004-06-14 by Andrew Mann
- Initial commit of partview viewer for plgparticles based particle systems.
- Added save support to particle viewer.
- Added #ifdefs around the remaining RPT macros to allow linux compilation.
- Changed default iDocumentSystem plugin for partview to tinyxml to allow saving.

*** 2004-06-13 by Andrew Dai
- Fixed an infinite loop bug in pawsMultiLineTextBox
- Made the paths button do the same checks as the Next button does on the main char
  create screen.
- Moved the paths data out of rules/rpgrules.xml into data/races/quickpaths.xml
- Started implementing quick char creation (path) functionality.
- Improved char creation summary screen (mostly not working).

*** 2004-06-10 by Keith Fulton
- Now npc anims and velocity are set correctly but some updates are still
  missed.  It does not work as well as it did before the DR rewrite.  I will
  work on it more this weekend.

*** 2004-06-10 by Keith Fulton
- Fixed npc DR compile errors and several bugs in direct-to-memory DR updates
  for npc batch updating.  Still doesn't work quite right due to on-ground flag
  not being set correctly but I haven't figured out why yet.
- Removed netpersist entirely from all PS code.
  This was the old CEL persistence which was rendered redundant by
  acraig's persistence replacement and was simply causing (me) confusion.
  Not sure how best to remove these files from everyone's build.

*** 2004-06-10 by Thomas Towey
- Removed trade_designs and trade_transformationskills.  Added these columns to trade_patterns and trade_transformations.
- Reworked trade code to remove container requirement for /use command.  This will speed up user interface.
- Reworked garbage logic.  Garbage item is now transformation specific.
- Bad combinations now just don't combine instead of creating garbage item.
- Finally the garbage item skill check is only done on specific transformations with a garbage id instead of all of them.

*** 2004-06-10 by Andrew Craig
- Added some not so mysterious net/msghandler.h includes to the various windows
  that use it inside PlaneShift itself.

*** 2004-06-09 by Andrew Mann
- Removed mysterious net/msghandler.h include in pawsmanager.h .  Added util/log.h
  to provide log support.
- Changed prefsfile and borderlist file specifications to be read from config
  directives.  The defaults are the previous hard coded values.
- Changed language specification for PAWS to be retrieved from the
  Planeshift.GUI.Language config directive insteas of the Planeshift.Language
  config directive.

*** 2004-06-09 by Andrew Craig
- Fixed picking up circles causing circle count to decrease
- Added a bit of life for new characters so they don't die right at
  the start.

*** 2004-06-09 by Orogor (through Talad)
Serverconsole enhancements:
 - Added tradeskill
 - Added account view
 - Added characters view
 - Fixed bug that prevented to put spaces in names

*** 2004-06-08 by Andrew Robberts
- Reduced effect memory usage
- Added an effect obj for NR particle system
- Misc effect bug fixes

*** 2004-06-06 by Christian Svensson
- Fixed client crash on ending \n in a pawsMultiLineTextBox
- Added guidelines for names in a help button
- Fixed server crash when looking for player
- Added name check on the client too

*** 2004-06-03 by Andrew Craig
- Fixed up some problems with death animations.
- Fixed problem with /killnpc could continue to kill the same NPC
  many times.

*** 2004-06-03 by Andrew Robberts
- Removed explosion effect obj.
- Added simpmesh effect obj, name will probably change, this is an effect obj
  that allows for any iMeshWrapper to be specified as part of a library.
- Made the effect editor usable as far as rendering an effect goes.
- Restructured effects to allow for less code in each effect obj and a have a
  more consistent feel.
- Added a couple demo effects, not even close to final, but they're there.
- Fixed a bug in LoadMaterial.
- Fixed some alpha and ztest bugs in effects.
- Added ability to change the zfunc of individual effect objs.
- Added birth and death times to effect objs.
- Fixed billboarded quads so that they actually work.

*** 2004-06-02 by Andrew Dai
- Made the switch to use the OPCODE CD system by default now that OPCODE is stable.

*** 2004-05-31 by Christian Svensson
- Added support for client numbers to progress server command
- Added support for client numbers to adjuststat server command
- Fixed the summary screen closing too early
- Improved the register script
- Removed duplicate in help.xml and moved some stuff around

*** 2004-05-30 by Christian Svensson
- Fixed NPCclient crash if some react var was null
- Fixed some issues between the char picker and the main char creator window
- Fixed the religion and randomize in the parents screen
- Improved pawsComboBox
- Made the crash info box prettier with icons and newlines
- Fixed tabbing (both with shift-tab and normal)
- Tabbing is now more controlled, see loginwindow.xml for an example
- Added simulation of button click on enter (see loginwindow.xml for an example)
- Fixed crash in paws due to trying to delete null pointer
- Fixed a crash regarding the day widget in paws childhood screen
- Fixed the toolbar to save everything (visibility, position and style) to config files
- Removed a debug printf line
- Removed pssound from the updater

*** 2004-05-29 by Keith Fulton
- Commiting big cleanup of linmove PC.  Moved all networking packing
  functions that were special for PS into PS.  Also renamed some APIs in linmove
  to be more descriptive.  DR handling in the server is now in gemActor.
  DR handling in the client is in GEMClientActor.

*** 2004-05-29 by Christian Svensson
- Cleaned the log code a little
- Added saving and loading the log configuration from file
- Fixed server crash if entity was null, not sure how that happend
- Fixed NPCclient crash
- Fixed a compiler error/warning in paws generic
- Yet some updates to the updater

*** 2004-05-27 by Andrew Robberts
- Fixed some effect stuff
- Added a pawsGenericView widget to give a generic viewport in paws
- Added startings of an effect editor

*** 2004-05-27 by Andrew Craig
- Fixed one error with combat.  The target was not registering as an
  iDisconnector so if the target quit in the middle of combat it would
  crash the server.
- Fixed: [ 956054 ] CTRL and ALT (AltGr) in PAWS

*** 2004-05-26 by Christian Svensson
- Added: Sorting functions to the updater (See updaterconfig.xml for examples)
- Added: Config files to the updater (See updaterconfig.xml for examples)
- Fixed: A copy and paste error in the updater
- Fixed: psMainWidget didn't get focus on startup
- Fixed: Challenge didn't end after the opponent was killed

*** 2004-05-25 by Keith Fulton
- Found that the reason combat looks boring is because I never ported the
  attack and defense animations to use sprcal3d.  They were still looking for
  spr3d.  You will need to update CS for this to compile now.  Still doesn't look
  great because the dwarf in models.zip does not have his attack anim.

*** 2004-05-25 by Christian Svensson
- Some fixes to the register script, will update as we go
- Fixed petition/guild window. They didn't do the right stuff to the toolbar

*** 2004-05-24 by Christian Svensson
- Added: Mirror support to the updater, see updaterconfig.xml for examples

*** 2004-05-22 by Keith Fulton
- Fixed a crash here in firing perceptions for non-active NPCs.
- Fixed some bad proxlist errors causing things to crash.  Changed .Delete()
  calls to use DeleteIndex do to different names for different collection classes.

*** 2004-05-22 by Christian Svensson
- Fixed: All compiler warnings I could change without breaking something
- Fixed: /repaintlabels was adding a label over the current char, which made
         the camera behave wierd

*** 2004-05-21 by Christian Svensson
- Fixed: Loading crash caused by not NULLed pointer
- Fixed: Server crash due to Format recived a csString instead of const char*
- Added repaint functions to psEntityLabels
- If the client is minimized, upon restore it will repaint the labels
- Client label update on name and guild change
- Added ban functions to the GM GUI
- Some cleanup in the updater
- Chnaged some size and pos values of the updater GUI for release art

*** 2004-05-21 by Andrew Dai
- Fixed a Paladin Jr targeting issue

*** 2004-05-21 by Ian Donderwinkel
- Instead of cleaning up pssetup I rewrote it using the code from the
  PAWS example app as an example. It looks much better now.
  Also updated the pssetup .vcproj file.

*** 2004-05-22 by Andrew Craig
- Some more container fixes in place. This should fix most of
  the contanier in inventory issues now.

*** 2004-05-21 by Andrew Robberts
- Created a PAWS example app (it's about 90% done), which can be found in the
  paws_generic directory under src

*** 2004-05-21 by Christian Svensson
- Fixed: pawsWidgets that misses a bg was rendered with black or green bg, now
         they are transperant
- Moved bad words to DB
- Implanted ban (Both perm and timed)

*** 2004-05-21 by Andrew Robberts
- Removed client references/confusion from pssetup, but pssetup could use a
  decent amount of cleanup code-wise (still uses client filenames, some
  superfluous code)

*** 2004-05-21 by Andrew Robberts
- Added psutil.[h,cpp]
- Added psMaterialUtil to psutil and moved psengine->LoadMaterial() to
  psMaterialUtil
- Got rid of all psengine dependencies in the effects

*** 2004-05-20 by Andrew Dai
- Removed newlines after log times

*** 2004-05-19 by Andrew Dai
- Integration of Paladin Jr into the server, the y dimension is currently not
  implemented since jump DR data is NOT sent.

*** 2004-05-19 by Andrew Mann
- Removing dependancy on game client from Paws.
  - Removed iclient/psengine.h include from paws/psmousebinds.cpp.
  - Removed iSoundManager and psengine dependancy from paws.
  - Sound functionality in paws is replaced with 3 functions in pawsmanager:
    pawsmanager holds a reference to iSoundHandles that identify sounds that may be played
    by paws components. Only static non-looping sounds are supported through this interface.

    LoadSound finds a registered sound or attempts to load the given filename if no such sound
     is registered. Components should use this to retrieve an iSoundHandle for each sound they
     use.
    csRef<iSoundHandle> LoadSound(const char *filename,const char *registeredname=NULL);

    RegisterSound is intended for use by applications (such as the game client) that handle
     sound loading on their own.  They can register an existing iSoundHandle with a name.
     For example, pawsbutton attempts to find a sound named "sound.standardButtonClick".
     psclient can register a sound under this name and paws buttons will play that sound
     when pressed.
    bool RegisterSound(const char *name,csRef<iSoundHandle> soundhandle);

    Playsound plays a sound given an iSoundHandle. The iSoundHandle does not have to be
     registered prior to playing, though registering ensures that all instances of paws
     components will use the same sound data.
    bool PlaySound(csRef<iSoundHandle> sound);
- Fixed a history cut and paste error, oops!
- Added csRef<iSoundHandle> GetSoundResource(const char *name) member function to iSoundManager
  interface and psSoundManager implementation of this interface.  This member function allows
  psengine to retrieve an iSoundHandle for a given sound resource so that a sound loaded by
  the sound manager can be used in other locations that do not use the sound manager (such as
  paws).
- Added a (temporary?) registration in psengine (game client) of button click sounds to the
  paws manager. "sound.standardButtonClick" is hardcoded into both pawsbutton and psengine.
- Added a line to appupdater to load and assign a default button click sound directly with
  pawsmanager (not using an iSoundManager).
- Added a line to appsetup to load and assign a default button click sound directly with
  pawsmanager (not using an iSoundManager).


*** 2004-05-18 by Andrew Robberts
- Added a global reference to the object registry is pscssetup.

*** 2004-05-18 by Andrew Craig
- Fixed some more issues with view items in containers in your inventory. The
  eye should now let you view items inside a container inside your inventory.
  However, you cannot move items out of this container yet.  This is next on the
  list to fix.

*** 2004-05-18 by Christian Svensson
- Fixed: There were apperently some conflicts in the updater, renamed psEngine to psUpdaterEngine
- Updated: The project file were a bit out of date

*** 2004-05-18 by Andrew Mann
- Moved pawsquitinfobox from libpaws to libgui due to psengine (game client) dependancy.

*** 2004-05-17 by Andrew Robberts
- Fixed gcc compile warnings

*** 2004-05-17 by Andrew Mann
- Added csMutex protection to data shared between threads in the updater.
  This may not be 100%.  If crashes continue the locking in the main thread can
  be reversed so that the lock is held almost constantly and released only for
  brief windows each rendering cycle.

*** 2004-05-16 by Christian Svensson
- Fixed: Updater pauses for 3 secs, allow the user to see the MB and files
- Added: Release art support
- Added: SetMaskingImage(const char* name) to pawsWidget for easy masking

*** 2004-05-15 by Andrew Robberts
- Fixed a sectoring bug with psCamera
- Fixed a bug with lastCameraMode not being initialized
- Added a ResetCameraPositioning() function to psCamera

*** 2004-05-14 by Christian Svensson
- Fixed: The main window isn't resize able now
- Fixed: pawsMessageTextBox had borders on scrollbars, making it look wierd
- Did some redesigning on the main window

*** 2004-05-14 by Andrew Craig
- Fixed a couple of issues with containers in inventory. They were
  not saved to the database correctly so when the player logs in next
  time it tries to place items in the bulk inventory instead of the
  container. This also lead to a condition of de-ref of a null pointer.

*** 2004-05-14 by Christian Svensson
- Added: "Click Update to start" and "Total size 62.3 MB in 1305 files"
- Removed: Timestamp wasn't really needed, MD5 and filesize are fine

*** 2004-05-13 by Christian Svensson
- Fixed: The updater now updates itself
- Fixed: Some bugs in the updater
- Added: Support for omiting files and directories

*** 2004-05-12 by Ondrej Hurt
- Fixed that pawsButton was sending BOTH OnButtonPressed() and OnMouseDown() events to its parent
  which caused wrong behaviour of scrollbar buttons.
- Fixed screwed layout of pawsTree caused by the goddamned zero defaultFrame that was zeroing screenFrame.

*** 2004-05-12 by Andrew Craig
- Fixed bug "[ 952233 ] Stacks and the inventory Eye" to make sure the
  slot has the correct number of items after viewing.

*** 2004-05-11 by Ondrej Hurt
- Changed method parametres of NPCloader from "csString &" to "csString", so that it compiles.
- When a player is assigned a quest or when he completes one, this info is saved to the database too.
- Fixed LootWindow: it crashed when user clicked on any button, because listbox column
                    declared as pawsItemSlot (instead of pawsSlot) wasn't created.

*** 2004-05-11 by Christian Svensson
- Fixed: The loading of widget's is now more controlled. The client now quits directly after giving the user a list of failed widgets.
- Fixed: Quest notebook was using pawsItemSlot, changed to pawsSlot
- Fixed: Server crash in NPC response when item couldn't fit in inventory
- Fixed: Client crash in paws if name was NULL on FindWidget
- Fixed: Music now starts at 0% instead of 100%
- Fixed: When you type something in the password box, that char is preserved when the * is cleared
- Fixed: Updater does now produce MD5 sums for the files
- Fixed: Client crash on quit if psengine was set to NULL
- Fixed: Tooltip is now more nice looking
- Fixed: The loading screen closed before it had requested the NPCs
- Fixed: Var dump was activated
- Fixed: The updater is now release capable
- Fixed: To small widgets in Widget Config window
- Added: 2 missing commands to help.xml
- Added: Auto translation in AddLoadingWindowMsg
- Added: "Loading world" message to loading screen
- Added: Shadow to entity lables
- Added: (2004-04-08) ignore.xml. This file was missing, causeing some wierdness.
- Note: AddLoadingWindowMsg is now not a private member of psengine

*** 2004-05-09 by Andrew Craig
- Added showing of equipment in the character picker window.

*** 2004-05-08 by Christian Svensson
- Added: GM GUI now shows the gender of the character.
- Added: /changename <player name> <new player name> <new player lastname> <needs to be unique (no/YES)>.
- Added: Implanted /changename to GM GUI.
- Added: Implanted /changename to GM GUI with random name generator.
- Added: Sector label to GM GUI, showing in which sector the player is in.
- Added: Function CancelDrag() to psSlotMananger. This cancels the drag and resets the source slot.
- Added: Function DrawStackCount(bool value) to pawsSlot.
- Added: Stack count for items when you look at them from the ground.
- Added: Item info window now works for containers.
- Added: (Purified) after purified glyphs in the merchant window.
- Added: Music on Login/Char creation/Loading/In-game.
- Added: Indicators which char is select in the char selection screen.
- Added: GetWorld() to psCelClient
- Fixed: Nicer "Contacting server ... Please wait" message at login.
- Fixed: Client crash if the client was closed with the inventory window opened.
- Fixed: Inventory bug resulting in temporary loss of items.
- Fixed: pawsSlot number was under the icon, resulting in invisibility.
- Fixed: Inventory window now doesn't show the stack count for enquiped stuff.
- Fixed: pawsNumberPromptWindow was reseting label to own label, making the label parameter useless.
- Fixed: If one widget didn't load, all remaining wasn't either.
- Fixed: pawsWidget would try to Show() the widget before calling PostSetup() if you had close the client with the window opened.
- Fixed: Crash on starting the updater, cause of missing XML parameter.
- Fixed: Merchant window no longer requests count from user if max count is 1.
- Fixed: Main char creation screen had the races list partialy over the Prev button.
- Fixed: Old character was still shown if you choose New character then Prev.
- Fixed: Some label resizing on screens
- Redesigned the container info window.

*** 2004-05-06 by Christian Svensson
- Fixed GM GUI for new access levels
- Added Invisible button on GM GUI
- Added Kill Player button on GM GUI
- Added Unmute player button on GM GUI
- Added Move player Up / Down button on GM GUI
- GM GUI now doesn't request player list directly when loading all windows
- /death command now takes player name as a argument. If player name is nothing, then it will kll the target
- Added security checks on the player list GM GUI requests
- Server now tells player if he died by the fall damage
- Removed double password box from login screen

*** 2004-05-04 by Ondrej Hurt
- Server now connects to MySQL with CLIENT_FOUND_ROWS flag so that UPDATE returns number
  of rows that matched the WHERE clause, instead of returning number of rows that were really changed.
- Command /slide is now case insensitive.
- Changed type of psCharacter::name|lastname|fullname from char[n] to csString.
- Fixed: when more than one player applied the /report command on someone, it didn't add up
         - when the first /report expired, the reporting simply stopped even when more recent
           /reports should have been in effect.
- Added saving of character's money to database when his wallet changes.
- Fixed: when player change number of guild points or guild notes, they weren't saved to database.
- Changed how guild invitation of player that is already member of secret guild works:
  instead of instant rejection of the invitation which is suspicious and could be used by players to determine
  if someone is member of a secret guild, the server sends the invitee an invitation that is not possible to accept.
- Fixed: when listing guild members, wrong accounts were associated with these members.
- Added check so you can't begin guild war with yourself.
- Fixed: working with guild alliance leader in guild alliance GUI didn't work.
- Better handling of errors made by users when using /sell and /buy.
- Better handling of errors made by users when using /assist.
- Fixed: players could /challenge themselves.
- Fixed: characters with blank lastname had trailing space in fullname.
- Fixed: saving of guild promotions to database was bugged.
- Changed how /trade and /give work: /trade can be applied on other players only,
                                     /give can be applied on NPCs only.
- Added some temporary portal debugging code accessible with /portals.
- CelClient now deletes GEMentities that resided in sectors that were unloaded.
- Client now loads needed maps when it was teleported by server to other sector (e.g. death).
- Fixed: keyboard configuration screen was showing one "Set" button at wrong place
         (it was tree node that doesn't represent an action).
- Various layout improvements in GuildWindow.
- Fixed that pawsCheckbox both contained a pawsButtons _and_ inherited from it.
- Changed pawsListBox::SelfPopulate() so that not every listbox column is required to have "xmlbinding" tag.
- Size of pawsTree scrollbar made smaller.
- BuddyWindow buttons made smaller.
- MerchantWindow: cathegory listbox made smaller so that all its rows fit on screen, no need to scroll.

*** 2004-05-03 by Andrew Craig
- Update pawsChatHistory class to be a little more robust.  Now using
  a csArray<> instead of raw buffer**.

*** 2004-05-02 by Andrew Craig
- 3D sounds can now have a max volume param in their keys.  Set like
    value="theResourceToPlay,minRangeToStart,maxvol"/> where maxvol is
    from 0.0 - 1.0
- Fixed entity labels.  Removed hack for upside down labels in new
  renderer since problem is fixed in new renderer.
- Patch from John Ellis:
    Can now drag from inventory and drop onto player doll. This will
    automatically place the item in it's correct slot ( ie sword will
    automatically go into right hand. )

    "This only includes dropping into slot 1 (right hand), but shortly will post
    the rest. Just wanted to get this out there so that I won't have to keep
    merging with CVS & so that others can code around it if need be."


*** 2004-05-01 by Christian Svensson
- Project files for Visual C++ 7.1 (File version 8.0)
- Fixed some compile errors

*** 2004-04-30 by Christian Svensson
- New updater

*** 2004-04-30 by Andrew Craig
- Added 3D environment sound ability.  Sounds can be embedded in the map file
  and attached to meshes using <key>.  It will take the centre of the mesh
  object as the sound point. The format of the <key> is:
     <key name="snd"  value="theResourceToPlay,minRangeToStart"/>


*** 2004-04-28 by Andrew Craig
- Adjustments for the chat window for the new graphics. It may look a bit funny
  now but is correct for current. image_list.xml.

*** 2004-04-25 by Ian Donderwinkel
- Made some adjustments to the npc import code. Also got a large part of
  the exporter working now. Usage: /exportnpc <charid> <filename>

*** 2004-04-23 by Andrew Robberts
- Moved effects from client to common

*** 2004-04-22 by Andrew Craig
- Moved the main drawing code in psengine from case cscmdPostProcess to
case cscmdProcess where it should be.

*** 2004-04-22 by Andrew Robberts
- removed old particle based spell effects from the client in preparation
  for moving effects to common and beginning the effect editor

*** 2004-04-20 by Thomas Towey
- Made small rearangement and string changes to workmanager.  Added new data to help recursion testing.

*** 2004-04-20 by Christian Svensson
- Sorry, forgot to commit:
- Added a LockPlayer command to frezee the player controls

*** 2004-04-21 by Andrew Robberts
- Effect stuff
    - phased out old system (90%)
    - fixed some bugs with the iMovable anchors
    - fixed some destructor bugs
    - added some functionality to have an effect move between target and
      anchor
    - added generic effect server message
    - added ability to put in group effects
    think that's it, probably more though

*** 2004-04-20 by Christian Svensson
- The client does now quit ONLY when reciving a connection error IN game

*** 2004-04-19 by Andrew Craig
- Changed the info screen for new graphics.  Made it non-resizable and
  moved some of the widgets around.  Need to test in other res as well
  Added patches from Steve Castro:
    - Screen should look the same when logging back in (positions, close settings)
    - Windows should not appear off screen
    - buddy.xml was missing </widget_description>

*** 2004-04-18 by Christian Svensson
- The random button on the first char creation screen now works

*** 2004-04-18 by Ian Donderwinkel
- Added an 'importnpc' and an 'exportnpc' command for psserver. importnpc
  reads NPC data from a XML file and inserts it into the DB. exportnpc will do the
  opposite. At the moment only the import part is implemented (though not 100% working yet).

*** 2004-04-18 by Andrew Craig
- Updated inventory window for new graphics.

*** 2004-04-17 by Ondrej Hurt
- Help window: changed default coordinates from [0,0] to [100,100]
- Chat window: when you click on the buttons below to choose type of chat
  (say/tell/guild/...), the chat window may select appropriate chat
  channel (the tabs at the top) so that it corresponds with
  the chat type that you just selected.
- Info window: now displays integer spell power instead of float (e.g. 12% instead of 12.3%)
- Commented out the debug code that was causing focused widgets to have red borders.
- pawsTabWindow: added new method for activating tabs by specifying their names
- Fixed bug that disabled regeneration of hp/mana.
- Fixed bug in ProxList construction that caused inappropriate removals of entities from clients.
- Changed invisibility rules: invisible players can be seen by GMs at level 4.
- Fixed bug in /advisor and /advice (in network message parsing).
- Changed the key bound to "autorun" from "/" to "\" because when you try to write
  a command to chatbox without having focus there, the char begins running. Very annoying.
- Changed Chat window buttons so it can be smaller.

*** 2004-04-16 by Keith Fulton
- NPC random waypoint wander works now.  /data/ncpdefs.xml defines a
  network of waypoints.  The <wander> op makes an npc traverse this
  network randomly forever, until another behavior pre-empts it.

*** 2004-04-16 by Andrew Craig
- Added drag and drop of money for the exchange window.
- Fixed trading with NPC to trigger events when given items.

*** 2004-04-15 by Ondrej Hurt
- Admin stuffs:
  - GMs level 4 can make themselves invisible by /invisible and /visible commands.
  - Big changes to ProximityList - I needed it to support nonmutual subscribes
    to implement invisibility. Also improved variable names.
  - Added 20 to all security levels so that they correspond with serverconsole.
  - Modified security level restrictions on client so that they correspond to server restrictions.
  - Implemented /npc command - GMs can create NPCs.
  - CharacterLoader::LoadAllNPCCharacterData() now loads all characters that have zero account_id
    so that NPCs without a spawnrule are loaded.
  - Fixed /killnpc
  - Replaced a few "DoDamage(10000)" calls with "Kill()"
- Chat stuffs:
  - Added new chat message type: CHAT_SERVER_TELL: it is used by tells that
    do not come from other clients, e.g. tells from NPCs.
    Auto-response set up with /away command doesn't reply to it.
  - ChatManager now uses SendSystemError() instead of a CHAT_TELL message when telling client
    that target of client's tell doesn't exist.
- Half-assed fix of infinite HP/Mana/Fatique indicators in info window after client startup.
  They are simply set to zero now and the real value is shown as soon as client receives
  STATDRUPDATE message (in a few seconds at most). The problem is that I can't simply
  send STATDRUPDATE after client connect, because I have no guarantee that this message
  will be delivered to the client _after_ it received player's character entity
   - the order of message delivery is not guaranteed.
- GUI stuffs:
  - Changed layout of listbox title row so that its height is smaller.
  - Changed buddy window font to one that is not hard to read.
  - Changed label of "OK" button in config window to "Save".
  - Added standard close button to group window.
  - Overloaded pawsWidget::Show() with pawsGuildWindow::Show() so that it doesn't show the window directly,
    it just request data from the server and actually shows the window when the data come.
- All HandleCommand() methods on client use CmdWords parsing class now.
- Fixed CmdWords::GetTail() which returned requested word sequence without spaces between the words.
- Labels over heads of characters made smaller.
- Added limit to character movement per rendered frame.
  If your client experienced extreme
  fps drop (e.g. due to swapping) at the time your character was turning around,
  it turned the character as if you were holding the turn key all the time between
  the two rendered frames (maybe a few seconds). This turned you to quite random angle.
- Fixed client crashing when it received STATDRUPDATE message for an item. (which is bug in server)
- Fixed layout issues in pawsMenu.
- Chat Window now uses CmdWords command parsing class.
- Fixed missing vertical scrollbars in trees in Options window.
- pawsTree: fixed that the vertical decorative line between tree root and its children was painted
  at wrong vertical coordinate (half of the right value).

*** 2004-04-13 by Anders Reggestad
- Removed the Shortcuts buttons from the option window, this was deprecated
  when resizing behaviour of shortcut window was changes.

*** 2004-04-12 by Andrew Craig
- Removed pawsItemSlot/pawsDragDropItemSlot/iItemContainer stuff from inventory.cpp
- Made all slots to be pawsSlot.  This may have broken somethings but I will fix. This
  is a necessary step to help clean up the code.
- Cleaned up the inventory xml and widget code to make it easier to understand.
- Changed the pawsmoney/psmoney classes to allow easier changing of container id's
  and adjusting coin counts.
- Added drag and drop for money from inventory to the world.
- Added CONTAINER_IVENTORY_MONEY,
        CONTAINER_OFFERING_MONEY,
        CONTAINER_RECEIVING_MONEY to the list of available slot container types.
- Added new PSITEMSTATS_FLAG_* for the 4 different coin types.  Allows us
  to check to see if an item is a coin:
    item->GetBaseStats()->GetFlags() &  PSITEMSTATS_FLAG_TRIA
- Added special case to the pickup item code to check to see if the item is money
  and add to the players coin counts
- Added 4 entries to the item_stats.sql table for the coins.  UPDATE YOUR DATABASE.


*** 2004-04-12 by Anders Reggestad
- Fixed a couple of compiler warnings under linux.
  - Added newline at files missing newline.
  - Fixe a type conversion in input to printf
- Changed Options -> Controls -> Keybord -> Shortcut* to reflect
  changes done to the shortcuts window. Now a list of 30 entires
  insted of 4 lists of 10 reflecting the old shortcut window.

*** 2004-04-11 by Andrew Robberts
- Fixed up some camera stuff

*** 2004-04-11 by Andrew Craig
- Moved the localization.h/cpp out of the client and into the utils library.
  Updated MSVC7 project files.
- Fixed jamfile for pssetup
- Fixed exchanges with NPC.  Have to fix the final trigger checking to have them
  respond properly to being given items.

*** 2004-04-11 by Andrew Dai
- Added server logging to pickups/drops and looting.
- Fixed an error in the info message on looting rolls.
- Fixed the type of CacheManager::GetTipByID
- Fixed the WARNING: clientnum != 0 error on connection. This warning is still valid,
  if it happens, something is wrong with an outgoing message.

*** 2004-04-10 by Ian Donderwinkel
- Rewrote the Planeshift setup application (pssetup). It now uses PAWS instead of the
  CS AWS.
- The size and on/off image properties of a checkbox can now be set in xml:
  <checkbox on="radioon" off="radiooff" size="12"/>

*** 2004-04-09 by Keith Fulton
- New event reactions to time perceptions from the server.  Now an npc
  can react to a time change on the hour 0-23.  See "smith/guard" npctype
  for dumb example.
- Also added "print" command which dumps the current list of behaviors and
  needs from the specified player id. Ex:  print 7

*** 2004-04-09 by Andrew Dai
- Removed a debug message from log writing and cleaned it up slightly.

*** 2004-04-08 by Andrew Dai
- Server now automatically logs all exchanges and buy/sell to logs/exchange.csv

*** 2004-04-07 by Andrew Dai
- Added an unhandled exception filter so that minidumps will be created when
  application crashes. This will only compile on MSVC 7 (or MSVC 6 if the Platform
  SDK has been installed). This will work correctly when the Release build of CS, CEL and PS
  are used. To generate a minidump with the Debug build (for testing), click Ignore on
  all the error messages when the application crashes.

*** 2004-04-07 by Christian Svensson
- Fixed: The credits screen doesn't restart when it was closed and reopened
- Added /graphicbug command to the client, which creates a .cam file
  which should be compatible with walktest
- NOTE: I forgot (again) to submit my history last time, so here it is:
  (2004-04-04) Ported the credits screen and improved it.
  It can be accessed on the login screen

*** 2004-04-07 by Ondrej Hurt
- Player Groups:
  - Added Invite/Leave/Disband buttons to group window.
  - Removed group invitation handling from Group window (it's handled by InvitationClient)
  - Fixed that when player accepted invitation to a group that was disbanded meanwhile,
    server crashed because the group instance existed, but it wasn't registered at GroupManager.
    Such invitations are simply discarded now.
- Fixed that /show_gm command was invisible to users.
- Removed quit button from Guild Window and added the standard quit buttons.
- When you cast an offensive spell on a creature, it will get an attack perception.
- A few minor Credits window fixes.
- Name labels above characters: fixed that they were upside down in NR, fixed that font pixels
  near border of the label were not visible sometimes, made them bigger.

*** 2004-04-07 by Andrew Robberts
- Added a mesh effect obj (can load any mesh)
- Fixed a bit of a problem with up vector for quad effect (there's still a
  problem, but it's easily fixed and I have to commit now)
- Fixed a zbuff settings problem with the effects

*** 2004-04-07 by Andrew Craig
- Fixed up the traits system.  Removed the eyes/hair/etc from the characters table
  and made them traits in the trait table.  Adjusted the trait table to hold the right
  data:  Location/Mesh/Material/Texture.  This should handle both changes in mesh textures
  and adding/removing submeshes( unsupported at the moment ).
- Make sure you update your database.
- Adjusted the character creation to this new system ( both client/server fixed )
- Fixed the server console to display npc traits correctly to add/remove. Tested with
  different NPC's for different textures.

*** 2004-04-07 by Andrew Robberts
- Changed all sinf, cosf, asinf, acosf, to (float)sin, (float)cos, ... to be
  kind to those mac people
- Fixed some bugs in the effects and did some restructuring of them
- Added a spire and explosion effect obj, (explosion is buggy atm)
- Added the ability to anchor any effect to an iMovable

*** 2004-04-06 by Ondrej Hurt
- AdminManager:
  - When you kill somebody with /death, you get no experience now.
  - Deleted end-of-line characters from text messages sent to clients that were visible as smal rectangles.
  - Searching for names of players entered in commands written by clients is case insensitive now.
  - Better handling of situation when player doesn't enter any player name but the command requires it.
- Fixed some issues in the /report command.

*** 2004-04-05 by Luca Pancallo
- Added ability for psbuttons to play a sound on click.
- Added a standard button sound on soundlib.xml

*** 2004-04-05 by Andrew Craig
- Some more big clean ups of the exchange manager and window.  It should
  be functional now for items ( no money yet ) and still cannot trade with
  NPC's yet.  But is getting easier to clean up now.
- Added patch from SCastro that fixed the settings window problem

*** 2004-04-05 by Ondrej Hurt
- Changed Chat Window layout so that is wastes less screen space.
- PetitionWindows:
  - Fixed that PetitionWindow did not request petition list from server when opened via the icon at screen top.
  - Cut height of petition list rows to 20px.
  - Fixed that the /petition command was subscribed, but then unsubscribed, therefore invisible to users.
  - Added standard close button to PetitionGMWindow
  - Fixed that the /petition_manage command was invisible to users.
  - Fixed PetitionGMWindow crashing when list of petitions was empty.
- Fixed pawsObjectView crashing when it could not load the mesh.

*** 2004-04-04 by Ian Donderwinkel
- Fixed pssetup so that it is now able to save/read settings to/from configuration
  files (psclient.cfg and planeshift.cfg) again.
  Thanks to Christian Svensson for providing most of the code for it.

*** 2004-04-04 by Andrew Dai
- Fixed circular reference to celclient in entitylabels.
- Fixed some memory leaks in the client.
- Added ability to turn on/off rain manually at server in any sector

*** 2004-04-03 by Thomas Towey
- Cleaned up some buggy code in the trade combination code.

*** 2004-04-03 by Christian Svensson
- Maintenance of the toolbar

*** 2004-04-02 by Christian Svensson
- Fixed new toolbar
  To add new icons to it, do as following:
  in pawsControlWindow::PostSetup add
  AddWindow("WindowName","ButtonNameInToolbar");

  And instead of inherit from pawsWidget, inherit from pawsControlledWindow
  Don't forget to add
  #include "gui/pawscontrolwindow.h"

  And if you need to alter the Show or Hide functions,
  make sure you call pawsControlledWindow::Show or Hide
- Fixed crash in pawsWidget. If bg image wasn't found, the old would
  still be deleted
- New toolbar has also support for styles
  See control_styles.xml for examples

*** 2004-04-02 by Ondrej Hurt
- Added command parsing class, stuff like "param = cmd.GetData() + 10" causing strings pointing to bad places
  and some ad-hoc hacks in command line parsing code made me write it: CmdWords at util/strutil.h
- Fixed that when server created an item, it tried to send item persist messages to clients
  from unitialized proxlist, so the clients didn't receive the message.
- Command /item is case insensitive now.
- Fixed that all spells targeted caster rather than his target,
  and that Flame Spiral healed instead of damaging :)
- Falling from 2 metres causes no fall damage again.
- ProgressionManager now calls gemActor::DoDamage() instead of psCharacter::AdjustHitPoints()
- GlyphWindow now tries to keep glyphs in their current slots when it receives list of glyphs from server,
  instead of pushing them inside in the order in which they came from the server.

*** 2004-04-01 by Keith Fulton
- Committing fix by Steve Castro for the "Sector 'one' not found" error on the
  server.  Thanks Steve.

*** 2004-04-01 by Andrew Dai
- Server now correctly destroys the gem object, so there should be
  a lot fewer SCF Warnings when shutting down the server.
- More minor memory leak fixes in the server due to objects pointed to in csHash
  not being deleted and a csArray of pointers being used instead of csPDelArray.
- Fixed some classes to use the server's random number generator.

*** 2004-04-01 by Ondrej Hurt
- Added loading screen when player crosses sectors and needs to (un)load maps.
  Also minor bug fixes and refactoring in this area.
- psCharacter::PutItemInAnyBulk(item) now sets item to NULL so that code
  that continues using it crashes immediately instead of corrupting memory later
- UserManager:
  - Fixed some potential crashes, some refactoring
  - Looting system talks more instead of being silent when problems occur
- psServerChar:
  - Removed checking for NULL returned from the "new" operator.
    It _never_ returns NULL, it throws exceptions.
  - Replaced string parsing code with ParseString() calls
  - Better handling of situation when player buys something from a merchant
    but has not enough room in his inventory.

*** 2004-03-31 by Keith Fulton
- Made Fall damage calc part of scripting engine.  See psserverdr.cpp for
  nice simple example of how to use it.

*** 2004-03-31 by Andrew Dai
- Fixed more memory leaks in the server.
- Fixed a bug? in the progression manager formula code

*** 2004-03-31 by Keith Fulton
- Implemented new scripting language for combat and other RPG calculations.
  I will be porting over existing code with this kind of stuff in it to the
  new scripting in the next few days.  See /data/rpgrules.xml for brief example
  and distro server (if you're on the dev team) for the one true file.

*** 2004-03-31 by Andrew Robberts
- Many changes to effects
- Added colour, alpha, rotate, and cell based animation
- Added the ability to specify an up vector for the effect to angle it
- Added a couple of effect prototypes

*** 2004-03-30 by Andrew Dai
- Fixed a memory leak in the server which occured everytime a new player/superclient
  successfully authenticated or every time the list of guild members was queried due to
  psAccountInfo not being deleted.

*** 2004-03-29 by Andrew Craig
- More work on the exchange manager. Still a bit broken but getting better.
- Items now can be added and removed from exchange.  Last steps are to transfer
  items.
- Added OnMouseEnter/Exit()  and OnChildMouseEnter/Exit() functions for PAWS that
  handles mouse movements into and out of widgets.

*** 2004-03-29 by Andrew Dai
- Fixed a bug in the error message returned from a chat command.
- Made it so only chat messages with a non-empty text message are accepted
  by the server and sent by the client.
- Fixed a small syntax problem in the server that prevented it from compiling
  in MSVC

*** 2004-03-29 by Jorrit Tyberghein
- In order to get PS to compile on mingw I had to rename
  iSoundManager->PlaySound() to StartSound(). The mingw includes contain
  a #define PlaySound PlaySoundA which messes up compile.
- Changed PS_PAUSEEXIT so that it is now compiled with COMP_GCC is set
  instead of only OS_UNIX. That makes this work on mingw too.
- Added an alternative implementation of psSleep() for mingw.
- Fixed a problem in psengine.cpp and mingw. One of the mingw includes
  does a #define LoadImage LoadImageA. This is problematic. Added
  an #undef LoadImage to fix this case.

*** 2004-03-28 by Tom Towey
- Fixed minor type in psserverdr.

*** 2004-03-28 by Ian Donderwinkel
- Fixed the problem that the server crashes when a player receives an item as a reward for
  a quest while having a full inventory. The player will now receive a warning and the
  item will be put on the ground.

*** 2004-03-28 by Andrew Robberts
- added a simple effect prototype/base.  Texture and concept by Artician ;)
  The effect is generated when you perform a mouse run.

*** 2004-03-28 by Andrew Robberts
- improved some effect stuff, specifically lerping of quad keyframes, better
  position, rotation, spinning, and scaling handling

*** 2004-03-27 by Andrew Robberts
- Fixed some bad pointer references to psengine
- NOTE: ** if you find yourself typing csRef<iPSEngine> then stop, use
  globals.h

*** 2004-03-27 by Ondrej Hurt
- Fixed SlotManager crashing when you clicked on item stack, then clicked Cancel in stack prompt window
  and then clicked on psMainWidget.
- Fixed incorrect scrolling of ShortcutWindow.
- Added escaping of SQL and XML everywhere.
- Code that checks if player can attack something moved from UserManager to Client class
  to make it accessible from more places.
- Spells can be marked as "offensive" in DB. Casting of such spells is checked against PvP rules.

*** 2004-03-26 by Ondrej Hurt
- Changed BuddyWindow layout so you get more bang (amount of information) for your bucks (amount of screen space obscured).
- Fixed that <minframe> and <maxframe> values in widgets were no scaled according to screen resolution.
- Fixed that names of guild members were not normalized after load from DB.
- Better handling of the situation when there are more glyphs in the glyph window on the client
  then on server so we need to remove some on the client.
- Server was always sending psMsgStrings to the very first client that connected, not to
  the client that was authenticated right now.
- Client does not crash when it haven't received psMsgStrings from the server now.
- Duels
  - Server now talks more when managing duels, instead of being silent when some problem occurs.
  - /yield didn't actually delete the duel between players
  - Fixed crash when trying to challenge a NPC.
  - After accepting the duel, it was actually added to the target player only.
- Guild wars:
  - Server now talks more when managing guild wars, instead of being silent when some problem occurs.
  - You can't start a guild war with another guild when you already are in war with them.
  - After accepting the war, it was actually added to the target guild only.
  - Only guild leaders can use /guildyield now

*** 2004-03-25 by Ondrej Hurt
- Fall damage: HP in InfoWindow is updated immediately now.
- Purification status of glyphs is visible in the inventory window.
- Purification status of glyphs is visible during drag and drop.
- Glyphs cannot be stacked with others glyphs that have different purification status.
  Glyphs that are being purified cannot be stacked at all.
- Changed pawsSlot so that they don't show stack counts when there is no item inside.
- Added configuration attribute to pawsSlot that enables them to have zero stack count
  and still contain an item (useful for glyph window)
- Fixed SlotManager crashing when you try to remove nonexisting item from special inventory slots (e.g. hands).

*** 2004-03-25 by Andrew Robberts
- Added preliminary effects stuff, but it's disabled comment out the define at
  the starting of pseffectmanager.cpp to enable it
- Basic floor quad is implemented with material selection and scale keyframe
  support.  Not even close to done yet though.

*** 2004-03-24 by Ian Donderwinkel
- Added support for offering reward choices to players after completing quests.
  This can be done by putting something like this:
    <offer><item id='3'/><item id='6'/></offer>
  in the NPC response script.

*** 2004-03-23 by Christian Svensson
- Fixed a crash bug in the glyph window
  It would crash if you pressed the save button,
  with no spell(?) selected
- Merged John Ellis's code with mine
- Added pawsQuitInfoBox to the linkdead message,
  which is much nicer, than leaving the client in the world

*** 2004-03-23 by Ondrej Hurt
- Added glyph purification to the new glyph window. The glyph window is 90% done now.
- Resurrected spell casting disabled during glyph window changes.
- Changed ShortcutWindow so that it scrolls by pages, not by rows.
- Fixed crash bug in psItem::CombineItems(): the comment instructed the caller to destruct
  the passed item, but CombineItems() was already doing this ! ===> double delete
  This was causing mysterious crashes in many operations with items (exchange,merchant,glyph,.....).
- Simplified usage of psItem::CombineItems(), psItem::FindStackableAndStack() and psCharacter::PutItemInAnyBulk().
- Changed places calling psCharacter::PutItemInAnyBulk() so that they conform to its new interface.
- Changed fall damage model.

*** 2004-03-22 by Christian Svensson
- Removed some old headers in pawsControlWindow
- Added a pawsQuitInfoBox class
- Added IsAllLoaded to psWorld to check if
  it has been successfully loaded
- Added a nice error message if the map wasn't found
  (Using pawsQuitInfoBox :) )
  Sorry for the delay, it was late :)

*** 2004-03-22 by Andrew Robberts
- cam stuff

*** 2004-03-21 by Andrew Craig
- A little bit of work on the exchange manager ( still broken )
- Patch from  Pjotr Svetachov that added data to summary screen and other
 fixes to character creation.
- Patch from Jeremy Bell that fixes a key problem. Now uses key instead of
  cooked key code.

*** 2004-03-21 by Christian Svensson
- Commited patch from Steve Castro which
  fixed server crash when art files wasn't found

*** 2004-03-20 by Ondrej Hurt
- Added fall damage.
- Moved code from CombatManager::DoDamage() to gemActor::DoDamage()
- New glyph window sort of working ..
- Added function ParseString() to psxmlparser.cpp that parses string
  and returns one of first nodes so we don't have to repeat this code 1000 times.
- Fixed that glyphs sold by merchant were actually ordinary items with glyph images.
- Fixed uninitialized attributes in psCelClient
- ListBox scrollbars made thinner.
- Function psContain from strutil.cpp made NULL-proof.

*** 2004-03-19 by Andrew Robberts
- Camera fixes

*** 2004-03-18 by Christian Svensson
- Fixed a bug in the chat window were
  it displayed very wierd and uncontrolled
  ouput on empty chat string,
  Now it displays "Can't send empty chat string!"

*** 2004-03-17 by Ian Donderwinkel
- Decreased the size of the infowindow
- Added the ability to center the camera behind the player for the
  mario64, lara, and free rotational camera modes. At the moment the shortkey
  for that is set to 'x'.

*** 2004-03-17 by Andrew Dai
- Removed all command descriptions and visibility arguments from the code.
- Added 'level' tag support to help.xml to restrict help topics based
  on the level of the player, an example are the Admin Commands help topic.
- Added localised command help to help.xml for cesky and deutsch, they are stored in
  /lang/cesky/data/help.xml and /lang/deutsch/data/help.xml

*** 2004-03-17 by Keith Fulton
Committing patch from John Ellis to fix people not dying after they are killed.

*** 2004-03-17 by Andrew Robberts
- Submitted patch by Jeremy Bell to fix a GM issue and add an UnsubscribeAll()
  to iCmdHandler

*** 2004-03-16 by Ian Donderwinkel
- Fixed a bug in the random name generator.

*** 2004-03-16 by Andrew Dai
- Hacked a fix for clipping bugs with pawsTree. This fix will NOT work for multiple
  widgets associated with a single tree node.
- Fixed attaching scrollbar in pawsTree
- Routed all /help commands to display the help window.
- Updated help.xml to contain all current commands
 (Please update this in future for new commands)!!
- Fixed help window GUI bugs

*** 2004-03-15 by Andrew Craig
- Started work on the exchange manager changes for new drag/drop system
- Started unification of slot names in client and server. Added a new
  util/slots.h that is a hash map of the names with enums.
- Removed the PSCHARACTER_SLOT enum from the server side and made it use the
  new common hash map.
- Fixed the equipment messages so the player is updated at login as well as
  their inventory doll.

*** 2004-03-14 by Ian Donderwinkel
- Added a simple fps counter to pawsInfoWindow and changed the layout of the infowindow a bit

*** 2004-03-13 by Ian Donderwinkel
Made some GUI changes:
- Its now possible to have text with shadow in a widget by setting shadow="yes" in the xml font tag
- The images and size of a radiobutton can now be set in xml:
  <radio on="radioon" off="radiooff" size="16"/>
- Also improved the layout of the login- and character creation screens

*** 2004-03-13 by Andrew Craig
Fixed bug  [ 911194 ] ignorelist issues.  Split the /ignore command into /add_ignore and
/remove_ignore.
Added exchangeID to the client class to make sure the exchange id from the client is valid.
Ideally the client should not be sent the ID at all so some more clean ups to do there.

*** 2004-03-13 by Andrew Robberts
- Fixed a bux when leaving M64 mode

*** 2004-03-13 by Andrew Robberts
- Camera bouncing at low fps should be fixed now

*** 2004-03-13 by Ondrej Hurt
- Changes to LoginWindow behaviour that are visible, when server does not respond immediately (or at all):
  - It is actually painting itself now (not just mouse cursor that was erasing remains of LoginWindow)
  - When you click on "OK!" it shows label with "Contacting server ... please wait"
  - You can't click on "OK!" again when it is still trying to connect.
  - LoginWindow doesn't try to detect login timeout itself now because this is already done
    in network layer.
- Changes to Invites:
  - All psInvitationMessages now carry type of invitation (e.g. duel, guild join, ...)
  - When one player challenges other to a duel then the invitee's client can automatically
    accept/reject this invitation according to configuration (in pawsConfigPvP)
  - Removed invitation handling from psGuildCommands.
  - Removed pawsGuildJoinWindow from cvs.
  - Moved invitation handling to new class psInviteClient.
- Fixed a data consistency issue in guild alliance system.

*** 2004-03-13 by Andrew Robberts
- fixed some more PS config.h includes
- made some changes to the spring mechanics of pscamera

*** 2004-03-13 by Andrew Robberts
- fixed PS to not include config.h at all, and the configure.ac to not create
  config.h
- fixed up some compiler warnings

*** 2004-03-13 by Keith Fulton
- Submitted patch by Pjotr Svetachov for tab transparency and a crash.

*** 2004-03-13 by Andrew Robberts
- Fixed up configure.ac and config.h.in to create psconfig.h AND config.h
  NOTE: it must still create config.h, because some CS header files include
        a config.h (possibly a bug in CS?)
- Fixed up LC camera mode and did some restructuring of pscamera
- Minor camera fixes

*** 2004-03-13 by Christian Svensson
- Renamed config.h to psconfig.h (Mac had problems with this)

*** 2004-03-12 by Andrew Craig
- Added server status patch from Dewitt.  This creates a nice XML data structure log for
  a player when the server generates a log file.  Will be useful to display live stats
  on a website.
- Fixed disappearing dwarf in object view widget.

*** 2004-03-12 by Thomas Towey
- Added logic to not allow players the ability to drag or drop items in container
  slots that contained items owned by other players.
- Moved check for owner item after check for target slot was not empty.

*** 2004-03-12 by Ondrej Hurt
- Part of pawsWidget::Draw() put to separate method pawsWidget::DrawBackground()
  so that Draw() is easier to overload.
- Fixed pawsTree so that it recognizes all standard witget attributes
  when calling its Load() method
- Changed ConfigWindow so that all widgets inside are loaded from XML, instead of being
  mostly set up with C++ code. Now it scales well according to screen resolution.
- Fixed approval of /attack:
  - NPCs could not be attacked
  - Players that accepted challenge but didn't have the attacker targeted could not be attacked.

*** 2004-03-12 by Andrew Robberts
- Added some camera CD support, should work well enough for CB release
- Fixed up some camera stuff

*** 2004-03-11 by Keith Fulton
- Patch from John Ellis fixing duel checking.

*** 2004-03-11 by Ondrej Hurt
- New radio button images (16x16 instead of the old 8x8). I hope you will like them ;)
- Soften borders of scrollbar thumb.

*** 2004-03-10 by Ian Donderwinkel
- Made Listbox appearance a bit more flexible by adding a new xml tag:
  <scrollbar arrowup="Up Arrow" arrowdown="Down Arrow" arrowsize="8" width="15" border="false"/>
- Fixed the problem of only being able to have one fontsize per font

*** 2004-03-10 by Ondrej Hurt
- Invites to guild and invites to guild alliance don't use direct pointers to guild/alliance
  so they won't crash if the guild/alliance is disbanded.
- Changed pawsListbox::SelfPopulate() so that it tries to keep the listbox scrolled
  in the same position instead of reseting the scrollbar.

*** 2004-03-10 by Thomas Towey
- Fixed a bug in the container description window where the contents of
  the previous window slot was not being cleared out.

*** 2004-03-10 by Andrew Robberts
- Committing Third Person Lara camera mode and some misc updates
- CD still doesn't work so disable it
- Changes have been made to the camera config, so if any problems come up,
  delete data/options/camera.xml

*** 2004-03-09 by Keith Fulton
- Committing patch from Pjotr Svetachov for more specific tabs in the chat
  window.  These should still ideally adjust in width when the window is too
  small to fit the big ones.

*** 2004-03-09 by Ondrej Hurt
- Fixed that buddy system did not normalize names of buddies (i.e. first char uppercase, rest downcase).
  This caused that they sometimes could not be found on list of clients so they were labeled as off-line.
- Changed behaviour of ShortcutWindow when is it being resized: sizes of the buttons inside remain
  fixed, but their number and layout changes.
- Guild alliance name is now visible in GuildWindow.
- Changed invitation system so that PendingInvite instances hold numbers of clients,
  instead of direct pointers to them (Client*). There was danger of server crash if
  the inviter or the invitee disconnected before the invitation is discarded (closed).

*** 2004-03-08 by Thomas Towey
- Fixed bug where auto transformation tried to also combine items.
  We can now make way bread by dropping it into an oven container
  and waiting until it bakes.

*** 2004-03-07 by Keith Fulton
- Added /guildwar and /guildyield commands for starting and stopping
  guild wars.  Winning guild gets 10% of the karma points of the guild
  with the lower total.

*** 2004-03-07 by Ondrej Hurt
- Added check preventing you from attacking things like items (non-actors).
- Player groups:
  - Fixed that /groupmembers used end-of-line character to separate lines
    which does not actually work.
  - Fixed that GroupWindow remained visible (with outdated information) when
    group was left/disbanded.
  - Tells from GroupWindow are now sent by doubleclicking on name of member.
  - Added text messages from server telling the user what hapenned or what
    is wrong.
  - Removed old debug messages.

*** 2004-03-05 by Keith Fulton
- Pulled region/location handling out of npcclient into util so that psserver
  can share it for PVP regions.
- Added free PVP zones for arenas and quests.

*** 2004-03-05 by Thomas Towey
- Fixed some auto transform bugs.

*** 2004-03-06 by Ondrej Hurt
- Fixed some could-be crashes in AdminManager.
- Fixed that bad word filtering in chat (it was commented out btw) could be avoided:
  If you repeated one bad word more than once, not all of the occurences were removed.
- Fixed a could-be crash in CreationManager.

*** 2004-03-05 by Thomas Towey
- Changed the entry point for the auto transformation containers.
- Fixed some bugs.
- Added the hook to the auto transformation for items dropped into containers.

*** 2004-03-05 by Ian Donderwinkel
- Improved the spinbox widget. When a user holds down an arrow button the value of the spinbox
  will be in/decremented over time. It's also possible to enter values directly by using the
  edit box.

*** 2004-03-05 by Ondrej Hurt
- Added guild alliances GUI - a tab in GuildWindow.
- Alliance invites are working now.
- Added function NormalizeCharacterName() that sets first letter uppercase and the rest lowercase
- BuddyWindow fixes:
  - It was not possible to add buddies when the buddy list was empty.
  - When a buddy was removed, it was still possible to press the Tell button and the window tried
    to send a Tell to this already removed buddy.
  - Removed end-of-line characters from server messages (they are visible and look like small rectangles)

*** 2004-03-04 by Thomas Towey
- Worked on autotransformation trade skills.
- Removed an extra column from the trade transfrmation table.

*** 2004-03-04 by Ondrej Hurt
- Added firt version guild alliances. It can be accessed from command line only (no GUI yet).
  Invites don't work.
- Fixed: leader of created guild was saved to database at guild level 1.
- Fixed GuildWindow layout and order of tabs.

*** 2004-03-03 by Thomas Towey
- Fixed trade skills bugs so more.  All the manual transformation logic looks good.
   Continueing to test autotransformtations.  Thank's to Andrew C. it's much easier now,
   since I can now drag and drop items from containers.

*** 2004-03-03 by Andrew Craig
- Split class code that was in exchangemanger.cpp to the header for the
  definitions. Makes it a bit easier to read and understand this way.

*** 2004-03-03 by Thomas Towey
- Fixed trade skills bugs.  Skills are now being practiced and quality assigned to resulting item.
  Also garbage items will now be created when item quality is zero.

*** 2004-03-03 by Andrew Craig
- Fixed item drop.  Moved out of the psserverchar and into the slot manager.
  Removed the drop message details from the PSGUIInventory message.  Now is
  handled by slot move to CONTAINER_WORLD.
- Changed how the exchange manager initiates an exchange.
  The server now determines what type of trade ( ie player to player or
  player to NPC ) instead of the client. Added a new psRequestExchange msg
  and removed part of the psGUIExchangeMessage that dealt with this.  This
  is an attempt to split things up into smaller, tighter message classes.

*** 2004-03-02 by Anders Reggestad
- Added training of skills when target dodging and when blocking
  attacks.
- Fixed compiler warnings.

*** 2004-03-02 by Andrew Robberts
- Replaced M64 camera mode to actually be good.
- Added camera settings to config window.
- Fixed camera stuff.

*** 2004-03-01 by Keith Fulton
- Last patch from Ian Donderwinkel (he can be WTB now) which improves
  the look of the tabs and makes listbox highlights much more flexible.

*** 2004-03-01 by Ondrej Hurt
- Labels above heads of characters: label of your own character is not shown.
- Increased resolution of label texture makes them more smooth.
- Painted real scroolbar thumb instead of the ugly checkbox buttons :)
- Fixed pawsComboBox::GetSelectedRowString() which was crashing on NULL
  when no combo option was selected.
- Guild leaders are not allowed to leave their guild now. They must promote
  another member to leader level first.
- Constant MAX_LEVEL (level in guild hierarchy) put to psconst.h
- PromptWindows made opaque.

*** 2004-02-29 by Andrew Craig
- Fixed the examine item in inventory button. Change the item description to use a common
  message psViewItemMessage.  The other messages are scheduled for removal such as:
  psGUIContainerDescMessage
- Removed psGUIContainerDescMessage and psGUIItemDescMessage as they have been merged into
  one psViewItemMessage.

*** 2004-02-29 by Christian Svensson
- Added new NPC response script:
  <guild_award karma="10"/>. This will add 10 pts to the guild's karma

*** 2004-02-29 by Ondrej Hurt
- Exchange:
  - Distance is checked when trying to accept offer.
  - ExchangeManager now stores clientNums of clients instead of Client* so there is no danger of invalid
    Client* pointers now.
  - Fixed that after ending exchange characters remained busy and could not start another trade.
  - Some cleaning/rewriting of code.
- Added psMoney::Set(const char*) method
- Shortened range of scrollbar embedded in pawsListBox so that you can't scroll down too much and see lots of blank space.
- pawsWidget::SetRelativeFrameSize() calls OnResize().
  OnResize() recalculates position of the standard widget closing button.
  This fixes invisible standard widget closing button in ExchangeWindow when invoked with /give.
- Small fix of LoginWindow listbox layout.
- When you click anywhere inside scrollbar scale, the thumb will move there.

*** 2004-02-29 by Christian Svensson
- Redid the flood control. All values are saved in the Client structure
- Fixed warning about float to int conv ( I think, haven't succeeded in reproducing it )

*** 2004-02-28 by Andrew Craig
- Made some improvements to the life event screen.  Fixed the size of the list box rows
  so they don't interfere with the scroll bars and added description boxes for the events.

*** 2004-02-28 by Andrew Robberts
- Improved the per-frame drawing of the camera

*** 2004-02-28 by Andrew Robberts
- Fixed camera start position
- Added Mario64 style camera mode
- Fixed the Free Rotational camera mode
- Added camera mode description to info window
- Fixed camera transition to First Person mode

*** 2004-02-28 by Andrew Craig
- Started work on a new drag and drop system that allows the server to
  figure out what the proper responses should be.  Not finished yet but
  I don't want to get too out of sync with CVS.  Look at the slot manager
  in the server to see the implementation of this.

*** 2004-02-27 by Keith Fulton
- Committing patch from Ian Donderwinkel which shows uncompleted and
  completed quests on different tabs in the Quest Notebook.  Update your
  database to see this.

*** 2004-02-27 by Christian Svensson
- Added description to players / NPCs
- The skills screen is transformed into something usefull w/
  stats and such. This is also where the modify button for desc is
- /targetinfo for more info about the target. Use this to read the targets
  description

*** 2004-02-26 by Keith Fulton
- Rewrote the skills section in psCharacter and implemented both the
  impervious flag, which doesn't let you attack npcs, and duel_points for
  individual pvp scoring.  Will test better tomorrow.

*** 2004-02-25 by Keith Fulton
- Added /challenge and /yield commands for starting and stopping PvP duels.
  /challenge invites the targeted player to accept your duel.  If he accepts,
  then you can attack him.  Otherwise you cannot attack a human player
  anymore.  (I will add guild wars and arenas shortly.)  /yield command is there
  but not implemented yet.  That is next.

*** 2004-02-24 by Keith Fulton
- Committing patch from Ian Donderwinkel for sound effect playing on
  equip/unequip/pickup/drop of any item.  String of sound played is a new
  column in item_stats table.

*** 2004-02-24 by Christian Svensson
- Locked merchant trade actions completely if the player is dead, or the merchant is
- Fixed guild info windows by request 892698
- Fixed server crash if executed kill with a none existant client number

*** 2004-02-24 by Ondrej Hurt
- pawsListBox now sets positions of its rows via SetRelativeFrame() instead
  of MoveTo(), this fixes wrong positions of rows in ExchangeWindow.
- pawsWidget: Changed SetRelativeFramePos() so that it does not touch size
              of the widget.
              Changed SetRelativeFrameSize() so that it does not touch position
              of the widget.
              This fixes that ExchangeWindow was returning to default position
              on screen after drag'n'drop of items.
- Fixed pawsScrollbar crashing when it was resized before its PostSetup() was called.

*** 2004-02-22 by Christian Svensson
- Fixed client crash if server couldn't be connected
- Fixed server crash if /invite was executed without any arguments
- Fixed server crash if player tried to buy from dead merchant
- Fixed group status gui. Now it's much nicer and slimmer
  Slow double-click opens a tell window to the selected user

*** 2004-02-21 by Thomas Towey
- Fixed problems with dragging and dropping split counts.
- All container drag and drop working but drag to container.

*** 2004-02-21 by Keith Fulton
- Refactored group invite to work with InviteManager.  Groups are still not
  done very well but I will continue to work on it later.
- Also did a lot of fixing to header files and what includes what due to
  circular dependencies.

*** 2004-02-21 by Thomas Towey
- Added a SendMoveItemFromContainerMessage function to iItemContainerWidget interface.
- More drag and drop work.
- Also added psCamera to MSVC7 project file for the client.

*** 2004-02-20 by Keith Fulton
- Renamed psGameObjectEvent to psGEMEvent to clarify the name a little more.
- Added an auto-timeout feature to InviteManager.  Default is 60 seconds
  currently.

*** 2004-02-20 by Thomas Towey
- Added an object ID to the container move logic to support moving between
  multiple containers.
- Changed the object ID for the container move logic to be the cel ID.
- Added a new funcion CS_ID GEMSupervisor::FindItemID(psItem *item) to return
  cel ID of a given psItem.
- Found problem with database update and fixed some misspelling.
  Still need to debug inventory to container moves.
- Commented out structure/array and code that used local container slots.  Was
  not really being used and I do not think it would be very valuable with
  multiple container descriptions windows.

*** 2004-02-20 by Christian Svensson
- Fixed a few bugs if you weren't in a guild
- Namegenerator had an endless loop which in some cases
  doesn't stop. Added a 5 sec time limit on it

*** 2004-02-19 by Christian Svensson
- Changed the message sturcture of psMOTDMessage
  Instead of returning the value with the guild's name in it,
  it now returns the pure MOTD and the guild name in another var
  clever namned "guild".
- Added a MOTD window in /guildinfo for setting and reading the MOTD
- Guild MOTD is now saved correctly
- pawsMultiLineTextBox now parses line breaks
- Switched MOTD and tip boxes to pawsMultiLineTextBox

*** 2004-02-18 by Christian Svensson
- MOTD / Guild MOTD / Random tip in loading screen
  Also my first commit :)

*** 2004-02-18 by Keith Fulton
- Refactored guild invites to use a standard pending invite architecture.
  Will port over the other invites we have to use this same architecture in the
  next couple days.
- Fixed npcclient protocol to handle only managed NPCs and fixed the server
  to deactivate managed NPCs if a particular superclient disconnects.  Now
  running the superclient, quitting it, then re-running it should make the npcs
  pick up where they left off.
- Fixed minor compiler warnings.

*** 2004-02-18 by Andrew Robberts
- Added entity select support.

*** 2004-02-18 by Andrew Craig
- Update the merchant and exchange windows to have the nice title bar and close button.

*** 2004-02-18 by Andrew Robberts
- Committed basic camera stuff, not finished, but it's a start

*** 2004-02-17 by Thomas Towey
- Got the container move messaging to work.  Need to update the database next.

*** 2004-02-17 by Thomas Towey
- Implemented drag and drop in the containers.  It will drag and drop in the container itself,
  but I still need to code/test/debug the server side and moving items to other containers.

*** 2004-02-16 by Andrew Craig
- Changed the equipment messages to allow for part and texture changes now.  This
  allows equipment meshes for things like different materials for chothes to be
  sent now.  It uses the cstr_id_gfx_texture for the new material and cstr_id_part for
  the name of the sub mesh.  Example:
    cstr_id_gfx_texture = "/planeshift/art/dwarf/jacket.bmp"
    cstr_id_part = "Torso"


*** 2004-02-15 by Ondrej Hurt
- Fixed invisible scrollbar buttons in scrollbars used by pawsTree.
- Fixed wrong pawsMoney size under resolutions other than 800x600.
- Added debug method pawsWidget::GetPathInWidgetTree() that returns textual description
  of path to our widget through the widget tree (i.e. its direct and indirect parents)
- Fixed that pawsListBox scaled widths of its cells by resolution but it did not scale heights.
  This caused rectangular item slots in inventory and in merchant window under resolutions other than 800x600.
- Updated layout of InventoryWindow to compensate for bigger pawsMenu.

*** 2004-02-13 by Keith Fulton
- Committing patches by Christopher Kings-Lynne and Christian Svensson.
- These do /mute, /unmute, /screenshot, /tip, /motd, /guildmotd and many others.
- Also added support for display of lastname on players.

*** 2004-02-13 by Ondrej Hurt
- Fixed button in ItemDescriptionWindow that didn't receive mouse clicks within
  most of its rectangle.
- Changed pawsLoginWindow so that it shows up with stored password represented
  by 8 asterisks.
  If user attempts to change the password, then the editbox is set to empty
  string first.
- Changed pawsLoginWindow so that it is crash-proof regarding wrong XML files.
- Added helper methods to pawsListBox that simplify work with listbox cells of
  type pawsTextBox (they directly get/set their values).
- Fixed wrong size of exchange dialog for resolutions other than 800x600.
- Scrollbar thumb is not visible for small scrollbars.
- Positions and sizes of scrollbar components now scale with size of scrollbar.
  But I think that scrollbars and everything else should have fixed size for all resolutions
  so that people with higher resolutions can have more room on their screens,
  instead of unneccessary large windows.

*** 2004-02-12 by Andrew Craig
- Added in ignore window to make it easy to track your ignore list.
- /ignore will make it appear.

*** 2004-02-12 by Ondrej Hurt
- Misc guild fixes.

*** 2004-02-11 by Ondrej Hurt
- Items sold to merchant are simply deleted now.
- Fixed: you could initiate exchange (/trade) with yourself.
- Removed psCharacter::guildlevel and Client::guildID because they duplicated data already stored elsewhere
- pawsStringPromptWindow now sets focus on the editbox inside
- User is sent guild chat only when he has rights to see it.
- User can send chat messages to guild channel only when he has rights to do it.

*** 2004-02-11 by Andrew Dai
- Added validity checking to PAWS ClipRect, also fixed a few help GUI bugs.

*** 2004-02-09 by Andrew Craig
- Fixed up buddy status to notify players of buddy login/logoff.  The pscharacter
  now stores a list 'buddyOfList' that is a list of all the players that he is a buddy
  of.  When the player disconnects all the players ( that are online ) on this list are
  sent a psBuddyStatus message or notified when the player logs in.

*** 2004-02-09 by Ondrej Hurt
- Fixed crash bug in buddy system: wrong calculation of message size for zero buddies caused
  overrun and malformed message sent to client which crashed.
- Fixed another crash bug in buddies: NULL reference in psBuddyStatus.

*** 2004-02-09 by Andrew Craig
- Fixed bug [ 892887 ] Pick up of any object crashes
- Fixed bug [ 893193 ] some buddywindow bugs
- Fixed bug [ 892885 ] Dropped objects position

*** 2004-02-08 by Andrew Craig
- Cached the buddy list on player connection on server
- Added a new pawsBuddy Window that allows you to tell/add/remove buddies easily.
- Fixed bug 892700 that allows self to be buddy

*** 2004-02-08 by Ondrej Hurt
- psServerChar: Fixed passing of a csString to sprintf()
                Fixed missing argument to sprintf() causing garbage output and crashes

*** 2004-02-07 by Andrew Craig
- Fixed up the help window a bit to look and behave a bit better.
- Added a helper function to pawsWidget::SetTitle( name, image, align, close ). That
  will nicely set your title bar.
- Added title bars to the petition windows.
- Added line to planeshift.cfg
        PlaneShift.GUI.Imagefile
    which points to the image resource file that PAWS will use.

*** 2004-02-07 by Keith Fulton for Christian Svensson
- psServerChar now it sends the player items correctly. When you press the eye it get the
  info as usaly, but this time it gets the Description value from item->GetDescription()
  Which get its info from itemstat, which get it from the new database "description" column.
- New /screenshot command. Outputs a BMP in a folder called screenshot in the ps dir.
  Shows a warning dialog (Couldn't find any better :P) and notify the user the file name.
  The file name is computed by first getting the previous value from planeshift.cfg and
  then adding 1. If the file exists, add 1 again and so on until a valid filename is found.

*** 2004-02-07 by Ondrej Hurt
- Fixed: items from previous exchange were visible when new exchange started.
- Objects "given" to NPCs are destroyed now.
- Added array bound checks to ExchangeManager so that incorrect messages from client won't   crash server.
- When users change offer in ExchangeWindow, server sends them text descriptions of these
  actions like "You have just offered %s to %s." and similar.
- Fixed: pawsWidget::CheckButtonPressed() crashed on NULL widget names which caused crashes
         when user clicked on scrollbar buttons.
- Changed casts to dynamic_casts in InventoryWindow and made it more immune to wrong XML GUI   definitions.
- Removed usage of pawsStackCountWindow and replaced with pawsNumberPromptWindow.
  pawsStackCountWindow files deleted.
- pawsNumberPromptWindow puts focus on editbox now.

*** 2004-02-07 by Keith Fulton
- Added "/dig for gold" command on the client.
- Added handling of production events using natural_resources table.  Use
  "/dig for gold" while standing near the smithy for best results.
- Fixed character to SetMode of PEACE on startup.
- Added mining skill as example of production skill.

*** 2004-02-07 by Andrew Robberts
- Changed 'Close' petition button to 'Delete'
- Fixed bug when calling /petition with no petition
- Fixed bug in view petition window

*** 2004-02-06 by Andrew Craig
- Added a new attribute to the <title> tag for PAWS widgets.  New attribute is
 close_button = "yes".  This will automatically create a close button in the upper
 right of the title bar.  It calls the virtual function Close() which has a defualt
 behaviour of Hide()
- Added this button for the skill and info windows.
- Added short cut key(P) to toggle info window on/off.
- Updated the inventory/spell/skill windows for new close buttons and title bars.

*** 2004-02-05 by Ondrej Hurt
- Merchants:
  - Count of items to be bought/sold is entered in prompt window (like in InventoryWindow).
    Old editbox to enter count that was embedded directly in MerchantWindow was removed.
  - Fixed displayed counts of player's items that were numbers like 56483745128.
  - When player bought some item, it was removed from merchant's inventory. I changed it so that nothing
    is removed. The item given to player is just a copy of the offered item.
  - Merchants were showing that they had 1 piece of every nonstackable item and 10 pieces of every stackable item.
    I changed it so that it shows real item stack count from merchant's inventory, instead of this artificial count.
    Thanks to this, you can set arbitrary number of offered items.
  - Still not finished.

*** 2004-02-05 by Andrew Craig
- Added /death command that automatically kills a target.
- Added some labels to info window to make it more clear what the values are.
- Fixed problem in pawsListBox where it was not showing the title row.

*** 2004-02-04 by Keith Fulton
- Fixes from Christian Svensson.
   - Merchant qty is validated when buy/selling.
   - Fixed crash on ready on server if no map loaded.

*** 2004-02-04 by Andrew Robberts
- Changed the mouse run turning so that the rotational speed is proportional
  to the amount required to rotate. (Makes turning much smoother).
- Fixed some bugs where the player could cancel mouse run mid run
- Changed mouse run so that it aborts only when a movement command event is
  triggered
- Got rid of the psDatabase references from AdminManager

*** 2004-02-03 by Ondrej Hurt
- Changed and described meaning of guild priviledges (in bulkobjects/psguildinfo.h).
- Changed GuildManager so that it complies with the new meaning of guild priviledges.
- Removed checking for validity of outbound network messages in GuildManager
  (this will be checked in MessageHandler).
- Removed end-of-line characters from psSystemMessages sent by GuildManager.
- Clients with open GuildWindow now subscribe for notifications at server and server sends them updates
  when something changes (even when another player changes something).
- Message GUILD_DATA split to three smaller messages so we don't send all guild data
  when server notifies clients about small changes in a guild.
- The highest guild level has full rights all the time - priviledge checkboxes were removed from GUI.
- When player wants to promote someone, only lower levels are offered to him to choose from.
- Added guild web page URL to database, GuildWindow + added command /guildweb.
- When you try to remove yourself in list of members in GuildWindow, the game recognizes it
  and reacts differently than when removing other members.
- Fixed: lastOnline was visible only for online players in GuildWindow (i.e. completely useless :) )
- Added a few missing Unsubscribe()s to destructor of psGuildCommands command handler.
- pawsStringPromptWindow: pressing ENTER in the editbox has same effect as click on OK button.
- Fixed: pawsMenu layout was screwed up because its items were resized with SetSize() instead of SetRelativeFrame()

*** 2004-02-01 by Keith Fulton
- Added first part of production skills.
- Added convenience functions to psserver for SendSystemInfo and
  SendSystemError.  Took out a whole bunch of places where these could
  replace the code to create, check validity and send system messages.
- Renamed gm_nanny table to gm_command_log.
- Added some more to workmanager.  Mining still not functional.
- Fixed mouserun temporarily, pending aarobber improvements.
- Fixed compiler errors in msvc in pscelclient.cpp.

*** 2004-02-01 by Andrew Craig
- More cleanups of the pschar data class for removal. Moved more client side stuff
  to client.

*** 2004-01-31 by Andrew Craig
- Wrapped more of the CEL stuff on the client into the GEM layers.
- Started the process of stripping pcCharData for elimination.

*** 2004-01-30 by Andrew Craig
- Removed psserverchardata.h since it was used by nobody and did not actually have
  any implementation.

*** 2004-01-30 by Andrew Robberts
- Created a Spin (UpDown) control
- Fixed display problems with the boolean and integer options in ConfigMouse
- Fixed a minor issue with mouse run functionality where it would try and run up

*** 2004-01-29 by Andrew Craig
- Changed server status to produce a flat xml file now at regular intervals.
  At the moment just produces a time stamp and the players online.  Needs to have
  a bunch of other stuff like network traffic, total logins etc added.
- See psserver.cfg for the Planeshift.Server.Status.* options

*** 2004-01-29 by Andrew Robberts
- Put a bit of framework in psCharControl to handle mouse[down,up] events.
  Any mouse events that deal with control of the main actor, should probably
  be handled in psCharControl from now on.
- Fixed the mouse event version of mouse look
- Added mouse run feature

*** 2004-01-28 by Andrew Craig
- Fixed for latest CS changes.
- Added/Changed a bunch of stuff in the mk/ dir for Jam ( on advice from Matze
  with a new configure.ac ) a lot of stuff ripped from CrystalSpace's
  mk/autoconf and mk/jam dirs
- Trying to clean up the project environment a bit.

*** 2004-01-28 by Andrew Robberts
- Server now logs all GM commands

*** 2004-01-28 by Andrew Craig
- Fixed inventory screen to show proper character customization details.

*** 2004-01-28 by Andrew Robberts
- Fixed mute and kill command
- Fixed some minor issues with the link between the petition_manage and
  GM GUI windows

*** 2004-01-28 by Andrew Craig
- Remove psRPGInfo from the cel client were it is no longer used.
- Removed CreateActor function from psCelClient that is no longer used.

*** 2004-01-27 by Andrew Craig
- Added command on client /spelleffect <effect name>.  Usefully for testing the
  effect in game without having to cast the spell.

*** 2004-01-27 by Keith Fulton
- Added ability to give items to npcs and trigger npc scripts from the gifts.
  Give the merchant 3 tria to get him to say thanks and wave at you.

*** 2004-01-27 by Andrew Craig
- Fixed NULL pointer reference in guild manager that would cause a crash on the server
  when /guildinfo was typed.

*** 2004-01-26 by Andrew Robberts
- Added more clientside checks for petition operations so that the server doesn't get
  sent messages that have no chance of succeeding (server still doesn't trust the
  messages that it does get)
- Fixed a crash when reopening the the petition_manage window, where it thought that
  a petition was selected when the petition table hadn't been filled yet
- Fixed up the View Petition window
- Added the ability for a GM to enter a closing description when closing a petition
- Updated the style of the List Petitions window
- Fixed a few bugs in the list petition window
- Any changes in petitions while a player or GM is viewing the list will be reflected
  immediately (players don't have to manually refresh their list of petitions)
- Fixed GM GUI window with stuff

*** 2004-01-26 by Andrew Craig
- Fixed for latest Crystal Space changes. Mostly just a lot of header file
  name changes.

*** 2004-01-21 by Andrew Craig
- More work on the customization stuff.  Now persist changes to the server
  in creation.  Stores them in the characters table.
- Now sends customization to clients so you see person as they should be based
  on their customization.
- NEED TO UPDATE YOUR DATABASE!

*** 2004-01-20 by Andrew Robberts
- Modified some of the server-side petition handling to be a bit more
  prejudice
- Changed the Escalate Petition behaviour so that a gm doesn't have to
  claim a petition in order to escalate it
- Fixed some client-side bugs when there were no petitions
- The petition list on the client side now gets updated properly after
  actions are performed (still need to expand this concept to when any
  gm performs a petition action)
- Updated the look of petition_manage window

*** 2004-01-19 by Keith Fulton
- Now giving items to an npc triggers the npc script engine with the
  XML string.

*** 2004-01-19 by Andrew Craig
- More work on the customization choices.  All functionality should be
  ready for the character creation screens.  Next step is to send the
  data to the server/other clients.

*** 2004-01-18 by Andrew Craig
- Started work on the character customization.  Eyes are now customizable.
  See the data/races/descriptions.xml on how the choices are defined. Next
  steps are the meshes and to propagate the changes to the server/database
  so when they login they have the right customization.

*** 2004-01-18 by Keith Fulton
- Fixed resize of pawsMoney to other resolutions.
- Fixed display of icons for items in Inventory and other pawsItemSlots.

*** 2004-01-17 by Andrew Craig
- Commit of /mute command from Hybrasyl. Allows GM to mute a player so they
 cannot be heard by anybody including themselves.
- Fixed the check of dynamic lights in the modehandler as mentioned by res2k.

*** 2004-01-17 by Anders Reggestad
- Added ground location to the progression event item to allow
  for creation of items on the ground under the actor/target.
  <item aim="target" name="Waybread" location="ground" count="5" />

*** 2004-01-16 by Jorrit Tyberghein
- Fixed PS for the latest light related changes in CS.

*** 2004-01-14 by Andrew Craig
- Fixed login problem with null name or invalid name crashing the server.

*** 2004-01-14 by Anders Reggestad
- Modified admin gui to store and display Merchants
- Renamed spells.php to listspells.php.

*** 2004-01-13 by Anders Reggestad
- Modified admin gui to store and display Item Categories

*** 2004-01-12 by Andrew Craig
- Updated server to use the trait names for character customization.

*** 2004-01-12 by Ondrej Hurt
- pawsComboBox: Added methods to retreive information about what option
                has been selected and a method to select option.
- pawsComboPromptWindow actually returns selected value now.
- pawsNumberPromptWindow can be given initial value of the number now.
- pawsYesNoBox: Added static method that creates and initializes pawsYesNoBox
                (so that you don't need to call 5 methods to set it up)
- User must confirm removal of guild member in GuildWindow now.
- User can leave guild via GuildWindow now.
- Both level titles and guild name are edited using promptwindow now, instead of having
  editboxes directly in dialog and pressing enter when the cursor is inside of them.
- When editing guild points: the prompt window now initially shows current number of points instead of 0.
- Same for guild levels: current guild level is initially shown in combo of levels.
- Command /guildleader renamed to /guildinfo
- GuildWindow now shows the last time when guild members were online.

*** 2004-01-11 by Andrew Craig
- Fixed clipping problem in options window.
- Arranged widgets on the login screen for new graphics.
- Added servers.xml that has a list of the available servers.
- Arranged widgets for life char creation screen.
- Added random button in char creation for female/male names

*** 2004-01-11 by Anders Reggestad
- Started working on converting the glyphs window to use
  new item drag/drop. Working in the glyphs window now.
- Fixed inconsistent naming for the spell book button.
- Added LoadDefaultCommand function to the short cut window.
- Added loading of default mouse settings for config mouse.
- Added SetDefault function for the pawsConfigKey class.
  Clear the keymap and load the keys_def.xml file.
- Added "Exit planeshift!" button to the Character Pick screen.
- Update shortcut commands in the options window with their
  command names.
- Renamed key command for help to Help and added default key 'H'
  to open help.
- Added Help to the Game Controls configuration tree.

*** 2004-01-11 by Andrew Craig
- Fixed crash in fade window when last faded window is deleted.
- Replaced csList with csArray and csPDelArray
- Arranged character select widgets for new graphcis.

*** 2004-01-10 by Andrew Dai
- Implemented help system, read from data/help.xml and displayed with F1.
- Deprecated more psXMLs in message parsing, this should be changed to just
  use sscanf() for better performance in future.
- Made improvements and bug fixes to the pawsTree set of classes.
- Fixed an infinite loop bug in pawsMessageTextBox.

*** 2004-01-10 by Anders Reggestad
- Moved shortcutcommands.xml from /data to /data/options
- Created _def files for keys,shortcutcommands,entitylabes options
  files. If custom files doesn't exists than psclient will use
  the _def file. The _def file should be in CVS and distributed
  with PS to give users a quick start.
- Added possibility to attach keys to each of the 40 shortcut
  buttons in the options window.
- Removed a local name attribute in the pawsTreeNode that broke
  FindWidget on tree nodes.
- Fixed a bug in pawsMessageTextBox where adjusted lines wasn't cleared
  in the clear line.
- Fixed a core dump int UpdateTarget when selecting next character/npc
  and no entity could be found.
- Create key config for control window.
- Connected key 1-0 to the Shortcut window commands.
- Fixed so that when using progression points the statDR is updated
  on next StatRegenration that happend every 1secund, instead of on
  next cyclic update that occure every 3rd secund.
- Reinsert the GLYPH item flag to have glyphs appeare in the glyph window.
- Added Item(Item) and Item(Glyph) print to the entlist server command.

*** 2004-01-09 by Andrew Craig
- Added podium map to the pawsobject view.
- Updated XML to use tag <map file="name" sector="sector" /> to tell what
  map it should use.
- Added in ability to use overlay for the main char creation screen to make it
  look more polished.

*** 2004-01-08 by Anders Reggestad
- UpdateTarget use mappped id to send to server so that F7/F8 not only
  updating the InfoWindow but the server with the correct target to.
- Fixed so that NPC's is walking when moving.

*** 2004-01-08 by Ondrej Hurt
- pawsWidget: added more functions to manipulate with pawsWidget::defaultFrame
- pawsTextBox:
  - Added vertical mode to pawsTextBox - it writes the letters in vertical column
  - Added possibility to set vertical alignment for a pawsTextBox.
- pawsCombo:
  - When player select something from the listbox, we hide it
  - Moved subwidget creation code from Setup() to PostSetup() so pawsComboBox can be created without
    need to load it from XML file
- GuildWindow:
  - When player invokes /guildwindow and he is not in a guild, a prompt window opens asking him to create
    a new one.
  - Added textual description of priviledges.
  - Names of guild levels are editable.
  - Members can be promoted/demoted now.
  - New members can be invited now.
- prompt windows: fixed layout problems
- CacheManager: when player creates new guild, his own level is 9 now (was 1)

*** 2004-01-07 by Andrew Craig
- More fixes to the character creation screens for new graphics.
- Fixed missing text inside the options window.
- Now shows model in the main character creation screen.

*** 2004-01-07 by Anders Reggestad
- Fixed characher selection and inventory window to play
  random stand animations instead of dumb characher with
  streached arms.
- Fixed so that greet animations working for cal3d
- Fixed inventory screen to not core dump when moving items.
  Items still not visible in the character slot.
- Give all cal3d initial speed of 0 to select a proper anim.

*** 2004-01-04 by Keith Fulton
- Updated PS to use cal3d sprites throughout.  Still not perfect
  and anims of remote players don't show up correctly although
  your own player locally will.

*** 2004-01-04 by Andrew Dai
- Part of the project has been upgraded to use the TinyXML system
  in the process of deprecating psXMLParser. Loading times should
  be faster.
- XML errors in racelib.xml and rpgrules.xml cleared up

*** 2004-01-04 by Anders Reggestad
- Added aim="target|actor" for all progression Op that can use either.
- Added constitution <con ..> and stamina <sta ...> ops
  to progression system.
- Added Subtraction op to script system: 4-2 = 2 =
  <evt><sub><const value="4"/><const value="2"/></sub></evt>
- Added Negation op to script sytem: -4-2 = -6 =
  <evt><neg><const value="4"/><const value="2"/></neg></evt>
- Added Divide op to script sytem: 4/2 = 2 =
  <evt><div><const value="4"/><const value="2"/></div></evt>

*** 2004-01-03 by Andrew Dai
- Fixed positioning of inventory slots
- Improved efficiency of psString::FindSubString() slightly

*** 2004-01-03 by Andrew Craig
- Added in some more fixes for the parents creation screen.
- Added race info pop up description.

*** 2004-01-03 by Anders Reggestad
- Modified Progression system to return a float value
  on every Process command. So that it could be used to
  calculate values with formulas stored in the DB.
- Modified server command progress to take a script to. With
  this new things it could be used as a calculator:
  progress Smith,<evt><add><const value="2"/><const value="2"/></add></evt>
- Some code cleanups and added title row to entlist command
  in server and npcclient.
- Added thread save calling of AdminManager::AdminCreateNewNPC
- Added edit of progression scripts to the www serverconsole
- Added edit of training areas to the npc edit in the admin tool.
- Added setting of -g3 option for the debug mode ( ./configure -enable-debug ) in the Jamrule file.
  The old modus.jam file isn't parsed anymore.
- Changed link line for client to include gui lib before paws lib.

*** 2004-01-02 by Thomas Towey
- Adding pawsnumberpromptwindow.h, .cpp, pawspromptwindow.h, .cpp, pawsstringpromptwindow.h,
  and .cpp to client project file.
- Added bool return code to a few paws prompt functions.

*** 2004-01-02 by Luca Pancallo
- Committed a tool to merge levels in /tools/LevMerger
  It's in Java because was faster to write :)
  It takes a number of CS world files and merge all sectors in one
  file, merging textures, etc...

*** 2004-01-02 by Andrew Dai
- Fixed a bug in BinaryTree (deleting) and disabled AddSubTree because it doesn't
  work properly with a R-B tree structure
- Added icons to inventory slots

*** 2004-01-01 by Ondrej Hurt
ListBox:
- Added row comparison function (for sorting of listboxes) that works with columns of type pawsTextBox.
- Fixed method SortRows() that crashed when no column was set as sorting column.
GuildWindow:
- made it much bigger, Alliances tab completely hidden
- member list can be filtered by online status of members
- user can edit most guild member attributes now (guild points, public and private notes)
- user can kick guild members now
PromptWindows: some fixes

