-------------------------------
New features/bug fixes in v2.31
-------------------------------

- fixed bugs in the conversion of floating
  point to strings which bugged some scripts
- the keyboard configuration is correctly
  saved and loaded now
- npcs on gmaps move correctly when crossing
  level borders
- removed some unused buttons in the option
  window (F1)

------------------------------
New features/bug fixes in v2.3
------------------------------

Graal v2.3 brings several huge improvements. 
The most important are:
- Editor and online client are separated exes now; this
  increases the security and makes it possible to update
  them more often
- Filename cache: To avoid slow NTFS-operations, Graal
  is now able to cache the file names and times, so that
  it doesn't need to scan the subfolders at each startup
- New Timer: Graal doesn't take 99% cpu time anymore,
  the timer has been chanced to be as precise before but
  not using  the cpu as much as before anymore
- Fast NPC Lookup: Using new BTree-technology, Graal can
  detect the visibility and blocking behaviour of
  objects more efficiently, good for servers with gmaps
- Classic Clientside-mode removed: Classic has been
  switched to use NPC-Server, so the client doesn't need
  insecure script commands like "toweapons" anymore
- ATI 32 bit mode fixed

An almost complete list of improvements and bug fixes:
- Editor and online client are separated now: You will find
  a Graal.exe and a GraalEditor.exe in the Graal folder. 
  To easily start the editor there is a button in the
  starting window which automatically starts the 
  GraalEditor.exe, but you can of course also start it 
  directly with Windows Explorer or add a file association.
  The button "Offline Test" also starts the editor, but
  with option "-play".
  The editor is more or less the same than before. The
  online client is more secure now because it doesn't
  have any functions for loading levels or npcs anymore.
- Filename cache: Previous Graal versions sometimes took
  a long time to start because Graal scans each subfolder
  at startup, to easily find the files when needed do
  display objects. The default Windows file system NTFS
  is very slow for that though. To make Graal also start
  fast on NTFS, it is now caching the file names, their
  location and modification time. It is saving all
  information into FILENAMECACHE.txt, and reading that
  at the next startup.
  Disadvantages:
    - While the startup is much faster, the login to 
      servers might take slightly more time
    - When you copy files into the Graal folder then
      Graal will not see that - delete FILENAMECACHE.txt
      in that case, or disable the filename cache in the 
      Graal options
- New Timer: Graal doesn't take 99% cpu time anymore,
  the timer has been chanced to be as precise before but
  not using  the cpu as much as before anymore
- Fast NPC Lookup: Using new BTree-technology, Graal can
  detect the visibility and blocking behaviour of
  objects more efficiently, good for servers with gmaps;
  On some servers (especially Zone) some areas are
  10 times faster now (or 10 times less laggy). It 
  speeds up all areas that have many npcs.
  Together with the lookup some other small bugs with
  drawing objects have been removed too. Things that
  are affected by the new npc lookup:
  - Script functions "onwall" and "tiletype" are much faster
  - Objects using huge ganis (e.g. houses) are drawn
    correctly and not disappering when half of them are
    still on the screen
- New script functions onwall2(x,y,width,height) and 
  onwater2(x,y,width,height) - these functions have been
  added because of the new npc lookup which is made for
  checking rectangles, not just points;
  with them you can check if a rectangle area is blocking 
  or under water
- Script function testplayer(x,y) has been fixed for gmaps
- When moving on other parts of the gmaps then the focus
  is not reset anymore (script command setfocus(x,y))
- ATI 32 bit mode has been fixed - Problems with the 32bit 
  color resolution where some images were not drawn with 
  correct transparency were fixed
- Profiles are correctly displayed even if the option
  "Save PMs/Profiles" is disabled
- New Server Tab: Graal3D
  When clicking on a Graal3D server in the serverlist then
  Graal3D is automatically started and connecting to the
  selected server; if you often play Graal3D server or 
  want to play Graal with better speed you can also start
  Graal3.exe directly
- When typing in a server name in the text field below the
  serverlist then the correct server is chosen - perfect
  matches are preferred, instead of taking the first
  name on the list
- Graal is automatically registering the browser protocol
  "graal://" and "graal3://", so if you type in
  "graal://Servername/options" in a webbrowser then it is
  automatically starting Graal, connecting to the right
  server, and sending a "serverstartparams" trigger to the
  Control-NPC of that server with the specified parameters.
  This is made for making it possible that people can
  directly join an event or similiar on a server by just
  clicking a link on a website.
  If this doesn't work, then please start Graal one time
  as administrator (for registering a protocol you need
  administrator rights, although good webbrowsers like Firefox
  are asking you can again if you really want to start
  the executable).
- The editor doesn't delete levels anymore when it is
  crashing while saving levels - it is first making a copy and
  renaming the new level when succeeding 
- "clientside" triggers by the server are always working now
- triggers on gmaps sent by the server or other clients
  have been fixed to always work
- entering gmaps has been improved to not crash or display trash
- Support for sending and receiving player positions in full 
  precision has been added, also npc positions and moves can 
  be received in full precision now - this will be enabled
  once all clients are switched to the new version
- Scripting variable timevar2 has been added which is giving
  the time since the start of the machine, but with milliseconds
  resolution (is not identical to timevar2 on the server,
  for synchronization of time events use "timevar")
- String variable #v(floating point) has been improved to
  display also integers with more than 6 decimals correctly,
  which makes it possible to fix the item sorting on
  Graal Kingdoms
- when the player is hurt then the showimgs of the weapons
  are not removed anymore
- When the background image or time of Windows is changed
  on desktops using comma as decimal separator then Graal
  is automatically switching back to dot as decimal separator,
  so not messing up scripts or level warps anymore
- Several improvements of the hacking checks
- Script variable downloadsize is correctly giving the size
  of the file that is currently downloaded - works together
  with downloadpos and #D



