*** 2005-03-07 by Keith Fulton
- Changed uint to PS_ID, defined in psconst.h
- 3 patches from Martin Engler
    - Patch from Martin Engler fixing md5 hashes of passwords of newacct.
    - fixed getting practice for things when you are not holding a weapon.
    - fixed a typo in an error message.

*** 2005-03-07 by Jorrit Tyberghein
- Jorrit changed CS_ID to uint.

*** 2005-03-06 by Keith Fulton
- Revised time display subscription slightly.
- Patch by <someone> to make the newacct command work again.
- Working on lighting some more, improved time publishing for InfoWindow.
- Further simplification and stripping down of InfoWindow for pub/sub.

*** 2005-03-06 by Andrew Craig
- Fixed bad delete in workmanager code for when digging dropped an item 
  on the ground
- Improved some error messages to contain more meaningful data.
- Added ability to write Error/Bug messages to file. Defined line in
  planeshift.cfg for base file name:  
  PlaneShift.DebugFile = /this/logs/ServerDebug
  Name will get appended the current date/time.  
- Sending all traits to client when building texture information.
  Not only the first one.
- Added edit of the common_string table to server_console.
- Added more debug output when trying to send to long message.
  
*** 2005-03-06 by Anders Reggestad
- Moved the entityinter.xml to entityinter_def.xml. Client
  will read the default file if no entityinter.xml exists.
  Changes to entityinter will be saved in entityinter.xml.
  This is now handled the same way as every other 
  file in the data/options directory.
- Changed so that EnableSave on items do a recursive setting.
- Changed so that objects in containers don't need a 
  world position in order to be saved to the DB.
- Rewrote the MoveItemToInventory to not use a 
  cast and reseting of the owner pointer in item if it fails
  to move it to the inventory.

*** 2005-03-05 by Anders Reggestad
- Cleand up error handling in set trait in client to easy identify
  whats going on when failing.
- Changed to send stat DR after sending the actor instead of 
  sending it before the actor. Client will throw it away if 
  received before the actor.
- Added a few new entries to the ignore file for new applications.
- Fixed EndGuild so that the guild_member_of is cleared from the
  character table.

*** 2005-03-05 by Ondrej Hurt
- Work on generator of pathfinding maps.
- Added "shifting" to ConsoleOut (CShift() and CUnshift()) so complex logs
  can be indented for readability.
- Reorganization of profilers: added class to manage statistics identified
  by textual names, which can be used for most profilling tasks.
  psDBprofiles now inherits from it. Added comments.


*** 2005-03-05 by Andrew Craig
- Fixed bad DB write of items in exchange manager. 
- On trade accept checks to see if the player has the ability and space to 
  carry traded items.  

*** 2005-03-04 by Anders Reggestad
- Cleand up some of the destruction logic in the updater. A little 
  closer to get a clean exit without warings and crashes.
  
*** 2005-03-04 by Jorrit Tyberghein
- Added in a fix to prevent server from crashing on unknown skill.
  This is just a workaround. It doesn't mean the problem is gone. It just
  prevents the crash.

*** 2005-03-04 by Keith Fulton
- Fixed another couple of missing subscribes.
- Fixed a bad publish name.
- Normalized PP to a % when published instead of 0-200.

*** 2005-03-03 by Anders Reggestad
- Removed not used code from pawsinfowindow
- Fixed updater so that if only one file is merged in a zip the zip file is
  saved.
- Ported unix version of the updater. Setting proxy to "" dosn't work
  for unix.

*** 2005-03-03 by Andrew Craig
- Fixed stacking problem. 
- Updated for CEL API change. 

*** 2005-03-03 by Keith Fulton
- Made two fixes to Time Of Day lighting.  Not sure if they fix the exact
  problem in CB right now though.  Talad please test asap.

*** 2005-03-02 by Jorrit Tyberghein
- Fixed a few cases where a function that returns a csString was used
  and immediatelly a GetData() on that like this:
  	printf ("%s\n", SomeFunc().GetData ());
  This is illegal because the compiler may throw away the temporary
  string before printf gets a chance to use it. If the string is returned
  as a reference then it is ok. I didn't yet manage to go over all
  code yet.

*** 2005-03-01 by Andrew Craig
- NPC's don't send disconnect messages to clients. Was causing 
  clients to be dropped. 
- If inventory is full, digging will drop item on ground.  

*** 2005-03-01 by Christian Svensson
- Further improvments to the objectview spinning

*** 2005-02-28 by Anders Reggestad
- Added newline to one debug output.
- Changed \t to 4xspace in some locations.
- Force update of all stats when request for an Actor update is received from
  client.
- Added check that prevent core dump when npcserver connect in some
  situations.
 
*** 2005-02-28 by Javier Fernandez-Ivern
- Fixed heap.h to work with gcc 3.4.  Thanks to Nilaya for the fix.

*** 2005-02-28 by Thomas Towey
- Added check for combinations at start of auto container.

*** 2005-02-28 by Andrew Craig
- Added inventory capacity limits. Updated inventory screen for this as well
  Requires both a network and database update.
  Removed stack counts

*** 2005-02-27 by Javier Fernandez-Ivern
- Added default values for the combat stance filter.
- Only server admin messages (say) go to all tabs now.
- /spawn now gets logged just like /unstick.
- Added the stuck log entry to psserver.cfg, so now it actually works.
- Sounds are now muted when the canvas is hidden.  Additionally, there
  is an option to mute sounds when the client loses focus.

*** 2005-02-26 by Anders Reggestad
- Fixed use of null material in the SetTrait function.
- Added support for NPC only traits.
- Removed gender from trait table. Gender is taken from
  the race info table.
- Added weight to the item description window.
- Fixed substituion of vars in NPC responses.
- Removed unused variable lastresponce from psNPCDialog

*** 2005-02-26 by Javier Fernandez-Ivern
- Updated calls to iLight::SetAttenuation() to instead use
  iLight::SetAttenuationMode().  Also removed a couple of compiler warnings.

*** 2005-02-26 by Andrew Craig
- Fixed some labeling in the inventory window. ( Bug #41 )
- Removed the automatic Randomize-On-Populate in the character creation.
  It causes confusion about where points have gone.
- Added some of the doxygen configure scripts from Steve Heald. Thanks Steve!

*** 2005-02-26 by Javier Fernandez-Ivern
- Spells now have a target_type that allows them to affect dead targets.
  By default, they no longer do so.  This addresses BT #72 (spells raising
  skill on dead targets).

*** 2005-02-26 by Christian Svensson
- Fixed crash when spawning Trias

*** 2005-02-25 by Javier Fernandez-Ivern
- /who now searches any part of the player name, guild name, or guild rank
  instead of just the beginning of the player name (BT #240).

*** 2005-02-25 by michael cummings
- Added some logging and checks to AdviceManager
- Added gemActionLocation which is not used yet.

*** 2005-02-23 by Andrew Robberts
- Added stuff to eedit, I think the anim button thing is new
- Fixed sound in effects

*** 2005-02-23 by Christian Svensson
- Added mouse control to the object viewer
- Added /inspect command (#202)
  The only parameter is the player, which may be omitted and it will
  then use the target entity

*** 2005-02-23 by Keith Fulton
- Added "percent" format specifier to subscriptions so that HP%, etc. show
  up correctly.  Modified InfoWindow to use these.

*** 2005-02-22 by Keith Fulton
- New pub/sub system is now implemented in PawsManager.  Seems to work
  but not 100% guaranteed yet.  Using it enables you to pull out almost all
  logic from the widgets and leave the logic in the engine layer somewhere
  rather than in the GUI layer.  This makes the code more general, smaller and
  makes the GUI more flexible and skinnable.
- Updated InfoWindow to use pub/sub system (partial).  More needs to be done
  but my hard drive is about to collapse.

*** 2005-02-22 by Christian Svensson
- Fixed crash while loading
- Updated MSVC7.1 project files
- Updated the QuitInfo window with new bg
- Fixed the timeouts
- Added FatalErrors in psengine to debug loading
- Fixed spinning in object view
- Added time limits on invites

*** 2005-02-21 by Javier Fernandez-Ivern
- Added feature request #91, to not require moving if mining doesn't work.
- Added some changes for feature request #189, to allow GMs to freeze or
  thaw clients.  The commands are in, but do not currently do anything to
  the target client.

*** 2005-02-21 by Christian Svensson
- Added Rotate to the ObjectView and implemented it on nice places

*** 2005-02-20 by Daniel Fryer
- Bumped net version to accommodate previous changes.

*** 2005-02-20 by Keith Fulton
- Added patch by Javier Fernandez-Ivern to add a toggle mode for whether
  run or walk is the default, with shift activating the opposite.
- Also patch fixes /unstick on immediate login and logs all unsticks to
  a new csv file.  cvs update psserver.cfg to get the new log file entry.

*** 2005-02-20 by Andrew Craig
- Rewrote the SC stuff for trade patterns. Is actually in a usable state
  now.
- Added weight restrictions when picking up items.
- Fixed a problem with the chat filter that could cause it to crash.

*** 2005-02-19 by Ondrej Hurt
- First pathfinding commit. It is not used anywhere.

*** 2005-02-19 by Keith Fulton
- Committed fix for #87 from Javier Fernandez-Ivern, for showing system
  messages across all tabs.  He even did some refactoring as he implemented
  this!  Thanks, Javier.
- Committed fix from Platyna for skill window training crash.  Thanks
  Platyna.
- Took the hacky "bad;good" syntax out of the censor filter list.  Now it uses
  regular xml to load and save.  "Set Defaults" on the Chat tab of Options
  to get this file into a non-corrupted state before testing.  Should fix
  the "fear" bug and other random censoring bugs.

*** 2005-02-18 by Keith Fulton
- Committed 2 patches by Javier Fernandez-Ivern (ivern) for putting the
  /who list in alphabetical order (harder than it sounds) and
  filtering stance messages.

*** 2005-02-18 by Andrew Robberts
- Fixed effect sound
- Added cal3d effect callbacks
- Started work on trail effect obj
- Did stuff to eedit and effects

*** 2005-02-17 by Andrew Craig
- Fixed tips not showing up correctly. Made the tip a changable param
  instead of a return.  Fixes Bug #169
- Fixed some issues with focusing the chat window. Doesn't work well with
  enter since enter is used by buttons controls as well. Mapping chat focus
  to a different key works well. Fixes Bug #182 ( although not with ENTER )
- Inventory window now shows max weight that can be carried.

*** 2005-02-16 by Andrew Craig
- Added /deletechar GM command. This deletes a character from the database
  as well as any items they have in game.  Cannot delete guild leaders. They
  must resign first.  Usage: /deletechar zombieToDelete requestorChar.  So
  can be something like /deletechar Guest Guest  or /deletechar Guest GuestChar2

*** 2005-02-14 by Andrew Craig
- Added code to calculate max carry weight from MathScript.

*** 2005-02-13 by Anders Reggestad
- Updated server console with list/edit traits.
- Fixed so that traits are uploaded with the trait id
  not the index into the client side trait table.

*** 2005-02-14 by Christian Svensson
- Changed 1 PlaneShift hour to be 10 min instead of 1 min
  (1 day 4 hours, instead of 24 min)
- Moved badwords filtering to talking commands only
- Fixed the GM gui for /chagename
- Fixed the stances not updating
- Fixed autorun when writing
- Changed default PAWS construction mode to off
- Added Buy and Center camera to the keyboard screen
- Fixed non colored /tells
- Pushed the client version

*** 2005-02-13 by Anders Reggestad
- Changed the character customization screen to use traits sent from server.
- Use the same code in char creation screen to set traits as when updateing
  characters.
- Removed setting of customization from the race description.xml file. This
  is handled by the trait table in the server.
- Added setting of message handler instance in the client to allow for use of
  SendMessage().
- Changed the DB version because of changes to the traits table.
- Created generic psStringMessage(message_type,clientnum,string),
  psStringMessage(message_type,string) to easy send strings/XMLstrings
  between server/client without creating a dumy wrapper for it.

*** 2005-02-13 by Andrew Craig
- Fixed bug where saving of STATS was not done. So if a player
  trained a bit on the stat and logged out their training was not
  stored.

*** 2005-02-12 by Christian Svensson
- Added 25XP to successfull mining and 2XP to failed

*** 2005-02-12 by Andrew Craig
- Some crafting updates. Made IsTransformable return an error type so
  can send more info to the client about why craft failed.
- Added ability to trigger craft attempt on increase/decrease count
  of items in container.
- Fixed quotes problem in petition window ( Bug #141 )
- Fixed Bug #145 where INT/WILL not training correctly

*** 2005-02-10 by Andrew Dai
- Added an implementation of a minimum Heap, only the minimum element
  within a heap can be retrieved. Note for the moment, the heap cannot
  own the objects.

*** 2005-02-09 by Christian Svensson
- Improved and changed the syntax for /changename (again)
- Added /ban and /unban -name

*** 2005-02-08 by Andrew Craig
- Fixed a couple more issues with the ownership of items inside
  containers.

*** 2005-02-07 by Andrew Craig
- If a group only has one person left it is automatically disbanded.

*** 2005-02-07 by Michael Cummings
- Added /show_active_magic command to display the ActiveMagic window
- Fixed clicking on scene deselecting target

*** 2005-02-06 by Anders Reggestad
- Updated char creation skin customation to handle different skins
  for each gender. To do this a pach in CS had to be done to get
  csSpriteCal3DMeshObject::SetMaterial to work without crashing.
  Update to latest CS.
- Changed so that you rank up when the bar in the skill window is filled.
- Added user cmd /target_next_nearest_item and /target_prev_nearest_item.

*** 2005-02-06 by Christian Svensson
- Fixed the GM GUI for /changename
- Fixed the duel points
- Server now checks for banned names at the same time it
  does for uniqueness
- Added skill re-focus (The old re-focus seems to work randomly,
  this should work better)

*** 2005-02-06 by Andrew Craig
- Fixed ownership problem when an item has been transformed.
- Fixed several cases where items were being saved to the
  database in a bad state ( ie no owner and no position in the world )

*** 2005-02-06 by Keith Fulton
- Fixed error in CalculateStats, which was using the wrong names for
  Mathscripts for MaxHP and MaxMana.  This was throwing off many other things.

*** 2005-02-06 by Andrew Craig
- Fixed error message when trying to cast a spell when digging. (Bug #64)

*** 2005-02-05 by Andrew Craig
- Some fixes to the work manager to work a bit better with
  mulitple players.
- Some fixes for leaving items in container and logging out and
  back in again.

*** 2005-02-05 by Christian Svensson
- Fixed /changename for lastnames (Finally)

*** 2005-02-04 by Andrew Craig
- Fixed work manager to load up correct owner for the transformations.

*** 2005-02-03 by Andrew Dai
- Fixed server crashing on corrupted DR packet.
- Fixed crash in psCharacter::SetMode() referencing freed (workevent) memory.

*** 2005-02-02 by Michael Cummings
- Added matching by Polygon and Point within a Radius to Action Location Querys
  Setting Position to zero vector match to sector/mesh/poly only
  Setting Polygon to zero matches to sector/mesh only

*** 2005-02-02 by Jorrit Tyberghein
- Thanks to the new CS profiler I managed to find out that texture
  precaching wasn't working properly. Fixed this problem by changing
  when objects are moved to the shared region. Previously the precaching
  was done AFTER that move. But that means the textures are not
  precached. Precaching works much better now.

*** 2005-02-01 by Ondrej Hurt
- New server manager - QuestionManager (generalized from InviteManager).
  Sends a question to client (a window is shown in GUI) and waits
  for response. When response comes, supplied handler is called on server.
  Use this when you want to ask the client something - for example
  agreeement to guild invitation. It's very general - you can
  send any kind of question (e.g. XML or image encoded in a string)
  and have it displayed in arbitrary way, so more complex messages
  than plain text are possible. Unlike InviteManager, it also supports more
  than one concurrent question per target client.
- When a NPC dialog trigger with training is invoked, then the training
  operation first ask the user if he means it seriously, before it robs
  his money and PPs. (damn you, cooking)
- Added some serious PAWS styles and applied them in quest notebook
  for a start.
- Confirm windows are centered on mouse cursor when open now.
- Fixed that guild levels in promotion dialog were listed in wrong
  order, and that was causing bad things.
- Corrected position of text in buttons - two pixels up.
- Changed xml parsers for all clients from xmlread to xmltiny.
  PAWS Styles need more than just read-only XML DOM.
- Fixed that every time when you logged in, a window with description
  of your char opened. It opened every time a psCharDescriptionMessage
  came - now this message carries who requested it and the window filters it.

*** 2005-02-01 by Michael Cummings
- Committed rest of changes for Action Locations now display in GM Window
- Fixed release mode of apppawseditor writing to eedit.exe
- Added Editing to Action Tab in GmGUI
  Edits currently selected action
- Added Add to Action Tab in GmGUI
  Loads edit window with an empty action
- Added Add Link to Action Tab in GmGUI
  Loads edit window with the master id set to selected action
- Added delete to Action Tab in GmGUI
  Removes selected action from cache and DB
- Added Refresh List to Action Tab in GmGUI
  refreshes action list
- Added Reload Cache to Action Tab in GmGUI
  reloads cache from db

*** 2005-02-01 by Andrew Craig
- Fixed Bug #7 that relates to /dequip not working. Was looking in wrong
  item set.

*** 2005-01-31 by Michael Cummings
- Fixed GM GUI buttons
- Action Locations now display in GM Window

*** 2005-01-31 by Andrew Dai
- Improved psString efficiency by changing arguments for ReplaceSubString
  and ReplaceAllSubString to const char*.
- Fixed a bug in proxlist debugging code.

*** 2005-01-31 by Jorrit Tyberghein
- Fixed a serious bug in the world loader. The MoveToSharedRegion() function
  would first add the object to the shared region and then remove it from
  the old one. But that's very wrong because an object cannot be in two
  regions at once. This will result in regions being in inconsistent state.
  I haven't been able to test this (server/client incompatibility) but there
  is a chance that this fix fixes the fact that precaching of world in PS
  doesn't seem to work.

*** 2005-01-31 by Christian Svensson
- Added scheduled dropping of economy transactions to file

*** 2005-01-31 by Daniel Fryer
- Committed mac-compatible vfs.cfg (Should also work for everyone else)

*** 2005-01-30 by Anders Reggestad
- Added list/edit of natural resources to the server console.
- Added visibility range to natural resources. The natural_resources table
  have been changed to include a visible_range.
- Added clamping of probabilitis in the HandleProduction function
  in the workmanager. This include 0.0 probability for distance to find a resource
  if outside resource range. Still there will be a 0.1 probability to find
  the resource within the visible_range.
- Changed Set/GetLastMiningPosition to Set/GetLastProductionPosition
  since this is used for general production events and not only
  mining. To allow for easy extending to /chop wood, /pick mushrooms, ...
- Changed the Set[HP|Mana|Fatigue] function to not allow to set higher
  value than max for thise. If a poision should increas any of this
  values higher than max a change to the max value should be done
  first in the potion script.
- Added view/edit of the min_faction field in the trainer_skills table
  to the serverconsole.

*** 2005-01-30 by Andrew Dai
- Improved debug message when proxlist takes too long to process.
- Improved efficiency of psString::AppendFormat() by having a temp csString.

*** 2005-01-29 by Ondrej Hurt
- Important for GUI development and modders: I added something like
  CSS styles to PAWS. You can define sets of PAWS widget attributes
  in styles.xml and then just link your widgets to them. Styles can inherit
  from another style too. You will be able to globally change properties
  of GUI widgets just by editing the styles.xml file. No serious styles
  are defined yet, we should design them. More info in pawsstyles.h
- Added function CopyXMLNode() to psxmlparser.h which can be used to copy
  or merge XML DOM nodes.
- Fixed lack of thread safety in the ServerStatus generator, it is handled
  by EventManager now instead of using threads.
- Added more logging to NPC dialog system so that we can debug it live.
- Added limit to sentence length in NPC dialogs: maximum number of recognized
  phrases is limited to 4 now. This is to prevent possible combinatorial
  explosion of number of sentence generalization.
- Removed temporary hack that was allowing the server to properly parse
  psUserActionMessage messages sent by clients older than CVS.
- Fixed passing of csString to %s in psactionlocationinfo.cpp
- Fixed compiler error in psserverdr - passing temporary psString
  by reference.

*** 2005-01-29 by Michael Cummings
- Added saving of Action Locations: GM9's can click on any unassigned
  mesh and the Add/Edit Actions will display populating the selected
  mesh's information. Fill in the missing fields and click save.

*** 2005-01-29 by Christian Svensson
- Fixed /admin crash
- Added diffrent color on the name if in same group
- Fixed bug in the updater (Thanks Karosh)

*** 2005-01-29 by Keith Fulton
- Refactored psCharacter a bit by moving a lot of work into SkillSet
  and StatSet classes.  Thanks to Gorrunwe for a start on this task.

*** 2005-01-29 by Anders Reggestad
- Added so that the target_context command without any parameters use
  current targeted object.
- Added direct update of npc belonging to a loot category.
- Added range check on natural resources. Today only nearest would be selected
  and than with a range probability that would increase when outside range.

*** 2005-01-27 by Daniel Fryer
- Fixed a missing constructor in psClientNetSubscriber which caused crash
  on exit
- Committed changes to the way PS sets up VFS mounts (a few changes from
  using $.$/, the "current directory" to $^, the "application directory")
  These changes are necessary for launching from the GUI in OS X.
- Committed some changes to the updater, again with respect to VFS.  These
  changes need to be tested under Windows and Linux!

*** 2005-01-27 by Jorrit Tyberghein
- There were two cases in PS that required writing of XML. Switched those
  two cases to using tinyxml again as xmlread doesn't support writing.
- Fixed a case in psmainwidget.cpp where FindMeshUnder2D() was used
  without testing if there was actually a mesh being returned. In case
  the user clicked on screen where there was no mesh this would cause
  a crash.

*** 2005-01-26 by Andrew Craig
- A couple of linux build fixes action system.
- Patch from Feran that fixed mana not being sent correctly to group.
- Fixed /gmtalk crashing client if user was not a GM.

*** 2005-01-26 by Michael Cummings
- First commit of Action Locations functionality
    - Added new GM window to display clicked location info
    - Cleaned GM UI xml and cpp to make use of tabs
    - Added new tab called Actions to manage actions in the current
      sector
    - Added mouse configuration options for click called ActionSelect
      defaults to LeftClick
    - new db table called action_locations that stores locations and
      what they do click the smithy to see an example.
    - current action type supported is 'EXAMINE' which will display
      the Examin Item dialog with the description.
    - Modified psCamera::FindMeshUnder2D to pass back poly + isect point
- Made a change to the HelpTab in chat.xml to hopefully get it to fixate
  on the right side.
- Added PawsEditor to tools
    currently can load and reload widget files, will be adding editing
    and saving features soon

*** 2005-01-25 by Keith Fulton
- Fixed and enhanced the chat filter.
- Added a few words to the 1337speak filter to make the game a little more
  pleasant.

*** 2005-01-25 by Anders Reggestad
- Reverted the training fix in the mining code to prevent it to be used by
  bots.
- Added check to see if the player are in the same spot as when started to
  dig for mineral else send you failed message.
- Added support to change the skill table in serverconsole
- Added support to change the loot category table from the serverconsole

*** 2005-01-24 by Andrew Robberts
- Added convencience function to psMouseBinds that checks a mouse bind without
  having to query one and store to temp variable.
- Fixed all known targeting issues and cleaned up the targeting code.

*** 2005-01-24 by Andrew Dai
- Fixed some dangerous unintialized vars in psCharacter and psItem which could
  have led to inheriting previous object data due to the way PoolAllocator
  not clearing allocated memory after an object has been deleted.
- Fixed uninitialized max vital field.

*** 2005-01-23 by Anders Reggestad
- Reseting all animation when going from mode DEATH to NORMAL.
  This will fix so that characters isn't rendered dead when not
  dead after resurection.
- Fixed so that the context command use the same function as select.
- Give training for mining even if inventory is full

*** 2005-01-21 by Andrew Craig
- A couple of updates to the stats stuff.  The info window should now
  request a DIRTY_VITAL_ALL message from the server to make sure it is
  in sync when it opens up.

*** 2005-01-21 by Christian Svensson
- Added an economy manager to log buy/sell operations

*** 2005-01-21 by Jorrit Tyberghein
- Reverted the change from blueCommand to scale up entity labels. This
  change makes entity labels too big. A procedural texture cannot be
  bigger then the size of the screen. When this happens it causes corruption.
  This explains why people with smaller screens got entity label corruption
  more. A better solution for this problem would be to test if the resulting
  entity label would be bigger then the screen size and in that case go to
  a smaller size. Also this should be configurable as these big entity labels
  cause a lot of texture memory to be wasted.
- Fixes for latest CS (GetObjectBoundingBox()).

*** 2005-01-20 by Andrew Craig
- Fixed the MOTD's not showing by changing the flag to REQUIRE_ANY_CLIENT from
  REQUIRE_READY_CLIENT.  When the client is in the login window they are not
  ready yet.

*** 2005-01-20 by Michael Cummings
- Fixed claiming a session in advisor system which would mute advisors.
- Changed Death Check , hopefully ppl will start dying again.

*** 2005-01-20 by Jorrit Tyberghein
- More small optimizations (mostly avoiding CEL_QUERY_PROPCLASS, CS_QUERY_REGISTRY,
  and SCF_QUERY_INTERFACE).
- The parsing code for traits, equipment, and other character stats is now
  done with the XML parser that is already in memory instead of the slower
  csTinyDocumentSystem parser.
- Also replaced other occurances of csTinyDocumentSystem with the xml parser
  that is already in the object registry.
- Avoided a few places where csStrings were constructed from const char*
  only to be casted to const char* again later. It is not needed to use
  csString ALL the time.

*** 2005-01-19 by Michael Cummings
 - Fixed /show_gm so it's only available after a /admin like the rest of the gm commands.
 - Fixed compile error in adminmanager

*** 2005-01-19 by Jorrit Tyberghein
- Removed a useless loop (RelightActors()) in psCelClient.
- Fixed PS for a recent CS change (NewMaterial()).
- Optimized the mode handler a lot by caching the light and sector that is found.
  This cache uses csWeakRef so that it is automatically cleaned up if the sector
  or light is removed (due to region unloading). This greatly speeds up the
  mode handler.
- Another optimization: GEMClientActor already has a pointer to the
  iSpriteCal3DState. So why is it needed to query for that every time again
  and again?
- Optimization: when setting animations on sprcal3d objects the PS code would
  do two things:
    - Request() to translate the ID to an animation string (this is a very slow
      function as it loops over all messages in the csStringHash).
    - Set the animation by doing that by name. This is again slow as the sprcal3d
      implementation will then loop over all animations and it will have to do
      a strcmp on animation names.
  This is now optimized. GEMClientActor has a new GetAnimIndex() function. This
  function will use a hash to cache the direct translation from animation ID
  to the animation index as used in the sprcal3d object. This avoids two loops
  and replaces them with a simple hash lookup.
- Another small optimization: ModeHandler no longer queries for engine
  and engine sequence manager every time.
- ModeHandler now keeps a reference to the pcmesh of the entity instead of asking
  it again and again.
- A bigger optimization in psCelClient this time. In addition to the array of
  entities psCelClient also maintains a hash of entities indexed by entity id.
  Using that the often used 'FindObject()' routine is now a lot faster.
  Made 'entities' array private to psCelClient to ensure that nothing outside
  of psCelClient modifies the array without updating the hash.

*** 2005-01-18 by Michael Cummings
 - Made combat interrupt spell only on damage > 30% max hp

*** 2005-01-18 by Andrew Craig
- Some refactoring.  Removed the pfcharacterdata class ( and hence the DLL ). It
  was a poorly used class and was only handling HP/MANA/Fatigue values.  This
  data has been broken out into a shared psVitalManager class with server and
  client sub classes.  Client side does prediction and handling incoming data.
  Server side does calculations and message construction.


*** 2005-01-18 by Keith Fulton
- Changed msghandler->Publish to centralize a lot of the verification and error
  checking which used to be done in every single HandleMessage function.
  Now these are done in Verify, based on flags set in the Subscribe call.  The
  validated Client is passed in to the HandleMessage function directly.  I tried
  to keep all conditions identical to what they were, but I could have overlooked
  something so be aware that strange bugs could happen.

*** 2005-01-18 by Christian Svensson
- Fixed MakeDirectory and CleanUp functions in the updater for
  use in non-win32
- Committed security patch from Jose David Barrio Martin regarding GM command
  /key (Didn't check security level)

*** 2005-01-18 by Michael Cummings
- Added word check to advisor questions, must now be 3 or more words.
- Enabled Floodchecking in advisor system, now will mute you if you spam the advisor system
    previously only checked for muteness.
- admin commands are now assigned via server, enable using /admin as before
- PS_NETVERSION increased to 26 because /admin changes breaks feature

*** 2005-01-18 by Jorrit Tyberghein
- Fixed a compile error for latest CS (removal of iImage->Clone()).
- Cleaned up entity label code a bit by using functions in CS that make
  life easier.
- Fixed a memory leak in the entity label code. It was registering its own
  event handler to the event queue but that causes a circular reference
  (event queue has reference to psEntityLabels and psEntityLabels has
  reference to event queue). Solved by making the event handler an
  embedded class.

*** 2005-01-17 by Daniel Fryer
- Fixed some bad VFS mounts in psengine.cpp.  This caused the "missing
  toolbar" under Mac OS X.

*** 2005-01-17 by Christian Svensson
- Trimmed the updaters CS connections

*** 2005-01-16 by Christian Svensson
- Made the labels much prettier
- Fixed mirrors in the updater
- Made the updater use colors in the messages
- Made the HTTP error's smaller and nicer
- The updater repository now uses a version number used to compare mirrors
- Pushed the updater version
- Fixed the stuck and transparent config window
- Committed patch from Uwe Berthold (Pogopuschel) for the GM window,
  it now displays lastname and guild
- Added /teleport_to here <player> to teleport the player to you


*** 2005-01-16 by Keith Fulton
- Hopefully fixed some memory leaks in networking code rseulting from changes
  24 hrs ago.  MsgEntry refcounting is now syncrhonized, which might cause
  perf problems or deadlocks, but hopefully not.  Keep your eye out for this.

*** 2005-01-16 by Andrew Dai
- Fixed bug of "You are already logged on to this server. If you were disconnected,
  please wait 30 seconds and try again." being wrongly sent to the client if the
  client attempted to authenticate multiple times.
- Added ability to add/edit more general terms for the term hierarchy in the
  serverconsole.
- Fixed some server memory leaks.
- Prevented server from issuing item removal events for items that are not associated
  with a GEMItem.
- Fixed a type error in an error message.
- Added a spawn_loc field to psCharacter to store the NPC starting position loaded
  from the DB.
- Fixed crash when the quest reward could not be put completely in a bulk.
- Added /unstick which does the same thing as /spawn at the moment.

*** 2005-01-15 by Christian Svensson
- Added stack_count_limit to item_stats
- Added version number to the login screen of the client
- Pushed version to 0.3.006

*** 2005-01-14 by Andrew Dai
- Fixed bugs with CmdWords parsing quoted text, quoted text is now only parsed
  on request.
- Made CmdWords more efficient.

*** 2005-01-13 by Keith Fulton
- Changed senders queue to only add unique senders, with no repeats.
  This should stop the sender overflows which were causing packet loss
  in busy areas.  To make this change, had to change how refcounting of
  queues worked, which affected refcounting of all queued objects.  Hopefully
  everything is correct again.  csPtr returning to csRef is the main source
  of issues if there are any.

*** 2005-01-13 by Andrew Craig
- Patches from Krogar for null crash in /deeuip and making sure the y/z values
  in the Progression system are capped to prevent a skill from getting
  'locked' by having more points then the cost.

*** 2005-01-13 by Andrew Dai
- Downgraded bad item id loot message to a warning since it is a common
  occurence.
- Removed flushing to file for every message, bad for performance and
  it can be reenabled when we need to find the cause of mysterious bugs.
- Fixed the bugs of falling to death on log-in and flying to death on
  changing sector.
- Improved debugging messages and prevented a loot remove message being
  sent in cases of error.
- Fixed a type error in the NULL location error.

*** 2005-01-13 by Jorrit Tyberghein
- Fixed a crash bug in CmdWords::AddWord(). It would access the string
  beyond the size. I'm not confident my check is correct though.

*** 2005-01-12 by Andrew Dai
- Added new GM commands: /impersonate and /gmtalk
- Added support for command words in quotation marks to be interpreted as
  one word.
- Fixed it so that previous creation choices are forgotten when going back to
  the main screen.
- Made character creation error message more informative.

*** 2005-01-12 by Keith Fulton
- Added ability to add totally new npcs on the fly as clones of a specified
  master.

*** 2005-01-12 by Anders Reggestad
- Changed the practic armor skills to practice the skill
  for the armor equiped in the targeted location.

*** 2005-01-12 by Christian Svensson
- Added combat message filters
- Moved the chat setting's save and loading to the chat window itself
- Fixed restoration of old sound settings if you close the window without saving

*** 2005-01-12 by Andrew Craig
- Changed the behaviour of the buddy window a little bit.  Now always
  puts the online names on the top of the list and the offline names at the
  bottom.
- Small inventory window now closes after an exchange has been completed
  or canceled.

*** 2005-01-11 by Andrew Craig
- Fixed skill window to use a different text box for descriptions
  that behaves a bit better.
- Fixed helptext colour not being saved correctly.
- Fixed crash when trying to use a non-existing slot.  Bug #367

*** 2005-01-11 by Andrew Dai
- Fixed many bugs with the wrong total online time being saved.
- Fixed bug with wrong total damage being calculated.
- Fixed crash with NPCtypes that have parents.

*** 2005-01-11 by Christian Svensson
- Updated project files for MSVC 7.1

*** 2005-01-10 by Keith Fulton
- Reworked AllocateKillDamage to calculate percentages more accurately
  and handle Damage over Time (DoT) spells accurately.
- Disabled db saving of npc info.

*** 2005-01-10 by Michael Cummings
- Fixed advisors not being able to send more than one message to an advisee

*** 2005-01-10 by Andrew Craig
- Fixed switched order in character creation screens.
- Fixed month list in character creation screen.

*** 2005-01-10 by Anders Reggestad
- Added check to prevent more than %100 percent exp to be calculated
  for one player.
- Fixed use of global variables in the spell system that was changed
  for every player casting a spell and than used later in events with
  other players values.
- Changed some access functions to be const, to prevent random
  change to global variables when executing function per spell cast.

*** 2005-01-10 by Andrew Dai
- Fixed psAdviceSessionTimeoutGameEvent corrupting memory because it wasn't
  being cancelled when the AdviceSession ended.
- Changed some trading code to use csString to prevent buffer overruns.
- Reverted pscharacterlist.cpp to revision 1.5 and pscharacterlist.h to
  revision 1.3, so that Keith's commit is reverted. The removal of the bunch
  of static char[] arrays caused even more memory corruption as later on that
  section of memory was being cleared to 0. This is the first time I've seen
  a case where using csStrings rather than char[] makes the server even more
  buggy. :)

*** 2005-01-10 by Jorrit Tyberghein
- Fixed a mismatched new[]/delete in factions.cpp (reported by valgrind).
- Fixed a very big bug in the pscharacterlist code where it was comparing
  index >= MAX_CHARACTERS_IN_LIST. But that would cause the code to go
  beyond the array boundaries. Thanks to valgrind for finding this!
- Reverted the fix. Misread the code.

*** 2005-01-09 by Daniel Fryer
- Fixed a lack of SCF_CONSTRUCT_IBASE in psEntityLabels constructor.  This
  caused a crash on exit.
- Committed improved support scripts for MacOS X distribution creation.

*** 2005-01-08 by Ondrej Hurt
- Fixed that some config windows were not setting dirty flag when
  user asked them to restore default config.
- NPCdialog: functions operating on dlgGener converted to its methods,
             commented the new phrase generalizations stuff.
- Embedded profilers now report maximum resource usage of one operation
  for each measured operation type.

*** 2005-01-08 by Keith Fulton
- Removed the default chat mode buttons on the bottom of the chat window.
  Now default is determined by the tab that is active.
- MSVC project fixups for latest new sources.
- Fixed numerous compiler warnings, mostly about size_t instead of int.
- Refactored some in the profiles classes, esp for sql parsing.
- Committed patch from Rob Sylvester.  Made the loot window a little
  nicer and fixed backdrop of Ok window.

*** 2005-01-08 by Jorrit Tyberghein
- Fixed updater so that it includes serverpinger from net instead of util.
- Fixed psclient so that it includes serverpinger from net instead of util.

*** 2005-01-07 by Michael Cummings
- Fixed /list_advice_requests returning advised sessions
- Added check so advisor can claim only one session at a time

*** 2005-01-07 by Andrew Craig
- Fixed up project structure to detect location of cel library files
  and add them to the Jamconfig file.  You may need to autogen and configure
  your system again.
- Fixed updater link problem by moving the pinger class into the net library from
  the utils library. If using MSVC then adjust your projects to move the pinger .cpp/.h
  from one to the other.

*** 2005-01-07 by Ondrej Hurt
- When player crosses sector, his position is saved to database.
- Doubleclick on an entity in game invokes action which was configured by user
  (see new options screen Controls--->Entities)
- Created generalized profilling library (utils/psprofile)
- Added profilling of SQL statements to server (type "dbprofile" to console)
- Fixed that pawsListBox could set value of its scrollbar to 4bln + some
  (size_t bug)
- Changed pawsCombo so that it adds new options to the end
  rather than beginning.

*** 2005-01-07 by Andrew Dai
- Removed deprecated stdpcimp.cpp and stdpcimp.h from plgpfcharacterdata,
  this has been replaced by libceltool.

*** 2005-01-07 by Michael Cummings
- Made unanswered advisor request cancel after 5 retries ( 5 minutes )
- Add check for advisors trying to answer on sessions that have no active requests.
- Fixed ranges on spells MathScript member vars weren't being initialized properly.

*** 2005-01-07 by Anders Reggestad
- Fixed calculating of exp on spells like Freeze that use
  HP Rate to do damage.
- Added scope around Log functions to prevent functions used
  to generate strings to be called in the spell system.
- Added new log level LOG_SCRIP that will log all scripts run
- Created Dump function on mathvariables to print them in logs
- Created Dump function of progressevents to dump script and variables

*** 2005-01-06 by Andrew Craig
- Added some Trims to the names used to login with. Removes leading and
  trailing white spaces in names.

*** 2005-01-06 by Michael Cummings
- Balanced mages vs melee - running now causes spell interruption
- Added MinRange to MathScript for Spells if target is with MinRange spell fails
- Added Range check to spells on effect so if target moves out of range spell fails

*** 2005-01-05 by Michael Cummings
- fixed some punctuation in the chatmanager
- muted clients can no longer use the advisor system
- advisors can now 'claim' a session using /advice [char]
    claimed sessions last half as long as normal sessions
    must answer the question before timeout to receive the point.
    unanswered claims go back into the pool

*** 2005-01-05 by Andrew Dai
- Made sure that NPCs can only attack if they are alive.
- Removed useless "No object with the id of '%u' was found." debug message.
- Improved authent logging to log client numbers.
- Fixed vulnerability in /who

*** 2005-01-03 by Anders Reggestad
- Set default color for the help window to white

*** 2005-01-03 by Andrew Dai
- Changed GEMSupervisor::entities to csHash<> type from the deprecated csHashMap
  type and fixed the crash in ~GEMSupervisor.
- Added the ability for collision bboxes to be overwritten with values from db.
- Added more debug messages to solve the flying problem.
- Cleaned up Exchange code and made it much more reliable.
- Fixed invoking wrong script if target was changed during an NPC exchange.
- Fixed night music never being played.
- Fixed the Release Config in the project files to refer to the correct paths.

*** 2005-01-03 by Michael Cummings
- Added notification of advisor assignments with message.
- changed advice logging to LogCSV
- Added length check on advice answers
- added new option /advisormode showpoints   : now displays current points at any time.
- added new option /advisormode listsessions : now displays current advisees.

*** 2005-01-03 by Christian Svensson
- Added gm notices on quest lockout
- Implemented new selfupdating functions to the updater (Should work better on any Win version now)

*** 2005-1-3 by Keith Fulton
- Various little fixes.
- Took out requirement to have a last name on char creation.

*** 2005-1-3 by Trent Waddington
- Added new client side /target command.
- Fixed server bug which caused npcs with an error response to take items that are not needed.
- Fixed item/money exchanges with npcs.

*** 2005-1-2 by Ondrej Hurt
- Added bandwidth profilling to psserver - type "netprofile" in console.
- Fixed that dead entities looked standing when your client didn't witness
  their death.

*** 2005-1-1 by Andrew Dai
- Fixed rain.
- Made the server send less messages on /who.
- Added a null check to psWorkManager::HandleMessage().

*** 2005-1-1 by Andrew Craig
- Fixed bug in exchange where it was not correctly transfering items
  The dtor was not seeing if the exchange was finished correctly.

*** 2005-1-1 by Ondrej Hurt
- Added support for generalizations in npc dialog - if you
  ask "where can I buy apple" and npc does not know "apple" but knows
  about "fruit", it responds as if you said "where can I buy fruit".
- Fixed that training (Y) was not saved so server crash meant that you lost it
  (including the progression points you paid for it)
- Player names in the GM window sorted alphabetically now.
- Fixed server crash when there was no tip in the DB.

*** 2005-01-01 by Keith Fulton
- Improved mob tagging to prevent kill stealing.  Hopefully this will work better
  now.
- Now players will autostop attacking if they get out of range.  This is more
  realistic and makes the fight fair against the npcs again, who have always
  done this behavior this way.
- Made a 1m movement requirement when mining.  This should cut down on
  macroing.
- Now offensive spells check IfAllowedToAttack like combat mode does.

*** 2005-01-01 by Andrew Craig
- Fixed some problems with the inventory window where you could drop items
  too easily.
- Fixed problem of dropping items on tria space causes the item to disappear.
- Started new history.txt file.  Old history is in history2004.txt
- Turned on stack counts in the merchant window.
