﻿*** 2005-12-31 by Dave Garrett
- Fixed an exploit where a slow weapon could be equipped quickly after queing an attack event with a
  fast weapon, and would allow the player to attack fast with it. (ex: melee then claymore) (bug #1397)

*** 2005-12-31 by Michael Gist
- Added check for X-Windows. Everyone who wants to build statically should run ./autogen.sh and ./configure again.
- More jam cleanups.

*** 2005-12-30 by Dave Garrett
- Fixed bug #837, initial row selection in loot and merchant windows was not handled correctly.
- Disabled incoming invitations while dueling, to prevent them from being used
  as a distraction to cheat.  (bug #1376) 

*** 2005-12-30 by Michael Gist
- Converted mysql check to be more robust and actually work on MinGW.
  MinGW users will need to run ./autogen.sh again and use --with-mysqlclient=/foo/bar
  instead of --with-mysqlclient-prefix=/foo/bar when running configure.
  
*** 2005-12-28 by Dave Garrett
- Disabled double /unstick death.  It can be problematic, and players can just use /die if needed.

*** 2005-12-29 by Andrew Dai
- Added a feature that allows psWorld to calculate warp transforms between
  adjacent sectors. This should be improved to cache transforms between any two
  sectors in the future for when warp portals are close together, however the
  current one should work fine.
- Changed the proxlist operation to query for the correct transform to apply
  and calculate the 'world' distance between two positions.
  This fixes related issues with combat/vision across portals.
  As part of this the penalty has been removed to prevent users reporting bugs
  of not seeing other players that are only a foot away. Maybe the penalty
  should only be applied on region borders.
- Improved various NPC movement methods to take into account the destination
  sector. Also added preliminary support for warping portals primarily for
  chase operations and hatelists.
- Forced the dictionary path to be fixed to the PS dir as the registry queries
  do not work on Windows.

*** 2005-12-28 by Anders Reggestad
- Added some more test cases for Dictionary testing. Uploaded V0.14 of
  the Test Case document with tests using the new test data.

*** 2005-12-26 by Andrew Dai
- Fixed a bug that prevented the updater from quitting. This has been fixed by
  using a new mechanism to limit the framerate of the updater.
- Fixed the problem of not being able to replace in-use files in Windows. This
  means the updater will now update itself and will run its new version if
  restarted.

*** 2005-12-26 by Dave Garrett
- Changes to the teleport command to make it simpler:  When teleporting to a map, the keyword
  'map' can now be followed by EITHER a map name OR a sector name and a set of coordinates.
  (teleporting to coordinates doesn't need map, so no need to type it)
- All GM commands that require a sector be specified may now use the keyword 'here' to indicate
  your current sector.  (ex: "/fog here -1" , "/teleport Bob map here 2.1 23 -42")  (bug #1312)

*** 2005-12-25 by Dave Garrett
- Made /npc use new GM targeting, so you may now specify the master NPC by name, ID, or 'target'.
- Fixed a bug where using /npc with the NPC client off would prevent the new NPC from ever being controlled.
  (simple fix; NPC client must now be on to use /npc)

*** 2005-12-25 by Michael Gist
- Converted pssound from a plugin into a library. Now project files are generated correctly.
- Added msvc8 project file generation. Thanks to PK for this. 
- New VC7 project files are now in mk/msvc7 and VC8 are in mk/msvc8. Both static and dynamic builds are supported.
  These files need some extensive testing to make them bug free, but should work well now.
- Some general build system cleanups and fixes. More to follow.

*** 2005-12-24 by Andrew Dai
- Updated the compiling*.txt files for downloading of the Wordnet dictionary.
- Fixed the hypernym search to cache results and match all word senses with
  interleaving.

*** 2005-12-24 by Anders Reggestad
- Fixed so that wordnet use window type \\ and unix style / in
  the path to data\dict. Added setting of default path for
  ps to the wn.h file.

  NOTE: To get the server to start I had to download the
        WordNet-2.1 package for http://wordnet.princeton.edu/
        and move the files from WordNet-2.1/dict into the
        data/dict directory.

*** 2005-12-23 by Anders Reggestad
- Added more ToString functions, this time for Movement functions.
- Undid the change from Sec to sec. All other secondary controls
  use Sec.
- Changed to use value instead of action for mouse key bindings,
  action wasn't read only value. This caused a core dump. Though
  I think this system is still broken but at lest it don't crash
  with this.

*** 2005-12-23 by Andrew Dai
- Forced the client to send a DR update when logging on. This prevents the lag players
  experience when beginning to move due to loading new models.
- Fixed a bug that would prevent more than one knowledge area being used by NPCs.
- Fixed a bug causing bad text to be added to the db twice.
- Added the wordnet library to the project.
- Began use of wordnet in searching hypernyms when matching NPC speech triggers.

*** 2005-12-23 by stfrn
- Implemented additional stamina rules:
  Casting spells drains mental stamina.
  Crafting, mining, and lockpicking drain stamina based on their craft.
  Combat drains based on a number of factors.
- Minor stamina bug with running and doing work.
- Removed no longer used function for mana.
- Changes to how triggers are made in psCharControl
  This stops the erronous warning that mouserun is not assigned.
  Triggers can now be assigned to either mouse or keyboard, however major changes are needed to
  the options menu to support that. For now you can assign the commands directly in data/options/keys.xml
- cleaned whitespace of rpgrules.xml

*** 2005-12-23 by Dave Garrett
- Tweaked the strength assessment phrases to be more understandable.
  You can also get slightly more detail by being smarter.
- A pet's character description will now state its owner. (bug #1357)
- GM3+ may now view a character's stats via the character's description window.  (bug #1302)
- NULL checking for bad sectors, to stop server crashes.
- Last valid position will only be updated in a valid sector.
- Updates to handle non-respawning NPCs (NPC_GetSpawnRuleID()==0) better.

*** 2005-12-22 by Andrew Dai
- Changed Message Verification to process the REQUIRE_READY_CLIENT in a useful way.
  The flag's purpose is now to prevent abuse of the ready flag by forcing a client to
  be ready whenever such a message is received. Note, this may require some subscribers
  to stop/start using the flag.
  This will fix several bug reports of clients starting up incorrectly, missing tips
  incorrect info window stats, etc.
- Added a seperate psClientStatusMessage to allow a client to explicitly signal the server
  it is ready. Note, this is one way, i.e. only ON signals are processed again to prevent
  abuse. In future, a timer would be used to force ready to be ON after map changes, client
  login, etc.
- Removed the deprecated psResendMsgStringsMsg.

*** 2005-12-21 by Andrew Dai
- Plugged some major memory leaks.
- Fixed crash on attempting to edit shortcuts.

*** 2005-12-21 by Anders Reggestad
- Added using of SoftDR from linemove when an entity is moving. Setting hard
  DR on sector change, no velocity or large difference between current and dr pos.
- Fixed a number of uninitialized read from running valgrind.
- Fixed some SCF_ use.

*** 2005-12-21 by Dave Garrett
- Clicking the mouse button set to ContextMenu (right-click by default) on an item icon
  in an inventory/container will open the view/container window.  This is much more
  intuitive than dragging the item onto the eye icon, and makes dealing with containers
  easier.  (bug #1145)  You can also do this from the exchange window, to allow
  people to inspect offers.  (bug #940)
- Added manual font scaling.  You can now specify a "Font.ScalePercent" in an app's cfg
  file to add a manual scaling factor on top of the automatic font scaling.  The client's
  scale factor can be set in pssetup.
- Fixed bug #1259, spawning a too many glyphs into your inventory would crash the server.

*** 2005-12-20 by Andrew Dai
- Undid deletion of cal3DCallbackLoader in ~psEngine(). This was
  causing a client crash upon exit.

*** 2005-12-20 by Anders Reggestad
- Created new SendFinalPackage function that take addr,
  use this for sending reply to ping messages. This will
  marchall endian for the ping reply.
- Removed or moved to some LOG_ printouts at startup.
- Added server flags to ping message. The server flags will
  in old server be copied back so this maintain network 
  compability oldserver newclient. newserver oldclient old 
  is based upon that Get from network will return 0 when 
  trying to get data not in the message. This to maintain
  compability.
- Prevent creation of instances of Clients when server isn't ready,
  they would be disconnected when handled by Authentication anyway.
- Added handling of server status to serverpinger.
- Added display of server status to the login window.
- Only allowing the client to try to connect if server is Ready
  or Full(GM's should be able to connect to a full server). If
  a non GM try to connect when full the authentication process
  will reject if no GM security level.
- Changed a static char * buf used in NetBase to be per
  instance of NetBase.
- Moved definition of enum GM_LEVEL from adminmanager.cpp 
  to adminmanager.h, this to allow other to use the same definitions.
  This should have been put in an even more common file though.
- Moved common tests from HandlePreAuthent and HandleAuthent into
  a new function CheckAuthenticationPreCondition that check for
  netversion and server availability.
- Added new function to psServer::IsFull to allow a common way
  of testing if the server can't accept any more players. Server full
  is part of the new status sent back in ping. Best to be prepared
  for the time when to many players will be our main problem. :)
- Added psQuestPrereqOp::GetScript to be a wrapper that append <pre>...</pre>
  to the result from GetScriptOp. Renamed all other prereq op GetScript to
  GetScriptOp.
- Fixed going back and forth between login and charpick window, by making
  sure network connections are disconnected in proper way when going back 
  from charpick window to login.
- Created message for CharacterData that was hacked into a MsgEntry in
  psCharacter. This allow for proper printing of the message from LogMessages.

*** 2005-12-20 by stfrn
- Some changes for mouse buttons and triggers:
  - With DaveG's suggestion, fixed mouse button labels in the options menu to use words,
    for example left instead of 0.
  - Fixed one missing conversion to the new events, that made some mouse triggers not fire.
  - Pressing a mouse button durring mouselook properly untoggles that key now.

*** 2005-12-20 by Arianna Benigno
- Removed /art/textures directory, moved the textures in proper zip files in 
  art/things directory. Objects are not loaded from code, but they are placed in 
  organized directories. CVS icons point more to dummy icons for avoiding less
  warnings and errors. CVS db is modified for having proper objects and not objects
  which are not available in CVS.
  PLEASE MODIFY THE "PRODUCTION DB" SO THAT CHEST COMMON STRING IS item#chest 
  Please, somebody makes a countertest.
- Added weather texture files in art/effects
- Warnings for ase2spr (if this is not used anymore, please remove it from CVS!)

*** 2005-12-19 by Andrew Dai
- Changed it back so the NPC client bails out immediately when it's lost connection
  to the server. This fixes the problem with it occasionally freezing up.

*** 2005-12-19 by Dave Garrett
- Made NPC names not have to be unique when using /changename
- Deleted 3 obsolete and long since completely unused files.  (psversion.h and psrelease.h used to hold
  version information, and still said MB; char.h had old skill and race data now in pscharacter)
- Fixed bug where items in an equipped container would be lost on next login.
- Made inventory weight/size calculations more efficient and handle containers better.
- Fixed a bug where NULL owning character was designated by 0 in DB and (unsigned int)-1 in psItem.
  (now using 0 in both places)  This was causing glitches with items in containers.

*** 2005-12-18 by Anders Reggestad
- Removed iPSEngine interface, not needed when we have psengine global.
- Fixed so that server will not start if char creations data wasn't loaded, today
  client hang in charcreation with CP:-1, because server continue without subscribing
  when something is wrong with char creation data in db.
- Prevent saving of spam points for clients that have no account. This prevent db 
  acces from spam point saving when server isn't ready yet. Client objects are
  created for every client trying to connect even when server isn't ready. This to allow
  for feedback to user about the stage of the server. I have a theroy that this might
  cause DB access from multiple threads at startup of server. This check does at least
  prevent one such possibility.
- Added clipping of MSG_CHARCREATE_CP to current message size. To prevent sending
  of uninitialized/not used data on network.
- Added ToString to Client Auth Messages.

*** 2005-12-18 by Andrew Dai
- Fixed an issue that sometimes prevented the updater getting updates because it assumed
  no trailing / on the mirror address.

*** 2005-12-18 by Dave Garrett
- Fixed an issue where the effects manager was loaded after the initial entity labels were
  supposed to be created.  This caused various errors and labels not showing after load.
- Fixed bug #1318, when purifying a glyph with a full inventory the glyph was lost.
- Fixed an infinite loop that could happen on a failed move of an item from one bulk slot to another.
- Disabled the renaming of non-pet NPCs by GMs, except for GM9.
- Fixed some issues in PendingLootPrompt if any of the players involved logged out mid-prompt.

*** 2005-12-17 by stfrn
- Added stamina usage part one, making sure current stamina usage is consistent.
  Changed the logic of psCharacter::SetMode(), it sets the current regeneration rate based on activity.
  Now everything that will drain stamina atleast does not recover at the same time.

*** 2005-12-17 by Daniel Fryer
- Changed text effect objects (i.e. labels) to use a constant scaling factor 
  instead of a single fixed width.  Current scaling factor is chosen so that
  the label "Harnquist" is about as wide as Harnquist himself.

*** 2005-12-17 by Dave Garrett
- Rewrote functions for adding items to inventory bulk slots.
  (PutAnyBulk had been partially bypassed for a while; it was unstable and prone to
  memory leaks)  This should fix various reported bugs involving the disappearance of
  items, and make things generally work better.  Removed items will now also be deleted
  correctly from DB, if needed.
- Fixed the maximum total size to carry.  (total size wasn't even initialized)
  The sizes in the DB and the script needs balancing, so the code is disabled for now.
- Fixed bug #1370, if stats change items that don't meet the new requirements will be preserved.
- Fixed a bug where it would send out equip messages if equip failed due to not meeting requirements.
- Removed MinGW GetObject hack in pawscharcreatemain that doesn't work and isn't needed in latest CS.
- Changes to handle CS renumbering the mouse buttons.
  *** NOTE: Anyone who has custom mouse settings must set them again in options. ***
- If an item is dropped automatically due to a full inventory,
  it will now recalculate held weight/capacity correctly.
- If stats are recalculated and the character can no longer hold the current inventory,
  it will drop whatever is needed.

*** 2005-12-16 by stfrn
- Advice manager fixes for bug 1081 and for laanx crash.
  When a session is canceled, any game trigger is cancled.
  When a advisee becomes an advisor their session is canceled.
  Some changes to the disconnect logic so the session ends smoothly when either leaves.

*** 2005-12-16 by Michael Gist
- More work on static windows binaries. Should be able to compile static pssetup,
  updater and psclient using the project files in mk/msvc now.

*** 2005-12-16 by Anders Reggestad
- Created Message Factory, used by LOG_MESSAGES.
- Fixed alignment in entlist for new entity ActionLocations.

*** 2005-12-15 by stfrn
- Changed server command liststats, removing "Con" and adding mental stamina.
- Fixed bug 1363 by making all stamina draining gradual instead of in one big lump.
- Changed the way stamina is drained in movement, so that existing functions in
  pscharacter are called once again. Also removed the note in psvital.h as rates are
  set at creation of a character.
- Restored stamina regenration from a constant to the racial values.

*** 2005-12-15 by Anders Reggestad
- Added console function filtermsg to setup filters for the LOG_MESSAGE output.
  filtermsg <msgtype> adds the msgtype to the filter. Msgtype can be removed with
  filtermsg -<msgtype>. filtermsg invert will invert the current filter setting so if 
  you only would like to log one message do filtermsg <msgtype> and filtermsg invert. 
  filtermsg filterhex will turn on filtering of hex ouput, it can be turned back on by
  filtermsg filterhex no. Print the current filter setting with filtermsg show.
- Added function FireEvent to psGameEvent that use a static EventManager like
  the psMessageCracker::FireEvent function.
- Added SetValid and IsValid functions to psGameEvent.
- Removed valid flags from psGEMEvent and psSpellGameEvent using the psGameEvent
  provided functions/flags instead.
- Splitt psSpellGameEvent into two events: psSpellGameEvent and psSpellEffectGameEvent.
- Fixed a situation where spellcasting pointer in psCharacter wasn't reset if the 
  target object disconnected. (Server crash).
- Changed from using Broadcast to Multicast for spell effects. No point in sending the
  effect if the client dosn't have the entity.
- Removed depricated function QueueEvent, SendMessage and Broadcast from psSpellManager.
- Fixed so that GM spawned items is saved when put into inventory.
- Added greetings response to test DB QuestMaster1 and QuestMaster2 that tell
  what tests you can do with that NPC and how to start. Just in case you would like
  to test something without looking up in the Test Case document, than you only have to
  say hello to the NPC and you will get a kick start into the implemented tests.

*** 2005-12-15 by Arianna Benigno
- Fixed bug #1164: resolved issues with fog effects and its visibility while raining.
- Fixed bug #1166: there was a nice rain loop if the character was in a sector
  different from the one where the rain was ending.
- Improved the feedback when creating a thunder/lightning.
- Improved help.xml for the weather commands.
- Finished to implement the snow. Now it is possible to get something similar to 
  our snow (eventually, to be used in special events), which should resemble the description
  taken from zodiacs.xml, for the month of Novari:
      "[...]Hoarfrost has thickened to resemble something that some races refer to as snow.
      Some ice flakes fall from the small vents in the cavern roof and settle on the upper levels,
      which begin to melt off as Novari draws to a close.[...]"
  It can be surely be improved to match better the description. Sectors which should support
  snow should have snow.jpg as the ones which should support rain should have rain.png (some 
  already has). The binary client doesn't have the directory /art/textures where these two
  textures are stored and loaded in the code: please, specify a proper location.
- Fixed crash that was happening each time there was an attempt to remove fog after raining.
- The fog level during rain is depending by the amount of drops.
   
*** 2005-12-15 by stfrn
- Fixed crash in mouse scrolling before the gui was loaded, thanks Karosh!
- Fixed bug #1360 and similar, vitals that are set to a negative value act strangely for a client.
  Mana, mental and physical endurance set to less then 0 are set to 0.1 to avoid a bug for 0.0
  HP are set to 1.0 if less then 1.0, possibly some higher value should be used as a lowest.
- Fix for laanx crash.

*** 2005-12-15 by Jorrit Tyberghein
- Fixed PS for latest CS event changes.

*** 2005-12-13 by Dave Garrett
- /awardexp now deals with progression points instead of experience. (Individual exp are useless)
  It can now also take negative values to correct typos and penalize players. (Bug #1351)
  (Penalizing players with PP should NOT be a common GM practice...)

*** 2005-12-13 by Anders Reggestad
- Cleaned up the removal of exchanges when one of the parties disconnect.
  Only using the disconnect feature, not the pointer to the exchange manager
  to remove exchanges when disconnecting. 
- Fixed loading of quest category from db. Now read the string instead of trying to 
  get an integer.
- Updated db quests with Test Cases to be used in the Planeshift Test Case document.
- Created ToString functions for psGUIInteractMessage, psSystemMessage, 
  psUserActionMessageand psPersistItem.

*** 2005-12-12 by Luca Pancallo
- Server console: Added function to know where a glyph is used
- Server console: Added hierarchical view of quests based on prerequisites
  (just one supported for now).

*** 2005-12-12 by Anders Reggestad
- New sub type to MSGSYSTEM MSG_ACK that is displayed on screen with blue color.
- Made PrintOnScreen protected so that it is only accessible by sending a psSystemMessage
- Removed unused code in clientmessagehandler
- Added psSystemMessage MSG_ERROR to warn "Not a purified glyph" the user when trying to
  move a not purified glyph to one of the assemble slots.
- Added support for multiple "Require completion of Quest" in quest scripts.
- Made the NPC client less accurate when chasing a target. This prevent a loop
  in the npcclient that, did look like the NPC is running in a straight line through
  the target forever.
- Created ToString function for the psNPCCommandsMessage.
- Added a struct to ToString for messages with pointers to some entities that 
  might be needed when decoding messages.
- Added dump of Hate list to print for npc's in npcclient.
- Added removing of a removed object from every hate list in npcclient. Fix #1149

*** 2005-12-12 by Dave Garrett
- Bumped /morph up to GM4 and /inspect (just shows an actors inventory) down to GM3.
- Fixed right-click on shortcut button crashes.

*** 2005-12-11 by Andrew Craig
- Update for a new CS date.  CS/CEL date is now "2005-12-06 00:00:00"
- Added ability to customize hair styles.

*** 2005-12-11 by stfrn
- Fixed bug 1250, stamina not drained during mouserun
- Fixes for MySQL 5.0 from Pogopuschel, now both versions are perfectly usable for PlaneShift.

*** 2005-12-11 by Dave Garrett
- Added security level and entity ID to /info.
- You may now slide/teleport anything using entity ID.  Specify target/destination as eid:#
  (to use player ID now, specify pid:#)

*** 2005-12-11 by Luca Pancallo
- Fixed a bug in quest "Require completion of" operation.

*** 2005-12-11 by Arianna Benigno
- Fixed request #1348. /pos gives information also on region name.
- Warning fixes.
- Fixed crashes mentioned in bugs #1163-1166. if a player passes a loading zone and 
  then tries to go back to the sector with rain, the client crashes. It is a temporary
  solution (I don't exclude there is some side effect). 

*** 2005-12-10 by Dave Garrett
- Fixed occasional crash in psMeshUtil.
- You can now be lazy and do "/setskill all [value]" to set all your skills at once.
- Doll views will now get trait change updates automatically.
  (inventory was doing it manually; skill and pet windows we not updated with changes)
- /impersonate now defaults to say range
- Fixed glitch in SetFullName appending a space when no last name.  (resulting in various errors)

*** 2005-12-09 by Anders Reggestad
- Fixed so that any number of commands can be put on one line in a quest script sepearted with dots.
- Fixed so that previous commands in a multi command line isn't added once more for each 
  additional command.
- Fixed so that multiple player triggers where added without leading spaces.

*** 2005-12-09 by Andrew Dai
- Fixed issue with NPC client reconnects causing numerous NPC updates to be lost.
- Added support for <visible> and <invisible> tags in NPC behaviour scripts.
- Fixed issue in DialogHistory where the unary minus operator was being applied to
  an unsigned variable.

*** 2005-12-09 by Arianna Benigno
- Fixed bug #1344. It is possible to remove a surname from a character.
- Some fix on the vitals updated: when a character is first connecting his vitals
  shouldn't be raised too much. For this reason, it is necessary to make the 
  increment smooth at first connection. (servervitals.cpp
  line 100, bool psServerVitals::Update ( csTicks now)
  During first connection, StatsDirty has been maken equal to 0Xfffffff.
  I don't know if this was the purpose of the check (drdelta > 10000), but it seemed
  to me that there was the will to make a forced update of each vital and therefore, 
  due to the randomness of "csTicks now", it is necessary to have an high value of 
  drdelta. If that was not the purpose of the check, please fix it.
  If what I wrote here and the comments on the code are not clear, please, contact me
  for further explanations.

*** 2005-12-08 by Anders Reggestad
- Rewrote NpcTerms to use pointers instead of looking up strings.
- Fixed so that spawned items that counld't fitt into a stack
  is placed where no object is instead of doing a new random
  position after a good spot was found.
- Added increment of tries variable so that the upper limit would work.
- Run valgrind and removed one Invalid write where the psSheduledItem was deleted
  when the item was consumed in a stack.
- Fixed correct length for dynamic length message MSGTYPECHARACTERDATA that did
  send 1000 bytes to client regardless of data inserted into message.
- Fixed length of psCharacterApprovedMessage to be according to data sent.
- Fixed length of psCharacterDetailsMessage to be according to data sent.

*** 2005-12-08 by Arianna Benigno
- Fixed bug #1183. At login, the stats are not increased.

*** 2005-12-08 by Dave Garrett
- Changes to equipment systems to allow for texture changes for worn equipment.
- Created a new doll updating system to better handle doll changes.  (more general, too; works for pets)
- Last valid texture (default) will now be used when a character doesn't have a texture.
  (instead of resorting to checkerboard)
- You can now use /impersonate while invisible.  (will use selected target as source)

*** 2005-12-06 by Anders Reggestad
- Moved checks for prerequisites from quest to response. This to allow to append
  more prerequisites while parsing a quest_script to individual responses. The
  prerequisite on the response is initialized with the prerequisite from the quest.
- Moved searching for "trigger error" out of FindResponse in dictionary. Now all
  the trying and failing is done in NpcDict.
- Changed Quest Script parsing to use psQuestPrereqOp operations instead
  of ResponseOperation operations. This will do so that find response
  catch that a respone isn't available much earlier in the process.
- Removed use of unneeded temp string in NPCDialogDict::FindTerm.
- Rewrote FindOrGeneralizeTrigger to only call FindResponse once per generalization.
- Fixed so that when you receive some money from a respone money operation,
  the user friendly string is printed.

*** 2005-12-06 by stfrn
- Zoom in and Zoom out keys, as well as mouse scrollwheel zoom control.
- Esc closes the currently focused window, and if none is focused, toggles the control bar. Bug 939
- Fixed bug with reply tell, if the chat window was hidden you could sent a tell blindly.
- Camera settings are saved once on logout, instead of every time you change views. Bug 1235

*** 2005-12-06 by Dave Garrett
- Fixing a client crash when an NPC says a NULL message.

*** 2005-12-05 by stfrn
- Minor fix needed for MySQL 5: `trigger` is a reserved keyword.
- In the dummy CVS DB, Changed the default spawn locations in the race table to around 0,0,-150
  This is to make test characters start in a safe place, they will no longer fall.
- Minor bug in character creation if you go back after choosing a race, 
  it thinks you still have a race selected but without data this causes a crash.
- Patch from Nikodemus so that character creation windows scale better.
  Also moved the deleted button above the portrait so it would not be clicked accidentally.
  Paths screen still needs work.
- removed tabs and other useless whitespace from effected xmls.
- Patch from Bereror for DR and vital counters:
  The first message from a new entity is accepted.
  This dramatically reduces the number of warnings about out of date messages.
    Thank you Bereror!
- These changes should also be done on the server side, so that less messages flood the console
  and more messages get to users.

*** 2005-12-05 by Arianna Benigno
- Fixed bug #1069. Effects sound were played even if the action sound were disabled in 
  the options.
- Fixed bug #1195. It is possible to see which are the real values of the stats and
  which are the ones enhanced by objects (skill window).

*** 2005-12-04 by Anders Reggestad
- Fixed bug #1252, by removing code that returned from SetMode before the actorMode where
  set. Actor mode with death prevent new movments to be added.
- Added log of the psDRMessage.
- Fixed so that we play death animation even when runing into death. (Death animation
  wasn't displayed when keeped running during a fall that killed you). Upon death
  reseting the movement system before chaning animation.

*** 2005-12-04 by Arianna Benigno
- Fixed bug #573. Now, the warning about the name policy will pop up each time the 
  user modify the name. 
- Fixed bug #1207. There is no offered/received money total and tooltips leftover from 
  previous trades.

*** 2005-12-03 by Arianna Benigno
- Warning fix in messages.cpp
- Update MSVC 7.1 project files.

*** 2005-12-03 by Dave Garrett
- Moved attach/detach and the changematerial functions to their own class, psMeshUtil.
  (absorbing psMaterialUtil as well)  This is needed for me to get at them to make
  pawsObjectView handle texture changes.

*** 2005-12-02 by Dave Garrett
- Fixed bug #1313, the switch to full defensive on being attacked was happening when already fighting.

*** 2005-12-02 by Michael Cummings
- Fixed some VC8 compile warnings
- Added some sanity checks to the AdviceManager

*** 2005-12-02 by Anders Reggestad
- Fixed bug #790 where statDR dirty flags where cleared when the statDR was sent
  to a client that targeted a client. When the statDR than should be sent to the
  client the dirty flag was clear so no statDR was sent. Now forceing sending HP/HP_RATE
  to clients that target another player.
- Created a message logging system. By setting LOG_MESSAGE every message sent and received
  are logged. This helped very much in finding the #790 bug. Atm only the statDR message have
  a implemented ToString function. All other messages are dumpt in hex. Not very usefull but 
  you see that the message go and when you need information from that message you only have to
  create a ToString function and add insansiating of the message in the LogMessages function
  in the messages.cpp file. System have been created so that a minimum of CPU is used if
  LOG_MESSAGE isn't turned on.

*** 2005-12-01 by Anders Reggestad
- Changed ~gemActor and ~gemNPC to be virtual.
- Added assert in ~gemObject using an unused variable
  valid to assert if destroyed more than once.
- Fixed bug #704, make sure that the HP is 0 when the target is dead.

*** 2005-12-01 by Arianna Benigno
- Little update to the Linux compiling guide. Thanks to Bereror for some 
  useful suggestion.

*** 2005-11-30 by Anders Reggestad
- Fixed so that exchange triggers will check for exact match of given coins and
  if that fails check for equivalent in trias only. Fixed unresolved part of Bug #1255.
- Changes so that when you sell/buy a item to a merchant the you sold string will have a
  more user friendly format. You sold X for 6 Circles and 2 Octas a total of 1600 Trias.
- Moved the ToUserString psMoney function next to the ToString function.
- Moved a test for no money first in the ToUserString function so that no unneeded processing
  would happend when calling ToUserString with a total of 0 Trias.

*** 2005-11-29 by Dave Garrett
- Changes to /impersonate.  For the 3 commands (say, shout, and worldshout) input "name"
  as 'text' to do the /me like text.  (the command 'text' was worldshout only)
- Added "/changetype [name] [type OR 'reset']"  (GM4)  This command temporarily changes the security
  level for the specified player's client.  (not saved to DB; lost on logout)  All players always
  have access to "/changetype me reset".  This command has 3 main uses:
   - Testing:  "/changetype me player" lets a GM char turn normal, and test things
               without worrying about any GM/player differences.
   - GM PvP:  "/changetype target NPC" turns the target player into an NPC-like character.  They
              can be attacked by players and then retaliate.  (cannot initiate attack on a player)
              Used with /morph this can allow for more GM event possibilities.
   - Deputizing:  "/changetype target GM3" turns the target player into a level 3 GM.  Intended to
                  be used to temporarily give GMs commands they need for a specific instance.
                  (better solution than officially making them a GM and changing them back later)
                  You may only upgrade someone's level to 3 below your own.  (ex:  GM7 needed to give GM4)

*** 2005-11-28 by Anders Reggestad
- Updated the upgrade_schema.sql to reflect all the changes between
  DB version 1093 and 1096.
- Change so that trigger text from quest_scripts are added to the
  dictionary after disallowed words are removed.
- Fixed so that removing of disallowed words will remove the dissalowed
  word not the first string mach of the dissallowed word that in many
  cases would be part of a real word.
- Fixed GetWordNumber to skip all leading spaces in a different way
- Changed GetWordNumber not used param 3 to be a pointer where the location of
  the num word could be returned.
- Fixed not compiling CVS version of admin manager :(
- Added doxygen comments to the psquestprereqop.h file.
- Removed quest_id from triggers, they are not need when 
  using quest_scripts.
- Cleand out the last part of the old trigger based quests from the sql files.

*** 2005-11-27 by Anders Reggestad
- Changed assign quest op check if the quest is assigned, not to check if assigned or completed.
- Fixed a inconsistens in the Jamfile. Now building bulkobjects as a library.
- Make sure that all substeps of a quest is completed when the parent
  quest is completed. This to block any triggers that is checking for
  prereq on substeps.
- Updated all CVS quests to use new quest system
- Changed the pron scripts from 26 to use { instead of [, updated examples.
- Moved restaring of search for responses with no prior response out of
  FindResposne so that both cases would do all the same processing and
  serching for quests. This prevent some quest steps from deadlock when
  a response was checked for another quest than the actual quest.
- Renamed completiondate to lockout_end, and changed db entry to state
  remaininglockout, to bether mach the use of the variables.

*** 2005-11-27 by Arianna Benigno
- Another session of cleanings for warnings for MSVC 7.1/64 bits. 

*** 2005-11-27 by Dave Garrett
- Various fixes for item action sounds.  (actions are pickup, drop, equip, and dequip)
  - How to set a sound:
    1) Specify a category under "sound" in the "item_stats" table for the item(s) in question.  (nosound for none)
    2) Set the files for this category in art/soundlib.xml with names of the form "item.[category].[action]".
- Quick additions to /impersonate.  The command 'text' works localy, and 'worldtext' works globaly.

*** 2005-11-27 by Michael Gist
- Few fixes, updates to the mk/msvc files and support for static server and npcclient.
  ((jam) server_static compile group). Both Jamfiles will need some cleaning up, but they work.

*** 2005-11-26 by Daniel Fryer
- Stripped some non-power-of-two texture flags from pawstexturemanager - crashed some Macs, 
  and I couldn't see a visible difference with or without
  it.  Feel free to revert if it cramps your style. 

*** 2005-11-26 by Anders Reggestad
- Added support for setting of pronouns from quest_scripts. 
  Append the this parenthesis to the response {pron:Name,pron:Name,...}
  Legal prons he/him,her/she,it,they/them.
  Example:
  MaleEnki: Do he love her?{him:Smith,her:Alina}
- Changed attribut name in completed to quest.(Updated examples)

*** 2005-11-26 by Dave Garrett
- Control bar will now show correctly on next load if the user quits with it hidden.  (thanks to Bereror)
- Fixed a crash in cmdhandler.

*** 2005-11-25 by Anders Reggestad
- Added support for not and require operators in prerequisite script
- Rewrote prerequisite script to use xml. Syntax examples:
  <pre><and><complete quest="q1/><not><complete quest="q2"/></not></and></pre>
  <pre><and><assigned quest="q1/><or><complete quest="q2"/><complete quest="q3"/></or></and></pre>
  <pre><require min="2"><complete quest="q1/><complete quest="q2"/><complete quest="q3"/></require></pre>

*** 2005-11-25 by Dave Garrett
- Got got rid of redundant pslog::DoLog() call in DebugN, NotifyN, WarningN, ErrorN, and BugN macros.
- Fixed a bug in Bug5()...  it was missing a comma.

*** 2005-11-24 by Dave Garrett
- Made GEMSupervisor not care about case when searching for an object by name with FindObject().
- Object/NPC names with spaces can now be put in quotes and used as the target for GM commands.
- Added checks for a clientnum of 0 and for a NULL message in SendSystemInfo/Result/OK/Error
- Got rid of those annoying "not a player" errors when acting on non-player objects with GM commands.

*** 2005-11-24 by Anders Reggestad
- Fixed an assert in the client where an empty quest list was received caused an
  assert to be raised. Now check for non empty list before trygin to pars quest entries.
- Rewrote the psMoney - operator to be more realistic. It will not
  return normalized stacks anymore. But try to take number of coins
  needed and than returning a normalized change.
- Added support for "and", "or" and "completed" operators in quest prerequisite scripts.

*** 2005-11-22 by Anders Reggestad
- Added fix to prevent clients decontected while on a loot_list to crash server.
- Removing clients from loot tables when they disconnect.
- Changed so that genqueue copy constructor initialize the mutex in the same
  way the default constructor initialize the mutex. With recurse enabled.
- Add setting of actor and familiar to null when deleting the actor in the
  client structure. This will prevent anyone from accessing a deleted
  actor thrugh the client.

*** 2005-11-21 by Andrew Robberts
- Fix to effects deleting themselves.  Thanks to David Brodsky for pointing out the problem.

*** 2005-11-21 by Dave Garrett
- Fixed death animation for non-combat events.
- Client update required to see death anims on updated server! (BUMPPED NETVERSION for good measure)
- Made modes fully apply to NPCs.  They will now use the combat stance anim if they have one.
  (they could also be made to sit, theoretically)
- Fixed a double send of mode in StopAttack()
- The kill announcement message will now only be within the normal combat messages range.
- Death and sit will now cancel mouserun.

*** 2005-11-21 by Anders Reggestad
- Removed the most annoying YesNoWindow used to confirm loading of item categories
  in the GM Spawn Window, the lists are not that long that we need to confirm before
  loading them.
- Added debug statements to dialog for better trace.
- Added first cut of Prerequisites for quests. Added a field prerequisite in
  the quest stable. This is parsed into a series of prereq ops that are run
  to verify if a response that is part of a quest is available. In this first version
  the only prerequisite that is allowed is a quest name.
- Moved quest category from quest_script table to quests. This will in the future
  be used to prereqs like you have to complete at least 3 newbie categories before
  you get this quest in a prerequisite.
- Removed quest_name from quest_script table. That info should be held in the
  quests table.
- Added trigger "P: *" to be a "P: error" trigger. It is more intuitive in the
  quest scripts to use P: * (any trigger).
- Added optional params to quest script run scripts. 
  Like this: "Run script (p1,p2,p3) [<script name>|<evt>...</evt>]"
- Bumped DB Version

*** 2005-11-20 by Andrew Craig
- Made input buffer error message show message type instead of just ID code. 

*** 2005-11-20 by Anders Reggestad
- Added "Run script [<script name>|<evt>...</evt>]" to quest_scripts. Allowing to 
  run named progression scripts or a new progression script on quest responses.
  Will be added to current response:
    Smith: You are so rude!
    Run script kick_you 

*** 2005-11-18 by Michael Cummings
- Added Fix to Pet Impervious Setting, Pets should currently always be impervious to attack.

*** 2005-11-18 by Andrew Craig
- Fixed un-inited var in the spawnmanager. Was causing a if(var) to fail
- Fixed bad delete when discarding quests. It was deleting a valid quest entry.

*** 2005-11-18 by Dave Garrett
- Fixed the NPC examine button.
- Moved a few buttons around to avoid more overlaps and weird positioning.
- Added some code to make the attackability of pets mirror their owners.
  It's commented out until pets can defend themselves.  (client.cpp lines 46 and 432-435)
- I also explicitly disabled training from combat with pets. (bug #1277)
- Fixed bug #1287.  Pet name changes made all clients in range select the pet.

*** 2005-11-17 by Andrew Craig
- Fixed bug in NPC client that was making NPCs act strange and caused the 
  outbound message buffer to get filled up.
- Fixed background music for time of day again.  For overnight tracks have
  to specify 2 intervals around the 0 hour.   

*** 2005-11-17 by Anders Reggestad
- Added printing of response script to server console command /dict
- Fixed so that only one command not two was inserted into the response
  script when parsing quest_sqripts.
- Removed ) from the end of error responses when paring the (Error text)
  part of a response
- Added dump of ResponsOps so that they can be printed when dumping the dict
  with the /dict server console command.

*** 2005-11-17 by Dave Garrett
- More futzing with slide/teleport:  Will force proxlist update on sector cross,
  and check if an update is needed on other moves.  (should minimize hiccups)

*** 2005-11-16 by Dave Garrett
- Bumpped /spawn_item and /awardexp down to GM6 and /inspect down to GM5
  to give these levels a reason to exist.
- GM command /inspect and console command showinv will now show the character's money.
  (showinvf lists individual coin counts, as well)

*** 2005-11-16 by Anders Reggestad
- Added shortcut to set shortcut key for shortcuts in the shortcut window.
- Added check to prevent proxlist to crash when an actor have a owner
  and the owner dosn't have a gemobj.

*** 2005-11-15 by Dave Garrett
- New info window

*** 2005-11-14 by Anders Reggestad
- Changed so that if quest manager fail to load server will not
  crash but exit with a failure.
- Fixed so that the quest available check didn't fail if a
  response was triggerd that was assigned to a quest while in
  quest lockout.
- Changed the jam file for ase2spr to ase_2_spr now cvs
  update without warning after building for unix.
- Rewrote some dublicate code to actually call the function
  that did the same thing. (GetResponse()).
- Updated db to have more consistent quests within the test world.
- Added dump of dictionary for debug.

*** 2005-11-14 by Luca Pancallo
- Fixed loading of substeps in CacheManager
- Now dynamic substeps have a fixed ID based on the parent quest and step

*** 2005-11-13 by Andrew Craig
- Fixed bug in sound system where it was not picking up the right time of day song
  to play.

*** 2005-11-13 by Dave Garrett
- /spawn_item will now ignore items with IDs of 10000 and above (randomly generated items)

*** 2005-11-13 by Luca Pancallo
- Fixed substep check for complete quest 
- Fixed last response on Exchange Triggers
- Dynamically added quests now keep track of the parent quest
- Quest substeps and deleted quests are not sent to client in quest window.

*** 2005-11-12 by Dave Garrett
- Added experience and progression points to skills window.
- Camera mode will now be shown in fading text on change, instead of the info window.

*** 2005-11-10 by Dave Garrett
- Made auto-stack handle spawns better.
- Fixed "/modify remove" to fully delete item from db.  Fixed crash on one of its outputs.

*** 2005-11-9 by Michael Cummings
- Fix for Familiar bug, was creating multiple pets for a single player.
- Fix for NPCclient crashes when npc->GetEntity() != actor->GetEntity()

*** 2005-11-9 by Anders Reggestad
- Fixed compiler warnings. Passed csString in ...
- Supressed printing of warning for missing widget in hide for
  the interaction window. This was printend for all buttons at
  startup. Have code in dialog code to handle missing windgets
  so the warning from FindWidget isn't needed.
- Added warning prints to debug error conditions when loading effects.
- Added user option under chat to echo text printet on screen to system(Bug
  #730).
- Added more robust algorithm for finding a respons if random pick
  should fail.
- No need to publish money/weight/size for each item. Changed to only
  publish once. This fixed (Bug #1223) since if no object no money
  was published.
- Fixed a weakness in the publish/subscriber thing. When receiving data
  without a publisher that data is forwarded to the first subscriber of that
  data type. The second subscriber would have to wait for a new publish of
  that data. Fixed to allow already known data for a
  dataname to be propagated to new subscribers.

*** 2005-11-9 by Thomas Towey
- Fixed trade skills skill training to match /dig, etc.
- Added trade skills crafter, guild, and quality to item description.

*** 2005-11-8 by Arianna Benigno
- Fixed bug in changename that was making the server crash if the target player was
  not online.

*** 2005-11-6 by Thomas Towey
- Released reworked trade skills code.

*** 2005-11-6 by Anders Reggestad
- Fixed missing newline in output from updater.
- Pushing a button in a Modal Dialog caused a number of warnings from
  FindWidget to be printed, that realy wasn't a error situation.
  Changed FindWidget to be silent when called from ModalDialog handing.

*** 2005-11-6 by stfrn
- Cha0s fixed messages when a player uses /die.
- Clarified the help for /target, if anyone wants to try, go right ahead
- Removed the older /target_ commands completely.
  Added a target of "any" to show off the new commands flexiblity.

*** 2005-11-6 by Andrew Craig
- Fixed possible server crash in spells if the player does not have a target 
  and the spell is not able to target self. 

*** 2005-11-6 by Dave Garrett
- Fixed teleportation of item spawns to save new sector.
- Removed "/modify pos" as it is now replaced by teleport.
- Added some funcitons to /modify:
  - "/modify intervals [interval] [max random interval]" changes spawn intervals for a spawn point.
  - "/modify pickupable [true|false]" sets item to be pickupable/unpickupable.
  - "/modify transient [true|false]" sets item to be transient/nontransient. (auto-delete in ~3h)
- "/info" will now report stack count, spawn intervals, and flags for items.
- GM7+ is now needed to move a non-pickupable item, to match the other security settings.

*** 2005-11-6 by Andrew Dai
- Fixed crash when a spell is cast without a target.
- Improved safe handling of user-inputted data contained in psSystemMessage.
- Fixed crash caused by unready client sending movementactive message.

*** 2005-11-5 by Dave Garrett
- Teleport may now be used on items.  (affects spawn points if GM7+)
- Teleport will now only update the proxlist when a sector is crossed in the process.
  This greatly improves the speed and efficiency of short-range teleports.

*** 2005-11-4 by Dave Garrett
- Streamlined targeting for GM/admin commands.  (see bug #876)  Commands with targets
  may now use the keyword 'target' for the currently selected object.
  - Commands with only one argument may omit this altogether.
    This makes many commands significantly easier to use.
  - Combinations such as "/teleport target here" and "/teleport me target" are also valid.
  - Note that different commands require different target types.
    (You can teleport to an item, but not an item to you; use /modify for that.)
- Added two new destination keywords for teleport:
  - 'last': Last valid location (forced unstick).  Teleport now also sets this location, thus
    allowing this command to be used to undo a recent teleport.  (passenger may also /unstick)
  - 'spawn': Spawn point for this character.
- Improvements to slide to allow for easier item placement:
  - Slide may now act on any object.
  - Level 7 GMs also slide the item's spawn point, if it has one.
  - Added "direction" 'T', for turn.  Units are degrees, with a default of 90.
- Fixed a bug where the IP address was not showing when using /info.
- Bans and kicks now require a specified reason.
- Miscellaneous other little fixes in admin manager.
- Dropped items will now try to not be placed inside another object.
- Dropping/spawning an item onto another one of the same kind will now stack the items, instead
  of producing a new one inside it.  Spawns and other problems could eventually create a large number
  of items at the same location.  (many most likely from server resets, and other common problems)

*** 2005-11-04 by Arianna Benigno
- Fixed bug #340: mini inventory window now shows also money. Backdrop images
  need to be fixed for this.

*** 2005-11-03 by stfrn
- Fix for items that have long names crashing the client, bugs 1179 and 1243.

*** 2005-11-03 by Daniel Fryer
- Borrillis, bluecommand et. al have re-vamped the light-weight label creation code.
  Now the caller can create rows of text, manually set the attributes, and pass them
  in to SetText(count, row1, row2, ...)

*** 2005-11-03 by Michael Cummings
- Fixes to pawsEditor
- Fixed /pet summon/dismiss causing problems from being executed twice in a row
- A few more adjustments to font scaling, it now recognizes the resizetoscreen 
  attribute on <widget /> and <font /> tags.
  
*** 2005-11-03 by Daniel Fryer
- Slightly better commit of lightweight label creation code.  Changed psEffectObjText
 interface to SetAttributedText and SetSimpleText instead of old SetText.

*** 2005-11-03 by Luca Pancallo
- Fixed randomizing and last resort usage on updater.

*** 2005-11-03 by Michael Cummings
- Fixes to pawsEditor
- Fixed /pet summon/dismiss causing problems from being executed twice in a row

*** 2005-11-03 by Daniel Fryer
- Broken commit to pseffectobjtext.cpp, in order to avoid ugly parsing

*** 2005-11-02 by Dave Garrett
- Simplified the code for dropping items and added a few features:
  - When dropping an item due to full inventory, it'll be dropped randomly around the character.
  - When an item is dropped/picked up the action will be announced within say range.  (players "see" it)
    The message will use "a"/"an" and corectly make the plural form of the name as needed.
    (The functions to detect vowels and corectly pluralize the noun are in psString for future use.)
  - The code should support playing item dropping sounds at the correct times, now.
- Changed "/setattribute" to "/set" for people too lazy to type, use the GM GUI, or set shortcuts/hotkeys...
- "/set [attribute]" (without the on/off) will now simply toggle that attribute.
- Fixed yet another non-POD warning.  If you pass a csString through a '...' please use GetData().

*** 2005-11-02 by Christian Svensson
- Added a randomizing feature for the mirrors
- Also started on a last resort server feature
- Some optimiztions in the psEffectObjText object

*** 2005-11-01 by stfrn
- Fix to the darkness bug(412) from Bereror.
- Fix for bug 979, added an option to loop the background music, off by default.
- Made combat music check to see if music was turned off before playing.
  With both of these I might have the wrong catagories.
- A few warning fixes by adding GetData() to csStrings in npcclient, and added a missing name output.
  There is one however that is doing something odd, so I left it for now.

*** 2005-11-01 by Michael Cummings
- Added KA's to familiars: Set area to "Pet <race> 1" with a priority of 1
- familiars are now impervious, short term fix, attacking a familiar should be the same as attacking the player.
- Fixed familiar creation so owner is now recognized properly.

*** 2005-10-31 by Dave Garrett
- Made /slide take float arguments for extra precision.

*** 2005-10-31 by Michael Cummings
- Added some logging and checks to npcclient to help aviod message overloads
- Some more adjustments to the fontscaling
- More adjustments to familiars. 
	Familiars are now created and destroyed on summon/dismiss. 
	Fixed follow and stay to work a bit better.
	Can now change name of pet if not summoned.

*** 2005-10-30 by stfrn
- Committed a change to clientVitals suggested by Bereror.
- Fixed bug where client would get stuck in a mouse mode by making any mouse button leave those modes.
  The line in psmainwidget is no longer needed as this does the same thing but for any click.
- Changed how mouse modes hide the mouse so that it calls a centerMouse function. This
  hides the mouse and stores the old location.
- minor changes to the help file.
- minor changes to the mac support files from Cha0s.

*** 2005-10-30 by Dave Garrett
- Fixed entity labels.

*** 2005-10-29 by Arianna Benigno
- Removed some obsolete texture loaded by the engine. Other hardcoded loading things haven't
  been removed because still necessary:
  - Rain and Snow (which are in art/textures/ and not in release client) are in modehandler.cpp
  - Chest.spr and its skin (chestskin) (which are respectively in art/things and in art/textures) 
    are loaded in psengine.cpp and celbase.cpp, the object is the number 111 in common_strings table
    and it is in NPCroom.
  If you want to remove them, please, clean up not only the directory but also the code and the db.
  If the textures files needed to be back in celbase.cpp, no worries, but try to get the 
  files also in the release client.

*** 2005-10-28 by Dave Garrett
- All characters now start with max vitals on login (like GMs), to deal with the "pain"
  of a server restart.  (bug #1198)  When vitals are stored in the db to deal with bug #1183,
  that would be the ideal solution.  (placeholder in psCharacter::Load() )

*** 2005-10-27 by stfrn
- Fix for ClientVitals counters, was not wrapping around correctly, causing vitals to stop updating.
- Some updates to MinGW doc

*** 2005-10-27 by DivineLight
- Made server a big mode stable. Now it should perform better NULL checking 
  in case of quests. Acraig found the problem earlier bud didn't committed 
  yet.

*** 2005-10-27 by Christian Svensson
- Added a few NULL checks to entitylabels
- Made visibility work again and renamed it from labelAlways to LABEL_ALWAYS and so on
- When you change visibility changes, it is now instant after you press Save
- Committed feature from PK:
  If you start the client with -ignore_others=true it will ignore any incomming actor.
  Usefull if you need to go through an area where you crash a lot, or something

*** 2005-10-27 by Arianna Benigno
- Updated coding_guidelines.txt which had redundant information and lack some
  other basic suggestion.
- Improved code for bug fix #1216: now if you don't have anything to trade and you
  click "Accept trade" you get a warning message.
- Fixed bug #1208: the /changename command was completely bugged.
- Fixed bug #1095: when the name of a character was changed, the people (online)
  who were having him as buddy didn't have the buddylist/window refreshed.

*** 2005-10-26 by Divine Light
- Made client a bit more stable. Some NULL Pointer checking in entity 
  labels. It warns now instead of crashing.

*** 2005-10-26 by Dave Garrett
- Commiting Koshdukai's fix for a pile of typos, missing semi-colons and
  syntax errors in upgrade_schema.sql.  It actually works now.

*** 2005-10-26 by Divine Light
- Fixed Bug #1216 - You can complete trade even if there's nothing to 
  trade.

*** 2005-10-26 by Christian Svensson
- Begun on fixing Bug #1021 - Weapons can be used without the required stat level
  If somebody feels brave enough, please continue it
- Converted the old entity label system to use the effects system

*** 2005-10-26 by Arianna Benigno
- Fixed bug #1175: there were problems in the Credit Window, the credits were
  not appearing immediately and this was cause by a bad use of size_t and int.
- Fixed bug #1207: the tooltip of a previously traded object remained visible when 
  the exchange window was opened again.
- Centered questions (for example: do you want to trade with blabla?).
- Added some license stuff for pawsslot.cpp and pawssmallinventory.cpp

*** 2005-10-25 by Michael Cummings
- Fixed Item Equip/UnEquip Script Execute so that Equip Runs on Equip on only on UnEquip (in reverse ) 
  if the unequip script name is "undo_equip" otherwise the unequip script will run.
- Added config option for plgpssound sound library
  Add Planeshift.Sound.SoundLib = [vfs.path] to point the soundmanager to a different sound library.
  
*** 2005-10-25 by Christian Svensson
- Reworked stamina to work with the new variant system
- Fixed a few bugs with modifiers
- Fixed crash in adjuststat
- Made /morph affect local client too
- Added a message to the /target_ commands telling the user not to use it
- Improved /fog to make you able to easy reset fog to nothing

*** 2005-10-25 by Arianna Benigno
- Fixed bug #1200, you could right click and "chat" with a dead NPC.
- Fixed bug #1199, the lower part of the tab buttons in the skill window was not clickable.

*** 2005-10-24 by Christian Svensson
- Fixed Bug #825 (/screenshot command breaks collision detection)
- Fixed a fog glitch in the weather system
- Made Run into a modifier / variant of Backward and Forward.
  Allows for implementation of more advanced stuff like sprinting and sneaking
- You can now press enter in the character picker instead of clicking "Join"

*** 2005-10-23 by Michael Cummings
- Added character type for easier distinction between players, npcs, and pets in the characters table.
- Fixed DRcounter for NPC's
- Added owner_id for characters and gemActors, this now gets persited to clients.
- Bumped DB Version
- Bumped NET Version

*** 2005-10-23 by Andrew Craig
- Disable Y Range check on crafting equipment.

*** 2005-10-23 by Arianna Benigno
- Updated build docs with the right date.
- Fixed some warning.

*** 2005-10-23 by Dave Garrett and stfrn
- Created /morph command (GM3):
   - Temporarily changes the model for a character.  (until another change or logout)
   - Syntax is "/morph [player name OR 'me'] [mesh name OR 'reset']"
   - Useful for testing, GM run quests/events, etc.  The functions called by it,
     gemActor::SetMesh() and gemActor::ResetMesh(), can be used in the future for other features.
   - Currently, the new mesh is not yet visible on the changed character's client.

*** 2005-10-23 by stfrn
- Fixes for DRcounters. Now teleporting is bumped properly so it will not be dropped.
  Counters on the client reset to 0 when an object is recreated, as otherwise many packets
  may be dropped until the old value is reached again.

*** 2005-10-22 by stfrn
- Some fixes for targeting, now target_NPC does not target items
- /target has been expanded with arguments to: /target [next|prev] [nearest] [item|npc|player]
    This replaces /target_next_nearest_player /target_prev_nearest_player /target_next_nearest_npc
    /target_prev_nearest_npc /target_next_nearest_item /target_prev_nearest_item and /target_clear.
  Those commands are left in for now for people to adapt.

*** 2005-10-22 by Dave Garrett
- Character modes will now be multicasted to all within range, which will allow for idle
  animations to be shown correctly on all clients.  When alternate combat stance animations
  are made, they can now easily be put in.  (NETVERSION INCREASED)
- Added /testanim command to test play animations locally.
  Syntax is /testanim [name] [fadein] [fadeout].

*** 2005-10-21 by Arianna Benigno
- Aligned a bit better the columns of the members tab in Guild Window.
- Centered the yes/no windows when it was used pawsYesNoBox::create for being
  created and in pawsgmspawn window. 
- Centered a bit better also paws string prompt windows.
- Little fix for the "Last online" feature (bug #886).

*** 2005-10-21 by Dave Garrett
- Animations for greet and sit up/down should now be shown correctly, more or less.

*** 2005-10-21 by Michael Cummings
- Missed a file for fontsize scaling
- Added /viewall [on|off] command to GM4. Now all entities are NOT visible by default 
  until you enable them using the admin commands [/admin] and [/viewall].

*** 2005-10-20 by Arianna Benigno
- Fixed bug #886: the field "Last Online" in the guild window was related to the 
  account and not the character data of the player. DB VERSION INCREASED!
- Fixed a little bug for which the text of the confirmation window for creating 
  a new guild was not showing correctly.

*** 2005-10-19 by Michael Cummings
- Fixed /pet command
- Fixed immobile NPC's
- Fixed fonstsize so it now scales with the resolution. 800x600 is used as the base for 
  determining the scaling factor.
- familiar_id now saved immediatly after pet creation.
- pet name change saved immediatly. 
  
*** 2005-10-19 by Arianna Benigno
- Fixed bug #1192 which was a side effect (!) of a bug fix (#1190, I guess). If you placed
  money in the bulk slot, then it would be lost.
- Fixed complaining of group window with 0 members trying desperately to find a widget
  that doesn't exist (connected with bug #1189). Fixed also when the player was attacking 
  somebody not grouped with him. 

*** 2005-10-18 by Dave Garrett
- Fixed bug #1191 (another inventory update bug):  The inventory will now be refreshed after
  every successful addition of an item.  This should fix other bugs like this as well.

*** 2005-10-18 by Michael Cummings
- Fixed familiar_id not being saved to player character
- Added fix for npcclient getting SetOwner before getting NPCList

*** 2005-10-18 by Arianna Benigno
- Fixed bug #990 - items lost in trade when unstackable, and everything connected to it.
- Fixed bug #1015 - When trading, if the coins were placed in the items area they were lost.
- Fixed bug #1190 - Moving items from exchange window to inventory was not working always 
  in the best way: if the slot was not free and the object unstackable item was lost, and
  similar issues. Part of the bug was introduced in the first attempt of fix of bug #990
  which has never been public.

*** 2005-10-17 by Arianna Benigno
- Fixed bug in Options window: there were widgets missing in configentityinter.xml
- Fixed bug #1189 (which was created by me the 5th of September): there was a
  check without the variable which was causing a problem in the visualization of the
  char data in the group window (I don't know if this is clear, I think the code is 
  autoexplicative ;D)

*** 2005-10-17 by Dave Garrett
- Added GM command /warn.  "/warn [playername] [text]" will send a message to a player in
  big, red, un-ignorable text on their screen and in all chat tabs.  (bug #999)

*** 2005-10-16 by Andrew Craig
- Added progression event to allow trait changes.  The way to do this is to 
  add a new progression event in the format:
  trait_change_1, <evt><trait value="key into trait table" /><evt>
  
  So this can be attached to something like a hair dye potion to trigger event
  trait_change_1.  
  
  When the event is run it will check to make sure that the trait selected is 
  allowed by that race.  So for example, a StoneBreaker cannot use Ylian hair 
  dye. 

*** 2005-10-16 by Dave Garrett
- Added /awardexp command for GM run quests, etc.  (level GM7)
- Lowered the level of /setattribute to GM3.
- Fixed a bug where "/slide me direction" was falsely being reported to the server as an error.
- Fixed a bug where lacking a 0th shortcut would make the shortcut window have errors.

*** 2005-10-16 by Stfrn
- Added functions to get and set "frameLimit", by converting it to an approximate FPS value.
  This is then used in the options window so that users may set a cap for frames per second and save on CPU cycles.
  The values however are very approximate, and might vary widely by system.
  When the formula for converting FPS to frameLimit is changed, only psengine.cpp needs to be updated.

*** 2005-10-15 by Andrew Craig
- In main character creation the first hair colour is now applied 
  by default. 
- Can now set mouse clicks to break the camera lock on the view object.
  So now after setting the hair colour can click on the model to restore
  camera to full body view.
- Fixed some problems with gender selecting in character creation.
- Fixed the camera positions for the different races when selecting hair colour.  

*** 2005-10-15 by Christian Svensson
- Added some projectfiles for MSVC 8

*** 2005-10-15 by Arianna Benigno
- Fixed a warning where an int was = to a float.
- Fixed the error message in client console "could not locate widgetX in None", now
  when the "mother widget" is None it returns before priting the error.
- Fixed several printf in console that were a bit old. Some have been converted to Notify.
  In general, printf should be avoided. 
- Fixed skill window for the styles. Added a new style for the skills tab button (tabbuttonskills).
- Fixed wrong material (for one) and texture file for the three example effects. Unfortunately, 
  the texture files are not in CVS (they should be in /art/effects/) and I am not sure 
  I should place them there or not even if for the CVS examples.
- Changed the name of a button resource in interactwindow, adapting it to the one in 
  imagelist.xml. 

*** 2005-10-15 by Dave Garrett
- Added a /setattribute GM command:
    - Syntax is "/setattribute [attribute] [on/off]"
    - Available attributes so far are:  invincible, invisible (replaces /invisible and /visible),
      nevertired, nofalldamage, and questtester (ignore quest lockouts)
    - Invincible, nevertired, and nofalldamage are enabled by default for all GMs.
    - Note that turning off GM invicibility makes the character vunerable to attack
      from anything.  (including players, without any confirmation)
    - "/setattribute list" shows the current attribute settings.
    - These features are also available in the "Attributes" tab of the GM window.
    - Fixes bugs #602, #657, and #761.
- Disabled the chat menu until someone can make that thing useful.  Saying "Hostility" or
  "Trade" by accidentally right-clicking on the chat window is all too common.  (bug #912)

*** 2005-10-15 by Stfrn
- Lowered the level of "impersonate" to GM2 for use in announcements and RP events.
- Fixed petitions so GMs can submit them after using /admin, bug 887.
- Fixed a server crash on divorce if the spouse was not online.
- bumped client version to 0.3.012 "before we forget again"
- fixed bug # 1187 - forgot to check for null
- fixed bug # 1188 - double click actions are a bit odd in that they directly call what they want without checks
- removed a pointless printf in charcontrol.

*** 2005-10-14 by Keith Fulton
- Added versioning support to StatDR messages, which prevents out of order UDP packets
  from making player stats jump around randomly.

*** 2005-10-14 by Stfrn
- Fix for bug 784, the time for tooltips is now checked from Planeshift.GUI.ToolTipDelay
  and defaults to 250 msecs.
- Fix for bug 1144, if you /use with an argument, it will assume you are trying to consume.
  Also, equip now defaults to 1 item being used.
- a short term fix to bug 486. A better fix will compare a characters base speed.
- Some updates to help.xml

*** 2005-10-14 by Arianna Benigno
- Added text to Cancel and Save buttons in Modify Description window.

*** 2005-10-14 by Keith Fulton
- Added support for multiple responses to be linked to 1 single trigger.  This is not
  supported by the data model in mysql but is supported (and intended for use) by quest
  scripts.  All the scripts need to do is to use the same trigger with the same prior_response
  on the same npc, and the npc will magically choose from those responses randomly.
  Since each response implies its own chain of next triggers and responses, lots of
  things can be done with this, including assigning multiple different quests from
  the same player trigger.

*** 2005-10-14 by Dave Garrett
- Negative values for stats/skills at character creation are now checked for.  (bug #991)

*** 2005-10-12 by Michael Gist
- Improved configure script by adding detection for some optimizations.
  Updated files in mk/msvc again with some fixes. Added a few checks to the Jamfiles.

*** 2005-10-12 by Arianna Benigno
- Added flashy tab buttons in the skillwindow, when training: each tab will
  blink when there is at least a skill available from the trainer. Increased
  net version, even if I m not sure I should have done that (I haven't YET 
  understood when to do it...).
  Adjusted this so that the tab buttons don't flash each time a char buy a 
  skill.
  At the moment I have used as resources the chat buttons (up and down).
- Fixed a warning for 64 bit.
- Projects update for dir /visualc7.1.
- Made a bit better HandleSkillList in SkillWindow: now the code is much
  more compact.
- Fix some bug in skill window (on selection).
- Adjustments to the layout based on the new backdrop and other improvements.
- Fixed warning(MSVC)/error(gcc) in a cast in npcmanager.cpp (and remove not used
  var in pawspetwindow ).
- Disable fly.
- It is possible to strafe and rotate, now.

*** 2005-10-12 by Stfrn
- Some fixes so guild notes are actually usable:
  The gui now sends the targeted person's charcter id instead of your own,
  so it is possible to send notes.
  Private notes are only viewable by that character, and can be sent by any
  member of the guild. They are appended, not the best formatting, but it works for now.
- Slide now defaults to 1, so the GmGui will be able to slide again.
- Minor changes to the DR, as suggested by Venge, so that teleporting is more consitant.
  Hopefully I did not break anything.
- A fix for bug #51: Name labels not updating when changed.
- Related to previous, Guild labels are now updated when you join a guild.
- commited fix for bug #931, Shortcut names gone for hotkey selection.

*** 2005-10-12 by Dave Garrett
- Added a confirmation prompt with minimum guild requirements for guild creation.  (bug #1096)
- Committing aarobber and jorrit's patch for bug #889.

*** 2005-10-11 by Dave Garrett
- Fixed fall damage.

*** 2005-10-11 by Andrew Craig
- Added Keith's gui updates into the pssetup application as well.  It now
  uses vfs path as defined in the pssetup.cfg file:

  PlaneShift.GUI.Skin = /svn/planeshift/art/apps.zip/

*** 2005-10-11 by Michael Cummings
- Added Stats and Skills window to Pets.
- Started Character Creation Options for Pets

*** 2005-10-11 by Arianna Benigno
- Moved (thanks to Temaris) two inlines NetBase methods in the header file, where they should be.
  This was causing a warning for gcc.
- Fixed some little typo in some comment (just being picky ;D)
- Fixed some bug in the skills: 
  1) Reverted a previous fix and made it on client side: if you buy and no skill is selected you
    get a warning window
  2) If you filter or press any tab different from the one you are in your selection is cleared.
    
*** 2005-10-10 by Keith Fulton
- Added DR versioning to all DR messages.  This enables entities to reject out of date DR
  packets when they are received out of order on a per entity basis.  Each gemActor
  stores a DRcounter value which goes with each DR message payload and checked on each
  client when applied.  It is also checked on the server and the message is not rebroadcast
  if the server has received an out of date DR packet from the originating client.

*** 2005-10-10 by Dave Garrett
- Fixed bug #1087:  New looted items were not accessible until inventory was opened.

*** 2005-10-09 by Dave Garrett
- Re-wrote invite spam-blocker:
   - Now only triggered on declines, so as to not block legitimate invites. (bug #849)
   - Penalties now increase with each decline:
      1) 1 min lockout
      2) 5 min + warning
      3) 10 min + 10 advisor point fine + 10 duel point fine, if duel spam + death
      4) 30 point fine(s) + death + kick from server
   - Penalties expire with gameplay time, and can be lowered by getting an accept from
     a player with no penalties and a enough advisor points.
   - Penalty level is saved to the player's account entry in the database,
     so repeat offenders can't escape it. (relog resets to 3rd level)
   - INCREASED DB VERSION
- Enhancements to the looting system:
   - Roll for loot enforcement:  If a player in a group attempts to take
     instead of roll for any loot, the roll winner will be prompted to allow the action.
   - Range restriction for rolling:  Only group members within 30 meters
     (10 times normal loot range) can win a roll for loot.
- More quest system additions:
   - Implemented discard quest feature. (bug #475)
   - Finished quest notes to save individually for each character.
   - Fixed some display glitches and other minor stuff in the quest window.
- Miscellaneous little fixes:
   - Removed a useless variable in psChatMessage.
   - Fixed a typo in the NetManager console output.
   - The 'shout/auction is banned within first hour' message was too long, and falling
     off the screen.  The 'use the help tab' part is now sent as a system
     message, instead.
   - Disabled sound within pssetup application:  If sound crashes stuff, you cant load
     the setup to turn it off if the setup crashes too.  Besides, pssetup shouldnt be
     loading unneeded plugins.

*** 2005-10-08 by Keith Fulton
- Changed paws skin specifiers to use full VFS paths instead of having the paths
  hardcoded in except for the filename itself.  Now the entire path should be in
  psclient.cfg, like this:

    Planeshift.GUI.Skin.Ingame = /svn/planeshift/art/skins/default.zip\
    Planeshift.GUI.Skin.Base   = /svn/planeshift/art/skins/base/client_base.zip\

  In this example, the "zip files" are actually folders directly downloaded by
  svn, so VFS wants to see a CS_PATH_DELIMITER trailing the dir name.  In Windows
  this is a backslash (\), but others it is a slash (/).  All examples of how to
  use directories in VFS mounts talk about slashes, but you must use \ in
  windows.

  Also note that the mounts above mount to /svn/, which I defined in vfs.cfg as:

    VFS.Mount.svn = $/path$/to$/svn$/

  This enables me to run psclient from its directory while using the artwork
  directly from my svn repository, once I also change all the Thing mounts to
  here as well, such as this one:

    Planeshift.Mount.weaponzip = /svn/planeshift/art/things/weapons.zip

  Hope this helps everyone have and use only one copy of all the content.


*** 2005-10-08 by Michael Gist
- Added static support for psclient (psclient_static), pssetup (pssetup_static) 
  and the updater (updater_static). Also added the compile group 'client_static' 
  which compiles all three.

*** 2005-10-08 by Stfrn
- Fixed bugs I had accidentally made: bug# 1181, and a camera problem reported 
  by Borrillis.
- Moved the toggling of windows from pscharcontrol into gui/pawscontrolwindow
  makes more sense this way, and I added a few more windows to it, as well as /show
  to call it directly by the user. Likely it should be moved fuirther into an xml.
- Fixed bug# 1066, that filters were buggy if more then one word was changed.

*** 2005-10-08 by Andrew Craig
- Fixed Bug #1162 - Incorrect music playback when using the daytime check.
  Can now use a TIME_RANGE inside the map sound.xml to specify the time 
  ranges that song should be valid for.

*** 2005-10-07 by Michael Gist
- Some updates to the m4/jam files to correctly fix -fPIC detection. 
- Added meta-info-embedding. This is enabled by default. To disable, 
  add --enable-meta-info-embedding=no to your configure line.
  You'll need to run autogen.sh and configure to get these changes.
- Updated remaining m4/jam files to latest versions. Jamfile.in is 
  now used. msvcgen has been updated, new project files are in mk/msvc 
  folder, and the new msvcgen is in mk/msvcgen.
  The project files are now generated by "jam msvcgen". We can now 
  auto-generate the project files if we wish.
  Old project files are still in their respective directories, and the old 
  msvcgen is moved to mk/msvcgenold. Both can be deleted once the new system 
  is well tested.
- Expanded "jam client" to compile psclient, pssetup, updater and pssound.
- Expanded "jam server" to compile psserver, dbmysql, and psnpcclient.
- Added "jam tools" to compile everything not included by either jam client 
  or jam server.
- Removed the .csplugin files as they are no longer required.

*** 2005-10-06 by Stfrn
- Re-created MouseRun using the new movement system. The experimental mouserun 
  was left as is.

*** 2005-10-05 by Andrew Craig
- Fixed for latest CS/CEL.  
- Started work on getting the music to play at correct time of day when
  entering a sector or logging on. 

*** 2005-10-04 by Stfrn
- Patch from Cha0s for bug 809, and simplified /my a little.
- Fixed bug 502, petitons can be multiline, newlines ignored.
  Also cleared up some printf's in petitonwindow so it would looks less alarming. 

*** 2005-10-05 by Michael Cummings
- Added jamfile for pawseditor
- fixed pawseditor cfg, should now run smoothly
- fixed #includes

*** 2005-10-04 by Arianna Benigno
- New skill window with categorized skills. This includes: new layout (that is not 
  coherent with the actual backdrop), INCREASE DB VERSION, a method for searching
  skills by category on server side, code color for the bars (used also in infowindow)
  following this pattern/logic:
  - HP = red = associated with blood
  - Mana = violet = associated with mystical stuff 
  - Physical Stamina = green = associated with walking on earth
  - Mental Stamina = grey = associated with brain
  - Experience = yellow = energy
  The layout might be improved as well as its robustness.

*** 2005-10-04 by Keith Fulton
- Improved checking for errors on connection/login to the mysql database.
  Now a meaningful error will be shown the user before exit.

*** 2005-10-04 by Stfrn
- Fixed minor bugs 1159 for numbers, and 1119 that the loot window would show even if empty.
- a patch from Cha0s for bug 544, adding /my. Could be refined a bit later.

*** 2005-10-03 by Arianna Benigno & Stfrn
- Fixed some other not super necessary message in client console.

*** 2005-10-02 by Stfrn
- Fixes in character creation:
  bug 902: now you need to pick a job for your parents, and atleast one activty as a child.
  CP are shown on the main page, defaulting to 0.
  bug 1167: selecting a path clears your choices, and selecting a choice clears the path.
  Major bug found: ClearChoices() did not actually reset the CP to 150,
         so you would lose any points previously spent.
- Patch from Tabris for Bug 1121

*** 2005-10-02 by Arianna Benigno
- Fixed bug #474. It was possible to cast healing spells on a target with 100% HP.
- Added fake skills in CVS skill.sql for avoiding bugs in CVS client/server. 
  Since it was working also before it is not necessary to increase the DB_VERSION.
- Compressed the information about which Logs are active or not on startup.
   
*** 2005-10-01 by Stfrn
- Fixed bug 1040, that guild levels were unrestricted:
 Now levels have similar limits as guild names and player names.
 only A-Za-z allowed, min 3 characters and max 25.
 However, the default is still "Level 1"...8 when created, so that will have to be changed in psguildinfo.
- instead of messages from "server" when a setting was changed or a promotion was made, the actors name is used.

*** 2005-09-29 by Andrew Craig
- Fixed bug in sounds related to time of day.  Was using a 12 hour clock time
 instead of 24 hour clock time.  So songs at TIME anything about 12 where not
 triggered correctly.

*** 2005-09-29 by Arianna Benigno
- Update the guide for compiling with MSVC with instructions for the frozen 
  date. If somebody has suggestions for improvement of the guide, please just 
  tell me!
- Fix the length of the widget for the amount of trias offered/received in 
  the exchange window for 800x600 window.
- Clean up the /planeshift/docs directory, removing useless files, and 
  updating others.
- Add the build guides for gentoo/debian/slackware, based on the ones online
  at laanx.fragnetics.com. If something is wrong, please fix it or tell me, I know
  little about Linux.
- Fix bug #1002, in the merchant window when the name of the object was too long
  it was overlapping with the price. I simply inverted the two columns, and I 
  know this is not the real solution to the problem.

*** 2005-09-28 by Andrew Craig
- Some major changes in how the updater works. 
  When creating the repository the updater now creates a .zip file for any sub 
  directory inside a zip.  So for example: laanx.zip has a sub dir cache. The 
  updater will create laanx.zip/cache.zip in the webspace.  If the client 
  requires *any* file inside that cache/ directory it will download the cache.zip
  file. 
  It keeps track of this so if any other files need to be updated in that dir it will
  skip.
- Need some testing of the updater in windows.  I did as much as I can in linux but 
  there may be some things such as mounts that need to be looked at. 
- Refactored some of the updater code to make it more easy to understand and fix/modify.  

*** 2005-09-28 by Stfrn
- More fixes to mouselook, should have fixed bugs 52 and 54.
  FOr horizontal rotation, there is now a hardcoded limit, but senstivity is higher.
  The pointer centers as soon as you turn on Mouselook, to prevent jerking.
  Fixed isses with locking pointed out by CVS testers.
- Fixed bug 1085 with a more robust check
- Added that ablity to /killnpc [id:1] [reload]
  'id: ' works the same with teleport, or you can just target.
  'reload' deletes the current instance of the NPC and fetches it from the DB. Gets new KA, but not responces.

*** 2005-09-28 by Arianna Benigno
- Committed suggestion from Abrukn (#1099) to make code looking nicer
  in a point of psclientDR

*** 2005-09-27 by Stfrn
- Additions to the logs when a player is reported, so that it is easier to understand the situation.
- Fixed bug 421, guild notes could not be written as it checked to see if you were higher then yourself.
- Fixed bug 1105, npcs were responding to triggers even when dead.
- Added an alert for petitions as requested in bug 335, the forums, and numerous complaints from users.
- Patch from josePhoenix to add $target to shortcuts. Inserts the name of the player or object currently
targeted into a command to replace each $target.
- Made 'z' for sit adjustable in configure keys window.
- Fixed bug 1108 that the help file was out of date about keys, and that the default keys were conflicting.

*** 2005-09-24 by Daniel Fryer
- Committed fix from DaveG: %zu in printfs crash server on windows.

*** 2005-09-24 by Andrew Craig
- Fixed /die when in duel.
- Fixed it so can now use development versions of other mount points.
- Started more work for linux to be well supported in the updater. 

*** 2005-09-16 by Andrew Craig
- Fixed bug   1084  Trying to deequip while dead creates ghost item 
  Fixed by checking the alive flag when mouse down on a slot.

*** 2005-09-16 by Michael Gist
- Fixed a compile error and warning.
- Patches from stfrn for the following;
- Fix for bug #895. Limits zooming in 3rd person follow to a min and max distance.
- Fixed bug #392 by increasing mouse sensitivity on the horizontal.
- Fixed bug #400 by stopping turning when dead.
- Fixed bug #908 by adding functions for mousezoom, and a mouse trigger for it.
- Fixed bug #925 by adding in a mouse trigger for mouselook.
- Fixed a bug for compilers besides MSVC where csMouseEventHelper::GetEventData( &ev, data) did nothing if it did not return a bool.
- Fixed bug #926, adding in the stats hotkey.

*** 2005-09-16 by Christian Svensson
- Removed /slide_me
- Improved /slide with a third argument, what distance

*** 2005-09-11 by Andrew Dai
- Fixed cases where NPCs would spend an obscene amount of time processing
  because their perception of time is not updated while dead or unassigned.

*** 2005-09-10 by Andrew Dai
- Implemented a frame rate limiter into psclient and pssetup. Default limit
  is 62.5fps for the client and 30fps for setup and can be changed with
  Video.FrameLimit (formula is 1000/(FrameLimit + 3)fps). DID not add it
  to updater because that seems to already have a limiter.

** 2005-09-10 by Michael Gist
- Patches from stfrn:
- Fix for bug#328 to stop all movement on zoneing, which should stop the recent problem of users being unable to zone.
- Fix for bug#989 that prevents the casting of a spell after it was interrupted.
- Fix for many bug reports such as bug#925 which now makes mouselook toggle again.
- Fix for bug#722 in which the mouse was reappearing even with mouselook on.

** 2005-09-09 by Keith Fulton
- Committing two patches from DaveG to fix persistent quest saving and to
  make quest notes store themselves on each client instead of in the server
  database.  This reduces portability between machines but saves an awful
  lot of overhead and space on the server and in bandwidth, potentially.

  ***** NOTE: Client Upgrade is REQUIRED for this Patch ******


** 2005-09-09 by Michael Gist
- Patch from stfrn to fix a exploit in training reported by Temaris.
- Fix for bug#1107 by DaveG where the /echo command wasn't displaying the message when no phrase is specified.
- Patch from stfrn to fix merchant exchanges and some compile warnings.

*** 2005-09-09 by Andrew Dai
- Added NaN checking to DR messages, which were causing mysterious crashes
  in csKDTree.

*** 2005-09-08 by Andrew Dai
- Added initial artificial life implementation, NPCs can now talk or emote
  and can reproduce, currently implemented as a dynamic spawn point.
- Fixed uninitialized rot variable that was causing NPCs to walk into walls.
- Added provision of a single dynamic spawn point added for a psCharacter
  when requested by NPC client.
- Committed patch from DaveG for bugtracker bug 1115 "During a guild war one
  guild yielded and the other 2 guild didn't get the Karma Points".

*** 2005-09-06 by Andrew Craig
- Patches from Nilaya:
    Fixed: complains at you if you try to cast Defensive Wind while targetting 
           an enemy...saying it only can be cast on you. Made it cast such 
           spells on you, regardless of what's targeted
    - Made it so if a spell -can- be cast on you (say, Life Infusion), and you 
      have no target, it casts on yourself

    - Removed some if (!target) checks because it checks at the top of the function


*** 2005-09-06 by Andrew Craig
- Fixed sound system to use time of day to change background music.  This
  is done by changing the TIME="?" inside the map sound.xml file.  Valid times
  are 0-23.  When client gets updated time it will check to see if there is a 
  better song to play.
- Added the ability to specify a different directory for model files for 
  development.  This will use a real path and can be done by changing the 
  psclient.cfg file for example:
  
Planeshift.Dev.modelzip = /home/andrew/development/repo/planeshift/art/models.zip/

  I am unsure if this works well for Windows but it should so please let me know
  if there are any problems with this in Windows.

- Added a colourization shader xml file to use to colourize a material.  This is 
  located in art/shaders/ 
- Changed the traits table to hold a shader colour. This is string defined as:
  R,G,B  in the range of 0.0 to 1.0
- Added the shading to the hair colour in character creation.  So by adding 
  new HAIR_COLOR entries to the traits table.  

  
*** 2005-09-06 by Andrew Dai
- Improved NPC fighting behaviour so it's not cancelled by the server when the NPC
  leaves the range.
- Prevented client from stopping movement when the player left the range of combat.
- Allowed ServerConsole::MainLoop() to return a status value to indicate proper
  exit or an abort.

*** 2005-09-06 by Arianna Benigno
- Completed suggestions made in bug #1078, now there are more checks when it is
  used GetRoot or GetNode.

*** 2005-09-06 by Andrew Mann
- Changed the mysql database abstraction layer (dal.cpp,h) so that it doesn't
  depend so much on the alignment of MYSQL structures. The Mysql
  headers don't specify the alignment of the structures and recent mysql
  shared libraries seem to use an usual alignment that causes the library's
  idea of the structure size to be larger than the host applications. This
  caused seemingly unrelated crashes in the server when linking against 
  MySQL 4.0 and 4.1 on RHEL3 (gcc 3.2.3-52 and gcc 3.3.6).

*** 2005-09-05 by Andrew Dai
- Fixed NPC client 'broom' navigation, NPCs should love walls slightly less now.

*** 2005-09-05 by Arianna Benigno
- First step to add some more check when it is used GetRoot, GetNode as suggested
  in bug #1078. 

*** 2005-09-04 by Andrew Craig
- Added a server command ( settime ) to allow changing of game time. 

*** 2005-09-04 by Arianna Benigno
- Added a little line in the exchange window for visualizing the 
  total amount of trias offered or received (#1074)

*** 2005-09-04 by Divine Light
- Fixed bug#1008 that "Married to: xyz" was added again and again to 
  your char desc when you edit it.
- Fixed bug#955, that the character was not removed from his guild when
  it's deleted and you keep seeing it in the guild until the server is
  restarted.

*** 2005-09-03 by Arianna Benigno
- With the extremely useful help of thebolt and res2k, the command /who now sorts
  - on client side -  the name of the players online.

*** 2005-09-03 by Andrew Dai
- Fixed the issue of high priority packets being misrouted due to
  CheckResendPkts() adding packets to be resent to the general
  NetworkQueue rather than the correct Client::outqueue.

*** 2005-09-01 by Andrew Craig
- Some type cast fixes.
- Added /die command from chaos. Need to disable it in particular 
  cases ( like in dueling )
 

*** 2005-09-01 by Arianna Benigno
- Again fixes for 64-bit warnings, with the help of Mike Gist.
  Some changes have been also reversed and other things needed
  to be reviewed more than once. It is not excluded that there 
  are errors, we have tried to detect as many as possible.
- Deleted unused code on /who for sorting the names. This will be
  done on client side - it was not working on server side.
 
*** 2005-08-31 by Mike Gist and Arianna Benigno
- Some 64-bit error and warning fixes.
- Some signed/unsigned mismatch
- Project files update with /wp64 support for MSVC 7.1

*** 2005-08-31 by Divine Light
Fixed bug #388. Players can start trading with other players without 
their permession and can annoy them in between fights etc.

*** 2005-08-30 by Arianna Benigno
Fixed bug #1051. If a player was using /dig without specify the resource
the player was not visualizing the right message.

*** 2005-08-29 by Arianna Benigno
Added a new button to the interact window. This button is used with 
NPCs. When clicked it switches the chat tab and gives focus to the 
input text. If the chat window is closed it is opened.

*** 2005-08-29 by Michael Gist
- Fixed a bunch of 64-bit Windows warnings and errors. 


*** 2005-08-28 by Arianna Benigno
Some fixes:
- Fixed compiler problem in pscharacter.cpp (done 27/08)
- Updated the link for naming policies in the char creation window
- Fixed signed/unsigned mismatch warning in pawscraft.cpp
- Update libgui project (MSVC 7.1) for crafting.
- Fixed a super annoying bug #692 and some other little sound bug related
  hopefully that I haven't introduced new ;). If the player was minimizing the window, 
  after having just go to a new sector that shares the same sound/music resource with the
  old one, the sound was not going away. If the player was opening the window
  the sound/music was played twice, creating a nice distorsion effect - double speed.
  Another bug connected to this, was that if the window was minimized it could 
  have happened that the song was starting while the canvas was hidden.
   

*** 2005-08-28 by Andrew Craig 
- More improvements to the craft window screen.  Now shows
  counts and required equipment and tool information.
  
*** 2005-08-28 by Andrew Craig 
- Started work on the crafting info screen.  Added user command
  /craft to show this window.
- New files need to be added to MSVC project for the libgui library.
    pawscraft.h/pawscraft.cpp.
- Craft info messages are now precached on server startup.  

*** 2005-08-27 by Andrew Dai
- Added more debug messages upon NPC creation and deletion on the server.

*** 2005-08-26 by Andrew Dai
- Fixed a bug so npcclient now uses dummy meshes when it can't locate the actual
  one.

*** 2005-08-25 by Arianna Benigno
- Fixed the way combat sounds (death and victory) were handled. Before, they 
  were handled by the chat window/sound mananager, now they are handled by the effect manager, 
  like all the other combat sounds. The effects were created (death and victory)
  with the help of Moogie. I have just commented the line in pssoundmngr.cpp
  for safety.

*** 2005-08-25 by Jorrit Tyberghein
- Fixed a major slowdown in PS which was caused by spr3d models that wanted
  to write out their normal cache to the loaded map. This would cause the
  map archive to be rewritten everytime a new spr3d item was created in
  the world. Imagine the slowdown if the last loaded map happens to be hydlaa!
  Fixed this by resetting the cache manager to /planeshift after loading
  a map file. I don't know if that's the best place to put spr3d cache?

*** 2005-08-24 by Arianna Benigno
- Deleted psclient-setup.h because not used anymore and removed it from the 
  project file for MSVC 7.1 
- Fixed warnings for appeedit in debug mode, MSVC 7.1

*** 2005-08-23 by Arianna Benigno
- Fixed project files for MSVC 7.1 for release mode. Now the linking is incremental, the 
  warning level is 3 and fixed also a little warning in eedit (signed/unsigned mismatch).
  There are still warnings, but they cannot be eliminated using the /NODEFAULTLIBRARY option
  (at least for what I could experienced).

*** 2005-08-23 by Andrew Dai
- Fixed bad use of CS_ASSERT causing an infinite loop for release mode built
  clients.

*** 2005-08-22 by Arianna Benigno
- Fixed bug #293. In the starting screens, if the canvas was hidden and then the window was opened again,
  the background music was not starting anymore. 

*** 2005-08-22 by Andrew Dai
- Fixed bug that caused high priority packets to be permanently lost with
  a 'Dropping packet with different message size in packet header and message
  header.' error.

*** 2005-08-21 by Arianna Benigno
- Fixed bug #757. Bug not "specific" for PS, since the circumstances for it would never happen. If there were no females char available
  at the char creation screen there was a possible loop.
- Fixed bug #131. When fighting, if the player was turning off the sound and then on again, the combat music was not coming back.
- Temporary new message in the char creation window with information about the name policies. (Waiting for a proper HTML link).

*** 2005-08-20 by Michael Gist
- Patch from DaveG to fix bug #662, where Log the system messages" and "Filter outgoing bad words" were hard to toggle due to a overlap.
- Patch from Vegar to fix bug #1032 where the "Key already assigned" msg is wrong. 
- Patch from Stfrn to allow you to move again while doing anything except typing.

*** 2005-08-20 by Andrew Dai
- Fixed check for checking if a valid PS_ID is received from npcclient by
  removing the cast.
- Elevated CreateItem failure severity to fail-first.

*** 2005-08-19 by Andrew Dai
- Exiting the death realm now spawns you at your race point.
- Tripled the size of the NPC command message buffer due to the greater size of
  commands.

*** 2005-08-19 by Divine Light
- Fixed bug #1012
- Now all quest related debugging info in server goes to "LOG_QUESTS", disabled 
  by default, such as "Parsed response" etc.

*** 2005-08-18 by Andrew Dai
- Added a packet loss counter to the login window.
- Improved the non-blocking server console so that it works in Windows, but won't
  work in the middle of entering a command.

*** 2005-08-17 by Andrew Dai
- Fixed crash when using the /slide command.
- Fixed infinite waits of 'waiting on server data...' caused by bad network
  conditions by only discarding packet fragments if the most recent fragment
  was more than 12 seconds ago.
- The server console no longer blocks the server/npcclient when waiting for input
  and checks the running flag every second (should allow for automatic shutdowns)
  but does not work in Windows.

*** 2005-08-16 by Keith Fulton
- Added enforcement of minimum requirements for guilds.
  - Minimum of 5 members
  - Cost to setup initially is 20,000 tria
- Made guild names in entity labels show up as <GuildName> instead of GuildName.

*** 2005-08-16 by Divine Light
- Fixed bug #1007
- Added penalize option to invite manager.

*** 2005-08-16 by Andrew Dai
- Changed psCombatManager::ValidateDistance() so that melee range is more fair
  for NPCs, this still needs to be changed to use the DB.
- Added mutex to NetBase::GetRandomID() to solve the occasional server crashes
  when there is a race condition on it.
- Elevated the consequences of client map loading failure so that an assertion
  is tripped rather than an infinite loop.
- Added console output about which skin is being loaded.

*** 2005-08-15 by Michael Gist
- Patch from stfrn to enable the changing of stats using the /setskill command.
- Patch from stfrn to fix some typos, improve the output when making a GM command, adding a security check, and adding targeting for inspect (Bug #938).

*** 2005-08-14 by Andrew Craig
- Refactored the HandleCombatEvent in the client modehandler to break it 
  apart into more readable functions. 
- Added patch from Vegar Storvann that lets PAWS use OnDoubleClick. 
  Thanks Vegar.
- Fixed bug #363 where chat window was gaining focus where it should not. 

*** 2005-08-14 by Divine Light
- MarriageManager now uses QuestionClient; now code is clear and less. 
  Some more minor improvements are on their way.

*** 2005-08-13 by Andrew Dai
- Fixed crash in LootRandomizer::RandomizeItem() when a probability of 0 is chosen.
- LootRandomizer::RandomizeItem() now chooses a probability between the first
  probability in loot_modifiers and the last, so that one of the modifiers is always
  chosen.

*** 2005-10-11 by Luca Pancallo
- Fixed multiple calls to RecalculateStats(), was executed without being needed
  during initial NPC loading.

*** 2005-08-11 by Christian Svensson
- Fixed weather crash if rain started in "wrong" sector
- Fixed the movement control issue, I think where you could start running
  even if the chatwindow was focused
- Added some failsafeness to the initialization of psMovementManager

*** 2005-08-11 by Andrew Dai
- New special random loot items now inserts the new progression script into
  the progression_events table upon creation.
- Reverted the change to ProcessEvent() that allowed it to interpret its argument as
  a script.

*** 2005-08-11 by Daniel Fryer
- Committed more vfs<->real world mumbo jumbo for the updater, hopefully safe for all platforms.  Complain to me if it breaks!
  Er.. also relies on a VFS patch in CS I just made several hours after Andrew's CS freeze.

*** 2005-08-10 by Andrew Craig 
Fixed for latest CS.  CS/CEL date freeze is now Thurs Aug 11 00:00 UTC 2005

*** 2005-08-08 by Divine Light
- Fixed performance issues with marriage manager, now used cached info instead of querying again 
  and again. The code is enable again.
- Added LOG_MARRIAGE to server. (disabled by default)

*** 2005-10-10 by Luca Pancallo
- Added completiondate to character_quests table.
- Fixed quests to use completiondate.

*** 2005-10-10 by Andrew Dai
- Fixed a crash when equipping items.
- Changed ProcessEvent() so it automatically interprets its argument as a script if it begins
  with <.
- Fixed applying loot modifiers to new items so that the actual script is stored in the respective
  prg_evt_equip and prg_evt_unequip fields.

*** 2005-10-10 by Michael Gist
- Patch from dm_elrond to introduce duplicate checking in the bad word list to avoid multiple replacements.
- Patch from Seytra to make the default chat colours nicer.
- Patches from stfrn;
- Added the ability for a GM to teleport a offline player. (Change the location where they will login next)
- Added tooltips to loot.
- Added some output to picking up or dropping items. ("stfrn has picked up a mug" or "stfrn has dropped 150x tria")

*** 2005-08-08 by Andrew Craig
- Fixed un-equip of items to fire progression event if undo_equp || if the script is
  empty.

*** 2005-08-08 by Divine Light
- Added a bit more support for ranged weaps. Now you can have Range Weaps,Ammo in DB and can 
  equip them ingame(no crashing) but they'll just act as meele weps. (added sample weps in DB)
- Now we'll have different mouse pointers per skin ingame.
- Other misc code cleanups, typo fixing etc.

*** 2005-08-07 by Michael Gist
- Fixed the compiler script for -fPIC on 64-bit systems. -fPIC is now added to CXXFLAGS as is 
  required. You need to rerun ./autogen.sh to take advantage of this.

*** 2005-08-07 by Divine Light
- pawsWidget::WindowManager() is now pawsWidget::GetWindowManager()
- Vegar's patch: You can scroll shortcutsWindow with mousewheel and righclick to edit shortcuts.
- Fixed typo where marriage was misspelled as marrige everywhere.
- bug970, bug954 & bug924 fixed.

*** 2005-08-06 by Divine Light
- Fixed issue with marriage info not being deleted when char is deleted.
- stfrn's patch: Adds confirmation for uploading a charater AND nice tooltips to merchant.xml

*** 2005-08-06 by Michael Gist
- Patch from DaveG to fix some layout problems in pssetup. 

*** 2005-08-06 by Divine Light
- Now you can marry and divorce other players with "/marriage" command.
 * Some pending things about marriges that will be done Soon(tm):
   - Implement Marriage Propose Spam protection.
   - As marriages are rare so Server will notify all online clients i.e. X is now married to Y.
   - If appropriate then show a little marrige icon with their name on top of their heads.
- Moved GetCharLevel() from usermanager to pscharacter.
- Fixes from stfrn:
  - Fixed a bug in all slide commands, if you don't specify a direction it causes a LD.
  - Now YesNo box confirming char deletion also shows char name being deleted.
- A small fix from vegar for pawsListBox.

*** 2005-08-05 by Divine Light
- Fixed bug#928; that you can asses dead or non attackable NPCs and even yourself.

*** 2005-08-04 by Andrew Dai
- Fixed the falling off the world check.
- Fixed disappearing left finger and right finger items.

*** 2005-08-04 by Michael Gist
- Patch from Pogopuschel to fix petitions.

*** 2005-08-03 by Andrew Craig
- Fixed bug in migration table where it was not checking the 'done' flag
  when assigning the script.
- Fixed bug on character creation page where all stat gains where shown as 
  0%.  

*** 2005-08-03 by Andrew Robberts
- Added keyboard shortcuts to eedit.
- Added a pawsKeySelectBox to PAWS that can be used to select/view a key
  combination.

*** 2005-08-02 by Michael Cummings
- Fixed NPCs from saving location back to character data - let's hope this is the last time we fix this :)

*** 2005-08-02 by Luca Pancallo
- Added new syntax to /teleport command to teleport an NPC by ID.
  Example: /teleport id:5 Vengeance

*** 2005-08-01 by Michael Gist
- Altered melee_range for NPC and Player 
- Fixed a missing include.
- Patches from stfrn and Pogopuschel:
   Fixed training while in PVP bug
   Updated help.xml file.
   Disabled spawn function.
   Fixed a server bug where you could add non-existant characters to the buddy list which caused a server crash.

*** 2005-07-30 by Andrew Craig
- Fixed bug with paths not actually doing anything. Fixed by sending the path
  name ( if any ) with the upload message. This will then fire a progression 
  event PATH_<pathname>. 
- Network version updated because there is a change in the upload network 
  message. 
- Fixed bug #904-Religions Not Working in character creation.  The list box
  on this page was not being handled and choices were not being reflected in 
  the current CP calculation.
- Fixed bug #836 - Can (de)equip when dead. 

*** 2005-07-30 by Andrew Dai
- Added validation to some GM commands.
- Fixed occasional server crash when an item was consumed.

*** 2005-07-30 by Arianna Benigno
- Fixed all possible warnings for MSVC 7.1.
 
*** 2005-07-30 by Divine Light
- Fixed bugs 617, 811.
- Fixed that character's mode was never set from Peace(idle) to SpellCasting when he casts a 
  spell so players were able to mine/work even when in middle of spell casting.

*** 2005-07-29 by Andrew Craig
- SkillOp now obeys the delay parameter in progression scripts and they 
  are automatically undone when time expires. 

*** 2005-07-29 by Andrew Dai
- Fixed the equip/unequip progression event being stored wrongly as an actual script in
  item_stats. 

*** 2005-07-29 by Michael Gist
- Patches from stfrn to fix the life page to display the correct CP value and called the 
  existing function to cancel bad selections in more cases.
- Patches from Pogopuschel to fix a bug in /petition and to improve name normalization.

*** 2005-07-29 by Andrew Craig
- Changed progression system for stats op to take percentage increases.
  Example script that adds 10% to the strength:
  
  equip: <evt><str value="10" attribute="adjust" base="no" adjust="pct" /></evt>
  dequip: <evt><str value="-10" attribute="adjust" base="no" adjust="pct" /></evt>
  
  Note that these all work on the base value and not any modifier so if you have 
  a STR value of 100 and +5 in other item buffs the % works on the base value of 100.  

*** 2005-07-28 by Arianna Benigno
- Fixed some compiler warning for MSVC 7.1. 

*** 2005-07-28 by Divine Light
- Resolved missing headers files issues (with latest CS).

*** 2005-07-28 by Michael Gist
- Did some more fixing for latest CVS of CS. A lot of our source files were still missing headers.
- Reworked the 64-bit fixes in message.h and events.cpp. Added AddPointer and GetPointer to 
  store 64-bit pointers.
- Patch from Pogopuschel for fixing normalization of names.

*** 2005-07-29 by Andrew Robberts
- Added fps target and display to eedit.
- Fixed eedit error toolbox centering.
- Edit Effects toolbox is now hidden by default.
- EEdit error toolbox settings are now saved/retrieved from config files.
- Added a SetText function to psEffect to conveniently set the text of the
  main text element in an effect.
- Added generic configuration setting get/set functions to eedit.

*** 2005-07-28 by Andrew Craig
- Fixed for latest CVS of CS.  CS underwent some header clean ups as a result
  many of our source files were missing headers. This should be fixed now.
- CS removed csPoint which we used.  Suggestion was to use csVector2 but that is 
  float and not int.  Created a psPoint class that uses int to save having 
  (int)x, (int)y all over the place. 
- You *shouldn't* need the latest CVS of CS but be aware of the above.
- Item buffers are now applied to the character at login.  Iterates over all
  equipped items at login and execute those scripts.  Only works for +/- at the 
  moment, I still need to do work here but wanted to get this much commited 
  tonight. 
- Cleaned up the liststats command on the server. Now shows the base value and
  the buffer values. 

*** 2005-07-27 by Michael Gist
- Committing patches from Stfrn;
- Fixed /freeze command.
- Added temporary error message to sit.

*** 2005-07-27 by Michael Cummings
- Fixed Item Modifier Randomization to be weighted based on the modifiers probability column

*** 2005-07-27 by Michael Gist
- Reversed the 64-bit changes in message.h and events.cpp. These would cause a 64 bit client to 
  be unable to talk to a 32 bit server and vice versa. Will have to work out a more sane way to 
  solve this problem.
- Committing patches from Stfrn;
- Allow '/dequip item' Bug #359.
- Allow '/pickup' Bug #869.
- Allow '/group /me action' and '/guild /me action' Bug #809.
- Made the name help more clear, as well as warning that GMs can change names. Bug #573.
- Allows "/slide me" instead of "/slide_me".
- Move /crystal up to the level of /modify.
- Add the ablity to de-escalate a petiton.
- Fixed a security flaw in GM commands.
- Fixed a bug in the /ban command.
- Fixed a bug in char creation.
- Implimented keep maps loaded. Like load all maps, but only loads maps as needed- does not 
  unload at all. Bug #771.
- Committing patches from Pogopuschel;
- Made /info command available for offline players.
- Added /charlist command. Given a player's first name, it will display all other characters on the same account.

*** 2005-07-25 by Michael Gist
- Fixed some more 64-bit bugs where a uint32 was compared to csInvalidStringID.
- Applied a patch from PK to fix a 64-bit bug where pointers were cast to uint32_t. Now they will be cast to uintptr_t. Added Add(uint64_t), GetUInt64() and GetUIntPtr() to MsgEntry to store 64bit pointers.
- Patches from Pogopuschel to fix a compile error and some warnings.
- Fixed compile errors in MSVC caused by the latest 64bit fixes.

*** 2005-07-23 by Luca Pancallo
- Fixed randomize functions for loot
- Fixed stats req function on loot
- Added prg_evt_equip and prg_evt_unequip to loot_modifiers table
- Added managing of prg_evt_equip and prg_evt_unequip in loot generation
- Fixed item_stats save function: floats and missing fields.

*** 2005-07-24 by Michael Gist
- Applied a patch from PK to fix a 64bit bug in psDRMessage::ReadDRInfo:3133 where a uint32 was compared to csInvalidStringID (unsigned long -1).
- Fixed a 64-bit bug in npcclient. Please don't cast pointers to int. Cast to intptr_t instead.

*** 2005-07-23 by Andrew Robberts
- Added missing files from last commit
- Redid effect sounds.

*** 2005-07-23 by Luca Pancallo
- More fixes to new quests, prior responses and Ops.
- /importnpc now resets correctly the variables from previous import
- added support for multiple triggers to same response in new quests: "P: Hi. How are you."

*** 2005-07-22 by Arianna Benigno
- Committed patch by Stfrn for part of bug #617. Buddy window is now
  resizable. 

*** 2005-07-22 by Andrew Robberts
- Fixed eedit load effect list refresh button.
- Fixed a problem with effect obj meshes when there are no keyframes.
- Fixed text effect obj text when it doesn't end with a new line tag.
- Added the ability to adjust the text quality in a text effect obj.
- Added text outline to text effect obj (this is pretty inefficient).
- Fixed text effect obj font loading so that it doesn't get loaded so often.

*** 2005-07-21 by Andrew Robberts
- Added a failsafe to effects that converted scale and topscale actions of
  value 0 to 0.001.  Scaling by 0 isn't supported and was confusing CS.

*** 2005-07-21 by Andrew Robberts
- Added sleep between frames option to eedit.  Can be set with EEdit.Sleep config option.
- Ensured that appropriate classes called SCF_DESTRUCT_IBASE, except for the common/net code.
  It appeared as if the virtual destructor for those classes was intentionally avoided.
- Added an error box to display effect and other errors in eedit.
- Fixed some problems with pawsCheckBox.

*** 2005-07-21 by Luca Pancallo
- Added support for "Complete ..." in new quests
- Added support for "Require completion of" in new quests
- Fixed dynamically added quests
- Added support for multiple commands on one line for new quests.
- now command "..." changes substep and creates subquests

*** 2005-07-19 by Michael Cummings
- ItemGenerator is now functionally complete
  Still needs : wieghted randomization of modifiers
                checks for 'Not usable with'
                handle modifier effects that are effective on wield/unwield

*** 2005-07-19 by Luca Pancallo
- Added ability to teleport to NPCs, the name is case sensitive, and the full name has to be specified.
  if a name contains a space use quotes ".
  ex.: /teleport me Harnquist
  ex.: /teleport me "Menlil Toresun"
- Fixed a bug in new quests that didn't recognize NPCs with a last name, ex.: "Menlil Toresun"
- Added check to see if NPC used in quest is also present on db

*** 2005-07-19 by Arianna Benigno
- Fixed bug #782. Turning on the sound (or music) in the
  options window, was causing troubles when the character had been 
  in at least 2 sectors. The result was that the sound associated to
  the previous sector and the one where the character is were both 
  turned on.

*** 2005-07-17 by Andrew Craig
- Patch from DivineLight to improve the item description window. 
  Now shows item category/damage type/speed.
- Improved error reporting when items going into a container
- Fixes for latest CVS of Crystal Space.

*** 2005-07-17 by Luca Pancallo
- Fixed bug that was messing up status of a quest after you completed it once.
- Added lockout times check on triggers of a certain quest
- Loaded quest_id info in triggers, so we can use that info at runtime.

*** 2005-07-16 by Luca Pancallo
- Fixed a number of bugs in import/export
- Fixed some bugs in quest manager
- Added ability for new quests to award experience: "Give 1000 Exp."
- /exportnpc avoids the triggers and responses assigned to a quest.
  This way exportnpc + exportdialogues do not duplicate triggers.

*** 2005-07-14 by Luca Pancallo
- Added check for not pickable objects when user tries to remove it from a container
- Fixed view of objects when inside a container

*** 2005-07-11 by Christian Svensson
- Improved the flying
- Made the toolbar resize correctly when minimizing

*** 2005-07-10 by Andrew Craig
- Patch from Xordan to fix some stuff for 64bit systems.

*** 2005-07-06 by Michael Cummings
- Started psCharacterLoader refactoring moved all psItem and psItemStats functions into respective classes
    psItemSet *psCharacterLoader::LoadWorldItems(psSectorInfo *sector,int &loadeditems);            --> psItemSet *CacheManager::LoadWorldItems(psSectorInfo *sector,int &loadeditems);
    psItem *psCharacterLoader::InstantiateBasicItem(psItemStats *basicstats, bool transient=false); --> psItem *psItemStats::InstantiateBasicItem(bool transient=false);
    bool psCharacterLoader::SaveItem(psItem *item);                                                 --> bool psItem::Save(void);
    void psCharacterLoader::ScheduleRemoval(psItem *item);                                          --> void psItem::ScheduleRemoval(void);
    bool psCharacterLoader::DestroyItem(psItem *item);                                              --> bool psItem::Destroy(void);
- First cut of ItemGenerator, most of the plumbing is in place, now it just needs to do it.
- Some additions on the NPCPets
  - client commands and associated perceptions for npcclient
    - /pet follow
    - /pet stay

*** 2005-07-03 by Christian Svensson
- Fixed crash in modehandler when rain was disabled twice
- Fixed misc bugs in the char controller

*** 2005-07-03 by Andrew Robberts
- Added a Refresh button to the Load Effect Toolbox of eedit so that you can refresh
  the list of effects.

*** 2005-07-03 by Andrew Robberts
- Fixed eedit map loading.

*** 2005-07-01 by Andrew Robberts
- *** NOTE: effects format has changed quite a bit in this update, new effects will
            be in the svn server ASAP. ***
- Added a billboard direction to effects so that you can achieve true billboards.
- Added the ability to share art/resources between effects to save memory and loading.
- Changed the effect format so that effects are now a library file.  This allows
  much more flexibility when defining an effect. (ie, shader control, full mesh
  control, etc.)
- Fixed some issues with effect lerp calculations.
- Disabled culling for effects, they aren't very good candidates and culling only
  caused problems.
- Added the ability to load a new arbitrary map in eedit.
- Hardened eedit paws PostSetup functions to fail when things don't load properly.
- Added a few example effects showing the proper way to use the effect system:
   * quad example (including all camera directions)
   * spire example
   * star example
- The Load Effect list in eedit is now sorted
- PNG issue with effects is fixed, if you don't use alpha mixmode then your PNGs
  CANNOT have an alpha channel.
- Fixed the particle system usage in eedit.  Effect particles work now.
- Fixed a problem with spin and rotate actions in effects.
- Effect particles can now have a user-selectable mixmode.
- Modified the loading of effect keyframes so that it's easier to specify things.
- Changed effect particles so that they don't explicitly load a file anymore, they
  now rely on the effect library to have specified the needed mesh factory.
- Fixed quad, spire, and star material so that they don't explicitly load from file.
  Instead they rely on the effect library to specify the needed material.
- Fixed effect mesh to get it's mesh wrapper from the effect library.
- Removed use of psMaterialUtil from effects, it's useless with the new effect library
  loading.
- Effects now use the "actions" volume slider from the config window as a master volume.
- Fixed spell effects so that they actually work (as sent from the server).
- Removed use of effects list by default, it's still an option, but the default behaviour
  is to search the effects directory for effect files.
- Changed effect file extention from .xml to .eff.

*** 2005-06-26 by Christian Svensson
- Fixed compile error in pccharcontroller
- Fixed sql error in skills.sql

*** 2005-06-26 by Christian Svensson
- Added an example (needs finetuning) for klyros flying, it's a failed
  attempt if you try to do it with any other race, but with klyros you
  can get quite the distance from heights.
- Fixed another compile issue in GCC
- Added Extras to have some sort of specific functions for certain contidtions (Klyros, flying)

*** 2005-06-26 by Luca Pancallo
- Added skills.mental_factor used in new rules for calculating skill costs.

*** 2005-06-25 by Christian Svensson
- Fixed compile errors on GCC in pscharcontrol
- Moved movement types to the serverside and finished the new movement
  system - Part 2. If you want to test, spawn a Super Potion of Speed
  or Strange Potion for various effects

*** 2005-06-24 by Andrew Dai
- Fixed an issue in NetBase where packets may never be sent.

*** 2005-06-23 by Michael Cummings
- Committed a patch from Pogopuschel
- Updated PawsEditor for skin support

*** 2005-06-23 by Keith Fulton
- Committing new quest scripting system, with 1 example working quest.
  "Male Enki Gold" is tested and should work.  Numerous small changes and
  bug fixes to underlying script operations and quest assignment logic to
  enable all this working.  Existing scripts and data should be backward-
  compatible and should still work.

*** 2005-06-23 by Chris Kings-Lynne
- Start on and XML Schema for effects.  Schemas for all PS XML to come.

*** 2005-06-21 by Christian Svensson
- Rewrote the character controller - Part 1
  Mouserun temporarly disabled
- Reverted parts of DivineLight's commits (again)

*** 2005-06-21 by Andrew Dai
- Changed NetBase so it now uses a select call to block the networking thread
  rather than sleeping. This allows the client and server to be more responsive
  to network packets and can reduce the ping time by up to 150ms.
- Fixed crashes when /changeguildname is wrongly used.
- Added messages to debug the cause of slow NPC respawning.

*** 2005-06-21 by Jorrit Tyberghein
- Changed the client cachemanager so that it now also supports loading
  of libraries in addition to mesh factories. So a model file can now
  be a meshfact (as it was before) or a library containing zero or more
  texture/material definitions and one mesh factory. The advantage of this
  method is that you can now declare your own materials together with
  the model and also you can now more easily load objects exported with
  Blender as there you can only export libraries.

*** 2005-06-20 by Andrew Dai
- Improved NPC chasing.
- Added a duration property to the move operation.
- Added 'broomstick' seeking to angles to ensure the angle won't lead an NPC
  to a collision.
- Added an extra rotation type which allows a NPC to rotate out of its region
  so chasing works properly for regioned NPCs.
- Made the server reset NPCs to the last valid location if the NPC server dies.
- Removed the gmtalk command, the GM chat colour will now be applied to
  /impersonate so that the command is more noticeable.
- Extended /impersonate with a new 'text' command that lets the GM freely enter
  whatever text is wanted, e.g. /impersonate Ulbernaut text A slightly big
  Ulbernaut dances around in the plaza.
- Lowered the GM level for /impersonate to level 7 to be consistent with the /rain
  command, also to be used for GM events.

*** 2005-06-19 by Andrew Dai
- Changed DR messages and character control to be consistent with the latest
  movement system changes in CS. This basically involves seperating velocity
  into body and world coordinate parts, where normal movement is done in body
  coordinates and jumping is done in world coordinates. This will allow far
  more freedom of movement in terms of both NPCs and PCs.

*** 2005-06-19 by Andrew Craig
- Fixed effects for latest change in CS ( UpdateColors )

*** 2005-06-17 by Andrew Dai
- Fixed a crash by changing PawsManager::ParseWidgetFile() to explicitly use
  csTinyDocumentSystem as it edits the xml to load in styles.
- Made the windows crash dialog box more informative.
- /unstick now sends the player to DR if the unstick fails.


*** 2005-06-17 by Andrew Craig
- Patch from DivineLight
    - Implemented PawsManager::CreateYesNoBox( const char* message, 
      pawsWidget* notify, bool modal ). Now a YesNo box can be show by one line
       of code rather than 6 lines.
    - Improved param to CreateWarningBox().
    - Added a simple method of monster's lvl assesment suggested by Talad. A 
      phrase revealing monster's strength is shown in CharDesc window if your 
      strength is > 50.
    - Edited pawscharpickup, pawscontrol & pawsconfig windows to use 
      CreateYesNoBox(). This reduces much of annoying repetetive code.
    

*** 2005-06-17 by Michael Cummings
- Updated all copyright lines with new NPO name (Atomic Blue) and URL

*** 2005-06-15 by Christian Svensson
- Committing patch from PK allowing to sit (Still buggy, but a base)

*** 2005-06-13 by Michael Cummings
- Added new feature to 'examine' operation in action locations to support containers
  the response now accepts an XML string to define the location, old way still works
  e.g. <Examine>
  	<Container ID='87'/>
  	<Description>Blah, Blah </Description>
       </Examine>
  The container ID is an ID of a container in the items_instances table . It will use the 
  appropriate UI to display the description/contents.
  
- Added feature to items, if visible_distance of item_stats is 0 then the item is not 
  added to proxlists and therefore not visible on clients.
  
- Some fixes to NPCPets

*** 2005-06-13 by Christian Svensson
- Added "always_resize" to styles to choose between old and
  new resize behaviour of the controller widget

*** 2005-06-12 by Christian Svensson
- Added relight controlls to the pssetup application
- Removed labels and target effects on Action locations
- Trimmed down the action locations message
- Applied max limit on rain and snow weather (Drop/Flakes)
- Created some functions that perhaps in the future will help optimizing action locations

*** 2005-06-11 by Christian Svensson
- Added checks for DeleteCharacter
- Cleared the DR messages on Back in the picker
- Made the "please login" message show instead of the Welcome to planeshift message
- Fixed some raw access to DeleteCharMessage
- Fixed return value from FindCharacterID
- Added a paramenter to SendDisconnect to indicate final or not final package
  and added this to authentclient to be able to ignore certain disconnects that's
  already handled
- Doubleclick in the merchant window now shows description instead of buying the item
- PS 0.3.011
- Added multisampling and antiisotropy filtering as option to the pssetup 
- Compacted the setup GUI
- Minimized the item description widget
- Fixed some weather issues
- Added option for texture downsampling

*** 2005-06-10 by Andrew Craig
- Fixed some CEL asserts when using teleport.  It was trying to re-add the player character
  again which caused CEL to assert because the ID was already registered. 

*** 2005-06-10 by Andrew Craig
- Big patch from DivineLight:
1- Added option to delete character at char pickup screen.
2- Added option to go back to login screen from charpickup screen.
3- Implemented pawsOkBox::SetNotify().
4- Fixed duplicate widget id(-10) between ok button and yes button in pawsOk & paws YesNoBox.
5- Added notify param to PawsManager::CreateWarningBox(), now to show an OkBox please use this
   function, it's fully functional and gives a clean look to code.
6- Edited loginwindow and configwindow to use CreateWarningBox().

*** 2005-06-07 by Michael Cummings
- Added name change for summoned pets use /pet name [first] [last]

*** 2005-06-04 by Christian Svensson
- Began some cleanup of the celbase
- Began working on a /modify command, used to move and remove objects
- Removed LoadTexture from psserver
- Fixed bug where items stopped to load when one failed
- Added GetFloat to wordsarray

*** 2005-06-03 by Jorrit Tyberghein
- Fixed PawsManager::MouseLocation() to return csPoint instead of a reference
  to csPoint. NEVER EVER return references to local objects. Behaviour
  of that is undefined.

*** 2005-06-02 by Andrew Craig
- Move some stuff away from using some csHelper calls since it was causing
  strange issues with the mouse.  So now handles the event stuff directly. 
- Fixed again the chat window to be a bit better behaved when text messages
  come in when you are scrolling back.  

*** 2005-05-29 by Christian Svensson
- Fixed the /teleport command crash on map without map
- Made the client re-ask for the message strings if it hasn't
  received it in 5 sec
- Pushed the net version
- Fixed crash in the weather manager

*** 2005-05-27 by Jorrit Tyberghein
- Frank Richter did the following changes:
    - PAWS styles will now always use tiny XML which means that ps itself
      can use xmlread for the rest.
    - Draw the progress bar with (a single call to) DrawSimpleMesh(). This is
      much faster.
    - Enable non-power-of-two textures for GUI. This makes it look much nicer.

*** 2005-05-27 by Christian Svensson
- Removed some bits of the callback code to make it compileable
  in GCC (and hopefully better) (ModeHandler)

*** 2005-05-25 by Michael Cummings
- Couple of small fixes for advisor system
    * sessions should extend after a new question is asked as well as when an advisor responds.
    * sessions that are claimed and abandoned should no longer be unanswerable.

- First installment for pets
    * creatures can be summoned through spells [Summon Creature, uses Summon and Creature Glyphs]
    * creatures are temporary, they leave when you log off
- Fixed ChaseOp for target = owner. now stops when target pos reached. also allows for offset pos 
  so creatures don't stand on you

*** 2005-05-25 by Andrew Robberts
- More work done on psEffectObjText, it basically works, but still need to add
  small things like shadows. 

*** 2005-05-24 by Andrew Craig
- Some patches from DivineLight:
    Made examine item window more descriptive. Even more for weapons.
    fixed typo in "Set" command's description where 'Variable' was written as 'Variauble'.
    fixed that server will crash if it cannot find "Calculate Damage" script upon starting


*** 2005-05-24 by Michael Cummings
- Fixed compiler warnings/errors in psclient


*** 2005-05-24 by Andrew Robberts
- Changed psEffectObjText to use spr2d instead of genmesh, doesn't work
  properly yet.

*** 2005-05-23 by Christian Svensson
- Created a trigger system for the sound system and
  implemented weather sounds
- Fixed the entitylabels not updating with /changeguildname

*** 2005-05-22 by Andrew Robberts
- Fixed eedit for latest CS event system changes.
- Put in a preliminary text effect obj.
- Fixed eedit for the PAWS skin thing.

*** 2005-05-22 by Christian Svensson
- Removed /spawn
- Fixed focus issue with the toolbar
- Moved around in the weathersystems, adding 2 new types of weather, snow and fog
- Added /fog <sector> <density> <r> <g> <b> (GM7)
*** 2005-05-22 by Jorrit Tyberghein
- psclient.cfg uses xmlread by default again but there is now a fallback
  to xmltiny. Hopefully this fixes the problems blueCommand was having.

*** 2005-05-21 by Christian Svensson
- Rewrote much of the rain system, it now creates rain outside
  each portal if it begins to rain while in
  a sector connected to that one.
- Updated PS source for CS iEvent update regarding joystick and mouse

*** 2005-05-19 by Christian Svensson
- Improved the weather controls and made client recieve weather
  upon connect
- Fixed rain not creating if recieved in wrong order
- Fixed GetInt in WordArray
- Added a speed indicator to the updater
- Made the updater use around 0% CPU both in console and GUI thread
- Made the chat boxes scroll to the end if you write a message
- Even more updates to the weather, now support for going between
  rain sectors

*** 2005-05-19 by Michael Cummings
- Fix bug in character creation, error if no race selected and you clicked 'paths'

*** 2005-05-18 by Christian Svensson
- Added /rain and /thunder commands
- Made GM not take fall damage

*** 2005-05-17 by Christian Svensson
- Improved the resize of the toolbar (hold shift to get the resize button)
- Fixed crash in modehandler when thunder was received
- Increased the DB version to match SQL files
- Fixed crash in /crystal
- /crystal now uses seconds instead of milliseconds

*** 2005-05-16 by Christian Svensson
- Added percent Y modifier to the falldown text

*** 2005-05-15 by Andrew Craig
- Added link to login page that shows where to register a new account.

*** 2005-05-15 by Ondrej Hurt
- Some code for hierarchical pathfinding.
- NetVersion++
- Changed /teleport_to to /teleport, cleaned it up, made arguments natural.
  See data/help.xml.
- Guild member count is now displayed in guild window.
- Fixed that vitals were not adjusted when they were at maximum value.
  This means that negative rates (e.g. spells) were not always applied.
- Fixed that when negative HP rates lowered HP to zero, the character
  was not killed.
- Fixed gemActor::doDamage() with zero damage that didn't kill when hp was 0.
- Fixed that tab completition was sometimes changing chat command to /tell 
  from e.g. /say.
- When a character is attacked, its stance resets to "full defense". 
  The point is that when you kill say a rat with "aggressive" stance 
  and then some tough beast attacks you later, you won't use "aggressive" 
  again automatically which doesn't make sense. Now the game goes defensive
  by default and the player can go for more agression later 
  when he takes control.
- Fixed that when you died, you could still turn your remains with mouselook.
- Improved msgmanager::VerifyPlayerClient
- When widget::FindWidget() fails, it displays error, not warning.

*** 2005-05-15 by Christian Svensson
- Moved the controller style counter to planeshift.cfg, which will
  hopefully stop the toolbar from getting wrong size and stuff
- Added some debug stuff to the DR messages and made the charpicker
  check for the message as well when
- Splitted the skin into 2 zips, one base and one skin

*** 2005-05-14 by Keith Fulton
- Refactored and restructured a lot of npc dialog code.  The basics are working
  again but generalizations and trigger groups still need testing, which I plan
  to do this afternoon.
- Got npc dialog generalizations working again, with example:
  "give me apple" -> "give me fruit" -> "give me thing"
  where 'give me thing' is defined as a trigger and the merchant responds with
  "I'm not giving you anything."   "give me peach" translates to the same
  thing with the same response.
- Also got trigger groups functional.  Now equivalent triggers only have to be
  defined 1 time, and the parents are all that go in the npc_triggers table.
  For example: "do you have a quest" can now be defined as equivalent to
  "give me a quest", and from now on only "give me quest" must be defined
  in the Knowledge Area and both triggers will work.

*** 2005-05-14 by Andrew Craig
- Change the server linkdead message to be a little more verbose on what 
  has happened.

*** 2005-05-12 by Andrew Craig
- Added patch from Arianna Benigno to make /quit prompt for confirm before
  quitting right away.
- Patch to fix Bug #375- 
  "Use of scroll wheel in pssetup notification window makes pssetup crash"

*** 2005-05-12 by Michael Cummings
- EditAction only displays on gm Action tab
- Added checkbox to zero on poly and position ( full mesh select)

*** 2005-05-12 bu Andrew Craig
- Message window will now no longer jump to the end when a message is added. This
  was an issue if you were trying to scroll back to search the list. 
- Added a GetTail(size_t wordNum, csString& dest) to the word array 
  class to use passed in string instead of returning private string.
- Add patch from DL to show confirmation of reseting options in config 
  windows. 
  
*** 2005-05-12 by Christian Svensson
- Added /changeguildname
- Fixed memory leak in pawsBorder with SetTitleImage
- Added GUI to change skin in the setup application
- Pushed the version to 0.3.010
- Updated the skin system to support loading of two or more at one time
- Added support for subdirectory files to the system
  updater (art/apps.zip)

*** 2005-05-11 by Andrew Craig
- Fixed crashes on server and client side in the spawn_item window if 
  the item had no valid mesh name. 

*** 2005-05-09 by Keith Fulton
- Changed CmdWords class name to WordArray and cleaned up csString usage
  somewhat.
- Added npc_trigger_groups table which will be used for equivalent triggers
  which are not really synonyms.  Table is loaded but not used yet.

*** 2005-05-09 by Andrew Craig
- Replaced trait code that refered to 'eyes' with 'face'.  Added ability 
  to use the pawsObjectView to lock camera in a position ( used to zoom on
  face in character creation ).
- Added <FACEPOS> to the descriptions.xml for the races for where the camera
  should be when zoomed in on the face. 

*** 2005-05-08 by Andrew Craig
- Created new flag PSITEMSTATS_FLAG_IS_EQUIP_STACKABLE which defines if an 
  item can be stackable in the equipslots. 
- Made crafting stuff a little more robust. 
- Added serverconsole command questreward to help test that portion. 
   usage: questreward name statsID

*** 2005-05-07 by Andrew Craig
- Removed some network stuff in the inventory and skill window by subscribing
  the object view widget to a sigNewEquipment message that will automatically
  update the doll.
- Added GUIHandler class that handles the networking to PAWS publish system.    
- Refactored the inventory window a bit more to remove most of it's dependency 
  on the network. Done using a system of Publishing to various widgets. 
  
*** 2005-05-05 by Andrew Craig
- Copied over the m4 files from Crystal Space template since they are probably 
  more correct and update to date.  Also adjusted our configure.ac file to 
  be a bit more correct in searching for CEL and Crystal Space.
- Fixed some strangeness with psItem trying to use the GetIsPickupable as
  the transient flag.  

*** 2005-05-04 by Andrew Craig
- Move some money managment out of entitymanager and into character where
  it makes more sense.

*** 2005-05-03 by Andrew Craig
- Refactored psCharacter to break out the inventory stuff into it's own 
  class.  Now use psCharacter.Inventory() for access to it.  This is a fair
  size refactor so let me know of any issues.
- Fixed Bug #250 - No progression point with 100% exp. Made sure that text box
  had enough decimal places so 99.5 wasn't rounded to 100%
- Patch from M�ton Papp for 
    Bug #531 - Modifier keys (shift, ctrl, alt)+[key] work as if only [key] was set
  
*** 2005-05-02 by Andrew Craig
- Cleaned up psItemStats a bit more.  Split up the loading from database
  a bit more to clean up the class a bit. 
- Made parsing of the flags more compact by creating a list of flags first.
- Removed a bunch of Set functions from psItemStats.  They were only used inside
  the class anyways and 99% of them were just value = val. 
  
*** 2005-05-01 by Andrew Craig
- Refactored psItemStats a little bit.  Broke out the weapon and armour union
  into their own classes.  They are smart enough to load 
  the information they require from the database. This reduces some of 
  the bulk of the itemstats class and removes a whole bunch of accessors which
  really bulked up the class. 
- Changed camera plugin for the latest changes inside CEL

*** 2005-04-30 by Christian Svensson
- Added on screen notifications (using new class pawsFadingTextBox)
  Please use the new SendSystemOK, SendSystemResult and use
  SendSystemError when you are sending an error.
  Info should only be used for stuff that should be outputed
  to the chatwindow
- Improved the control window (menu bar) and added a new nice style
  You can now click between the buttons and the click will go through the widget
  Change style by rightclicking on the arrow, move the bar by holding down
  shift and drag
- Fixed configsound and configchat widgets for 800x600
- Fixed the mouse sensitivity controlls on the config screen
- Updated the default keys to be more friendly
- Made the entitylabels nicer and more readable
- Fixed the duel points (again?)
- Introduced new skinning system, everything is now in one zip
  file to make it easier to skin the client and the applications
  The client will soon have a GUI to change skin

*** 2005-04-30 by Chris Kings-Lynne
- Bug #567.  Add a right-click Train icon on NPC trainers.  Net version
  bumped.
- Bug #604.  Make doll on skills window equipped and get equip updates, 
  like the inventory doll.  Improve mask in release data.

*** 2005-04-29 by Jorrit Tyberghein
- Updater was still using 'multiplex'. Fixed now.

*** 2005-04-29 by Andrew Craig
- Fixed: Bug #589 - Toolbar buddylist active icon not shown
    Was calling pawsWidget::Show instead of pawsControlledWidget::Show

*** 2005-04-28 by Andrew Craig
- Patched for latest changes in Crystal Space:
    - Removed csConstCharHashKeyHandler from csHash<> declares
    - Removed includes to outdated csutil/hashhandler.h

*** 2005-04-24 by Ondrej Hurt
- Added command /setskill to be used for testing balance.
- Fixed that you could freely PK players that were just joining the game
  (loading map) because they were treated as a NPC.
- Fixed that if you opened a window during autorun, you could run forever
  regardless of stamina.
- You don't get skill practise for attacking other players now.
- Fixed that if you moved mouse out of a scrollbar while dragging its thumb,
  the dragging stopped, which made it rather cumbersome.

*** 2005-04-24 by Andrew Craig
- Fix from KL where the guild window was trying to create a new
  guild when renaming. 

*** 2005-04-21 by Jorrit Tyberghein
- Fixed a compile error in npcclient. 'or' is not a standard C++
  operator. Please use ||
- Fixed wrong brackets in walkpoly.cpp. It was doing 'fabs' on the
  boolean result of <=.

*** 2005-04-20 by Jorrit Tyberghein
- Removed some useless code from psitem. Instead of doing while(...) Pop()
  you can just delete an array by calling DeleteAll(). Also in destructor
  you don't even have to do that.
- Fixed a big bug in psItemSet::Release(). It would only delete the 'set'
  array but not the 'parents' array. Luckily Release() was never used
  except in situations where the item set will be deleted anyway so the
  bug never manifested itself.

*** 2005-04-19 by Daniel Fryer
- Fixed problem caused by uint32_t in psconst.h on MSVC.  Now uses uint32

*** 2005-04-19 by Andrew Craig
- Fixed bug where players could /equip more than 1 item into 
  a slot.  It will now only let you use 1 item to equip into
  a hand. 

*** 2005-04-17 by Andrew Craig
- Started work on getting updater linux friendly.

*** 2005-04-17 by Daniel Fryer
- Changed PS_ID from unsigned long to uint32_t, for consistancy between 
  32 and 64 bit platforms.

*** 2005-04-17 by Ondrej Hurt
- Misc pathfinding stuff. NPCClient now uses it in a dirty way 
  for operations MoveTo and Chase. If it does not have the pathfinding maps
  available, the NPCs just go blindly directly to their targets as before.

*** 2005-04-17 by Andrew Craig
- Fixed for the latest updates in CS.

*** 2005-04-16 by Daniel Fryer
- Patched mk/autoconf/ac_path_mysql.m4 to use mysql_config utility as
  one of the attempts to find mysql

*** 2005-04-14 by Daniel Fryer
- Fixed minor updater problem where it used $.$/ instead of $^ for VFS
- Committed more recent mac build scripts

*** 2005-04-12 by Andrew Craig
- Fixed [Bug #541] - Strange Behaviour from the Siblings Description Box
  It was not resetting the scroll bar value back to 0 in the PAWS widget.

*** 2005-04-12 by Andrew Craig
- Fixed some issues with the character creation stuff not reseting correctly
 when leaving the screens. 

*** 2005-04-11 by Andrew Dai
- Added a sanity check when processing a psCreationChoiceMsg to stop an exploit
  that causes it to eat all memory.
- Fixed crashes due to lack of Client validation in psServerCharManager messages.
  
*** 2005-04-10 by Andrew Craig
- Fixed up some skill window issues.  Made the fonts used shadows 
  so don't need 2 widgets there.

*** 2005-04-08 by Keith Fulton
Big patch at long last from Kerry Rodgers (Edullan).
  - Added duel points and advisor points to skill window info displayed.
  - Added some new button art to look better.
  - Added duel-point penalty for spamming duel invites.
  - Added command to see /duel_points
This patch increments the netversion, so if you build this version your client
will not connect to the server until the server is updated (and a new client
is released).
- New button art for these are in release_cb folder on laanx.


*** 2005-04-08 by Andrew Dai
- Fixed the occasional problem of falling to death when reentering the game.

*** 2005-04-06 by Andrew Dai
- Made the crash dialog box a bit more helpful.

*** 2005-04-06 by Jorrit Tyberghein
- Fixed PS for removal of csStringHashIterator. PS now compiles cliently
  (on jam/gcc based systems) with latest CVS of CS+CEL again.
- Entity labels are now cleared manually using DrawBox() instead of Clear().
  Fix from res2k.

*** 2005-04-03 by Andrew Dai
- Fixed server crashing if an exchange is in process when the server is 
	shutdown.
- The client now does a hard crash instead of hanging indefinitely if
  server data is received but client has not loaded the character picker
  window.

*** 2005-04-02 by Anders Reggestad
- Fixed substitution of $F to factmesh name in ParseStrings in the psengine
  that will be used to send traits/item to server.
  /planeshift/models/$F/$F_head.png will be translated with the meshfact
  name like "stonbm" when used in a trait.
- Stored username and passwords in the login screen per server. This
  will make switching between testing with localhost and laanx.
- Added parameter notify to Select in pawsListBox with default to true
  that if set to false will prevent OnListAction to be called. Could
  be used when client widgets update the list box and would not like
  to receive notifications of its own change to the list box.

*** 2005-04-01 by Jorrit Tyberghein
- Fixed PS for csHashMap and csHashSet removal in CS. Note taht this change
  is compatible. You don't have to update CS.

*** 2005-04-05 by Andrew Craig
- Updated how our configure detects for CAL3D. Now uses similar checks
  as Crystal Space to make sure it's up to date. 

*** 2005-04-01 by Anders Reggestad
- Fixed numbers of compiler warnings when compiling in linux.
- Commited first version of parsing of meshfact and material names
  to be used when items/traits modify the character texture.

*** 2005-04-01 by Andrew Robberts
- Added a mechanism to inform an iPAWSSubscriber what it's subscribed to.
- Added automatic publishing to subscribed data in pawsEditTexBox.
- Added PawsManager::UnSubscribe() so that a listener can unsubscribe itself
  upon deletion.
- Improved the way cal3d callbacks are handled in eedit.
- Added the ability to edit an effect anchor from within eedit.  You can edit
  attributes that already exist, but you can't create anything or save.
- Removed dist_scale from effect anchors.  It's wasn't very useful.

*** 2005-03-30 by Michael Cummings
- Fixed Action Locations activating on both mouse buttons.

*** 2005-03-30 by Andrew Craig
- Fixed some const char* -> char* casting reported by Arianna Benigno

*** 2005-03-30 by Andrew Robberts
- Changed effect loading so that an effect won't accidentally be made to 
  loop forever.  All effect objs must now be given a <death> tag.  If you
  want an infinite effect, use <death>none</death>.

*** 2005-03-30 by Andrew Robberts
- Fixed the effects socket anchor to work a lot better.
- Added a trail effect obj.  This effect obj makes it possible to do things
  like sword swooshes and other effects requiring a trail.

*** 2005-03-30 by Christian Svensson
- Added progression syntax for the new stamina system

*** 2005-03-30 by Andrew Robberts
- Removed all use of spr3d in effects and replaced it with genmesh animation
  control.

*** 2005-03-29 by Keith Fulton
- Fixed merchants not giving money when selling items back to them.

*** 2005-03-29 by Anders Reggestad
- Commited changes to the serverconsole documented 2005-03-13
   - Added adding of up to 10 new strings in the common table
     in the server console.
   - Modified layout of trait editing to fit in one screen width.
- Changed code to clearing of short cuts commands to be more robust
  and removed duplicated code.

*** 2005-03-29 by Jorrit Tyberghein
- Removed --enable-new-renderer from docs/compiling-mingw32.txt
- Fixed PS configure for the library changes in CS. Now there is only
  one libcrystalspace.a.
- Fixed a compile problem in the src/common/util/strutil.cpp by adding
  a cast. Note that it remains not very clean to modify the string
  returned by csString.GetData() directly.

*** 2005-03-29 by Keith Fulton
- Changed meaning of base_hitpoints_max and base_mana_max columns 
  in the characters tables.  Now, these are overrides only.  If they are non-zero,
  their value will be used for those stats rather than the normal RPG formula
  to calculate them.  These overrides should only be used for NPCs and mobs,
  not players.  Players should all have these two columns set to zero.
- When this code is updated on the server, these two columns should be 
  updated to 0 in production as well.

*** 2005-03-29 by Andrew Robberts
- Fixed a crash in eedit on exit

*** 2005-03-28 by Andrew Craig
- Fixed [Bug #443] - Buddy list tell doesn't show anything after ";". 
  The command handler was using the ; as a command seperator.  Fixed by
  adding a param to the Execute command ( default true ) to flag if it 
  should split the command or not.
- Fixed [Bug #458] where players could drop potions after consuming them.
  It was not resetting the drag flag so it still thought it was dragging 
  an item.

*** 2005-03-27 by Christian Svensson
- Moved some stamina regen stuff around in the workmanager, which
  solved the regen bug of the /dig command
- Added sound to sell action (Same as buying though, perhaps change?)
- Made duelers target eachother when a challenge is accepted

*** 2005-03-26 by Christian Svensson
- Fixed the stamina penalty causing strafing to result in autorun
- Autorun now stops if you are low on stamina
- Made the regen progress a bit less jumpy
- Fixed the .000000 bug in the numberpromptwindow (Thanks Kenny Graunke!)
- Replaced the stopattack icon with the popup exit to prevent confusion
- Fixed some paws size issues in the GM and soundconfig window
- Fixed the chat filter

*** 2005-03-25 by Andrew Craig
- Fixed [Bug #411] Was using the ID of the player instead the id of 
  the member.
- Added EscapeXML to psString and fixed some of the guild manager
  code to use this. Was not correctly building the string to send
  to the client.
- Added checks so that NPCs are not limited to inventory restrictions. 
  This was causing NPCs that sell stuff not to have stuff to sell.  

*** 2005-03-25 by Andrew Craig
- Fixed [Bug #410] Where macro names were getting set as numbers
  instead of their names. 
- Fixed bug where it was trying to check for GM window information for
  non GMs
  
*** 2005-03-25 by Andrew Dai
- Made a fix to the Client < operator so that it is more consistent with
  its == operator. This should fix the missent packets issue aka. 'packetloss'
  bug.
- Added a sanity check when adding a client to the client tree.
- Extended the possibility of effects triggered on combat.

*** 2005-03-25 by Christian Svensson
- Made the help text area bigger
- Remade /crystal to shedule item spawns (/crystal interval max_rnd itemid)
- Fixed stamina drain on running backwards
- Fixed running backwards
- Removed rd /S for 9x/ME systems, now using win32 api
- Added a noversion option to the mirror lines, use this if you want to
  bypass the mandatory version checking (NOT RECOMMENDED)

*** 2005-03-24 by Andrew Dai
- Background music no longer loops.

*** 2005-03-24 by Andrew Craig                                 
- Fixed bug where consumables where not removed from database. This 
  resulted in the items 're-appearing' in their inventories.  This 
  is also probably the reason why players are missing some items 
  in their inventory. They are replaced with this 'bogus' consumable 
  item. Consuming now properly removes the item from the database.
  [Bug #396],[Bug #299]
  
*** 2005-03-22 by Andrew Craig
- Fixed case where players could leave the skills window open and get 
  training when nowhere near trainer.  Now checks range to trainer. [Bug #354]
                   
*** 2005-03-22 by Jorrit Tyberghein
- Fixed updater crash related to strings. Please people! NEVER return
  a reference to a local variable.

*** 2005-03-21 by Keith Fulton
- Made promptwindows use a named resource for their background.  String
  prompt windows use a 2nd resource for their edit field background.  This is
  how we need to do all windows in the future, instead of building the exact
  window layout in the background image.
- Added human-readable name columns to npc_spawn_rules.
- Eliminated loot_categories table and replaced it with loot_rule_details table,
  which is almost identical.  Created a loot_rules parent table to this which has
  the human-readable name for each loot rule, so they can be displayed in a
  combobox on the new Server Console.
  CARE MUST BE TAKEN WHEN UPDATING THE SERVER.  Loot_categories
  should be renamed to loot_rule_details and column cat_id should be renamed
  to loot_rule_id.
- Updated spawnmanager to use loot_rule_id instead of cat_id.
- Incremented client version and server db version.

*** 2005-03-21 by Andrew Dai
- Added effect triggers designed to replace current non-3D combat sounds.
- Changed combat feedback to be more accurate.

*** 2005-03-21 by Michael Cummings
- Added GemActionLocation to client and server *BUMPED NETVERSION*
- ActionLocationInfo renamed to ActionLocation
- ActionLocations create an associated GemActionLocation
- Added TriggerType to ActionLocation *REQUIRES DB UPDATE*
- If a ActionLocation is clicked on from the client it now displays the interaction menu
- assorted bug fixes and changes from csString.
- To Test:
	A description is in the DB scripts for the smith shop. click on the shop.
	To add a new description:
	  1) enable the admin commands [/admin]
	  2) open the gm window [/show_gm]
	  3) click on a mesh, trees work well 
	  4) fill in the window that pops up.
	  	need name, set poly =0 x=0, y=0,z=0 
	  	you MUST select triggertype and response type (use SELECT and EXAMINE)
	  	fill in description into response
	  5) click save
	  6) close GM window
	  7) click mesh to test.

*** 2005-03-20 by Andrew Craig
- Looting an item outside of your carry limits will now drop the item
  instead of making it disappear.[Bug #5]
- Fixed server hang loop  
- Number prompt does not automatically trigger now on text entry.[Bug #376]
- Fixed possible exploit of mining in the same place with inventory full. Also
  was not giving out skill if inventory was full. [Bug #337]
- Dice rolls now limited to 10m notification [Bug #385]

*** 2005-03-19 by Keith Fulton
- Added some enforcement of quest assignments so that players cannot fake
  their way through quests without having them assigned.  Now if the quest_id
  column in the npc_responses table is filled in, a new <checkquestassigned>
  command is inserted at the beginning of the npc response script checking
  to make sure that quest_id is active and assigned to that player.  This means
  scripters MUST assign subquests and complete subquests in their scripts
  for them to work properly.

*** 2005-03-19 by Andrew Craig
- Chat history now only stores one instance if the chat line is repeated.
  ( ie the same /dig command done many times will only have one entry in
  the history. )  [Bug #276]

*** 2005-03-18 by Andrew Robberts
- Modified the behaviour of totarget/effect aligning.  Effects should handle
  moving between the origin and the target regardless of differences in
  height, etc.
- Changed the way direction is specified in effects.  To convert from old
  format:
    For Effect Anchors:
        <abs_dir /> is now deprecated, whether your anchor had this tag or
        not, just put in <dir>none</dir> or nothing instead.
        Other possible values for the new <dir> tag include:
          origin: the anchor points in the direction the origin mesh is
                  pointing
          target: the anchor points in the direction the target mesh is
                  pointing
    For Effect Objs:
        If your effect obj had an <abs_dir/> tag (deprecated), then replace 
        it with <dir>none</dir>, otherwise replace it with
        <dir>totarget</dir>. You can also specify <dir>origin</dir> or 
        <dir>target</dir>, which have the have the same sort of effect.
        There's also <dir>camera</dir> -- use this instead of the now 
        deprecated <billboard /> tag for quads.
        as with effect anchors.
    PS: I think this is the last time for a while that I'm going to break the
        effects syntax.
- Attempted to fix sound problems with effects, my sound doesn't work so I don't
  know if these actually fix the problem or make it worse.
- Misc changes to eedit and effects.  Cal3D callbacks should work better now.
- Fixed edittextbox for the new csString.

*** 2005-03-17 by Andrew Craig
- Made the /report function use player names instead of ID's.  Makes it
  easier to figure out who the log is for.

*** 2005-03-17 by Keith Fulton
- Refactored interfaces used by string prompt window and similar windows so
  they do not require a separate embedded class per field.  Now the parent
  widget implements the callback and passes in a name to use to distinguish
  between them if the callback can refer to mulitple things in that window.
- Added support for /me in /tell commands.  Syntax is:
     /tell recipient /me sits down
  This creates a private msg in the /tell window saying:
     Vengeance sits down

*** 2005-03-17 by Andrew Craig
- Made psString inherrit from csString.  Using csStringFast causes all sorts of 
  bizare errors.
- Couple of other fixes for csStringBase parameters.

*** 2005-03-16 by Ondrej Hurt
- Work on generator of walkable polygons maps, and generator of A* maps.

*** 2005-03-15 by Keith Fulton
- psString fixups.
- Fixed bug where target HP does not show up when you have yourself 
  targeted.
- Added a new GM1 command called /info, which gives the GM the database
  id of the player, the database id of the player's account, his IP address and
  his time connected.  It also works for NPCs.  GMs should use this in
  particular for reporting bugs about NPCs, because knowing the id of the bad
  npc will help a lot with troubleshooting them.  Griefing players can be tracked
  this way also, and their IPs tracked and/or banned later.

*** 2005-03-13 by Keith Fulton
- Added basic npc dialog memory to all npcs.  Now repeating a trigger will 
  result in an error, i.e. the npc will say "Why are you repeating yourself?" and  
  things like this.  This will make the npcs seem smarter and will prevent cheap
  exploits like getting 100 scrolls from the same quest step, even if the quest
  step is not scripted correctly.
- If a chat message is repeated, the npc searches the last 100 responses
  and if found, looks at the interval of time that has passed since it was
  spoken.  Then it substitutes the trigger "repeat just now", "repeat recently"
  or "repeat already" and searches for defined responses to those.  These three
  triggers at least should be in 1 KA per npc.  They can be with or without
  a repeat count.  For example "repeat just now 3" is something special to say
  on the third repeat, while "repeat just now" would be used for all others.

*** 2005-03-13 by Anders Reggestad
- Fixed some compiler warnings.
- Added some debug when db not starting, to get the mysql
  error displayed, not only exit in silence.
- Added adding of up to 10 new strings in the common table
  in the server console.
- Modified layout of trait editing to fit in one screen width.

*** 2005-03-13 by Christian Svensson
- Implemented stamina step 1
- Some string fixes
- Misc fixes to the updater

*** 2005-03-11 by Keith Fulton
- Fixed PS for res2k's csString changes.  Now csString has a built-in
  length of 60 bytes.  If you need less or more, use csStringFast<LEN>.  The
  base class for all these is what you should use when passing or returning
  parameters.  This is csStringBase.  This builds cleanly here but probably
  needs a lot of testing.  No release should go out for a day or two while we 
  make sure this is all ok.

*** 2005-03-11 by Andrew Robberts
- Changed eedit behaviour so that the Render button only loads the effect
  if it hasn't been loaded before. A new button "Load" can be
  used to reload an effect if needed.

*** 2005-03-10 by Andrew Robberts
- Changed the effects syntax slightly to allow for more control and 
  it should be less complicated now.  To convert your old effects to
  the new syntax:
    In all your <anchor> keyframes, for every position z attribute change
    it to 0 and add a: 
    <action name="totarget" z="[insert old z pos value here]" />

  ie) <action name="position" x="1" y="2" z="3" /> becomes:
  <action name="position" x="1" y="2" />
  <action name="totarget" z="3" />
    
*** 2005-03-09 by Keith Fulton
- Took out imperv printf's on server.
- Fixed mining callbacks not being deleted.
- Incremented version number to .008

*** 2005-03-09 by Anders Reggestad
- Rewrote the Trait system to use common strings in communication with 
  client.
- Updated database and changed network version. New way of storing and
  sending traits. 
- Added function psEngine::FindCommonString to client. Than we have
  the same function in client as in server cachemanager::FindCommonString.
- Updated server console to reflect the changes to the trait system.

*** 2005-03-09 by Andrew Craig
- Refactored a bit on how the combinations are cached to make it easer to 
  search though.
- Some work on the work manager in testing combinations.
- Fixed various issues reported by Arianna Benigno. Thanks Arianna!

*** 2005-03-09 by Keith Fulton
- Now PAWSManager stores all published variables itself so that if a newcomer
  subscribes late, it can immediately receive the most up-to-date value.  
- If you have a <text> attribute on a subscriber widget text field, this is used
  to initialize the field, which occurs AFTER the subscription and will wipe out
  the data there if the subscription is different than the initial value in the tag.
  Just take out the text tag if you know the value will be initialized by the 
  subscription.  Made this fix to infowindow.xml.
- Added some debug printfs to modehandler for lighting updates, so we can have
  people in the field test it for us--since I cannot duplicate that problem here.

*** 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.
- Enabled PAWS styles.


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