<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://graalonline.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tyhm</id>
	<title>Graal Bible - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://graalonline.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tyhm"/>
	<link rel="alternate" type="text/html" href="https://graalonline.net/Special:Contributions/Tyhm"/>
	<updated>2026-04-09T22:54:57Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2001&amp;diff=7572</id>
		<title>Creation/Dev/Releases/Client/NewFeatures2001</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2001&amp;diff=7572"/>
		<updated>2006-11-15T05:30:49Z</updated>

		<summary type="html">&lt;p&gt;Tyhm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;------------------------------------&lt;br /&gt;
New features/bug fixes in v2.12 rev1&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed ghost movement on graal2002,&lt;br /&gt;
  also ghosts can now see ganis with script&lt;br /&gt;
  like the torch lamps&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.12&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 compatibility of the clients for Graal2001 and Graal2002&lt;br /&gt;
&lt;br /&gt;
 many new features for Graal2002, which will&lt;br /&gt;
  be listed later when the game is public&lt;br /&gt;
&lt;br /&gt;
 fixed updating images from the server&lt;br /&gt;
&lt;br /&gt;
 fixed some linking problems&lt;br /&gt;
&lt;br /&gt;
 new editor mode: it's now possible to do&lt;br /&gt;
  multilevel-editing (when an npc called setmap);&lt;br /&gt;
  also the drawing is using the correct npc&lt;br /&gt;
  y-order; scrolling is different: click on the&lt;br /&gt;
  player and move him around, or use the arrow&lt;br /&gt;
  keys to move to the visible level part&lt;br /&gt;
&lt;br /&gt;
 new script commands:&lt;br /&gt;
  * wraptext linelength,delimiters,text;&lt;br /&gt;
    Word-wraps a text into pieces each of length&lt;br /&gt;
    'linelength'; the result can be accessed by reading&lt;br /&gt;
    #t(0..tokenscount-1)&lt;br /&gt;
  * wraptext2 pixelwidth,zoomfactor,delimiters,text;&lt;br /&gt;
    Wraps a text depending on the visible text width;&lt;br /&gt;
    instead of the numbers of characters you give the&lt;br /&gt;
    width of the text on the screen (in pixels);&lt;br /&gt;
    the text can be like in showimg, e.g. @TimesRoman@b@text&lt;br /&gt;
&lt;br /&gt;
 #f(index) gives you the image of the npc with the&lt;br /&gt;
  specified index&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------&lt;br /&gt;
New features/bug fixes in v2.1rev3&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 baddys can't be hurt/killed again when they&lt;br /&gt;
  are already hurt/killed&lt;br /&gt;
&lt;br /&gt;
 the auto-mapping works even when you are on&lt;br /&gt;
  a ship (attachplayertoobj)&lt;br /&gt;
&lt;br /&gt;
 fixed arrows shooting position&lt;br /&gt;
&lt;br /&gt;
 npcs are correctly deleted when a level&lt;br /&gt;
  is deleted&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------&lt;br /&gt;
New features/bug fixes in v2.1rev2&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed script command setminimap&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------&lt;br /&gt;
New features/bug fixes in v2.1rev1&lt;br /&gt;
----------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 added the ghost icon to state.png&lt;br /&gt;
  and ghostbody.png&lt;br /&gt;
&lt;br /&gt;
 fixed bluelampani.mng&lt;br /&gt;
&lt;br /&gt;
 fixed changing the body&lt;br /&gt;
&lt;br /&gt;
 arrows cannot hurt ghosts anymore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------&lt;br /&gt;
New features/bug fixes in v2.1&lt;br /&gt;
------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new standard tiles for trees and&lt;br /&gt;
  houses and signs&lt;br /&gt;
&lt;br /&gt;
 new interface for starting window and&lt;br /&gt;
  serverlist, it shows informations about&lt;br /&gt;
  your account;&lt;br /&gt;
  if you are in the serverlist you can go&lt;br /&gt;
  back to the starting window by pressing F8&lt;br /&gt;
&lt;br /&gt;
 completely redone engine for holding the&lt;br /&gt;
  images in the memory; this avoids using the&lt;br /&gt;
  windows GDI (graphical interface) which caused&lt;br /&gt;
  memory leaks and other problems;&lt;br /&gt;
  with this new engine the game should take&lt;br /&gt;
  much less resources and memory&lt;br /&gt;
&lt;br /&gt;
 the editor opens a new empty level when&lt;br /&gt;
  you press F4 while playing the tutorial levels&lt;br /&gt;
  instead of showing the error message that&lt;br /&gt;
  the tutorial level does not exist on the&lt;br /&gt;
  hard drive (since it is encoded in the exe&lt;br /&gt;
  and not meant to be editable)&lt;br /&gt;
&lt;br /&gt;
 when you are in a level where playerkilling is&lt;br /&gt;
  disabled then you see a little sign right to&lt;br /&gt;
  the alignment bar which shows a red cross on&lt;br /&gt;
  a sword&lt;br /&gt;
&lt;br /&gt;
 the script variable timevar works in &lt;br /&gt;
  offline mode too&lt;br /&gt;
&lt;br /&gt;
 fixed problem with the % operator on big &lt;br /&gt;
  values&lt;br /&gt;
&lt;br /&gt;
 new script function ascii(c) to get the&lt;br /&gt;
  ascii code of a character (ascii(A) is 65);&lt;br /&gt;
  the other way (converting ascii code to&lt;br /&gt;
  character) can still be done by using the&lt;br /&gt;
  #K(num) message code (#K(65) is A)&lt;br /&gt;
&lt;br /&gt;
 there shouldn't be 'Invalid floating point'&lt;br /&gt;
  error messages any more on voodoo cards&lt;br /&gt;
  (please disable the use of direct3D in the&lt;br /&gt;
  Graal options if the effects are too slow for you)&lt;br /&gt;
&lt;br /&gt;
 when a chat text or a nickname contains a line that is&lt;br /&gt;
  too long for being displayed on the screen, then&lt;br /&gt;
  only the visible part is drawn instead of&lt;br /&gt;
  hiding it like in old Graal versions&lt;br /&gt;
&lt;br /&gt;
 new script variable tiles[x,y] which can be&lt;br /&gt;
  used as replacement for the board[index] variable;&lt;br /&gt;
  it also works for tiles in near levels on overworlds&lt;br /&gt;
  (tiles[-1,20] will read the tile at (63,20) of the&lt;br /&gt;
  level left to the current level)&lt;br /&gt;
&lt;br /&gt;
 in the editor there is a new option 'Predefined npcs';&lt;br /&gt;
  there are all scripts (text files) listed where the&lt;br /&gt;
  filename starts with 'defnpc' and ends with '.txt';&lt;br /&gt;
  you can select the npc, then drag&amp;amp;drop it onto the level&lt;br /&gt;
  by clicking on the npc outline icon left of the choice&lt;br /&gt;
  box and moving it onto the level;&lt;br /&gt;
  in the script file you can insert lines like&lt;br /&gt;
  #COMMENTS This is a door&lt;br /&gt;
  for changing the comments that are displayed under the&lt;br /&gt;
  choice box, and&lt;br /&gt;
  #EDIT redvalue 1&lt;br /&gt;
  to let the user change a value in the script:&lt;br /&gt;
  when you add the npc to the level then&lt;br /&gt;
  all occurances of the variable ('redvalue') will&lt;br /&gt;
  be replaced by the entered text (in this case '1'&lt;br /&gt;
  if you don't change the text)&lt;br /&gt;
&lt;br /&gt;
 some windows have been removed (sign message codes,&lt;br /&gt;
  add-npc window) and the stuff from it is integrated into&lt;br /&gt;
  other windows so the level editing is simplier;&lt;br /&gt;
  the options window and add-showcharacter windows&lt;br /&gt;
  use tabsheets &lt;br /&gt;
&lt;br /&gt;
 snapshots levels made with Alt+5 handle lights correctly,&lt;br /&gt;
  also fixed some other problems with snapshot levels&lt;br /&gt;
&lt;br /&gt;
 support for smilies in PMs: some text like :D and :eek:&lt;br /&gt;
  is automatically replaced by smilie-images when reading&lt;br /&gt;
  a PM (and having html-pms turned on); you can change the&lt;br /&gt;
  list of smilies by editing the file smiliesdef.txt in the&lt;br /&gt;
  folder levels/smilies (add a line 'code,filename' for adding&lt;br /&gt;
  a new smilie)&lt;br /&gt;
&lt;br /&gt;
 fixed 'vibrations' when being on a moving ship&lt;br /&gt;
&lt;br /&gt;
 switching to fullscreen and back to window mode should&lt;br /&gt;
  work better instead of flashing the screen several times&lt;br /&gt;
&lt;br /&gt;
 ganis can contain scripts, put it in a block:&lt;br /&gt;
  SCRIPT&lt;br /&gt;
  if (blabla)...&lt;br /&gt;
  SCRIPTEND&lt;br /&gt;
  It is restricted to this. variables and can only use&lt;br /&gt;
  functions for playing music files and displaying showimgs&lt;br /&gt;
&lt;br /&gt;
 new script function getangle(dx,dy)&lt;br /&gt;
&lt;br /&gt;
 String arrays! they are saved in normal flags/string&lt;br /&gt;
  variables and look like 'myarray=123,&amp;quot;45&amp;quot;,67,&amp;quot;8,9&amp;quot;'&lt;br /&gt;
  Commands/Functions:&lt;br /&gt;
  addstring list,text;&lt;br /&gt;
  insertstring list,index,text;&lt;br /&gt;
  replacestring list,index,text;&lt;br /&gt;
  removestring list,text;&lt;br /&gt;
  deletestring list,index;&lt;br /&gt;
  sarraylen(list)&lt;br /&gt;
  lindexof(list,text)&lt;br /&gt;
  #I(list,index)  - gives you the string on place 'index'&lt;br /&gt;
&lt;br /&gt;
 new script command play2 wavfile,x,y,volume;&lt;br /&gt;
  x,y specifys from where the sound should come from;&lt;br /&gt;
  volume must be between 0 and 1, if set to 1 then the&lt;br /&gt;
  default volume will be used (depending on how far x,y&lt;br /&gt;
  is away from the player)&lt;br /&gt;
&lt;br /&gt;
 auto mapping: the Graal program now automatically&lt;br /&gt;
  downloads map files and minimap images, and updates&lt;br /&gt;
  the bigmap (M) by drawing the screen on the map when you&lt;br /&gt;
  move 8 tiles; this options can be turned off in the&lt;br /&gt;
  Graal options if wished; when you leave a level then it&lt;br /&gt;
  saves the part of the map that belongs to that level on&lt;br /&gt;
  hard disk into the maps/parts folder; next time you start&lt;br /&gt;
  Graal it loads the map parts automatically, that way&lt;br /&gt;
  you always have an up-to-date map;&lt;br /&gt;
  the map and minimap is no longer set by the listserver,&lt;br /&gt;
  its now done by the gserver itself, which means playerworld&lt;br /&gt;
  owners can change the default map/minimap by adding lines&lt;br /&gt;
  to the serveroptions.txt:&lt;br /&gt;
  bigmap=bigmap.txt,map.png,12.2,8&lt;br /&gt;
  minimap=minimap.txt,map2.png,5.2,7&lt;br /&gt;
  it works exactly like the script commands setmap/setminimap&lt;br /&gt;
&lt;br /&gt;
 new script variable 'graalversion' to detect the Graal&lt;br /&gt;
  version the npc is running on&lt;br /&gt;
&lt;br /&gt;
 ghost mode, which makes it possible to let new players see&lt;br /&gt;
  Graal2001 for free; it will also be used to limit the&lt;br /&gt;
  player count on 'free' servers (if you have not upgraded&lt;br /&gt;
  then you will login as ghost and wait in a queue till you&lt;br /&gt;
  are activated)&lt;br /&gt;
&lt;br /&gt;
 important actions are logged in a new log window that you&lt;br /&gt;
  can open by pressing Alt+0; it logs things like initializing&lt;br /&gt;
  DirectX, Direct3D, but also the login/logout of players&lt;br /&gt;
  and sending of explosions etc.; more stuff will be added in the&lt;br /&gt;
  future&lt;br /&gt;
&lt;br /&gt;
 script commands callweapon and callnpc doesn't allow the 'created'&lt;br /&gt;
  flag anymore&lt;br /&gt;
&lt;br /&gt;
 fixed showimg synchronization &lt;br /&gt;
&lt;br /&gt;
 in the tiles panel in the editor you can select multiple tiles&lt;br /&gt;
  at once: select a block of tiles by clicking on the upper lef&lt;br /&gt;
  edge, then moving the mouse to the lower right edge and&lt;br /&gt;
  releasing it, then pasting it on the level&lt;br /&gt;
&lt;br /&gt;
 all default images included in Graal are now using the&lt;br /&gt;
  image formats png or mng instead of gif&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------&lt;br /&gt;
New features/bug fixes in v2.05rev2&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the script variable playerscount is fixed&lt;br /&gt;
  (was not working for npc weapons)&lt;br /&gt;
&lt;br /&gt;
 when you create a new level then the current&lt;br /&gt;
  background tile is used for the background (instead&lt;br /&gt;
  of a black tile)&lt;br /&gt;
&lt;br /&gt;
 when switching to other servers then the correct&lt;br /&gt;
  server name is displaying in the window title&lt;br /&gt;
&lt;br /&gt;
 openurl2 works more than one time&lt;br /&gt;
&lt;br /&gt;
 hidden npcs can use the command showimg&lt;br /&gt;
&lt;br /&gt;
 when the map is changed (script command setmap) then&lt;br /&gt;
  the new map is immediatelly applied&lt;br /&gt;
&lt;br /&gt;
 the little yellow hint window that shows the names&lt;br /&gt;
  of players on the minimap is hidden when you switch&lt;br /&gt;
  to other applications&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.05&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
This time there are mainly bug fixes.&lt;br /&gt;
&lt;br /&gt;
 removed the problem with memory error&lt;br /&gt;
  2.2 (an error window that sometimes popups)&lt;br /&gt;
&lt;br /&gt;
 the graal window now shows the name of the&lt;br /&gt;
  server in the title bar&lt;br /&gt;
&lt;br /&gt;
 there is a new button in the script editor&lt;br /&gt;
  window that lets you format a text, it makes&lt;br /&gt;
  the script looking similar to the debugger&lt;br /&gt;
  screen, but is also formatting comments lines;&lt;br /&gt;
  it's not perfect but can help a little bit&lt;br /&gt;
  for understanding scripts written by other&lt;br /&gt;
  people &lt;br /&gt;
&lt;br /&gt;
 setshape2 supports array variables for the tilestype&lt;br /&gt;
  array instead of only static arrays&lt;br /&gt;
&lt;br /&gt;
 when npcs do showimg (especially on the npcserver) then&lt;br /&gt;
  showimgs will not be deleted when you leave the level,&lt;br /&gt;
  so you still see it when reentering the level where&lt;br /&gt;
  the npcs stands&lt;br /&gt;
&lt;br /&gt;
 playing of sounds (playlooped) is stopped when switching a&lt;br /&gt;
  server&lt;br /&gt;
&lt;br /&gt;
 bombs don't destroy half bushes&lt;br /&gt;
&lt;br /&gt;
 new file format (exists since beginning of 2000 but was&lt;br /&gt;
  only available for newworld team):&lt;br /&gt;
  The new level format is text based. If you want to edit it&lt;br /&gt;
  outside of Graal, use a text editor which doesn't wrap lines.&lt;br /&gt;
  You automatically produce a file in the new format when you&lt;br /&gt;
  save to a file with ending .nw&lt;br /&gt;
  Those files are bigger than .graal files, but because it is&lt;br /&gt;
  text-based it is easier to edit parts of it (e.g. ncp script)&lt;br /&gt;
  without opening the game, or to write tools that&lt;br /&gt;
  do changes to the levels, like adding npcs to levels. The&lt;br /&gt;
  graal servers support that file format too, the data sent to&lt;br /&gt;
  the player is the same size like when using .graal files, so it&lt;br /&gt;
  will not make the game laggier&lt;br /&gt;
&lt;br /&gt;
  Format:&lt;br /&gt;
  It begins with the signature GLEVNW01.&lt;br /&gt;
  It can contain following data types:&lt;br /&gt;
&lt;br /&gt;
  * board lines:&lt;br /&gt;
&lt;br /&gt;
    BOARD x y width layerindex &amp;lt;tilesdata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    This is one line of the background layer. 'tilesdata' has a length if w*2&lt;br /&gt;
    characters; each tile is a 12bit-index into the tile list (pics1.png) and is&lt;br /&gt;
    encoded in two base64 characters (upper 6 bit first)&lt;br /&gt;
    base64: String = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'&lt;br /&gt;
    so AA is tile 0, AB is tile 1, AC is tile 2, // is tile 4095 (=0xFFF)&lt;br /&gt;
&lt;br /&gt;
  * level links:&lt;br /&gt;
&lt;br /&gt;
    LINK &amp;lt;destination-level&amp;gt; x y width height newx newy&lt;br /&gt;
&lt;br /&gt;
    The link attributes are the same like in the link options window in Graal.&lt;br /&gt;
    destination-level, newx and newy must not contain spaces.&lt;br /&gt;
&lt;br /&gt;
  * signs:&lt;br /&gt;
&lt;br /&gt;
    SIGN x y&lt;br /&gt;
    text&lt;br /&gt;
    ...&lt;br /&gt;
    SIGNEND&lt;br /&gt;
&lt;br /&gt;
    Signs may be empty, but SIGNEND must always be there.&lt;br /&gt;
&lt;br /&gt;
  * npcs:&lt;br /&gt;
&lt;br /&gt;
    NPC imagefilename x y&lt;br /&gt;
    script&lt;br /&gt;
    ...&lt;br /&gt;
    NPCEND&lt;br /&gt;
&lt;br /&gt;
    If the npc doesn't have a filename (invisible npc), then write '-' for imagefilename. &lt;br /&gt;
    x and y may be floating point values. The npc script may be empty, but NPCEND&lt;br /&gt;
    must always be there &lt;br /&gt;
&lt;br /&gt;
  * baddies:&lt;br /&gt;
&lt;br /&gt;
    BADDY x y type&lt;br /&gt;
    attackverse&lt;br /&gt;
    hurtverse&lt;br /&gt;
    winverse&lt;br /&gt;
    BADDYEND&lt;br /&gt;
&lt;br /&gt;
    'type' is the baddy name (graysoldier ... dragon ) or index (0...9). You don't need&lt;br /&gt;
    to write all 3 verses, it's also possible to only write attackverse+hurtverse or only&lt;br /&gt;
    attackverse, but BADDYEND must always be there.&lt;br /&gt;
&lt;br /&gt;
  * chests:&lt;br /&gt;
&lt;br /&gt;
    CHEST x y item signindex&lt;br /&gt;
&lt;br /&gt;
    item is the item name (greenrupee ... spinattack) or item index (0...24)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.04&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
This version contains major improvements in the game&lt;br /&gt;
engine.&lt;br /&gt;
&lt;br /&gt;
Sound:&lt;br /&gt;
&lt;br /&gt;
 PARAM1 enabled for the PLAYSOUND command in gani files, also&lt;br /&gt;
  message codes can be used with the script command play;&lt;br /&gt;
&lt;br /&gt;
  You can make an animation that plays differnet sounds/tones,&lt;br /&gt;
  so this makes it possible to create instruments&lt;br /&gt;
&lt;br /&gt;
Animations:&lt;br /&gt;
&lt;br /&gt;
 replacegani aniname,newani;&lt;br /&gt;
  Lets the player use a different animation for&lt;br /&gt;
  walking, swimming etc. You can do things like&lt;br /&gt;
  replacegani walk,mywalk; if you want the player&lt;br /&gt;
  use mywalk.gani as walking animation (instead of&lt;br /&gt;
  writing your own walking script); This takes only&lt;br /&gt;
  effect till the player logs off, so you must put it&lt;br /&gt;
  in a system npc or so; its not lagging;&lt;br /&gt;
  The default animations are:&lt;br /&gt;
    idle,walk,walkslow,kick,sword,ridesword,&lt;br /&gt;
    spin,push,grab,pull,lift,carrystill,&lt;br /&gt;
    hiddenstill,carry,hidden,shoot,ridestill,&lt;br /&gt;
    ridefire,rideeat,ride,sit,sleep,hurt,&lt;br /&gt;
    ridehurt,dead,maps1,maps2,maps3,swim,&lt;br /&gt;
    lava,carried&lt;br /&gt;
  To reset the default animation just do&lt;br /&gt;
  replacegani walk,walk; etc.&lt;br /&gt;
&lt;br /&gt;
  Using replacegani you can do things like&lt;br /&gt;
  holding a torch while running (*olympic games*).&lt;br /&gt;
  It's only allowed/enabled for upgraded servers.&lt;br /&gt;
&lt;br /&gt;
Tiles:&lt;br /&gt;
&lt;br /&gt;
 addtiledef tilesimage,levelstart,type;&lt;br /&gt;
  uses the file 'tilesimage' in replacement of&lt;br /&gt;
  'pics1.png' in all levels that start with 'levelstart';&lt;br /&gt;
  type: 0-old graal, 1-new order(description later)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 addtiledef2 tilesimage,levelstart,x,y;&lt;br /&gt;
  this is similar to addtiledef, but only replaces&lt;br /&gt;
  a part of the tiles image; its like putting an&lt;br /&gt;
  image on top of the tiles image (normally pics1.png),&lt;br /&gt;
  this is good for replacing the default chair or lamp&lt;br /&gt;
  or so; this supports animated images, but keep in mind&lt;br /&gt;
  that all tile replacements must be hold in memory&lt;br /&gt;
  and be animated, so better only use it in the levels&lt;br /&gt;
  you need it;&lt;br /&gt;
  These two commands are very powerful and are only&lt;br /&gt;
  enabled for upgraded servers.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 removetiledefs levelstart;&lt;br /&gt;
  removes tile definitions for levels that start with&lt;br /&gt;
  'levelstart'&lt;br /&gt;
&lt;br /&gt;
 support for object sets, saved in the tileobjects folder and selectable&lt;br /&gt;
  in the editor&lt;br /&gt;
&lt;br /&gt;
NPC layers:&lt;br /&gt;
&lt;br /&gt;
 setshape type,pixelwidth,pixelheight&lt;br /&gt;
  Sets the shape for an npc. It already existed on&lt;br /&gt;
  the npcserver, but is usefull for client-side stuff to.&lt;br /&gt;
  type is the the shape type, the only one supported&lt;br /&gt;
  is 1 (=rectangle); it makes the npc behave like&lt;br /&gt;
  a fixed rectangle, no matter how big the image is or&lt;br /&gt;
  if its already loaded; to set it back to default&lt;br /&gt;
  do setshape 0,0,0;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 setshape2 width,height,{tiletypes,...}&lt;br /&gt;
  Lets the npc behave like a level, which means you can set&lt;br /&gt;
  what size it has (in tiles) and how the tiles behave;&lt;br /&gt;
  e.g. do setshape2 2,2,{3,3,3,3}; to make an npc that behaves&lt;br /&gt;
  like a chair. Following tile types are supported:&lt;br /&gt;
  0 nonblocking&lt;br /&gt;
  2 hurting underground&lt;br /&gt;
  3 chair&lt;br /&gt;
  4 bed upper side&lt;br /&gt;
  5 bed lower side&lt;br /&gt;
  6 swamp&lt;br /&gt;
  7 lava swamp&lt;br /&gt;
  8 near water&lt;br /&gt;
  9 near lava&lt;br /&gt;
  11 water&lt;br /&gt;
  12 lava&lt;br /&gt;
  20 throw-through (fences)&lt;br /&gt;
  21 jumping stone&lt;br /&gt;
  22 blocking tile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 attachplayertoobj objecttype,id;&lt;br /&gt;
  Attaches the player to an object, currently only npcs are&lt;br /&gt;
  supported (objecttype=0); the id must be the id of the npc&lt;br /&gt;
  you want to attach the player at&lt;br /&gt;
  when the player is attached, you can do if (playerattached) to&lt;br /&gt;
  check if he is attached; new player attributes playerattachid&lt;br /&gt;
  and playerattachtype; new variables levelorgx,levelorgy for&lt;br /&gt;
  getting the origin of the level/npc where the player is in&lt;br /&gt;
&lt;br /&gt;
  This command is good for all kinds of layers or moving&lt;br /&gt;
  objects, together with the setshape2 command you can do&lt;br /&gt;
  levels-in-levels things. It can be used for bridges,&lt;br /&gt;
  ships, baloons, platforms in quests. Don't forget to detach the&lt;br /&gt;
  player when he should go back to the normal level. The&lt;br /&gt;
  position of the player is not saved when he is on such&lt;br /&gt;
  an npc.&lt;br /&gt;
  This command is only allowed/enabled for upgraded servers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 detachplayer&lt;br /&gt;
  Puts the player back into the normal level&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Showimg/show text:&lt;br /&gt;
&lt;br /&gt;
 showimg colors,layer, and zoom is sent to other players (even&lt;br /&gt;
  when the layer is 4, then only values between 0 and 440 allowed)&lt;br /&gt;
&lt;br /&gt;
 showing text with showimg&lt;br /&gt;
  you can do showimg 1,@Hello!,x,y; do show text; setting&lt;br /&gt;
  font and style is possible by doing showimg index,@font@style@text,x,y;&lt;br /&gt;
  (style: characters from 'bicus', b-bold, i-italic, c-centered,u-underline,&lt;br /&gt;
  s-strikeout); for change the view of the text use the commands&lt;br /&gt;
  changeimgzoom,changeimgcolors&lt;br /&gt;
&lt;br /&gt;
 showimg works now server-side, layer 4 works too&lt;br /&gt;
&lt;br /&gt;
 weaponscount variable, #w(index) gives you the weapon names,&lt;br /&gt;
  #W(index) the weapon images; you can assign values to selectedweapon&lt;br /&gt;
  to change the selected weapon of the players; use&lt;br /&gt;
  enable/disableselectweapons if you want to disable the weapon&lt;br /&gt;
  select screen (Q)&lt;br /&gt;
&lt;br /&gt;
Other features/bug fixes:&lt;br /&gt;
&lt;br /&gt;
 check for correct tiles when lifting/eating/slaying bushes&lt;br /&gt;
&lt;br /&gt;
 faster search for files (lookup in the filename list)&lt;br /&gt;
&lt;br /&gt;
 bombs and arrows go to near levels&lt;br /&gt;
&lt;br /&gt;
 chat text is always displayed at least 3 seconds&lt;br /&gt;
&lt;br /&gt;
 message codes possible in #K() (for inserting special characters&lt;br /&gt;
  into text)&lt;br /&gt;
&lt;br /&gt;
 the script command stopsound doesn't crash the game when sound&lt;br /&gt;
  is turned off&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.03&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 New script command: triggeraction targetx,targety,action,params;&lt;br /&gt;
  This is one of the commands that give you like 50% more scripting&lt;br /&gt;
  power than before. It is like a combination of hitobjects and&lt;br /&gt;
  callnpc, but better. With 'triggeraction' you invoke an event&lt;br /&gt;
  to the object on positon (targetx,targety). If the object is&lt;br /&gt;
  an npc, then the npc script is called with the flag&lt;br /&gt;
  'action&amp;lt;action&amp;gt;' set, when the object is a player then the&lt;br /&gt;
  weapon scripts of the that player are called with the&lt;br /&gt;
  'action&amp;lt;action&amp;gt;' flag set.&lt;br /&gt;
  'params' can be one or more parameters, divided by commas;&lt;br /&gt;
  the called script can read the paramters by accessing the&lt;br /&gt;
  message code #p(paramindex).&lt;br /&gt;
  Because this is hard to explain with words, here some&lt;br /&gt;
  little examples:&lt;br /&gt;
&lt;br /&gt;
  * trigger player weapons&lt;br /&gt;
    You can easily do a weapon which freezes the other&lt;br /&gt;
    player:&lt;br /&gt;
&lt;br /&gt;
    if (playertouchsme) toweapons Freezing-Weapon;&lt;br /&gt;
    if (weaponfired) {&lt;br /&gt;
      triggeraction playerx+1.5+vecx(playerdir)*2,&lt;br /&gt;
        playery+2+vecy(playerdir)*2,freeze,;&lt;br /&gt;
    }&lt;br /&gt;
    if (actionfreeze) {&lt;br /&gt;
      freezeplayer 3;&lt;br /&gt;
      setplayerprop #c,FREEZED;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    Both players must have this weapon for making it&lt;br /&gt;
    working. Then use it on the other player, and he will&lt;br /&gt;
    be freezed, because a 'freeze' action is sent to him&lt;br /&gt;
    and his weapon script, called with flag 'actionfreeze',&lt;br /&gt;
    will freeze him. You can also move the if (actionfreeze) ...&lt;br /&gt;
    into an system npc so the weapon can be used on all&lt;br /&gt;
    players.&lt;br /&gt;
    Other nice things you could do with triggering actions&lt;br /&gt;
    on players: a stealing weapon which lets the other player&lt;br /&gt;
    loose gralats (if (actionsteal) lay2 greenrupee,... );&lt;br /&gt;
    complex attacking weapons that use your own hitpoint&lt;br /&gt;
    system instead of the default hearts thing&lt;br /&gt;
&lt;br /&gt;
  * trigger npcs&lt;br /&gt;
&lt;br /&gt;
    Until now npcs can only react to 'playertouchsme' and&lt;br /&gt;
    'washit', other things are very hard to do (e.g. the&lt;br /&gt;
    mining on Graal2001 was made by checking periodically&lt;br /&gt;
    what animation the player has and before which stone the&lt;br /&gt;
    player stands). You could do callnpc, but this works only&lt;br /&gt;
    client-side and you needed to pass parameters with&lt;br /&gt;
    flags.&lt;br /&gt;
    Using 'triggeraction' you can make those things much easier.&lt;br /&gt;
    The mining axe could have the script&lt;br /&gt;
    if (weaponfired) {&lt;br /&gt;
      setani jaxe,hammergold0.png;&lt;br /&gt;
      triggeraction playerx+1.5+vecx(playerdir)*2,&lt;br /&gt;
        playery+2+vecy(playerdir)*2,mining,#v(axepower);&lt;br /&gt;
    }&lt;br /&gt;
    If you now use the weapon on a stone, the stone npc could&lt;br /&gt;
    check this so:&lt;br /&gt;
    if (actionmining) {&lt;br /&gt;
      axepower = strtofloat(#p(0));&lt;br /&gt;
      this.power -= axepower;&lt;br /&gt;
      if (this.power&amp;lt;=0) {&lt;br /&gt;
        setstring uncraftedgold,#v(strtofloat(#s(uncraftedgold))+1);&lt;br /&gt;
        hide;&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
    With this thing you can also easily do switches which are&lt;br /&gt;
    activated with the hammer, or torch lamps which are turned on&lt;br /&gt;
    by using a torch on it.&lt;br /&gt;
&lt;br /&gt;
  * actionpushed, actionpulled&lt;br /&gt;
    The game automatically triggers the actions 'pushed' and&lt;br /&gt;
    'pulled' on an npc, #p(0) is the direction of where to move;&lt;br /&gt;
    so you can do different things when the player tries to&lt;br /&gt;
    push/pull the npc, e.g. slower pulling, or opening&lt;br /&gt;
    a door. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 New script command: move dx,dy,time,options;&lt;br /&gt;
  dx - delta x&lt;br /&gt;
  dy - delta y&lt;br /&gt;
  time - time in seconds&lt;br /&gt;
  options - cachingmode (0,1 or 2) + blockcheck (4 or 0) +&lt;br /&gt;
    informmewhendone (8 or 0) + applydirection (16 or 0)&lt;br /&gt;
  This moves the npc without needing you to update the&lt;br /&gt;
  position of the npc 'manually' by changing x and y.&lt;br /&gt;
  To move an npc 10 tiles to the right, then 10 tiles to&lt;br /&gt;
  the left and again, just do following:&lt;br /&gt;
  if (created) {&lt;br /&gt;
    while (true) {&lt;br /&gt;
      move 10,0,4,0;&lt;br /&gt;
      sleep 4;&lt;br /&gt;
      move -10,0,4,0;&lt;br /&gt;
      sleep 4;&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  This moves the npc 10 tiles to the right, then waits 4&lt;br /&gt;
  seconds, then moves it 10 tiles to the left, then waits&lt;br /&gt;
  4 seconds, and repeats this endlessly.&lt;br /&gt;
  The good thing is that this also works with server-side&lt;br /&gt;
  npcs and makes them look like they are moved on client-side.&lt;br /&gt;
  There are also nice options to makes things very simple:&lt;br /&gt;
  * cachingmode:&lt;br /&gt;
    * 0: previous movements will be finished immediatelly&lt;br /&gt;
    * 1: movements will be cached, the previous movements&lt;br /&gt;
         will only be finished when the cache is too large&lt;br /&gt;
         (distance to go &amp;gt;5);&lt;br /&gt;
         this caching can be used on server-side npcs to&lt;br /&gt;
         make the movement look like non-laggy even when&lt;br /&gt;
         there are little delays sometimes&lt;br /&gt;
    * 2: the movement will just be appended to the movement&lt;br /&gt;
         list; you can add up to 100 movements&lt;br /&gt;
  * blockcheck: add 4 to the options when you want the&lt;br /&gt;
    npc to stop when there is a wall blocking the npc&lt;br /&gt;
  * informmewhendone: if you add 8 to the options then the&lt;br /&gt;
    script will be called with a 'movementfinished' flag&lt;br /&gt;
    when the the npc has stopped walking; catch this event&lt;br /&gt;
    with&lt;br /&gt;
    if (movementfinished) {...}&lt;br /&gt;
    if you want to do something when the npc has stopped&lt;br /&gt;
    (e.g. walking in a different direction)&lt;br /&gt;
  * applydirection: add 16 to the options if you want the&lt;br /&gt;
    game to automatically set the direction of the npc&lt;br /&gt;
    depending on the movement direction (can be good&lt;br /&gt;
    when using movement caching)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 on remotecontrol and npccontrol you can use new&lt;br /&gt;
  chat functions, commands start with /, you can get&lt;br /&gt;
  a list of available functions with /help&lt;br /&gt;
&lt;br /&gt;
 when you play on a game server with npcserver&lt;br /&gt;
  and an npc leaves the current level, then it is&lt;br /&gt;
  displayed in the new level instead of being hidden&lt;br /&gt;
&lt;br /&gt;
 script functions vecx(dir) and vecy(dir) which&lt;br /&gt;
  are a replacement for the 'dirgo' variables used&lt;br /&gt;
  in many scripts;&lt;br /&gt;
  e.g. for direction 2 (down) the  functions vecx and&lt;br /&gt;
  vecy give you 0 and 1;&lt;br /&gt;
  normal npc movements can so simply made by&lt;br /&gt;
  x += vecx(dir);&lt;br /&gt;
  y += vecy(dir);&lt;br /&gt;
&lt;br /&gt;
 script functions onmapx(levelname) and onmapy(levelname)&lt;br /&gt;
  to get the position of a level on the currently set&lt;br /&gt;
  map&lt;br /&gt;
&lt;br /&gt;
 the game uses in-game code to compress/decompress again&lt;br /&gt;
  instead of using zlib.dll because it has been abused&lt;br /&gt;
&lt;br /&gt;
 if you press the shift key while clicking on Start&lt;br /&gt;
  or Turorial in the starting window, then the game&lt;br /&gt;
  will start in fullscreen mode&lt;br /&gt;
&lt;br /&gt;
 new script flags 'playerreading' to check if the&lt;br /&gt;
  player is reading a sign, and 'lighteffectsenabled'&lt;br /&gt;
  for checking if the player can see the light&lt;br /&gt;
  effects and day/night&lt;br /&gt;
&lt;br /&gt;
 fixed bugs when using numbers for #P1&lt;br /&gt;
&lt;br /&gt;
 fixed bug with reading animated interlaced gifs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------&lt;br /&gt;
New features/bug fixes in v2.02rev1&lt;br /&gt;
-----------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the speed cheat protection shouldn't close the program&lt;br /&gt;
  when there was no cheating&lt;br /&gt;
&lt;br /&gt;
 when opening the history of someone you will not&lt;br /&gt;
  see the web navigation bar&lt;br /&gt;
&lt;br /&gt;
 better hacking protection&lt;br /&gt;
&lt;br /&gt;
 the server knows the language of the client,&lt;br /&gt;
  that way there can be translation of signs and what npcs&lt;br /&gt;
  say (on servers with npcserver)&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.02&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
Version v2.02 brings new things for customizing the&lt;br /&gt;
player (e.g. hats), making signs with images, and doing&lt;br /&gt;
string parsing in npc scripts. Of course there are also&lt;br /&gt;
bug fixes.&lt;br /&gt;
&lt;br /&gt;
Restrictions for free servers: Because we want players&lt;br /&gt;
to upgrade the accounts, we have put some limits on &lt;br /&gt;
free servers. This includes light effects (seteffect,&lt;br /&gt;
setcoloreffect etc.) and complex ganis. 'complex' means&lt;br /&gt;
ganis (animations) that are not default animations&lt;br /&gt;
and do more than just display an image. Things like&lt;br /&gt;
skip.gani are allowed, fishing.gani not. &lt;br /&gt;
Using the hat thing is not allowed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 support for hats and similar things:&lt;br /&gt;
  When opening the gani editor (Graal Shop) you&lt;br /&gt;
  will see new edit fields for 'Def. attr1', 'Def. attr2'&lt;br /&gt;
  etc. These work similar to the PARAM1, PARAM2 etc. thing,&lt;br /&gt;
  but they behave different in Graal: while the values for&lt;br /&gt;
  PARAMx is taken from the parameters that you use in your&lt;br /&gt;
  setani and setcharani script calls (setani shoot,wbow1.gif;&lt;br /&gt;
  is setting PARAM1 to wbow1.gif), the ATTR1, ATTR2 etc. is&lt;br /&gt;
  read from the players account. You can change it with&lt;br /&gt;
  setplayerprop #P1,...; /setcharprop #P1,...;&lt;br /&gt;
  You can currently use 5 gani attributes. Since it is saved&lt;br /&gt;
  in the players account, it doesn't need to be sent to the&lt;br /&gt;
  other players each time the animation is set which is causing&lt;br /&gt;
  lag when used in a movement animations&lt;br /&gt;
&lt;br /&gt;
  Here an example for setting the hat of the player:&lt;br /&gt;
  setplayerprop #P1,hat0.png;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the guilds listed in the staff section of the&lt;br /&gt;
  playerlist can now be changed by serverowners&lt;br /&gt;
&lt;br /&gt;
 the HTML window now has a panel with navigation buttons&lt;br /&gt;
  for back/forward/stop/refresh/home&lt;br /&gt;
  you see that window when the server message of the day is&lt;br /&gt;
  displayed or when a script calls the openurl or openurl2&lt;br /&gt;
  functions&lt;br /&gt;
&lt;br /&gt;
 when the options window is open then the game is not&lt;br /&gt;
  freezed anymore (was used to cheat/block players)&lt;br /&gt;
&lt;br /&gt;
NPC scripting:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 you can display images in signs using the&lt;br /&gt;
  message code #i: a sign with the text&lt;br /&gt;
&lt;br /&gt;
  Touch this to enter: #i(door.gif)&lt;br /&gt;
&lt;br /&gt;
  will display the door.gif at the end of the&lt;br /&gt;
  line. It doesn't check if the image is larger&lt;br /&gt;
  than one line, so you might need to add spaces&lt;br /&gt;
  in the following lines so that the image doesn't&lt;br /&gt;
  overlap the text. You can also only display&lt;br /&gt;
  a part of the image:&lt;br /&gt;
&lt;br /&gt;
  The nicest head ever - #i(head19.gif,0,64,32,32)&lt;br /&gt;
&lt;br /&gt;
  This displays the part of head19.gif starting&lt;br /&gt;
  at position (0,64) with a widht and height of 32&lt;br /&gt;
  (ninji face looking at you)&lt;br /&gt;
&lt;br /&gt;
 string parsing functions&lt;br /&gt;
  There is a bunch of new functions and message codes&lt;br /&gt;
  to support string parsing:&lt;br /&gt;
  * strlen(str) - length of the string&lt;br /&gt;
  * startswith(part,str) - tests if 'str' is starting with 'part'&lt;br /&gt;
  * indexof(part,str) - gives the position of 'part' in 'str'&lt;br /&gt;
    (-1: doesn't appear in 'str', 0: str starts with it)&lt;br /&gt;
  * #e(startindex,length,str) - extracts a substring out of str;&lt;br /&gt;
    when length is -1 then it takes everything after startindex&lt;br /&gt;
    till the end of str&lt;br /&gt;
  * #T(str) - removes the spaces at the beginning and at the end&lt;br /&gt;
  * tokenize str; - divides the specified string into tokens,&lt;br /&gt;
    e.g. tokenize I am happy!; will produce 3 tokens (I, am, happy!);&lt;br /&gt;
    text inside &amp;quot; &amp;quot; is taken as one token,&lt;br /&gt;
    so tokenize hello &amp;quot;Mr. Bear&amp;quot;; will produce 2 tokens (hello,Mr. Bear)&lt;br /&gt;
  * tokenscount - gives you the count of tokens produced with tokenize&lt;br /&gt;
  * #t(index) - gives you a token&lt;br /&gt;
  * tokenize2 delimiter,str; - while tokenize always uses&lt;br /&gt;
    spaces and commas, you can add more delimiters here,&lt;br /&gt;
    e.g. tokenize2 o, Yoshi is cool; will give you (Y,shi,is,c,l)&lt;br /&gt;
&lt;br /&gt;
 when doing setstring flagname,; then the deletion&lt;br /&gt;
  of the string variable is sent to the server&lt;br /&gt;
&lt;br /&gt;
 setting/unsetting/changing a flag that starts with 'local.'&lt;br /&gt;
  is not sent to the server&lt;br /&gt;
&lt;br /&gt;
 when using setplayerprop #5 to set a horse or&lt;br /&gt;
  when having a horse from last login to the server,&lt;br /&gt;
  then the bushes count is set correctly&lt;br /&gt;
&lt;br /&gt;
 you can now set string variables that contain commas,&lt;br /&gt;
  when you do setstring myflag,1,2,3; then you will&lt;br /&gt;
  add a flag 'myflag=1,2,3' instead of getting a syntax&lt;br /&gt;
  error&lt;br /&gt;
&lt;br /&gt;
 commands that we forgot to mention:&lt;br /&gt;
  * disabledefmovement: turns off the normal player movement&lt;br /&gt;
    and behaviour; this is good for making new player races&lt;br /&gt;
    or things like skis;&lt;br /&gt;
    if you only want to temporary disable it then use&lt;br /&gt;
    the freezeplayer command&lt;br /&gt;
  * enabledefmovement: enables it again&lt;br /&gt;
&lt;br /&gt;
 the script debugger (F6) gives you a list of the script&lt;br /&gt;
  functions of the selected npc; you see it under the&lt;br /&gt;
  drop down list for npcs; when selecting a function then&lt;br /&gt;
  the script panel will scroll down to it&lt;br /&gt;
  this is good for easier navigation through a script&lt;br /&gt;
&lt;br /&gt;
 keydown(index) is always false when the player is paused&lt;br /&gt;
&lt;br /&gt;
 new flags issparringzone and nopkzone&lt;br /&gt;
&lt;br /&gt;
Graal Shop (Gani editor):&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 correct detection for if the gani has been modified&lt;br /&gt;
&lt;br /&gt;
 correct behaviour of the 'loop' and 'continuous' flags:&lt;br /&gt;
  the animation is stopped when at the end and not looped,&lt;br /&gt;
  and a continuous animation is started when not running&lt;br /&gt;
  and clicking on 'Play'&lt;br /&gt;
&lt;br /&gt;
 edit fields for the new gani player attributes&lt;br /&gt;
  ('Def. attr1', 'Def. attr2' etc.) &lt;br /&gt;
&lt;br /&gt;
General bug fixes:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 objects are drawn in correct y-order when near level borders&lt;br /&gt;
&lt;br /&gt;
 the map viewing animations are set correctly (only&lt;br /&gt;
  when you stand still or sit)&lt;br /&gt;
&lt;br /&gt;
 when you play on a server with npcserver and you switch to&lt;br /&gt;
  another server then you will be able to see npcs&lt;br /&gt;
&lt;br /&gt;
 the texts 'Map' and 'Others:' that you see when viewing the&lt;br /&gt;
  map can be changed in the languages/languageXXX.txt now too&lt;br /&gt;
&lt;br /&gt;
 when pressing R to view the sparring ratings of players then&lt;br /&gt;
  the rating is not displayed over npcs&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
New features/bug fixes in v2.01:&lt;br /&gt;
&lt;br /&gt;
 levels are preloaded when you walk on the map&lt;br /&gt;
&lt;br /&gt;
 when looking on the map then a special animation&lt;br /&gt;
  is set so that other players can see that you are&lt;br /&gt;
  reading the map&lt;br /&gt;
&lt;br /&gt;
 showimg should work better, artefacts should be removed&lt;br /&gt;
&lt;br /&gt;
 when you pause the game then things are still animated,&lt;br /&gt;
  bombs explode&lt;br /&gt;
&lt;br /&gt;
 when you change the chat text of the player with&lt;br /&gt;
  the script command setplayerprop #c,text; then it&lt;br /&gt;
  doesn't disappear immediatelly, it will be shown&lt;br /&gt;
  for 3 seconds&lt;br /&gt;
&lt;br /&gt;
 in scripts you can do if (playerdies) ... to do&lt;br /&gt;
  stuff when the player dies (timeouts doesn't work&lt;br /&gt;
  when you are dead)&lt;br /&gt;
&lt;br /&gt;
 when the player is hurt then you can detect that in&lt;br /&gt;
  scripts by doing if (playerhurt) ...&lt;br /&gt;
  you can read the variable playerhurtpower to get&lt;br /&gt;
  the amount of power that the player lost&lt;br /&gt;
&lt;br /&gt;
 a bug with testnpc is removed &lt;br /&gt;
&lt;br /&gt;
 new script commands:&lt;br /&gt;
  * hitobjects power,x,y; hurts players/npcs/computer&lt;br /&gt;
    opponents that are on the specified position;&lt;br /&gt;
    this works exactly like the sword so this should&lt;br /&gt;
    be used for weapons, instead of the hitplayer command&lt;br /&gt;
    which gives the attacker to much advance;&lt;br /&gt;
    we will probably need to wait with using it till all&lt;br /&gt;
    people have v2.01, and v2.00 is disabled&lt;br /&gt;
  * openurl2 url,width,height; opens an url in a window&lt;br /&gt;
    but in a different way: it uses the same thing that is&lt;br /&gt;
    used for the server MOTD and PM history, so it should&lt;br /&gt;
    open faster, and you can set the size of the window;&lt;br /&gt;
    remove the leading http:// from the url&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v2.00:&lt;br /&gt;
&lt;br /&gt;
 no 2/3/4 player mode anymore; we want to&lt;br /&gt;
  concentrate on the online mode; this will&lt;br /&gt;
  also help in reducing the ressources needed &lt;br /&gt;
  by the game and in removing some bugs;&lt;br /&gt;
  with the 2/3/4 player we also removed the&lt;br /&gt;
  support for save games (F2/F3), and you can't&lt;br /&gt;
  select your character in the starting window,&lt;br /&gt;
  servers will provide character selection&lt;br /&gt;
  levels&lt;br /&gt;
&lt;br /&gt;
 new tutorial levels&lt;br /&gt;
&lt;br /&gt;
 in the controls window you can change the keys&lt;br /&gt;
  and buttons, just click on it (right mouse&lt;br /&gt;
  button deletes it)  &lt;br /&gt;
&lt;br /&gt;
 bush rupees and pot hearts are server-side&lt;br /&gt;
&lt;br /&gt;
 you can do 'warpto &amp;lt;accountname&amp;gt;' (if you are&lt;br /&gt;
  a GP)&lt;br /&gt;
&lt;br /&gt;
 on the minimap / playerlist you see red bubbles for&lt;br /&gt;
  admin messages, green bubbles for guild messages and&lt;br /&gt;
  blue bubbles for mass messages&lt;br /&gt;
&lt;br /&gt;
 in the editor you can do flood filling by pasting&lt;br /&gt;
  a tile / an object onto the level and pressing the&lt;br /&gt;
  right mouse button (shift+right mouse button: only&lt;br /&gt;
  fill full objects); if you haven't selected something&lt;br /&gt;
  then the right mouse button with fill the area with&lt;br /&gt;
  the background tile&lt;br /&gt;
&lt;br /&gt;
 there are new deep water tiles where you can't swim&lt;br /&gt;
&lt;br /&gt;
 new script commands:&lt;br /&gt;
  These commands are good for making a day/night thing&lt;br /&gt;
  and showing lights (see the included light2.png which&lt;br /&gt;
  can be used as corona (setcoloreffect)) They doesn't&lt;br /&gt;
  cause lag, but you can only see it when you have a&lt;br /&gt;
  3D card (like Riva TNT). &lt;br /&gt;
  * seteffect red,green,blue,alpha; (default 0,0,0,0)&lt;br /&gt;
    This if for day/night, by increasing alpha to 0.5&lt;br /&gt;
    or so you can make the game darker; changing the&lt;br /&gt;
    values for red/green/blue will cause some nice effects&lt;br /&gt;
    too&lt;br /&gt;
  * setcoloreffect red,green,blue,alpha; (default 1,1,1,1)&lt;br /&gt;
    If you change one of these values to something &amp;lt;1 then&lt;br /&gt;
    the npc image will be drawn using alpha blending;&lt;br /&gt;
    By changing red/green/blue you can change the color of&lt;br /&gt;
    the image (so you can use light2.png for red lights,&lt;br /&gt;
    green lights etc. without needing another image);&lt;br /&gt;
    By changing alpha you can decrease the brightness of the&lt;br /&gt;
    npc image&lt;br /&gt;
  * setzoomeffect zoomfactor; (default 1)&lt;br /&gt;
    Zooms the npc in or out. The npc will stay centered at&lt;br /&gt;
    the same position and have the same blocking radius,&lt;br /&gt;
    so this is only for effects&lt;br /&gt;
  * drawaslight;&lt;br /&gt;
    draws the npc above the daynight effects area&lt;br /&gt;
    (between drawoverplayers and the stats)&lt;br /&gt;
  * changeimgcolors index,red,green,blue,alpha; (default 1,1,1,1)&lt;br /&gt;
    changes the alpha transparency / color for the image&lt;br /&gt;
    (see setcoloreffect for more);&lt;br /&gt;
  * changeimgzoom index,zoomfactor; (default 1)&lt;br /&gt;
    changes the zoom factor for the image;&lt;br /&gt;
    color and zoom effect are not transferred to other players&lt;br /&gt;
    so changeimgcolors and changeimgzoom only work locally&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new Graal animation system using *.gani files&lt;br /&gt;
  * With setani and setcharani (script commands) you can change&lt;br /&gt;
    the animation of the player or the npc, instead of only&lt;br /&gt;
    using the default animations that are changed by accessing&lt;br /&gt;
    the variable 'sprite'; that variable still exists but will&lt;br /&gt;
    be mapped to def.gani which contains all of the old&lt;br /&gt;
    animation steps (0..40); its also possible to still read&lt;br /&gt;
    'sprite', the game will then try to convert the current&lt;br /&gt;
    animation to the old sprite number system, e.g. when the player&lt;br /&gt;
    has the animation walk.gani then reading the 'sprite'&lt;br /&gt;
    variable will result in values between 1 and 8 depending&lt;br /&gt;
    on the current animation step; new animations will always&lt;br /&gt;
    be mapped to 0, but you can get the current animation by&lt;br /&gt;
    using the #m message code (if (strequals(#m,walk)) ...)&lt;br /&gt;
  * There is an editor for gani files named 'GraalShop.exe',&lt;br /&gt;
    you can set the file association in the windows explorer&lt;br /&gt;
    to make it easier to open gani files; but you can also&lt;br /&gt;
    edit gani files with text editor&lt;br /&gt;
  * Syntax:&lt;br /&gt;
    setani &amp;lt;aniname&amp;gt;,param1,param2,...;&lt;br /&gt;
     setcharani &amp;lt;aniname&amp;gt;,param1,param2,...;&lt;br /&gt;
    Example: setani walk,; sets the walking animation&lt;br /&gt;
    defined in walk.gani. A gani contains informations&lt;br /&gt;
    about sprites and where to put them in which frame.&lt;br /&gt;
    The gani format:&lt;br /&gt;
    1. Starts with some control commands:&lt;br /&gt;
&lt;br /&gt;
    * SPRITE            0    SPRITES   0   0  24  12 shadow&lt;br /&gt;
        =&amp;gt;   sprite_index image_file   x   y   w   h description&lt;br /&gt;
        this defines a sprite&lt;br /&gt;
      * sprite index: is import for the animation part of&lt;br /&gt;
        gani file which will be described later;&lt;br /&gt;
        each sprite must have an unique sprite index&lt;br /&gt;
      * image file: can be&lt;br /&gt;
        * BODY HEAD HORSE SHIELD SPRITES PICS&lt;br /&gt;
          (those images will taken from the current player),&lt;br /&gt;
        * PARAM1, PARAM2, ... (are set with setani/setcharani),&lt;br /&gt;
        * myimage.png (direct filename)&lt;br /&gt;
      * x,y,width,height: describe which part of the image&lt;br /&gt;
        should be drawn&lt;br /&gt;
      * description: only for the gani editor&lt;br /&gt;
    * DEFAULTPARAMxxx newsword.png - tells the gani editor&lt;br /&gt;
      which image should be used for PARAMxxx (it can also&lt;br /&gt;
      be a number when you want to use the parameter to&lt;br /&gt;
      give a sprite number to animations)&lt;br /&gt;
    * COLOREFFECT     20     1     1     0  0.99&lt;br /&gt;
      =&amp;gt;    sprite_index   red green  blue alpha&lt;br /&gt;
      sets the alpha transparency / colors for the sprite&lt;br /&gt;
    * ZOOMEFFECT      20     5&lt;br /&gt;
      =&amp;gt;    sprite_index  zoom&lt;br /&gt;
      sets the zoom factor for the sprite&lt;br /&gt;
    * LOOP - loops the animation&lt;br /&gt;
    * CONTINUOUS - doesn't restart the animation when you&lt;br /&gt;
      call setani/setcharani again&lt;br /&gt;
    * SINGLEDIRECTION - all four directions use the same&lt;br /&gt;
      animation steps&lt;br /&gt;
&lt;br /&gt;
    2. It follows the animation in&lt;br /&gt;
    ANI&lt;br /&gt;
    ...&lt;br /&gt;
    ANIEND&lt;br /&gt;
      The animation normally contains 4 x animation_step_count lines&lt;br /&gt;
      of sprite defintions. Each line contains of a list of &lt;br /&gt;
      sprite positions:&lt;br /&gt;
    sprite_index dx dy, sprite_index dx dy, ...&lt;br /&gt;
      * sprite index: the defined sprite with the specified sprite&lt;br /&gt;
        index should be drawn (can also be PARAM1, PARAM2 etc.)&lt;br /&gt;
      * dx: horizontal difference to the player-x coordinate&lt;br /&gt;
      * dy: vertical difference to the player-y coordinate&lt;br /&gt;
    After each frame (which means 4 lines in normal animations&lt;br /&gt;
    and 1 line in a SINGLEDIRECTION animation) you can add following&lt;br /&gt;
    commands:&lt;br /&gt;
    WAIT &amp;lt;waittime&amp;gt; - repeats the last frame &amp;lt;waittime&amp;gt; times&lt;br /&gt;
    PLAYSOUND &amp;lt;soundfile&amp;gt; dx dy - plays a wav file from position&lt;br /&gt;
      (playerx+dx,playery+dy) (that defines the posititon where it&lt;br /&gt;
      sounds loudest); this actually works like the npc command 'play'&lt;br /&gt;
      so you can theoretically play midis or avis but that is not&lt;br /&gt;
      recommended&lt;br /&gt;
&lt;br /&gt;
  * See the existing gani files for examples, e.g. idle.gani for&lt;br /&gt;
    a very simple animation (it only contains one step)&lt;br /&gt;
  * The gani format has a lot of advantages:&lt;br /&gt;
    * it means less network traffic (because you can replace tons of&lt;br /&gt;
      showimg with one call to setani/setcharani)&lt;br /&gt;
    * you can do a lot more than with showimg&lt;br /&gt;
    * it's easier to make complex animations with it&lt;br /&gt;
    * in the online mode the player animations look less&lt;br /&gt;
      laggy because the animation continues even if the&lt;br /&gt;
      connection is slow&lt;br /&gt;
    * you can hear what other people do like they were playing&lt;br /&gt;
      on your computer because sound effects are included in&lt;br /&gt;
      the gani file&lt;br /&gt;
    * you can change the default player animations like dead.gani&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 files are now automatically downloaded again from the server when&lt;br /&gt;
  they have been updated on the server&lt;br /&gt;
&lt;br /&gt;
 wavs are downloaded from the server too&lt;br /&gt;
&lt;br /&gt;
 when weapon names start with - then you can't see them&lt;br /&gt;
  in the weapons list (might be good for system npcs)&lt;br /&gt;
&lt;br /&gt;
 new npc script variables playerhurtdx and playerhurtdy when the&lt;br /&gt;
  player is hurt (otherwise they are 0)&lt;br /&gt;
&lt;br /&gt;
 new npc script commands 'setgender' and 'setchargender'&lt;br /&gt;
  (paramters: male / female)&lt;br /&gt;
&lt;br /&gt;
 new npc script command setmusicvolume left,right;&lt;br /&gt;
  both values can be between 0 and 1&lt;br /&gt;
&lt;br /&gt;
 signs are dynamic now, you can use message codes like #n in&lt;br /&gt;
  the signs, unknown characters are drawn using a windows font;&lt;br /&gt;
  there is a new message code #K(action) which tell you the&lt;br /&gt;
  key names for the keys (0-up, 1-left, 2-down etc.)  &lt;br /&gt;
&lt;br /&gt;
 head,sword,shield and body images are saved in the right&lt;br /&gt;
  folder (levels/heads, levels/swords etc.) instead of&lt;br /&gt;
  levels/webgifs&lt;br /&gt;
&lt;br /&gt;
 before you can drop items with S+A it checks if there is no&lt;br /&gt;
  wall in front of you&lt;br /&gt;
&lt;br /&gt;
 the npc script command 'stopsound filename;' works now&lt;br /&gt;
&lt;br /&gt;
 there is no error message anymore when you&lt;br /&gt;
  open a file by double-clicking on a .graal file&lt;br /&gt;
  in the windows explorer (file association)&lt;br /&gt;
&lt;br /&gt;
 the script command 'continue' works correctly&lt;br /&gt;
  in while-loops now&lt;br /&gt;
&lt;br /&gt;
 jumping into links shouldn't stuck you&lt;br /&gt;
&lt;br /&gt;
 invisible npcs are non-blocking&lt;br /&gt;
&lt;br /&gt;
 DirectSound and DirectDraw are dynamically loaded,&lt;br /&gt;
  when there is a problem with DirectDraw then&lt;br /&gt;
  the game gives you an error message and closes&lt;br /&gt;
  correctly&lt;br /&gt;
&lt;br /&gt;
 fixed a bug that happened when you do&lt;br /&gt;
  if (playerenters) setlevel &amp;lt;currentlevel&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
 playerlist section 'Staff' instead of 'GPs',&lt;br /&gt;
  there you can also see LATs and FAQs now&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.41 rev1:&lt;br /&gt;
&lt;br /&gt;
 when right-clicking on yourself (online mode)&lt;br /&gt;
  then you will see your own profile + stats&lt;br /&gt;
&lt;br /&gt;
 you can not pause in sparring rooms anymore&lt;br /&gt;
&lt;br /&gt;
 when entering a sparring level then the&lt;br /&gt;
  restart position will be updated (so you&lt;br /&gt;
  restart in the sparring level when you die)&lt;br /&gt;
&lt;br /&gt;
 ad animations are stopped when not visible&lt;br /&gt;
&lt;br /&gt;
 forgot to mention: there are script variables&lt;br /&gt;
  screenwidth and screenheight (pixels) for the&lt;br /&gt;
  visible area which is 640x456 by default;&lt;br /&gt;
  those variables are read-only&lt;br /&gt;
&lt;br /&gt;
 hidden players (script command hideplayer) are&lt;br /&gt;
  now visible on the map again; we might re-enable&lt;br /&gt;
  a real hideplayer thing again but not as long&lt;br /&gt;
  as people can cheat with it&lt;br /&gt;
&lt;br /&gt;
 Alt+1 now saves as png too (like Alt+2)&lt;br /&gt;
&lt;br /&gt;
 when you press M in the editor then the&lt;br /&gt;
  generated map will be saved as png; if you&lt;br /&gt;
  want to use it as map for your playerworld or&lt;br /&gt;
  for the setmap command then you need to convert&lt;br /&gt;
  it to 8 bit colors before using it in the game&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.41:&lt;br /&gt;
&lt;br /&gt;
 shooting arrows only takes half the time&lt;br /&gt;
&lt;br /&gt;
 there is an ap bar under the ASD thing &lt;br /&gt;
&lt;br /&gt;
 a rating system for fights in sparring rooms;&lt;br /&gt;
  to make a sparring room you must add an npc&lt;br /&gt;
  with the script 'sparringzone' (no end line&lt;br /&gt;
  characters!) to the level;&lt;br /&gt;
  then the server will see that it's a sparring&lt;br /&gt;
  level and will not change your ap/money and&lt;br /&gt;
  will rate your fighting skills depending on&lt;br /&gt;
  who you kill and who kill you;&lt;br /&gt;
  when you press R then you will see the current&lt;br /&gt;
  ratings over the heads of the players; it shows&lt;br /&gt;
  rating + rating deviation; the rating deviation&lt;br /&gt;
  tells you if the player is fighting often, only&lt;br /&gt;
  players &amp;lt; 80 rating deviation will be listed in&lt;br /&gt;
  the graalonline.com top50; so if you see someone&lt;br /&gt;
  with a rating of 2000 and a rating deviation with&lt;br /&gt;
  330 that means he only had one fight or so, so you&lt;br /&gt;
  can't really trust that he is a good fighter&lt;br /&gt;
  when you are in a sparring room you will see a&lt;br /&gt;
  white 'sparring' on the ap bar&lt;br /&gt;
&lt;br /&gt;
 new option in F1-&amp;gt;General options: fullscreen mode;&lt;br /&gt;
  you can switch to 800x600 and 1024x768;&lt;br /&gt;
  you can get the screen size in npc scripts&lt;br /&gt;
  by reading 'screenwidth','screenheight' (in&lt;br /&gt;
  case you want to align a showimg stats image on&lt;br /&gt;
  the right side of the screen)&lt;br /&gt;
&lt;br /&gt;
 by right-clicking with the mouse on a player&lt;br /&gt;
  you will open the profile of that player;&lt;br /&gt;
  the profile now shows more stuff like the account name&lt;br /&gt;
  and sword power&lt;br /&gt;
&lt;br /&gt;
 the server message of the day can now be&lt;br /&gt;
  HTML&lt;br /&gt;
&lt;br /&gt;
 graal PMs and the server MOTD can contain &lt;br /&gt;
  the new tag &amp;lt;graalmsg&amp;gt;Hallo #n!&amp;lt;/graalmsg&amp;gt;&lt;br /&gt;
  (the text inside the graalmsg tag works like&lt;br /&gt;
  with the npc script command 'message');&lt;br /&gt;
  it is good for making a message which looks&lt;br /&gt;
  more personal &lt;br /&gt;
&lt;br /&gt;
 new npc script command showstats, with this you&lt;br /&gt;
  can show/hide parts of the status bar / game&lt;br /&gt;
  showstats 1+2+4+8+16+32+64+128+256+512+1024; shows all&lt;br /&gt;
  showstats 0; hides all&lt;br /&gt;
  the argument is a bit-wise flag set&lt;br /&gt;
  1 - ASD&lt;br /&gt;
  2 - icons (for rupees, bombs, arrows)&lt;br /&gt;
  4 - rupees count&lt;br /&gt;
  8 - bombs count&lt;br /&gt;
  16 - arrows count&lt;br /&gt;
  32 - hearts&lt;br /&gt;
  64 - alignment (ap) bar&lt;br /&gt;
  128 - magicpoints (mp) bar&lt;br /&gt;
  256 - minimap (you can only hide it, you can't show it when the&lt;br /&gt;
        player pressed Alt+3)&lt;br /&gt;
  512 - inventory npcs&lt;br /&gt;
  1024 - players&lt;br /&gt;
&lt;br /&gt;
 npc weapons can't be deleted when their name starts with a *&lt;br /&gt;
  (e.g. toweapons *Boomerang;)&lt;br /&gt;
&lt;br /&gt;
 there is a new very good designed baddy image:&lt;br /&gt;
  baddyninja.gif from Ulrich Galbraith (Zancrus)&lt;br /&gt;
  (its the one who made some of the graphics for v1.0&lt;br /&gt;
  like the frogs, baddies)&lt;br /&gt;
&lt;br /&gt;
 there are some new tiles for hourse corners and&lt;br /&gt;
  inside house corners&lt;br /&gt;
&lt;br /&gt;
 fixed a bug with negative rupees when dropping&lt;br /&gt;
  rupees while being in the bank&lt;br /&gt;
&lt;br /&gt;
 in online mode the positions of showimgs are aligned the&lt;br /&gt;
  same way like the player position; that way its easier to&lt;br /&gt;
  use hideplayer+showimg because you can align it correctly&lt;br /&gt;
  to the shadow of the player (which can't be hidden)&lt;br /&gt;
&lt;br /&gt;
 in online mode when you do showimg+changeimgpart it also&lt;br /&gt;
  works for bigger images now&lt;br /&gt;
&lt;br /&gt;
 the playerlist is sorted again when your nickname&lt;br /&gt;
  is changed (it needs to be updated because the guild&lt;br /&gt;
  might have been changed)&lt;br /&gt;
&lt;br /&gt;
 red gloves will be displayed correctly again&lt;br /&gt;
&lt;br /&gt;
 the default keys will be set/displayed correctly; this &lt;br /&gt;
  was a problem in older versions because e.g. in France &lt;br /&gt;
  you have the A key on a different position on the keyboard;&lt;br /&gt;
  in France it uses now QSD as the default keys for lifting/&lt;br /&gt;
  sword/weapon&lt;br /&gt;
&lt;br /&gt;
 when you start Graal for the first time then the game&lt;br /&gt;
  will try to detect the local language automatically;&lt;br /&gt;
  because some languagexxx.txt files needed to be renamed&lt;br /&gt;
  you might need to change your language manually if you&lt;br /&gt;
  have already played &lt;br /&gt;
&lt;br /&gt;
 'playersays' works correctly now, but keep in mind that&lt;br /&gt;
  its not supported anymore, better use strequals(#c,...)&lt;br /&gt;
&lt;br /&gt;
 fixed a little bug with head icon transparency in 32bit&lt;br /&gt;
&lt;br /&gt;
 showname / ap changing doesn't delete your chat text anymore&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.4:&lt;br /&gt;
&lt;br /&gt;
 new starting window&lt;br /&gt;
  It should be simpler now, when you select 2/3/4 player mode&lt;br /&gt;
  then you can choose the player to change by clicking on the&lt;br /&gt;
  little head icon right to the character selection box;&lt;br /&gt;
  You can also set the nickname separately for each character&lt;br /&gt;
  in 2/3/4 player mode;&lt;br /&gt;
  The account name/password thing was moved to the server list&lt;br /&gt;
&lt;br /&gt;
 server list window&lt;br /&gt;
  When you select 'One Player (online)' as game mode then&lt;br /&gt;
  you will see a server list window that will load a server&lt;br /&gt;
  list from www.graalonline.com and display it in a list;&lt;br /&gt;
  When you click at an entry then it will show you some&lt;br /&gt;
  informations about that server (language, version, homepage etc.);&lt;br /&gt;
  On the lower part of the server list window you see&lt;br /&gt;
  the edit fields for account name and password;&lt;br /&gt;
  click on 'Connect' to connect to the selected server;&lt;br /&gt;
  When you play then you can always open the server list&lt;br /&gt;
  window again by pressing F8 (it will refresh the list&lt;br /&gt;
  automatically)&lt;br /&gt;
&lt;br /&gt;
 password are saved separately for each account name&lt;br /&gt;
&lt;br /&gt;
 new option 'don't save passwords' in the options window&lt;br /&gt;
  (F1-&amp;gt;General Options)&lt;br /&gt;
&lt;br /&gt;
 new pk tag system:&lt;br /&gt;
  when having less than 40 alignment points (showap) then&lt;br /&gt;
  you can't increase your power; when you die then you will&lt;br /&gt;
  get 3 hearts back when ap&amp;lt;20, 5 hearts when ap&amp;lt;40 and&lt;br /&gt;
  full power when you die while ap&amp;gt;=40;&lt;br /&gt;
  when you kill someone then your power will decreased&lt;br /&gt;
  by (yourap/20+1)*(otherap/20);&lt;br /&gt;
  when ap&amp;lt;20 then your ap will increase every 30 seconds,&lt;br /&gt;
  when ap&amp;lt;40 then every 2 minutes, ..., when &amp;gt;=80 then&lt;br /&gt;
  every 30 minutes (no 90 ap limit anymore)&lt;br /&gt;
&lt;br /&gt;
 There is better pk recognition:&lt;br /&gt;
  When you kill someone with bomb/arrows/fire/bushes then&lt;br /&gt;
  it will count as player-killing too&lt;br /&gt;
&lt;br /&gt;
 New script stuff&lt;br /&gt;
  * New command: changeimgvis index,drawingheight;&lt;br /&gt;
    changes the drawing height of a showimg image;&lt;br /&gt;
    possible values for 'drawingheight':&lt;br /&gt;
    * 0: like drawunderplayer&lt;br /&gt;
    * 1: like the player&lt;br /&gt;
    * 2: like drawoverplayer (default)&lt;br /&gt;
    * 4: on screen (the img will be drawn like the status bar,&lt;br /&gt;
         it will be drawn on the image (x,y) position);&lt;br /&gt;
         so you can make your own status bar thing with&lt;br /&gt;
         this command&lt;br /&gt;
  * When doing showimg with an image index not in 0..199 then&lt;br /&gt;
    it will only be shown local&lt;br /&gt;
  * setimg/setimgpart can be used instead of setgif/setgifpart&lt;br /&gt;
  * The 'in' operator is enhanced. You can now do things like:&lt;br /&gt;
    1,2 in {1,2,3,4,5} - will check if 1 AND 2 are in specified array&lt;br /&gt;
    x in |0,64| - is true when 0&amp;lt;=x&amp;lt;=64&lt;br /&gt;
    x in &amp;lt;0,64&amp;gt; - is true when 0&amp;lt;x&amp;lt;64&lt;br /&gt;
    You can also combine those things, e.g.&lt;br /&gt;
    x,y in &amp;lt;0,10| - is true when 0&amp;lt;x&amp;lt;=10 AND 0&amp;lt;y&amp;lt;=10&lt;br /&gt;
  * putexplosion2 bombpower,radius,x,y;&lt;br /&gt;
    for producing jolt bomb explosions (set bombpower to 3)&lt;br /&gt;
  * New command: setbody bodyimg;&lt;br /&gt;
    This is a nice command: with this you can change&lt;br /&gt;
    the body of the player, e.g. setbody body2.png&lt;br /&gt;
    (body2.png is included in v1.4, its from Antago,&lt;br /&gt;
    body3.png is from Loriel)&lt;br /&gt;
    You can also use the #8 message code to change&lt;br /&gt;
    the body img (setplayerprop #8,body2.png or&lt;br /&gt;
    setcharprop #8,body2.png);&lt;br /&gt;
  * npcs[index].attr and compus[index].attr can be changed&lt;br /&gt;
&lt;br /&gt;
 better hacking protection&lt;br /&gt;
&lt;br /&gt;
 explosion radius is limited to 15 (hack protection)&lt;br /&gt;
&lt;br /&gt;
 script command setlevel2 works with floating point values for x/y&lt;br /&gt;
&lt;br /&gt;
 you can lay down shields again&lt;br /&gt;
&lt;br /&gt;
 Because many people had problems with the music thing&lt;br /&gt;
  there are some things chanegd/optimized:&lt;br /&gt;
  * dynamic loading of mediaplayer (so when you turn&lt;br /&gt;
    off music support then it will not load it)&lt;br /&gt;
  * winamp support -&amp;gt; option 'use winamp for music'&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.39rev2:&lt;br /&gt;
&lt;br /&gt;
 removed bugs with caching levels on hard disk,&lt;br /&gt;
  this version should work better with playerworld&lt;br /&gt;
  servers running on different ports&lt;br /&gt;
&lt;br /&gt;
 when someone is invisible (hideplayer) then you still&lt;br /&gt;
  see his shadow and nickname&lt;br /&gt;
&lt;br /&gt;
 npc script enhancements:&lt;br /&gt;
  * functions&lt;br /&gt;
    Example:&lt;br /&gt;
&lt;br /&gt;
    if (playerenters) {&lt;br /&gt;
      myfunc();&lt;br /&gt;
      playerdarts += 50;&lt;br /&gt;
    }&lt;br /&gt;
    function myfunc() {&lt;br /&gt;
      message Hello!;&lt;br /&gt;
      if (playerrupees&amp;lt;50) return;&lt;br /&gt;
      playerbombs += 50;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    With 'function' you define a function, with&lt;br /&gt;
    funcname() you call it. It doesn't matter at what&lt;br /&gt;
    place in the script you define the function. With&lt;br /&gt;
    'return' you immediatelly return to one line behind the&lt;br /&gt;
    caller script position.&lt;br /&gt;
    There are no function parameters yet and you cannot&lt;br /&gt;
    use it in calculations. You can only call functions&lt;br /&gt;
    from the same script.&lt;br /&gt;
    With this new function thing it's much easier to&lt;br /&gt;
    make scripts look simplier.&lt;br /&gt;
&lt;br /&gt;
  * new npc script variables: signscount, signs[index].x/.y&lt;br /&gt;
  * testsign(x,y)&lt;br /&gt;
  * callnpc index,playertouchsme; you can use this for&lt;br /&gt;
    calling the scripts of other npcs; calling that function&lt;br /&gt;
    doesn't run the npc's script immediatelly, it might take&lt;br /&gt;
    0.05 till the script of the other npc is actually executed&lt;br /&gt;
  * a function keydown(0..10) which tells you if a key is pressed&lt;br /&gt;
    0..3: movement, 4..6 A/S/D, 7 map, 8 tab, 9 Q, 10 P&lt;br /&gt;
  * you can use break, continue inside of loops to&lt;br /&gt;
    end a loop / continue with the next loop round&lt;br /&gt;
  * you can do myvar = (timeout? 5 : 3);&lt;br /&gt;
  * you can assign 'boolean' operation results to normal variables&lt;br /&gt;
    like myvar = (timeout &amp;amp;&amp;amp; myflag);&lt;br /&gt;
    then myvar is 1 when the boolean expression 'timeout &amp;amp;&amp;amp; myflag'&lt;br /&gt;
    is true, 0 otherwise&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.39rev1:&lt;br /&gt;
&lt;br /&gt;
 fixed a bug with transparent heads when starting Graal in 32bit&lt;br /&gt;
  video mode and switching to fullscreen&lt;br /&gt;
&lt;br /&gt;
 when sending messages to more than 50 people then the message&lt;br /&gt;
  will not be saved on hard disk (so it doesn't take a half minute till&lt;br /&gt;
  you can play again)&lt;br /&gt;
&lt;br /&gt;
 when viewing a profile of a player then you also see the&lt;br /&gt;
  kills/deaths/onlinetime that the player has in the current world;&lt;br /&gt;
  you only see it when the player already made a profile (pushed the&lt;br /&gt;
  'send' button in the profile window)&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;applet&amp;gt; tags in PMs doesn't work anymore&lt;br /&gt;
  &lt;br /&gt;
New features/bug fixes in v1.39:&lt;br /&gt;
&lt;br /&gt;
 completely different handling of head images, this should speed up&lt;br /&gt;
  Graal and drastically reduce the resources needed by the game&lt;br /&gt;
&lt;br /&gt;
 Profiles: In the player list click on 'profile' to change&lt;br /&gt;
  your own profile or right-click on a nickname and select 'profile'&lt;br /&gt;
  to see the profile of a player&lt;br /&gt;
  (Antago suggested profiles in Dec 1999)&lt;br /&gt;
&lt;br /&gt;
 there is a special option window for the player list: just&lt;br /&gt;
  click on the 'options' button in the player list; there&lt;br /&gt;
  is the option to turn off HTML in PMs, to ignore mass PMs&lt;br /&gt;
  plus two new options:&lt;br /&gt;
  * No images in HTML: deletes &amp;lt;img&amp;gt; tags out of PMs&lt;br /&gt;
  * sort player list by nickname: sorts the playerlist in alphabetically order&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;script&amp;gt; and &amp;lt;object&amp;gt; tags in PMs doesn't work anymore&lt;br /&gt;
&lt;br /&gt;
 New options in the Graal-&amp;gt;F1-&amp;gt;More options window:&lt;br /&gt;
  * Ignore toalls: doesn't show 'toall:' messages anymore&lt;br /&gt;
  * Don't load heads for the playerlist / map: the game will&lt;br /&gt;
    not load the head image for the icon of a player for drawing&lt;br /&gt;
    it on the playerlist / map; all players will have the head&lt;br /&gt;
    of you except players which were in your level when they&lt;br /&gt;
    connected to the server (so the head needs to be loaded anyway);&lt;br /&gt;
    this reduces the login time / lag while the game because&lt;br /&gt;
    the game doesn't need to load images so often&lt;br /&gt;
&lt;br /&gt;
 When you type in chat text, then you can go back to&lt;br /&gt;
  previous messages by pressing the UP key; you can navigate&lt;br /&gt;
  through the last 100 chat lines by pressing UP and DOWN;&lt;br /&gt;
  when you edit a line or press RETURN then it will became your&lt;br /&gt;
  current chat line&lt;br /&gt;
&lt;br /&gt;
 in the editor you can 'draw' with tiles - select a single&lt;br /&gt;
  tile in the tiles panel, then click on the level, hold&lt;br /&gt;
  the left mouse button down, move around; you will paste tiles&lt;br /&gt;
  till you release the left mouse button&lt;br /&gt;
&lt;br /&gt;
 In 2/3/4 player mode: when you open the weapons list and press the key 'Delete',&lt;br /&gt;
  then the selected weapon of the currently 'focused' player will be deleted&lt;br /&gt;
  instead of the selected weapon of the first player;&lt;br /&gt;
  the focused player is that player who has the 'chat' icon near his status bar and&lt;br /&gt;
  can be changed by clicking with the mouse on the visible screen area of a player&lt;br /&gt;
&lt;br /&gt;
 you don't see 'failed' when warped between levels of a player world anymore&lt;br /&gt;
&lt;br /&gt;
 faster sending of messages to the server&lt;br /&gt;
&lt;br /&gt;
 removed some problems with floating point values in the npc scripts&lt;br /&gt;
  (e.g. 0.1+0.1+0.1-0.1-0.1-0.1 is now 0)&lt;br /&gt;
&lt;br /&gt;
 the M map shows a normal head for you too instead of a stretched&lt;br /&gt;
  player which sometimes freezed Graal&lt;br /&gt;
&lt;br /&gt;
 the M map is much faster (no drawing in the background anymore)&lt;br /&gt;
&lt;br /&gt;
 dead people are non-blocking&lt;br /&gt;
&lt;br /&gt;
 on the minimap PM-icons are drawn above toall-icons&lt;br /&gt;
&lt;br /&gt;
 the filenames for PMs on the hard disk have been changed to&lt;br /&gt;
  allow special characters like '\' or '/' in the account name;&lt;br /&gt;
  you should delete the old PMs in the pms folder if you already&lt;br /&gt;
  have a lot of files there, otherwise Windows could get&lt;br /&gt;
  problems with it&lt;br /&gt;
&lt;br /&gt;
 the weapon list (Q) is drawn using the function which also draws&lt;br /&gt;
  signs and the Continue/End window, so it works correctly&lt;br /&gt;
  with custom letters.gif (setletters); the background of&lt;br /&gt;
  the selected weapon is still blue&lt;br /&gt;
&lt;br /&gt;
 the weapon lists of player 3 / 4 are scrolled down too&lt;br /&gt;
  when it gets too big&lt;br /&gt;
&lt;br /&gt;
 by mouse-clicking on a weapon in the weapon list you can&lt;br /&gt;
  directly select a weapon without needing to navigate with the&lt;br /&gt;
  arrow keys&lt;br /&gt;
&lt;br /&gt;
 added some tiles and corrected the tile type for the&lt;br /&gt;
  dirty water; the futuric house tiles weren't added yet&lt;br /&gt;
  (must find a way to get around the 2MB-image limit)&lt;br /&gt;
&lt;br /&gt;
 you can directly drag image files (gif/png/mng) onto a level;&lt;br /&gt;
  the game will automatically generate an npc with that image&lt;br /&gt;
  at the mouse position&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.38rev1:&lt;br /&gt;
&lt;br /&gt;
 there is the new option 'don't connect levels' in the option&lt;br /&gt;
  window (Graal-&amp;gt;F1-&amp;gt;More options); if you enable that&lt;br /&gt;
  option, then you only see one level when walking through&lt;br /&gt;
  outside levels; this also means less data to send / receive,&lt;br /&gt;
  so enable that option if you have problems with lag in regions&lt;br /&gt;
  with many players like Graal city&lt;br /&gt;
&lt;br /&gt;
 fixed the warping (was a problem with empty signs)&lt;br /&gt;
&lt;br /&gt;
 the 'bombs' attribute of npcs works again&lt;br /&gt;
&lt;br /&gt;
 fixed the alignment bug with npcs (were sometimes drawn&lt;br /&gt;
  one pixel beside the real postition)&lt;br /&gt;
&lt;br /&gt;
 normal animation speed when walking diagonally&lt;br /&gt;
&lt;br /&gt;
 dragging a selection half out of the regular 64x64 area doesn't&lt;br /&gt;
  mess it up&lt;br /&gt;
&lt;br /&gt;
 the function to retrieve the message code doesn't&lt;br /&gt;
  hang on some codes like the previous version&lt;br /&gt;
  (e.g. when you say '#c' on the Mantara statue machine)&lt;br /&gt;
&lt;br /&gt;
 your horse doesn't get a bush when it eats a bomb&lt;br /&gt;
&lt;br /&gt;
 added caching of up to 50 toall-messages for each player;&lt;br /&gt;
  when a player sends several toall-messages in short time&lt;br /&gt;
  then you can see all of them by clicking several times&lt;br /&gt;
  on the toall-bubble of that player;&lt;br /&gt;
  this feature has been added to make future Graal extensions&lt;br /&gt;
  like a separate chat client possible&lt;br /&gt;
&lt;br /&gt;
 the new water tiles from v1.38 are now recognized as water tiles&lt;br /&gt;
&lt;br /&gt;
 forgot to mention: there is a new flag 'isonmap' which tells you&lt;br /&gt;
  if the player is currently in a level which is showed on the M map&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.38:&lt;br /&gt;
&lt;br /&gt;
 jailed people can write PMs to RCs&lt;br /&gt;
&lt;br /&gt;
 'setnick nickname' command on the server&lt;br /&gt;
&lt;br /&gt;
 'warpto x y levelname' or only 'warpto x y' - commands&lt;br /&gt;
  for GPs on the server&lt;br /&gt;
&lt;br /&gt;
 when logging in with the account name as nickname&lt;br /&gt;
  then you get a * before your name which shows that you&lt;br /&gt;
  are the owner of the account, other people can't have&lt;br /&gt;
  have that name;&lt;br /&gt;
  Example: You have the account name Stefan, setting&lt;br /&gt;
  nick name to 'Stefan', then the server will change it&lt;br /&gt;
  to '*Stefan'; other people can't have the nick name&lt;br /&gt;
  '*Stefan'&lt;br /&gt;
&lt;br /&gt;
 PMs are saved on hard disk with date and time; they are&lt;br /&gt;
  saved to the 'pms' folder; when you click on the&lt;br /&gt;
  'history' button in the player list then the messages&lt;br /&gt;
  will be loaded from that files; when you 'ignore' someone&lt;br /&gt;
  then his messages will be deleted; you can also delete&lt;br /&gt;
  them manually if you want (delete pms/messages_accountname.txt)&lt;br /&gt;
&lt;br /&gt;
 you can't dupe items (rupees) anymore, because when&lt;br /&gt;
  you get the item then the server increases your rupee&lt;br /&gt;
  count (in case no one else has taken the item yet)&lt;br /&gt;
&lt;br /&gt;
 with pressing Ctrl+A/B/D/E/F/G/H/L/M/O/P/R/S/T/W/X/Z you&lt;br /&gt;
  can display an emotion icon, the icons for brb (B),&lt;br /&gt;
  afk (A), zZ (Z) will be displayed till you move;&lt;br /&gt;
  the emotion icons were made by Ibonic, MrHack and Linkson&lt;br /&gt;
&lt;br /&gt;
 a gif2mng converter for command line use;&lt;br /&gt;
  do 'gif2mng filename.gif', it will create an 8bit png&lt;br /&gt;
  or mng (=png animation); the mngs are not optimized yet,&lt;br /&gt;
  so they will be bigger than gif animations, but we are&lt;br /&gt;
  working on it&lt;br /&gt;
&lt;br /&gt;
 better support for mng files &lt;br /&gt;
&lt;br /&gt;
 New npc script commands/functions:&lt;br /&gt;
  * onwater(x,y) - tells you if (x,y) is water&lt;br /&gt;
  * testcompu(x,y), testplayer(x,y), testnpc(x,y), testitem(x,y),&lt;br /&gt;
    testbomb(x,y), testexplo(x,y), testhorse(x,y) tests if there is&lt;br /&gt;
    and object on (x,y) and gives you the index of that object&lt;br /&gt;
    in the object list, otherwise it returns -1 (except testplayer:&lt;br /&gt;
    returns -2 because -1 means the current npc character);&lt;br /&gt;
    Example:&lt;br /&gt;
      i = testbomb(x,y);&lt;br /&gt;
      if (i&amp;gt;=0) explodebomb i;&lt;br /&gt;
  * you can do 'if (myvar in {1,2,3})' or 'if (array1==array2)'&lt;br /&gt;
  * changeimgpart index,x,y,width,height - changes the&lt;br /&gt;
    visible part of a 'showimg' image; it will be reset&lt;br /&gt;
    to the whole image when calling showimg again&lt;br /&gt;
  * you can access npcs[index].&amp;lt;attributename&amp;gt; variables (read/write):&lt;br /&gt;
    x,y,width,height(fields not pixels),rupees,darts,bombs,&lt;br /&gt;
    hearts,timeout,glovepower,swordpower,shieldpower,hurtdx,&lt;br /&gt;
    hurtdy,id,save[],dir,sprite,ap&lt;br /&gt;
  * new command 'hitnpc index,halfhearts,fromx,fromy'&lt;br /&gt;
  * setlevel2 levelname,x,y&lt;br /&gt;
  * some calculations of variables and boolean expressions are&lt;br /&gt;
    optimized/precalculated, like '1==1' will be converted to&lt;br /&gt;
    'true'&lt;br /&gt;
  * the 'Test' button gives you more error messages when&lt;br /&gt;
    you type variable names wrong&lt;br /&gt;
&lt;br /&gt;
 'only' 1024 explosions will be displayed&lt;br /&gt;
&lt;br /&gt;
 new color 'transparent'&lt;br /&gt;
&lt;br /&gt;
 you can change the keys by editing graalconfig.txt, there&lt;br /&gt;
  can be 3 different keys for each action, each key can only&lt;br /&gt;
  be used one time; only some keys can be used:&lt;br /&gt;
  A-Z,0-9,Tab,Enter,Shift,Space,P_Up (page up),P_Down (page down),&lt;br /&gt;
  Up,Left,Down,Right,N0-N9 (numpad 0-9),Add,Sub,Mul,Div,Dec&lt;br /&gt;
  (numpad +,-,*,/,.), F9-F15;&lt;br /&gt;
  in future Graal versions there will be a special window where&lt;br /&gt;
  you can change the keys and the joystick buttons&lt;br /&gt;
&lt;br /&gt;
 when you lay your shield down then other people can see&lt;br /&gt;
  that you don't have a shield anymore&lt;br /&gt;
&lt;br /&gt;
 the M map is displayed in the vertical middle of the screen&lt;br /&gt;
  when it is smaller than the screen&lt;br /&gt;
&lt;br /&gt;
 better level linking when walking on outside levels (no&lt;br /&gt;
  invisible walls)&lt;br /&gt;
&lt;br /&gt;
 the F6 debugger shows bombscount, npcscount etc.&lt;br /&gt;
&lt;br /&gt;
 when opening the maximized editor then the scrollbars will&lt;br /&gt;
  be resized correctly&lt;br /&gt;
&lt;br /&gt;
 empty lines at the end of signs will automatically be deleted&lt;br /&gt;
&lt;br /&gt;
 In the editor: when moving the mouse then in the status bar&lt;br /&gt;
  you see the mouse posiiton and the tile under the mouse&lt;br /&gt;
&lt;br /&gt;
 In the editor: when double-clicking then the tile under the mouse&lt;br /&gt;
  will be made to the background tile (like when double-clicking&lt;br /&gt;
  in the tiles panel)&lt;br /&gt;
&lt;br /&gt;
 in the starting window: the languages in the languages combo box&lt;br /&gt;
  are sorted alphabetically&lt;br /&gt;
&lt;br /&gt;
 when pressing F5 in the online mode and loading a non-&lt;br /&gt;
  existing level then the game shows an error message and closes&lt;br /&gt;
  instead of letting you play the level that you was in&lt;br /&gt;
&lt;br /&gt;
 you can lift an npc that is carried by another player&lt;br /&gt;
&lt;br /&gt;
 when you eat a bush with the horse then you will only get a the&lt;br /&gt;
  bush count increased when you have finished eating&lt;br /&gt;
&lt;br /&gt;
 the flags 'gotbow','gotsword' etc. aren't supported anymore&lt;br /&gt;
&lt;br /&gt;
 in the offline mode the baddies doesn't follow you to other levels&lt;br /&gt;
  anymore&lt;br /&gt;
&lt;br /&gt;
 in the npc script window the font name is now 'courier new'&lt;br /&gt;
&lt;br /&gt;
 when pressing 'Test' in the npc script window then it doesn't&lt;br /&gt;
  jump back to the beginning of the script&lt;br /&gt;
&lt;br /&gt;
 in the online mode other people doesn't look like&lt;br /&gt;
  they are jumping randomly around when going to another level&lt;br /&gt;
&lt;br /&gt;
 using the sword on an npc / calling the hitplayer command doesn't&lt;br /&gt;
  change the timeout variable of the npc, the sprite will only be&lt;br /&gt;
  set to 39 if hearts&amp;gt;0, the hearts will only be decreased if&lt;br /&gt;
  the sprite is not 39 or 40&lt;br /&gt;
&lt;br /&gt;
 the editor doesn't produce errors when you drag a selection&lt;br /&gt;
  outside the regular 64x64 area&lt;br /&gt;
&lt;br /&gt;
 some new tiles in pics1.png&lt;br /&gt;
&lt;br /&gt;
 a lot more (little bug fixes)&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.37rev1:&lt;br /&gt;
&lt;br /&gt;
 only for GPs: the remotecontrol has been updated,&lt;br /&gt;
  you can write PMs / toalls, players can see you in the&lt;br /&gt;
  player list with a (RC) guild tag&lt;br /&gt;
&lt;br /&gt;
 fixed the hide/show command for 'showcharacter' npcs&lt;br /&gt;
&lt;br /&gt;
 fixed a problem with invisible bodies when changing the window&lt;br /&gt;
  mode&lt;br /&gt;
&lt;br /&gt;
 the npc baddies are more intelligent when hunting the player&lt;br /&gt;
&lt;br /&gt;
 when moving the mouse over the minimap then the&lt;br /&gt;
  nicknames (displayed in a yellow hint window) doesn't&lt;br /&gt;
  hide the toalls anymore&lt;br /&gt;
&lt;br /&gt;
 in the debugger 'else if' is displayed correctly (green)&lt;br /&gt;
&lt;br /&gt;
 when pressing F6 in fullscreen then the debugger will be&lt;br /&gt;
  resized to screen size&lt;br /&gt;
&lt;br /&gt;
 with Alt+8/Alt+9 you can zoom in/out; this is only&lt;br /&gt;
  a feature just for fun&lt;br /&gt;
&lt;br /&gt;
 when a gif image doesn't have a transparent color, then&lt;br /&gt;
  black is taken as transparent color again; I have only&lt;br /&gt;
  re-added for compability with older levels;&lt;br /&gt;
  pngs are still only drawn transparent when a transparent&lt;br /&gt;
  color is specified (the first color index with full transparency)&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.37:&lt;br /&gt;
&lt;br /&gt;
 many small bug fixes and improvements (e.g. support for&lt;br /&gt;
  non-transparent pngs, support for 4bit-pngs with odd width,&lt;br /&gt;
  the tiles list is resized to the window size,&lt;br /&gt;
  when using the sword while riding on a horse then the&lt;br /&gt;
  horse is animated instead of looking like standing still)&lt;br /&gt;
&lt;br /&gt;
 no crash when editing an npc which has an 'if ()' in the&lt;br /&gt;
  script (empty boolean expression)&lt;br /&gt;
&lt;br /&gt;
 throwing tons of bombs doesn't crash the game anymore&lt;br /&gt;
  (it crashed when two of your bombs were flying at the same&lt;br /&gt;
  time)&lt;br /&gt;
&lt;br /&gt;
 the sound effects system has been changed: the sound effects&lt;br /&gt;
  are played with different volumes depending on the distance to&lt;br /&gt;
  the player&lt;br /&gt;
&lt;br /&gt;
 the script command 'showimg' works for normal npcs too;&lt;br /&gt;
  but only the current player can see it&lt;br /&gt;
&lt;br /&gt;
 new npc commands:&lt;br /&gt;
  * carryobject - carries an object, only works for 'showcharacter' npcs;&lt;br /&gt;
    see commands.rtf for a complete list of possible object names&lt;br /&gt;
  * throwcarry - throws the object&lt;br /&gt;
  * playlooped - plays a wav file looped&lt;br /&gt;
  * stopsound - stops playing a (looped) wav file&lt;br /&gt;
&lt;br /&gt;
 message codes can finally use ALL variables, so it's now&lt;br /&gt;
  possible to do message #v(rupees) #v(this.myvar);&lt;br /&gt;
&lt;br /&gt;
 when doing setarray on a variable which is already an array&lt;br /&gt;
  variable, then the array will only be resized and the previous content&lt;br /&gt;
  copied to the new array&lt;br /&gt;
&lt;br /&gt;
 you can initialize arrays by doing 'myarr = {var1,var2,..,varN};'&lt;br /&gt;
&lt;br /&gt;
 there are now built-in flags 'true' and 'false'&lt;br /&gt;
&lt;br /&gt;
 with 'hasweapon(weaponname)' you can check if the player has&lt;br /&gt;
  a special weapon&lt;br /&gt;
&lt;br /&gt;
 when you get a fullheart then the flag 'gotheart_currentlevelname'&lt;br /&gt;
  is set; so you don't need to set such a flag manually in your npc scripts&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.36:&lt;br /&gt;
&lt;br /&gt;
 the server can now hold up to 28000 players instead of 220&lt;br /&gt;
&lt;br /&gt;
 you can limit the lenght of nicknames in the option window&lt;br /&gt;
  (Graal-&amp;gt;F1-&amp;gt;More options)&lt;br /&gt;
&lt;br /&gt;
 fixed a bomb-dropping bug&lt;br /&gt;
&lt;br /&gt;
 there is no error message anymore when there is no sound card&lt;br /&gt;
&lt;br /&gt;
 the TWebBrowser class (for HTML PMs) is loaded dynamically,&lt;br /&gt;
  so people who don't have Internet Explorer can PM again&lt;br /&gt;
&lt;br /&gt;
 when you select a player in the player list then you see his&lt;br /&gt;
  nickname displayed on the M map&lt;br /&gt;
&lt;br /&gt;
 in the editor you cannot select fields which are outside the level anymore&lt;br /&gt;
&lt;br /&gt;
 when you press F4 while the debugger frame is open then the game &lt;br /&gt;
  doesn't crash when you press F6 again &lt;br /&gt;
&lt;br /&gt;
 showtimer works for 'showcharacter' npcs too; the amount of money&lt;br /&gt;
  is shown over the npc's head when it got some&lt;br /&gt;
&lt;br /&gt;
 there are a lot of new variables and script functions that let you access&lt;br /&gt;
  objects in the current level; the variables can only be read, not changed;&lt;br /&gt;
  if you think changing the variables would be good for some effects then&lt;br /&gt;
  let me know which variables you want to access (bomber@graalonline.com);&lt;br /&gt;
  here a short list of the new stuff (for more read npcprogramming.doc):&lt;br /&gt;
    bombs[index].x/y/power/time&lt;br /&gt;
    arrows[index].x/y/dir/dx/dy/type/from&lt;br /&gt;
    items[index].x/y/type/time&lt;br /&gt;
    explos[index].x/y/power/time/dir&lt;br /&gt;
    horses[index].x/y/dir/bushes/bombs/bombpower/type&lt;br /&gt;
    removebomb index;&lt;br /&gt;
    removearrow index;&lt;br /&gt;
    removeitem index;&lt;br /&gt;
    removeexplo index;&lt;br /&gt;
    removehorse index;&lt;br /&gt;
    explodebomb index;&lt;br /&gt;
    reflectarrow index;&lt;br /&gt;
    takehorse index;&lt;br /&gt;
    take2 index;&lt;br /&gt;
    lay2 itemname,x,y;&lt;br /&gt;
    takeplayerhorse;&lt;br /&gt;
  In future Graal versions there will be also ways to access the attributes&lt;br /&gt;
  of other npcs&lt;br /&gt;
&lt;br /&gt;
 the script editor shows an error message when a command&lt;br /&gt;
  gets too many parameters&lt;br /&gt;
&lt;br /&gt;
 message codes can be used with the setstring command and inside&lt;br /&gt;
  #s()/#v() codes; here a little example:&lt;br /&gt;
    i = 3;&lt;br /&gt;
    setstring testvar#v(i)yeah, 5;&lt;br /&gt;
    j = strtofloat(#s(testvar#v(i)yeah));&lt;br /&gt;
  You get j=3. You see that you can simulate arrays of&lt;br /&gt;
  string variables by appending a number to the string variable.&lt;br /&gt;
  A second example:&lt;br /&gt;
    var3 = 7;&lt;br /&gt;
    k = strtofloat(#v(var#v(i)));&lt;br /&gt;
  You get k=7. That way you can access nomal variables like they&lt;br /&gt;
  were array variables, although it might be a lot slower than &lt;br /&gt;
  accessing normal arrays. &lt;br /&gt;
&lt;br /&gt;
 you can use message codes for filenames; you already could&lt;br /&gt;
  do that in previous versions, but now the editor doesn't check for&lt;br /&gt;
  the file when the filename contains a # (and doesn't show an&lt;br /&gt;
  error message when the file doesn't exist)&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.35:&lt;br /&gt;
&lt;br /&gt;
 removed the screenshot-bug (Alt+2)&lt;br /&gt;
&lt;br /&gt;
 you can drag text files onto the editor again (to place npcs);&lt;br /&gt;
  it crashed Graal in v1.34&lt;br /&gt;
&lt;br /&gt;
 you can have two characters with the same head image in headsconfig.txt&lt;br /&gt;
&lt;br /&gt;
 the server startup message is only displayed once; it's saved to&lt;br /&gt;
  servermessage.rtf&lt;br /&gt;
&lt;br /&gt;
 you can see toalls when in pause mode&lt;br /&gt;
&lt;br /&gt;
 PMs are now displayed with HTML; links are automatically added &lt;br /&gt;
  when you write 'www...';&lt;br /&gt;
  if you have problems with this new feature, then you can turn &lt;br /&gt;
  HTML off in the options window (Graal-&amp;gt;F1-&amp;gt;More Options)&lt;br /&gt;
&lt;br /&gt;
 the default joystick selection for player 2/3/4 is '(none)'&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.34 rev1:&lt;br /&gt;
&lt;br /&gt;
 the player list works similar to v1.33 again; there is now a special&lt;br /&gt;
  'buddy' part in the player list; to move players to that section right-click&lt;br /&gt;
  on a name and click on 'buddy'; the account names of the buddies are&lt;br /&gt;
  saved in the file buddyaccounts.txt in the Graal folder&lt;br /&gt;
&lt;br /&gt;
 when you are hit by a healing sword or similar 'hurting' device then your horse&lt;br /&gt;
  doesn't loose power (bushes)&lt;br /&gt;
&lt;br /&gt;
 you can use message codes when doing setplayerprop #Cx and &lt;br /&gt;
  setcharprop #Cx&lt;br /&gt;
&lt;br /&gt;
 when sending player positions the x/y positions will be rounded&lt;br /&gt;
  instead of truncated; this solves some problems in sparring fights where&lt;br /&gt;
  players coming from down/right cannot hurt other players easier anymore&lt;br /&gt;
&lt;br /&gt;
 super bombs will be displayed correctly when carried&lt;br /&gt;
&lt;br /&gt;
 in the editor you can press 'M' to make a map of the current bigmap levels&lt;br /&gt;
&lt;br /&gt;
 if you carry a player in the two-player mode then he doesn't disappear&lt;br /&gt;
  when an npc does 'hideplayer' on you&lt;br /&gt;
&lt;br /&gt;
 removed a little memory leak that has to do with npc scripts (else statement)&lt;br /&gt;
&lt;br /&gt;
 modal message windows (e.g. error windows) doesn't disappear behind the&lt;br /&gt;
  main Graal window when you switch between tasks&lt;br /&gt;
&lt;br /&gt;
 when pressing D when riding on horse then the script event 'firedonhorse'&lt;br /&gt;
  is fired&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.34:&lt;br /&gt;
&lt;br /&gt;
 the debugger (F6) works now; you can select npcs and set break points&lt;br /&gt;
  by clicking left to a command in the list; the debugger is disabled in &lt;br /&gt;
  online mode&lt;br /&gt;
&lt;br /&gt;
 new npc commands: showlocal, hidelocal, dontblocklocal, blockagainlocal&lt;br /&gt;
&lt;br /&gt;
 when saving screenshots with Alt+2 then the image format PNG is&lt;br /&gt;
  used, that means: 24bit, loss-less, better compression than GIF&lt;br /&gt;
&lt;br /&gt;
 in 2/3/4 player mode you can now change the focused player by clicking&lt;br /&gt;
  on the players view rectangle; if the player is focused, then you see a little&lt;br /&gt;
  'CHAT' right to the D icon; when you type in text, then it will be displayed&lt;br /&gt;
  over the focused player.&lt;br /&gt;
&lt;br /&gt;
 sound effects are now limited to only one sound effect of the same type&lt;br /&gt;
  in the same frame; so when 100 bombs explode at the same moment, then&lt;br /&gt;
  you only hear 1 sound effect; max 8 sound effects are played at the same time;&lt;br /&gt;
  that mass-sfxs messed up many computers.&lt;br /&gt;
&lt;br /&gt;
 midis only loop when they are longer than 10 seconds; actually this should&lt;br /&gt;
  solve some problems with sound cards which doesn't play the file but &lt;br /&gt;
  producing a loop event which then freeze the game&lt;br /&gt;
&lt;br /&gt;
 when you hit someone who is on a horse then his horse looses 1 energy&lt;br /&gt;
  point (1 bush); when it only has 0, then the player will be pushed away &lt;br /&gt;
  from the horse; so you need to eat more bushes to keep your horse fast and&lt;br /&gt;
  healthy&lt;br /&gt;
&lt;br /&gt;
 when you ignore players in the player list then the account name will be saved&lt;br /&gt;
  into ignoredaccounts.txt; when you restart Graal then the other player is&lt;br /&gt;
  still ignored&lt;br /&gt;
&lt;br /&gt;
 when someone ignores your messages then his name turns red in the player list&lt;br /&gt;
&lt;br /&gt;
 you can push/pull npcs which use the showcharacter thing&lt;br /&gt;
&lt;br /&gt;
 you can only pull npcs which did the canbepulled command (instead of canbepushed)&lt;br /&gt;
&lt;br /&gt;
 there is a new script flag 'isweapon' which is true when the npc is an npc weapon&lt;br /&gt;
&lt;br /&gt;
 in offline mode there can ride two players on the same horse; the horse must have&lt;br /&gt;
  5 bushes to be able to carry two players; I plan to enable that feature in the online mode&lt;br /&gt;
  if you like it&lt;br /&gt;
&lt;br /&gt;
 removed a big bug that had to do with loading images from the server&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.33rev1:&lt;br /&gt;
&lt;br /&gt;
 fixed problems with the script command 'destroy'&lt;br /&gt;
&lt;br /&gt;
 removed the old 'seteffect' command&lt;br /&gt;
&lt;br /&gt;
 less memory use (png buffers are freed)&lt;br /&gt;
&lt;br /&gt;
 removed a memory leak caused by explosions&lt;br /&gt;
&lt;br /&gt;
 when message windows are minimized then new message&lt;br /&gt;
  windows will not automatically be minimized  &lt;br /&gt;
&lt;br /&gt;
 when other players are carrying an exploding bomb&lt;br /&gt;
  then it will be displayed correctly&lt;br /&gt;
&lt;br /&gt;
 collision detection for flying objects (bushes etc.) uses &lt;br /&gt;
  the right y-coordinate of the object&lt;br /&gt;
&lt;br /&gt;
 in 2/3/4-player mode: when throwing another player into&lt;br /&gt;
  water then he doesn't disappear&lt;br /&gt;
&lt;br /&gt;
 npc characters can swim&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.33:&lt;br /&gt;
&lt;br /&gt;
 the player list (F7) has now 4 sections (GPs,Guild,Normal,Ignore)&lt;br /&gt;
&lt;br /&gt;
 there is a history button in the message window and player list&lt;br /&gt;
  popup menu; it shows the last 50 messages received from/sent to&lt;br /&gt;
  the other player; the messages will not be saved on hard disk yet&lt;br /&gt;
&lt;br /&gt;
 added PNG support, but only for 16 color /256 color palette images;&lt;br /&gt;
  no support for alpha channel and interlaced images&lt;br /&gt;
&lt;br /&gt;
 removed many memory leaks / ressource leaks&lt;br /&gt;
&lt;br /&gt;
 removed a bug that disconnected the client often at startup&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.32rev4:&lt;br /&gt;
&lt;br /&gt;
 added an option to handle DINPUT.DLL problems (see DINPUTDLLbug.txt for more)&lt;br /&gt;
&lt;br /&gt;
 reconnect works better&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.32rev3:&lt;br /&gt;
&lt;br /&gt;
 when you unpause then the server start message window will automatically&lt;br /&gt;
  be closed&lt;br /&gt;
&lt;br /&gt;
 objects (extras, bombs, etc.) will only be displayed in the right level,&lt;br /&gt;
  not in the nearby levels too&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.32rev2:&lt;br /&gt;
&lt;br /&gt;
 the npc command 'putnpc' doesn't crash the game anymore&lt;br /&gt;
&lt;br /&gt;
 npcs will only be displayed in their levels&lt;br /&gt;
&lt;br /&gt;
 custom letter.gifs look correctly now&lt;br /&gt;
&lt;br /&gt;
 sending PMs doesn't cause problems&lt;br /&gt;
&lt;br /&gt;
 while sending PMs the server will not diconnect you for no movement&lt;br /&gt;
&lt;br /&gt;
New features/bug fixes in v1.32:&lt;br /&gt;
&lt;br /&gt;
 in no-playerkilling levels you can walk through unpaused players&lt;br /&gt;
&lt;br /&gt;
 Alt+1 works correctly without drawing npcs from other levels onto the&lt;br /&gt;
  screenshot&lt;br /&gt;
&lt;br /&gt;
 removed a bug with the backtile (in the editor); when you specify a backtile&lt;br /&gt;
  and press 'New' then a level will be created which has that backtile as background&lt;br /&gt;
&lt;br /&gt;
 npc weapons cannot do 'hide' anymore (caused a freezing bug with the Q window)&lt;br /&gt;
&lt;br /&gt;
 you cannot cheat by editing bigmap.txt anymore&lt;br /&gt;
&lt;br /&gt;
 when you double-click on the Graal window then the game goes to fullscreen&lt;br /&gt;
&lt;br /&gt;
 in the options window (Graal-&amp;gt;F1-&amp;gt;More options) you will find the new&lt;br /&gt;
  option 'Ignore mass messages'&lt;br /&gt;
&lt;br /&gt;
 when reading signs you can scroll back by pressing 'up'&lt;br /&gt;
&lt;br /&gt;
 in the npc script window: when a command has more than one parameter&lt;br /&gt;
  and one of that parameters is wrong, then the right paramter will be highlighted&lt;br /&gt;
&lt;br /&gt;
 you can directly drop an npc script onto the editor: to test it make a text file with&lt;br /&gt;
  the content 'if (playerenters) setgif brother1.gif'; drop it from the windows explorer&lt;br /&gt;
  onto a level in the editor and you will see a new npc&lt;br /&gt;
&lt;br /&gt;
 in the offline mode there is a new start level that explains how to use the controls&lt;br /&gt;
&lt;br /&gt;
 the server sends a 'message of the day' when you login&lt;br /&gt;
&lt;br /&gt;
 the function 'strcontains' doesn't care about capitalization anymore&lt;br /&gt;
&lt;br /&gt;
 F6 doesn't work on the graalonline.com server anymore&lt;br /&gt;
&lt;br /&gt;
 when resizing the editor then npcs on the right side of the screen will be displayed&lt;/div&gt;</summary>
		<author><name>Tyhm</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2002&amp;diff=7571</id>
		<title>Creation/Dev/Releases/Client/NewFeatures2002</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2002&amp;diff=7571"/>
		<updated>2006-11-15T05:15:12Z</updated>

		<summary type="html">&lt;p&gt;Tyhm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;------------------------------------&lt;br /&gt;
New features/bug fixes in v2.17 rev1&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 corrected problems with adapting level&lt;br /&gt;
  heights on 3d terrain&lt;br /&gt;
&lt;br /&gt;
 removed the default map-view animation on&lt;br /&gt;
  Graal Kingdoms when watching the M map&lt;br /&gt;
&lt;br /&gt;
 script command putleaps works on gmaps&lt;br /&gt;
&lt;br /&gt;
 script command showani fixed when called&lt;br /&gt;
  from a weapon script (parameters are&lt;br /&gt;
  correctly used and the animation is animated)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.17&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
This release doesn't contain very big&lt;br /&gt;
new additions, but fixes a lot of little&lt;br /&gt;
things and does little improvements. Most&lt;br /&gt;
major improvements have to do with Graal Kingdoms:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 major speed ups on Graal Kingdoms overworld&lt;br /&gt;
  (drawing of objects, drawing of showimgs)&lt;br /&gt;
&lt;br /&gt;
 level heights are now loaded and stored in the&lt;br /&gt;
  level files instead of the gmap, so making the&lt;br /&gt;
  gmap files less big, allowing to change the&lt;br /&gt;
  heights dynamically (will be enabled on&lt;br /&gt;
  server-side soon), and making the hacking&lt;br /&gt;
  of heights on client-side more harder&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
&lt;br /&gt;
 showani2 finally works&lt;br /&gt;
&lt;br /&gt;
 when you die the screen is correctly&lt;br /&gt;
  made black&lt;br /&gt;
&lt;br /&gt;
 fixed problems with automapping when&lt;br /&gt;
  getting out of the map by wrong links&lt;br /&gt;
  or scripts&lt;br /&gt;
&lt;br /&gt;
 when editing map levels offline then the&lt;br /&gt;
  npcs of near levels are correctly displayed&lt;br /&gt;
  when in game mode&lt;br /&gt;
&lt;br /&gt;
Ganis:&lt;br /&gt;
&lt;br /&gt;
 gani movies work better, PARAMs&lt;br /&gt;
  and ATTRs are correctly loaded&lt;br /&gt;
  (see starting movie of Graal Kingdoms)&lt;br /&gt;
&lt;br /&gt;
 in gani movies you can use message codes&lt;br /&gt;
  in text messages and in the chat text of&lt;br /&gt;
  actors&lt;br /&gt;
&lt;br /&gt;
 gani scripts can access the gani parameters:&lt;br /&gt;
  when you do setani myani,1,2,3; then&lt;br /&gt;
  the script in myani.gani can access the&lt;br /&gt;
  parameters '1','2' and '3' via the&lt;br /&gt;
  message codes #p(0), #p(1) etc.&lt;br /&gt;
&lt;br /&gt;
 when an animation is started again&lt;br /&gt;
  (not continuous) then the gani script&lt;br /&gt;
  gets a 'playerenters' event again&lt;br /&gt;
&lt;br /&gt;
Scripting:&lt;br /&gt;
&lt;br /&gt;
 hideimgs startindex,endindex;&lt;br /&gt;
  hides all images/animations/texts/polygons&lt;br /&gt;
  displayed with showimg/showani/showtext/showpoly&lt;br /&gt;
  that have an index which is&lt;br /&gt;
  startindex&amp;lt;=index&amp;lt;=endindex&lt;br /&gt;
&lt;br /&gt;
 when a projectile lands then the client-side&lt;br /&gt;
  can do effects now too, all weapon scripts can&lt;br /&gt;
  catch the event with if (actionprojectile);&lt;br /&gt;
  the first two paramters (#p(0) and #p(1)) contain&lt;br /&gt;
  the position of the impact, #p(2) etc. are the&lt;br /&gt;
  normal parameters which you have specified with&lt;br /&gt;
  setshootparams before shooting the projectile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.16 rev7&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed body drawing on Atlantis (flat gmaps)&lt;br /&gt;
&lt;br /&gt;
 fixed leaks of disablepause&lt;br /&gt;
&lt;br /&gt;
 editor-map making (M) is working for gmaps&lt;br /&gt;
&lt;br /&gt;
 added the gmap-option NOAUTOMAPPING for disabling&lt;br /&gt;
  auto mapping for certain maps&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.16 rev6&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 speed ups on gmaps (Graal Kingdoms) because&lt;br /&gt;
  the npc list is managed better&lt;br /&gt;
&lt;br /&gt;
 fixed problems with invisble ships on Graal Kingdoms&lt;br /&gt;
&lt;br /&gt;
 fixed showimgs on gmaps&lt;br /&gt;
&lt;br /&gt;
 the z value of showimgs is transferred correctly&lt;br /&gt;
  to other players&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.16 rev5&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the Direct3D options for images drawn with&lt;br /&gt;
  alpha blending or light effects have been fixed&lt;br /&gt;
  so that all images should work correctly now&lt;br /&gt;
&lt;br /&gt;
 the initializing of DirectX has been fixed to&lt;br /&gt;
  work more optimized when switching to fullscreen,&lt;br /&gt;
  possibly be more compatible with some gfx cards&lt;br /&gt;
&lt;br /&gt;
 a 'memory leak' with npcs has been fixed, images&lt;br /&gt;
  of npcs have often not been discarded when leaving a&lt;br /&gt;
  level, possibly making the game slower after some&lt;br /&gt;
  playing, and causing freezing of nvidia gfx cards&lt;br /&gt;
  because of too much use of the gfx card memory&lt;br /&gt;
&lt;br /&gt;
 the script functions screenx/y have been fixed&lt;br /&gt;
  for being used by weapon scripts&lt;br /&gt;
&lt;br /&gt;
 the layer of gani movie actors is set correctly&lt;br /&gt;
&lt;br /&gt;
 the assignment operator /= has been added,&lt;br /&gt;
  so you can now use +=, -=, *=, /=, ++ and --&lt;br /&gt;
&lt;br /&gt;
 the order how operators are parsed has been fixed&lt;br /&gt;
  to match normal mathematical conventions,&lt;br /&gt;
  now 4/2/2 is seen as (4/2)/2, which makes 1,&lt;br /&gt;
  instead of 4/(2/2) which gave the wrong result of 4&lt;br /&gt;
&lt;br /&gt;
 the favourite-quote-field in the profile window uses&lt;br /&gt;
  the same font like the other fields&lt;br /&gt;
&lt;br /&gt;
 when you switch from the tutorial into editor mode&lt;br /&gt;
  via F4 then the classic character and animations are&lt;br /&gt;
  restored&lt;br /&gt;
&lt;br /&gt;
 new script variable isfocused which is set to true (1)&lt;br /&gt;
  when you have currently set a focus via setfocus&lt;br /&gt;
&lt;br /&gt;
 the debugger hint for array members is fixed to only&lt;br /&gt;
  show the value of the member, not the whole array&lt;br /&gt;
&lt;br /&gt;
 the script command setlevel has been fixed; this command&lt;br /&gt;
  should not be used in online levels because there is the&lt;br /&gt;
  better alternative setlevel2&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.16 rev4&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Fixed Direct3D options which messed up&lt;br /&gt;
  light effects on some graphics cards&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.16 rev3&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 DirectX Surfaces are initialized better, this&lt;br /&gt;
  should fix problems with black screen and lights&lt;br /&gt;
  problems in v2.16&lt;br /&gt;
&lt;br /&gt;
 when typing in the chat field the enter key is not &lt;br /&gt;
  unpausing you&lt;br /&gt;
&lt;br /&gt;
 the udp check has been improved so the error&lt;br /&gt;
  message is not poping up so often anymore without&lt;br /&gt;
  a reason&lt;br /&gt;
&lt;br /&gt;
 fixed putexplosion2&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.16 rev2&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Alt+5 doesn't crash Graal anymore&lt;br /&gt;
&lt;br /&gt;
 fixed the text on several labels and buttons&lt;br /&gt;
&lt;br /&gt;
 initializing of DirectX works better, and supports more&lt;br /&gt;
  fullscreen modes&lt;br /&gt;
&lt;br /&gt;
 fixed timer errors&lt;br /&gt;
&lt;br /&gt;
 weapons are initialized correctly on classic servers&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.16 rev1&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed an endless drawing loop when a gani&lt;br /&gt;
  is used as gani attribute and is using itself&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.16&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
This new release mainly brings more ways of using ganis&lt;br /&gt;
(animations), it also brings several speed ups, and more things&lt;br /&gt;
for the serverlist.&lt;br /&gt;
&lt;br /&gt;
Scripting:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 there is now support for real transperency:&lt;br /&gt;
  seteffectmode mode;&lt;br /&gt;
  changeimgmode index,mode;&lt;br /&gt;
  EFFECTMODE sprite mode (gani file command)&lt;br /&gt;
&lt;br /&gt;
  The command seteffectmode can be used to change&lt;br /&gt;
  the way the npc image is drawn when using the&lt;br /&gt;
  setcoloreffect red,green,blue,alpha; command (alpha&amp;lt;1):&lt;br /&gt;
  by default the image colors are added to the graphics&lt;br /&gt;
  below, with the intensity of 'alpha', which makes the&lt;br /&gt;
  image appear like a light since it is making the&lt;br /&gt;
  graphics below appear more bright; now there are different&lt;br /&gt;
  modes:&lt;br /&gt;
  0 - lights (colors are added, alpha specifies intensity)&lt;br /&gt;
  1 - transparency (alpha specifies how much visible)&lt;br /&gt;
  2 - holes (colors are subtracted)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 more 'gani' attributes: #P(10-30)&lt;br /&gt;
  In the so called gani attribues you can store additional&lt;br /&gt;
  player attributes, which can also be used in the animation&lt;br /&gt;
  editor (ATTR1 etc.). On Graal2001 we used them to store&lt;br /&gt;
  the filename of the current hat and for the metris height,&lt;br /&gt;
  on Graal2002 we also store filenames for arms, legs, hairs&lt;br /&gt;
  and the value for the hp display of monsters in those attributes.&lt;br /&gt;
  They can be accessed with 'setplayerprop #P1,value',&lt;br /&gt;
  'setcharprop' and can be read by using #P1..#P9 in text.&lt;br /&gt;
  Because they are quite useful for a lot of things, there&lt;br /&gt;
  was the need for more such attribute fields, so 21 new gani&lt;br /&gt;
  attributes have been added. They can be access with the message&lt;br /&gt;
  code #P(index), index being a value between 1 and 30.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 gani scripts can read all variables/flags now&lt;br /&gt;
  (except this. vars of other npcs and weapons of couse)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 gani scripts are shared between players/npcs having the&lt;br /&gt;
  same gani, meaning less lag and memory taken for parsing scripts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 ganis as gani attributes&lt;br /&gt;
  As described above, you can store several informations in&lt;br /&gt;
  the 'gani attributes' of the players and npcs. Once the&lt;br /&gt;
  attribute is sent to the other players, their Graal will&lt;br /&gt;
  check if the attribute is a special value, e.g. an image&lt;br /&gt;
  filename, and will load it so that the animations of the&lt;br /&gt;
  player can access it and display it.&lt;br /&gt;
  But plain images are quite limited. To make it possible&lt;br /&gt;
  to do more in the animations, they can do gani scripts&lt;br /&gt;
  (put in SCRIPT ... SCRIPTEND commands). So they can&lt;br /&gt;
  display special images or play randomly sound effects.&lt;br /&gt;
  A problem with those scripts is that they get replaced&lt;br /&gt;
  once the animation of the player changes, so if you want&lt;br /&gt;
  e.g. always display special graphics over the head of the&lt;br /&gt;
  player you would need to do it in some weapons script, but&lt;br /&gt;
  those are only run locally.&lt;br /&gt;
&lt;br /&gt;
  So you can now use ganis as 'gani attributes'. You can try it&lt;br /&gt;
  by doing the command&lt;br /&gt;
&lt;br /&gt;
  setplayerprop #P1,tutorial_touch.gani;&lt;br /&gt;
&lt;br /&gt;
  That will display the 'Touch to get information' animation from&lt;br /&gt;
  the wizard of the new starting level on top of the player,&lt;br /&gt;
  so your player now has two animations. Since there are 30&lt;br /&gt;
  'gani attribures', you can display 30 more animations on&lt;br /&gt;
  top of the player, and all other players will see those too.&lt;br /&gt;
  Of course it will not make sense to display 30 tutorial_touch.ganis,&lt;br /&gt;
  but you can probably imagine what possibilities open with that:&lt;br /&gt;
  you can display a bird pet flying around the players head&lt;br /&gt;
  with just one command, and making the gani for the bird of course.&lt;br /&gt;
  As long as the attribute is not changed, the bird will continue&lt;br /&gt;
  to fly. In the script of the bird gani you can also put&lt;br /&gt;
  some sounds.&lt;br /&gt;
  Since gani scripts can read all variables now,&lt;br /&gt;
  you can even put scripts for displaying stats in the gani,&lt;br /&gt;
  and the script doesn't need to be put in a wepaon and sent to&lt;br /&gt;
  the player with each login.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script commands showani and showani2 for&lt;br /&gt;
  displaying animations without adding new npcs&lt;br /&gt;
&lt;br /&gt;
  showani index,x,y,direction,animation,params;&lt;br /&gt;
  showani2 index,x,y,z,direction,animation,params;&lt;br /&gt;
&lt;br /&gt;
  Displays an animation at the specified position. It&lt;br /&gt;
  will use the attributes of the npc for the head/body etc.&lt;br /&gt;
&lt;br /&gt;
  For showani there exist following modifier commands:&lt;br /&gt;
  * changeimgvis index,layer;&lt;br /&gt;
    * tells graal where to display the animation: 0 - under players,&lt;br /&gt;
      1 - same layer liker players (default), 2 - over players,&lt;br /&gt;
      4 - on the status bar, specified coordinates will work&lt;br /&gt;
        as screen coordinates instead of world coordinates&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script commands showpoly and showpoly2 for&lt;br /&gt;
  displaying polygons:&lt;br /&gt;
&lt;br /&gt;
  showpoly index,{x1,y1,x2,y2,x3,y3,..};&lt;br /&gt;
  showpoly2 index,{x1,y1,z1,x2,y2,z2,x3,y3,z3,..};&lt;br /&gt;
&lt;br /&gt;
  This commands displays a polygon on the specified&lt;br /&gt;
  position. It will close the polygon (last coordinate to&lt;br /&gt;
  first coordinate) and will fill the polygon.&lt;br /&gt;
  If you only provide 4 numbers (e.g. showpoly 1,{10,10,20,20};)&lt;br /&gt;
  then it will draw a line (in this case from (10,10) to (20,20)).&lt;br /&gt;
&lt;br /&gt;
  For showpoly there exist following modifier commands:&lt;br /&gt;
  * changeimgcolors index,red,green,blue,1;&lt;br /&gt;
    * changes the colors, red/green/blue must be values between 0 and 1&lt;br /&gt;
  * changeimgvis index,layer;&lt;br /&gt;
    * tells graal where to display the polygon: 0 - under players,&lt;br /&gt;
      1 - same layer liker players, 2 - over players (default),&lt;br /&gt;
      4 - on the status bar, specified coordinates will work&lt;br /&gt;
        as screen coordinates instead of world coordinates&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script commands showtext and showtext2 for&lt;br /&gt;
  displaying text (instead of doing showimg 1,@@@ things):&lt;br /&gt;
&lt;br /&gt;
  showtext index,x,y,font,style,text;&lt;br /&gt;
  showtext2 index,x,y,z,font,style,text;&lt;br /&gt;
&lt;br /&gt;
  It works like showimg, but you are displaying a text&lt;br /&gt;
  on the specified position. The style is a string with&lt;br /&gt;
  the letters b (bold),i (italic),r (right-aligned),&lt;br /&gt;
  u (underscore), s (strikeout), c (centered).&lt;br /&gt;
&lt;br /&gt;
  For showtext there exist following modifier commands:&lt;br /&gt;
  changeimgcolors index,red,green,blue,1;&lt;br /&gt;
    * changes the colors, red/green/blue must be values between 0 and 1&lt;br /&gt;
  changeimgzoom index,zoomfactor;&lt;br /&gt;
    * makes the text bigger/smaller, by default a text is 24 pixels high&lt;br /&gt;
  changeimgvis index,layer;&lt;br /&gt;
    * tells graal where to display the text: 0 - under players,&lt;br /&gt;
      1 - same layer liker players, 2 - over players (default),&lt;br /&gt;
      4 - on the status bar, specified coordinates will work&lt;br /&gt;
        as screen coordinates instead of world coordinates&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 scriptfunction for disabling features&lt;br /&gt;
  enablefeatures flags;&lt;br /&gt;
  A description of all flags:&lt;br /&gt;
       1 - M key (map)&lt;br /&gt;
       2 - P key (pause)&lt;br /&gt;
       4 - Q key (weapon select)&lt;br /&gt;
       8 - R key (show ratings)&lt;br /&gt;
    0x10 - S+A key combination for dropping items&lt;br /&gt;
    0x20 - S+D key combination for switching weapons&lt;br /&gt;
    0x40 - TAB key (if disabled then you cannot switch to the chat field with TAB)&lt;br /&gt;
    0x80 - display of chat text&lt;br /&gt;
   0x100 - display of the hearts over player heads&lt;br /&gt;
   0x200 - display of nicknames&lt;br /&gt;
   0x400 - toall/PM-icons on the minimap&lt;br /&gt;
   0x800 - right-click on players opens their profile&lt;br /&gt;
  0x1000 - emoticons (disable it if you want to do other stuff with control+keys)&lt;br /&gt;
  0x2000 - Alt+5 for making snapshots&lt;br /&gt;
  0x4000 - Alt+8/9 for zooming&lt;br /&gt;
  0x8000 - the logframe where savelog stuff is added&lt;br /&gt;
  allfeatures:&lt;br /&gt;
  So to disable the profile click you can do:&lt;br /&gt;
&lt;br /&gt;
  enablefeatures allfeatures-0x800;&lt;br /&gt;
&lt;br /&gt;
  If you want to disable everything except the&lt;br /&gt;
  tabulator key, then do:&lt;br /&gt;
&lt;br /&gt;
  enablefeatures 0x40;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script variable 'allstats' which is the addition&lt;br /&gt;
  of all stats flags, so 'showstats allstats;' will&lt;br /&gt;
  enable all default status bar stuff again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script function getdir(dx,dy): gives the&lt;br /&gt;
  direction a player/npc must look when watching&lt;br /&gt;
  an object at (dx,dy) relative to the player/npc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script function log(base,x)&lt;br /&gt;
  the inverse of the power function (^):&lt;br /&gt;
  base^log(base,val) = val; e.g. log(3,9)=2;&lt;br /&gt;
  it tells you with what exponent the base&lt;br /&gt;
  must be powered to reach val&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script function aindexof(value,array)&lt;br /&gt;
  calculates the positon of the first occurance&lt;br /&gt;
  of value in the given array&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script functions min(a,b) and max(a,b)&lt;br /&gt;
  calculate the minimum/maximum of a and b&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script functions screenx(x,y), screeny(x,y)&lt;br /&gt;
  convert level coordinates (world coordinates) to&lt;br /&gt;
  positions on the screen; you must specifiy both&lt;br /&gt;
  x and y so that the functions works correctly&lt;br /&gt;
  on Graak2002 terrain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 worldx(x,y), worldy(x,y)&lt;br /&gt;
  convert screen positions (e.g. mousescreenx) to&lt;br /&gt;
  level coordinates; you must specifiy both&lt;br /&gt;
  x and y so that the functions works correctly&lt;br /&gt;
  on Graak2002 terrain&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the script variables mousex/y are fixed on zoomed screen&lt;br /&gt;
  (when the player pressed Alt+8/9)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the access if string lists has been optmized&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the showimg height (z) is fixed when displaying&lt;br /&gt;
  showimgs of other players&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in string operations the #b message code is passed instead of&lt;br /&gt;
  removed, so you can add lines to text that you want display with&lt;br /&gt;
  say2, like&lt;br /&gt;
&lt;br /&gt;
  setstring msg,Hello!#bHow are you?;&lt;br /&gt;
  say2 #s(msg);&lt;br /&gt;
&lt;br /&gt;
  will display:&lt;br /&gt;
&lt;br /&gt;
  Hello&lt;br /&gt;
  How are you?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed a bug with the else command that was sometimes merged&lt;br /&gt;
  with a following if that wasnt supposed to be merged&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the onwall(x,y) function is working better when used 'in the sea'&lt;br /&gt;
  (Graal2002 terrain that is under zero), it checks for&lt;br /&gt;
  npcs at the height 0 instead of the ground of the sea,&lt;br /&gt;
  since the player and npcs are normally at height 0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the variables focusx/y have been fixed when assigning negative&lt;br /&gt;
  values to them; the limits are -64..128&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 keydown2 is fixed, when you dont add 256,512 or 1024&lt;br /&gt;
  (shift, control, alt) to the key number then it doesn't&lt;br /&gt;
  return 'true' when those special keys are not pressed;&lt;br /&gt;
  a few keycodes that can be used in keydown2 to check for&lt;br /&gt;
  normally unaccessible keys (have not test all of them though):&lt;br /&gt;
    8 - back&lt;br /&gt;
    9 - tab&lt;br /&gt;
   13 - return&lt;br /&gt;
   16 - shift&lt;br /&gt;
   17 - control&lt;br /&gt;
   18 - alt&lt;br /&gt;
   33 - page up&lt;br /&gt;
   34 - page down&lt;br /&gt;
   35 - end&lt;br /&gt;
   36 - home&lt;br /&gt;
   42 - print key&lt;br /&gt;
   45 - insert&lt;br /&gt;
   46 - delete&lt;br /&gt;
   91 - left windows key&lt;br /&gt;
   92 - right windows key&lt;br /&gt;
   93 - mouse popup key&lt;br /&gt;
  112-123 - F1-F12&lt;br /&gt;
  144 - numlock&lt;br /&gt;
  160 - left shift&lt;br /&gt;
  161 - right shift&lt;br /&gt;
  162 - left control&lt;br /&gt;
  163 - right control&lt;br /&gt;
  164 - left alt/menu&lt;br /&gt;
  165 - right alt/menu&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in gani scripts you can use changeimgcolors, changeimgzoom and&lt;br /&gt;
  changeimgmode to change the attributes of sprites; the&lt;br /&gt;
  sprite must already be in texture mode (e.g. by doing&lt;br /&gt;
  a line 'COLOREFFECT spriteindex red green blue alpha' in the&lt;br /&gt;
  gani)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 npc actions/events are no longer mixed with the 'sleep' timeout&lt;br /&gt;
  event which caused those events to get vanished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 script variables musicpos and musiclen to get the posiiton/length&lt;br /&gt;
  of the currently played music track; this doesn't work for&lt;br /&gt;
  midis&lt;br /&gt;
&lt;br /&gt;
Sound:&lt;br /&gt;
&lt;br /&gt;
 when graal is starting it doesn set the volume to maximum&lt;br /&gt;
  anymore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 there is now a special tab for the microphone settings in the&lt;br /&gt;
  options window; there is a new choice box for selecting the&lt;br /&gt;
  microphone codec used to encode the speech, you can select&lt;br /&gt;
  if it automatically selects the best codec depending on the&lt;br /&gt;
  listener count (players near you), or you directly select a&lt;br /&gt;
  codec if you e.g. want to speak with good quality when all&lt;br /&gt;
  listeners have good bandwidth;&lt;br /&gt;
  there is also a choice box for selecting the input device&lt;br /&gt;
  (sound driver)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in the options window on the 'Audio' tab you can see the&lt;br /&gt;
  filename of the currently displayed music track, and&lt;br /&gt;
  you can stop/play it again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 walking sounds are only played for the default ganis&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
General:&lt;br /&gt;
&lt;br /&gt;
 in the serverlist window when clicking on the class/playerworlds&lt;br /&gt;
  tab you see a new box for typing in the name of the playerworld&lt;br /&gt;
  you want to go in case it is not listed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 you can go out of the pause mode by pressing the enter key&lt;br /&gt;
  or space (instead of pressing P)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 on Graal2002 maps the mini-heads are displayed on the&lt;br /&gt;
  correct height&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 it now displays toalls and message icons for players on the&lt;br /&gt;
  big map (M), and it's possible to click on those to open the&lt;br /&gt;
  message (previously they only worked on minimaps)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 when the animation of a projectile is looped then the animation&lt;br /&gt;
  will be played looped instead of displaying the animation steps 1-7&lt;br /&gt;
  depending on the flying angle of the projectile&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 when the game is running too slow and you have light effects&lt;br /&gt;
  enabled (direct3d) then you get a warning and the tip&lt;br /&gt;
  that it might be better to disable it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 when you have udp enabled but the client doesn't receive&lt;br /&gt;
  data from other players in the current level then it warns&lt;br /&gt;
  you and tells you to possibly disable UDP to fix the problem&lt;br /&gt;
  (since graal automaticaly sends verification data all 5&lt;br /&gt;
  seconds it can assume that you must receive data from other&lt;br /&gt;
  players if the udp connection is working correctly and is&lt;br /&gt;
  not blocked by proxies or firewalls)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 when opening the profile of a player by right-clicking on&lt;br /&gt;
  him/her the window doesn't pop up two times anymore (before it&lt;br /&gt;
  first showed the data from the cached profile from hard disk&lt;br /&gt;
  and a few seconds later the updated profile sent by the&lt;br /&gt;
  server)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 updating of downloaded gani movies work correctly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the graal2002 rpg window has been changed to have not&lt;br /&gt;
  input field and to be always on top&lt;br /&gt;
&lt;br /&gt;
Editor:&lt;br /&gt;
&lt;br /&gt;
 the scrollbar position / player position in the&lt;br /&gt;
  edited level is remembered correctly when switching&lt;br /&gt;
  between levels or going into game mode&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 when deleting npcs in near map levels it marks the level as&lt;br /&gt;
  modified so when you click on the 'save' button they are&lt;br /&gt;
  saved&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 flood fill doesn't crash Graal anymore when done&lt;br /&gt;
  on near level (when editing levels on a map)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed undo when editing map levels and going to another level&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 M much faster, the scrolling cross doesn't appear on the&lt;br /&gt;
  generate map image anymore&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the debugger uses 4 tabs for the vars/this.vars/npc attributes/strings&lt;br /&gt;
  instead of separate lists, so making things more organized and easier&lt;br /&gt;
  to access&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 only needed attributes of npcs are displayed, and it displays the&lt;br /&gt;
  gani attributes now (#P(1-30))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 debugger: when moving the mouse over variables in the script then it&lt;br /&gt;
  displays a short description depending on what is under the mouse:&lt;br /&gt;
  for variables the current value will be shown, for script commands&lt;br /&gt;
  the parameters, for images the size of the image&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 there is a new button right of the 'signs' button in the toolbar of&lt;br /&gt;
  the editor: when clicking on it you see the currently selected&lt;br /&gt;
  tiles rectangle as text, so you can copy it for using it in scripts;&lt;br /&gt;
  that is very useful for editor npcs (the editnpc*.txt thing)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the script commands showimg and putnpc are enabled for editor npcs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 with and other serverside script functions doesn't cause errors&lt;br /&gt;
  anymore when editing the script&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in the script editor you see errors on the correct positions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new command line options:&lt;br /&gt;
  -play: directly puts the player in playing mode&lt;br /&gt;
  -x value: puts the player/scrollbars on the specified x position&lt;br /&gt;
  -y value: specifies the y position&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.15 rev2&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed a bug which sometimes crashed Graal on Graal2002&lt;br /&gt;
  (and in seldom cases on other servers too)&lt;br /&gt;
&lt;br /&gt;
 baddies don't walk out the level when its a part of&lt;br /&gt;
  a (txt-) map&lt;br /&gt;
&lt;br /&gt;
 the &amp;lt;graalmsg&amp;gt;#n or other message codes&amp;lt;/graalmsg&amp;gt; tag&lt;br /&gt;
  in PMs works correctly again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.15&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 this version is mainly for fixing bugs and enabling&lt;br /&gt;
  Graal2002&lt;br /&gt;
&lt;br /&gt;
 fixed a translation error in the starting window&lt;br /&gt;
&lt;br /&gt;
 scripts don't get keyboard events when the player is typing&lt;br /&gt;
  chat in the chat box&lt;br /&gt;
&lt;br /&gt;
 when using the script command setmusicvolume for setting the&lt;br /&gt;
  volume of the left and right speaker then it is setting&lt;br /&gt;
  the volume relative to the selected music volume in the&lt;br /&gt;
  option window (1=selected volume,0=silent)&lt;br /&gt;
&lt;br /&gt;
 looping of mp3 and mods work&lt;br /&gt;
&lt;br /&gt;
 correct coloring and shading of text in gani movies&lt;br /&gt;
&lt;br /&gt;
 new script command showimg2 for displaying an image in&lt;br /&gt;
  '3d-space' (inlcuding z):&lt;br /&gt;
  showimg2 index,image,x,y,z;&lt;br /&gt;
&lt;br /&gt;
 the letters image set with setletters is automatically&lt;br /&gt;
  downloaded&lt;br /&gt;
&lt;br /&gt;
 checking for updates of audio files on the server&lt;br /&gt;
&lt;br /&gt;
 in the editor you can scroll up/down with the mouse wheel;&lt;br /&gt;
  scrolling with arrow keys works in single levels too&lt;br /&gt;
&lt;br /&gt;
 optimized handling of showimgs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.14 rev7&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 major speedup on graal2001 (or other servers using many&lt;br /&gt;
  variables on client-side) when walking between levels&lt;br /&gt;
&lt;br /&gt;
 added script commands enablepause,disablepause,enablemap,&lt;br /&gt;
  disablemap to enable the normal pausing (P) or mapping (M), &lt;br /&gt;
  and script flags playerpaused, playermap to check if the player is&lt;br /&gt;
  in pause mode or is seeing the map;&lt;br /&gt;
  if you already want to use use these things before the next Graal&lt;br /&gt;
  version is released (and so all players have it) you can also&lt;br /&gt;
  check for the variable graalversion to see if the disabling of pausing&lt;br /&gt;
  works (if (graalversion&amp;lt;2.147) message please download the latest exe&lt;br /&gt;
  if you want to play this minigame;)&lt;br /&gt;
&lt;br /&gt;
 keydown2 now always returns false when the main graal window is not&lt;br /&gt;
  active (so the scripts don't think you are doing something when you&lt;br /&gt;
  are actually typing a PM)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.14 rev6&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 again changes in the floating point operations to fix&lt;br /&gt;
  some problems that appeared in rev5 (script operation %)&lt;br /&gt;
&lt;br /&gt;
 voice is not activated when pressing the voice&lt;br /&gt;
  activation key while typing in the chat edit field&lt;br /&gt;
&lt;br /&gt;
 when opening the options window then you don't get&lt;br /&gt;
  an error message 'cannot focus' anymore &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.14 rev5&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed the problem with randomly dieing when using&lt;br /&gt;
  the voice chat (problems with fpu mode incompatibility&lt;br /&gt;
  between the voice chat dlls and Graal)&lt;br /&gt;
&lt;br /&gt;
 the script variable 'graalversion' is updated to 2.145&lt;br /&gt;
  instead of still being 2.134&lt;br /&gt;
&lt;br /&gt;
 when the z variable of the player is different than 0&lt;br /&gt;
  then it is transfered to the other players (formerly&lt;br /&gt;
  it was only sent when being on a 3d terrain map)&lt;br /&gt;
&lt;br /&gt;
 Graal takes less windows ressources (window handles etc.)&lt;br /&gt;
  by not initializing stuff at startup that is only needed&lt;br /&gt;
  in the editor mode&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.14 rev4&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the voice activation key and selection of voice&lt;br /&gt;
  activation by volume or key is saved so you don't&lt;br /&gt;
  need to configure it again when restarting Graal&lt;br /&gt;
&lt;br /&gt;
 the voice playback and recording is fixed to not&lt;br /&gt;
  crash the game anymore when there are a lot of people&lt;br /&gt;
  speaking&lt;br /&gt;
&lt;br /&gt;
 corrected some voice package length errors&lt;br /&gt;
&lt;br /&gt;
 the soundfx volume is correctly handled (instead of&lt;br /&gt;
  soundfx volume=midi volume)&lt;br /&gt;
&lt;br /&gt;
 when you use the command playlooped then only one&lt;br /&gt;
  looping sound is played (fixes draisine sound on&lt;br /&gt;
  Graal2001)&lt;br /&gt;
&lt;br /&gt;
 players on trial accounts can send PMs (Personal Messages)&lt;br /&gt;
  to staff (double-click on players in the staff section of&lt;br /&gt;
  the player list)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.14&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the server list has now two tabs, in one tab the servers&lt;br /&gt;
  managed by the company are displayed (Graal2001, Graal2002),&lt;br /&gt;
  in the other list you see all classic servers (classic and&lt;br /&gt;
  playerworlds);&lt;br /&gt;
  the servers are sorted by player count&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 to enable the new voice chatting feature open the Graal options&lt;br /&gt;
  and enable the microphone ('Audio' options)&lt;br /&gt;
  to test the output speak into the microphone and&lt;br /&gt;
  see the output level on the bar on the right side of the option&lt;br /&gt;
  window;&lt;br /&gt;
&lt;br /&gt;
  there is also a rectangle which is red or green depending on&lt;br /&gt;
  the voice level, that rectangle shows if the game has interpreted&lt;br /&gt;
  the voice level as high enough to be sent to the other players;&lt;br /&gt;
  it should only be green when you speak so its not sending data&lt;br /&gt;
  all the time; by moving the slider you can change the voice&lt;br /&gt;
  activation level, move it up when it's too often green, move it&lt;br /&gt;
  down when you can't hear yourself anymore;&lt;br /&gt;
&lt;br /&gt;
  you can also activate the mircophone by hand if you don't want to&lt;br /&gt;
  have it automatically send the voice when you speak; for that select&lt;br /&gt;
  'Key' as the activation method and click on the rectangle right to&lt;br /&gt;
  it if you want to change the key that activates the voice&lt;br /&gt;
&lt;br /&gt;
  in the game you automatically hear other people speaking when they are&lt;br /&gt;
  close to you (16 tiles=256 pixels), set the voice volume to 0 in the&lt;br /&gt;
  option window if you don't want to hear other people; you can mute&lt;br /&gt;
  single players by right-clicking on a player in the player list and&lt;br /&gt;
  selecting 'Mute', or in the game by right-clicking on the players&lt;br /&gt;
  and enable the 'Mute check box in their profile&lt;br /&gt;
&lt;br /&gt;
  Graal automatically chooses the best voice encoding codec depending&lt;br /&gt;
  on how many people are hearing you; if there are 1 or 2 people then&lt;br /&gt;
  it uses GSM (mobile phone quality, 13 kbit), when there are 3-5 people&lt;br /&gt;
  then LPC (4.8 kbit), when there are more than 5 people then it uses&lt;br /&gt;
  LPC-10 (2.4 kbit). The quality of the voice depends on your microphone,&lt;br /&gt;
  it should have something to filter wind, otherwise the lower quality&lt;br /&gt;
  codecs have problems and make you sound like you are singing; in the&lt;br /&gt;
  options window you can choose a different testing codecs to hear if your&lt;br /&gt;
  microphone still works good with lower quality codecs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Graal now supports more music formats: ogg, mp3, mod (and other&lt;br /&gt;
  tracker formats), radio streaming, wma;&lt;br /&gt;
  you can use the normal play command to play such files;&lt;br /&gt;
  to play an url you must add the http:// otherwise it will not&lt;br /&gt;
  see that you want to access an internet stream instead of a local&lt;br /&gt;
  file;&lt;br /&gt;
  wma is only supported on machines where the microsoft wma libraries&lt;br /&gt;
  are installed (or recent media player versions)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in the Graal options you can set the volume levels&lt;br /&gt;
  for midi, mp3/ogg/mod music, radio streams, voice and sound fxs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new script functions to access the keyboard&lt;br /&gt;
  * events:&lt;br /&gt;
    keypressed - occurs when a standard key has been pressed; because&lt;br /&gt;
      several keys can be pressed at the same time you get the&lt;br /&gt;
      pressed key directly as a parameter to the script (like in&lt;br /&gt;
      actionxxx event): #p(0) is the keycode, #p(1) the character&lt;br /&gt;
      (when its standard key);&lt;br /&gt;
  * functions:&lt;br /&gt;
    keycode(character) - gets the key code for the character&lt;br /&gt;
      (identical to the windows virtual key code)&lt;br /&gt;
    keydown2(keycode,ignorecase) - checks if a key has been pressed,&lt;br /&gt;
      ignorecase must be true if you want to turn off the check&lt;br /&gt;
      for shift/alt/control key, so keydown2(keycode(A),true) will be&lt;br /&gt;
      true whenever you press A or Shift+A or Alt+A&lt;br /&gt;
  * a script to display 'on' when pressing '1' and displaying&lt;br /&gt;
    'off' when pressing '2':&lt;br /&gt;
&lt;br /&gt;
      if (keypressed) {&lt;br /&gt;
        code = strtofloat(#p(0));&lt;br /&gt;
        if (code==keycode(1,false)) message on;&lt;br /&gt;
        else if (code==keycode(2,false)) message off;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
    The same without converting it to the key code:&lt;br /&gt;
&lt;br /&gt;
      if (keypressed) {&lt;br /&gt;
        if (strequals(#p(1),1)) message on;&lt;br /&gt;
        else if (strequals(#p(1),2)) message off;&lt;br /&gt;
      }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the script functions for accessing the mouse are now&lt;br /&gt;
  available in the game, some new functions have been added:&lt;br /&gt;
  * mouse variables:&lt;br /&gt;
    mousex, mousey - position of the mouse in the level&lt;br /&gt;
    mousebuttons - tells you which mouse buttons are pressed,&lt;br /&gt;
      it's a sum of the values 1 for left mouse button, 2 for middle&lt;br /&gt;
      mouse button and 4 for the right mouse button, so it's 1+2+4=7&lt;br /&gt;
      when all buttons are pressed; you can also use the flags described&lt;br /&gt;
      later to easier check for the mouse buttons&lt;br /&gt;
    mousescreenx, mousescreeny - position of the mouse in the game screen&lt;br /&gt;
    mousewheeldelta - the movement of the mouse wheel in the last 0.05 seconds&lt;br /&gt;
  * flags for checking if a mouse button is pressed:&lt;br /&gt;
    leftmousebutton - is set when the left mouse button is down&lt;br /&gt;
    middlemousebutton - is set when the middle mouse button is down&lt;br /&gt;
    rightmousebutton - is set when the right mouse button is down&lt;br /&gt;
  * events:&lt;br /&gt;
    mousedown - occurs when a mouse button has been pressed, so&lt;br /&gt;
      you can do things like if (mousedown &amp;amp;&amp;amp; leftmousebutton) message hi;&lt;br /&gt;
    mouseup - occurs when a mouse button has been released&lt;br /&gt;
    mousewheel - occurs when the mouse wheel has been used&lt;br /&gt;
  * triggered actions (only on npcs where the player has clicked on,&lt;br /&gt;
      is also sent to the npcserver):&lt;br /&gt;
    actionleftmouse - the player has clicked on the npc&lt;br /&gt;
    actionmiddlemouse - the player has clicked with the middle mouse button on the npc&lt;br /&gt;
    actionrightmouse - the player has right-clicked on the npc&lt;br /&gt;
    actiondoublemouse - the player has double-clicked on the npc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new GraalShop version which introduces the&lt;br /&gt;
  'gani movie mode', where you can add and move&lt;br /&gt;
  actors instead of sprites; it allows easy editing&lt;br /&gt;
  of the attributes of the different actor types&lt;br /&gt;
  (character, sprite, text, sound), movement is&lt;br /&gt;
  automatically done when you change the position&lt;br /&gt;
  of an actor in two different frames, so&lt;br /&gt;
  you can make little movies or cut-scenes;&lt;br /&gt;
  by setting the flag 'playerlook' of an actor you&lt;br /&gt;
  can specify which actor should copy the look of&lt;br /&gt;
  the actor;&lt;br /&gt;
  when you use the gani for a player then&lt;br /&gt;
  the first playerlook actor will also be focused&lt;br /&gt;
  and possibly move the player when the movie&lt;br /&gt;
  is finished and the first actor is on a different&lt;br /&gt;
  position;&lt;br /&gt;
  'movie mode' ganis have the same ending, to&lt;br /&gt;
  switch between (the old) sprite mode and movie mode&lt;br /&gt;
  just click on the upper right button in GraalShop;&lt;br /&gt;
  the movie mode is not meant to be a replacement for&lt;br /&gt;
  the sprite mode: for simple animations you must&lt;br /&gt;
  use the sprite mode, while the movie mode is for&lt;br /&gt;
  more complex cut scenes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the PM (personal message) window has been changed: when&lt;br /&gt;
  replying to someone you still see the original message&lt;br /&gt;
  so its easier to keep track of what the other one asked&lt;br /&gt;
  you;&lt;br /&gt;
  people that play with trial accounts can only reply to&lt;br /&gt;
  messages, they cannot start a PM conversation  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the attributes displayed in the right side of the&lt;br /&gt;
  profiles window can now be customized by the server admins:&lt;br /&gt;
  in the server options this line must appear to set the&lt;br /&gt;
  default profile attributes:&lt;br /&gt;
&lt;br /&gt;
  profilevars=playerkills,playerdeaths,playerfullhearts,playerrating,playerap,playerrupees,playerswordpower,canspin&lt;br /&gt;
&lt;br /&gt;
  Variables can be playerkills,playerdeaths,playerfullhearts,playerrating,&lt;br /&gt;
  playerap,playerrupees,playerswordpower,canspin,playerhearts,playerdarts,&lt;br /&gt;
  playerbombs,playermp,playershieldpower and playerglovepower.&lt;br /&gt;
  You can also give the name of a string variable, if you write&lt;br /&gt;
  clientr.maxhp instead of playerfullhearts then it will display the value&lt;br /&gt;
  of clientr.maxhp (when its clientr.maxh=50 then it will display 50).&lt;br /&gt;
  You can also change the name that is shown on the left side (name&lt;br /&gt;
  of the attribute), for that write 'Max HP:=clientr.maxhp', which would&lt;br /&gt;
  display 'Max HP:' on the left side. You can do that do add new fields&lt;br /&gt;
  you want to show when people right-click on someone else.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in the playerlist you can set your own status, then an&lt;br /&gt;
  icon will be displayed on the playerlist and on the map instead of&lt;br /&gt;
  your head; the default status types are for 'online' (player available',&lt;br /&gt;
  'away' and 'dnd' (do not disturb); server admins can add new status icons,&lt;br /&gt;
  for that change the 'playerlisticons=' line in the serveroptions. For&lt;br /&gt;
  adding a 'survivor' status/icon change it to&lt;br /&gt;
&lt;br /&gt;
  playerlisticons=Online,Away,DND,Survivor&lt;br /&gt;
&lt;br /&gt;
  Then in the playerlist there will be a new status 'Survivor', for&lt;br /&gt;
  the icon the game will try to load 'plisticonsurvivor.png', so you&lt;br /&gt;
  should upload an icon under that name before adding the status to the&lt;br /&gt;
  server options&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 with the script command 'serverwarp &amp;lt;world&amp;gt;;'&lt;br /&gt;
  you can warp the player to another server; the&lt;br /&gt;
  'world' parameter must be the internal name of the&lt;br /&gt;
  server (for classic it is main, for Graal2001 newmain,&lt;br /&gt;
  Andor bravo, N-Pulse npulse, ...)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 files bigger than 64k can be downloaded, which&lt;br /&gt;
  means that big tilesets and maps can be updated&lt;br /&gt;
  without releasing a new Graal version;&lt;br /&gt;
  to display the status of a download you can use&lt;br /&gt;
  the script variable downloadpos and the message&lt;br /&gt;
  code #D (filename)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 gani scripts work for projectiles (shoot command, see more&lt;br /&gt;
  explaination of that command below)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 gmaps (maps for the Graal2002 terrain and dungeons)&lt;br /&gt;
  are automatically downloaded&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the automapping function now works better on the&lt;br /&gt;
  Graal2002 terrain and saves the map parts in good&lt;br /&gt;
  quality (using octree color quantitization) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the script commands callnpc and callweapon can have parameters&lt;br /&gt;
  that are forwarded to the called npc which can access them&lt;br /&gt;
  via #p(0), #p(1), ..., like when doing triggeraction on an npc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 setmusicvolume should work better now&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 addtiledef2 works together with setbackpal (again)&lt;br /&gt;
  and is fixed (tiledefs don't stay when going into other&lt;br /&gt;
  levels)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in the npc scripting window you have a button that lets you&lt;br /&gt;
  type in text to search for in the script; by typing 'F3' you&lt;br /&gt;
  can continue a search without opening the 'Find' window again&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in the npc scripting window it now jumps to the error position&lt;br /&gt;
  and highlights the correct script position where the error&lt;br /&gt;
  appeared&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 some stuff that has been added in earlier version but&lt;br /&gt;
  were not documented:&lt;br /&gt;
  * script variables anistep, playeranistep, players[index].anistep&lt;br /&gt;
    which give you the animation frame in the gani of the&lt;br /&gt;
    npc / player&lt;br /&gt;
  * new script command 'shoot' for shooting projectiles:&lt;br /&gt;
    shoot x,y,z,angle,zangle,power,gani,ganiparams;&lt;br /&gt;
      x,y and z - specify the starting position&lt;br /&gt;
      angle - shoot angle (when looking from the top): east is 0,&lt;br /&gt;
        north 3.14/2, west is 3.14, south 3.14*3/2)&lt;br /&gt;
      zangle - the angle in vertical direction, 0 means the&lt;br /&gt;
        projectile is shoot horizontal, 3.14/2 means straight to the&lt;br /&gt;
        sun&lt;br /&gt;
      power - the shoot power which is used to shoot the projectile;&lt;br /&gt;
        if it's 0 then the projectile is shoot like an old arrow&lt;br /&gt;
        (doesn't fall down, moves 20 tiles each second)&lt;br /&gt;
      gani - the animation that is used for the projectile; the&lt;br /&gt;
        animation can be multidirectional, the engine automatically&lt;br /&gt;
        selects the best direction for the flying direction; the&lt;br /&gt;
        animation can have 1 step (not animated) or 7 steps, then the&lt;br /&gt;
        engine is automatically choosing the good animation step for&lt;br /&gt;
        the projectile flying angle - when its raising then step 1 is&lt;br /&gt;
        taken, when flying horizontal it is step 4, when it is short before&lt;br /&gt;
        the impact then the engine displays step 7&lt;br /&gt;
    When the projectile is landing or hitting an object then some actions&lt;br /&gt;
    are triggered. With the command 'setshootparams &amp;lt;params&amp;gt;;' you can set&lt;br /&gt;
    the parameters that the called scripts get, call 'setshootparams' before&lt;br /&gt;
    shooting the projectile.&lt;br /&gt;
    Client-side events:&lt;br /&gt;
      * actionprojectile:&lt;br /&gt;
        is triggered when a projectile lands on the player/npc,&lt;br /&gt;
        in #p(0), #p(1) etc. you have the parameters set with the&lt;br /&gt;
        command setshootparams&lt;br /&gt;
    Server-side events:&lt;br /&gt;
      * actionprojectile:&lt;br /&gt;
        is triggered when a client has used the 'shoot' command to shoot a&lt;br /&gt;
        projectile and the projectile is landed; in #p(0) and #p(1) you have&lt;br /&gt;
        the x and y position of the impact in case you want to place an explosion&lt;br /&gt;
        or similar things on the ground (the control-npc is automatically warped&lt;br /&gt;
        to the level where the impact happened); #p(2),#p(3) etc. contain the&lt;br /&gt;
        params set with 'setshootparams' (before shooting the projectile)&lt;br /&gt;
      * actionsprojectile:&lt;br /&gt;
        is triggered when a server-side script has shot a projectile and the projectile&lt;br /&gt;
        is landed; in #p(0) and #p(1) you have the x and y position of the impact&lt;br /&gt;
        (the control-npc is automatically warped to the level where the impact&lt;br /&gt;
        happened); #p(2),#p(3) etc. contain the params set with 'setshootparams'&lt;br /&gt;
        (before shooting the projectile)&lt;br /&gt;
    Projectiles are easy to use and don't take a lot of bandwidth because only&lt;br /&gt;
    the shooting of the projectile needs to be sent, the movement is calculated on&lt;br /&gt;
    the different computers. The projectile is flying like a heavy object thrown&lt;br /&gt;
    through the air: the horizontal movement speed keeps the same (moves&lt;br /&gt;
    horzspeed=cos(zangle)*speed tiles all 0.05 seconds), the vertical speed is&lt;br /&gt;
    initialized as vertspeed=sin(zangle)*speed and is decreased by 0.1 all 0.05 seconds;&lt;br /&gt;
    then the new position (calculated all 0.05 seconds) is&lt;br /&gt;
    newx = x + cos(angle)*horzspeed, newy = y - sin(angle)*horzspeed,&lt;br /&gt;
    newz = z + vertspeed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
New features/bug fixes in v2.13 revision4&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed making/saving of new levels in the editor when&lt;br /&gt;
  using desktop links to start Graal&lt;br /&gt;
&lt;br /&gt;
 fixed putting tiles and predefined objects on levels&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
New features/bug fixes in v2.13 revision3&lt;br /&gt;
-----------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 the script command destroy works again&lt;br /&gt;
&lt;br /&gt;
 fixed compatibility with Win95/98&lt;br /&gt;
&lt;br /&gt;
 the setstring command sends the new string variable&lt;br /&gt;
  correctly to the server&lt;br /&gt;
&lt;br /&gt;
 the script variable graalversion is now 2.13&lt;br /&gt;
  (instead of 2.1)&lt;br /&gt;
&lt;br /&gt;
 in the offline mode the player is on the normal&lt;br /&gt;
  layer like it is supposed to, so he is not drawn&lt;br /&gt;
  on top of objects anymore and arrow and projectiles&lt;br /&gt;
  work again&lt;br /&gt;
&lt;br /&gt;
 the not recommended script command playersays() works&lt;br /&gt;
  again (the script is called when the player says something);&lt;br /&gt;
  but better use if (playerchats &amp;amp;&amp;amp; strequals(#c,...))&lt;br /&gt;
&lt;br /&gt;
 several fixes of the editor mode: caching of levels in&lt;br /&gt;
  the memory, position of the player when clicking on 'play',&lt;br /&gt;
  dragging baddies,npcs and chests onto a level works like in&lt;br /&gt;
  old days (you can release the mouse button and then move the&lt;br /&gt;
  object if you don't want to keep it pressed)&lt;br /&gt;
&lt;br /&gt;
 fixed memory leaks&lt;br /&gt;
&lt;br /&gt;
 npc actions are deleted when leaving a level (so&lt;br /&gt;
  when using setlevel/setlevel2 then it is not producing&lt;br /&gt;
  an endless loop)&lt;br /&gt;
&lt;br /&gt;
 emoticons are not hiding weapon showimgs anymore,&lt;br /&gt;
  emoticons have the index 0 (so don't use index 0 for&lt;br /&gt;
  showimg if you don't want it to be hidden when an emoticon&lt;br /&gt;
  is displayed)&lt;br /&gt;
&lt;br /&gt;
 npcservers can now attach players to local npcs (was producing&lt;br /&gt;
  warping errors before)&lt;br /&gt;
&lt;br /&gt;
 detection for players that are in 'hidden under carried object' mode&lt;br /&gt;
  but don't carry anything&lt;br /&gt;
&lt;br /&gt;
 optimized loading and 'playerenters' for npcs on graal2002 maps&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.13&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 in the editor single levels have scrollbars again,&lt;br /&gt;
  and on maps you see a big cursor instead of a player&lt;br /&gt;
  and the cursor is always on top so it's easier to scroll&lt;br /&gt;
  by moving the cursor&lt;br /&gt;
&lt;br /&gt;
 when clicking on 'play' in the editor then all modified&lt;br /&gt;
  levels are saved&lt;br /&gt;
&lt;br /&gt;
 in the editor it's now possible to script 'editor control-npcs';&lt;br /&gt;
  for that you need to create a file editnpcNAME.txt and script&lt;br /&gt;
  editor actions in it, see levels/npcs/editnpcSandPath.txt for&lt;br /&gt;
  an example; you have new script variables mousex,mousey,mousescreenx,&lt;br /&gt;
  mousescreeny,mousebuttons (sum of left=1, middle=2, right=4) which&lt;br /&gt;
  only work in the editor mode; currently only changing tiles is&lt;br /&gt;
  supported, in the future there could also be things like placing&lt;br /&gt;
  random npcs or so&lt;br /&gt;
&lt;br /&gt;
 the map making button M is fixed (in the editor)&lt;br /&gt;
&lt;br /&gt;
 there is 'Translate' button in the PM window; depending on&lt;br /&gt;
  what language you and the other player have it opens a&lt;br /&gt;
  translation website&lt;br /&gt;
&lt;br /&gt;
 new script functions imgwidth(filename) and imgheight(filename)&lt;br /&gt;
  for getting the size of an image which is already loaded in&lt;br /&gt;
  the memory&lt;br /&gt;
&lt;br /&gt;
 optimized parts of the scripting engine (accessing flags and&lt;br /&gt;
  string variables, calculating values)&lt;br /&gt;
&lt;br /&gt;
 fixed bug with the auto-mapping which caused linking errors&lt;br /&gt;
  (player disappearing)&lt;br /&gt;
&lt;br /&gt;
 dont-connnect-levels option works again on normal maps&lt;br /&gt;
&lt;br /&gt;
 better guild tag protection at login&lt;br /&gt;
&lt;br /&gt;
 images are not immediatelly discarded anymore; the game will&lt;br /&gt;
  wait 5 seconds (will speed up things where you often changed the&lt;br /&gt;
  gani and the reloading of images slowed down the game)&lt;br /&gt;
&lt;br /&gt;
 testplayer() fixed&lt;br /&gt;
&lt;br /&gt;
 variable actionplayer should work better now (giving the index&lt;br /&gt;
  of the player who has triggered the 'triggeraction' event)&lt;br /&gt;
&lt;br /&gt;
 when the window for updating the Graal version opens then&lt;br /&gt;
  Graal will be closed so that the update works correctly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new graalshop version: undo/redo, scrolling of background when&lt;br /&gt;
  clicking outside of a sprite and moving the mouse, selecting more&lt;br /&gt;
  than one sprite when pressing Shift while clicking on a sprite&lt;br /&gt;
  (click Ctrl+mouse button to remove it from the selection), the&lt;br /&gt;
  layer of a sprite can be changed with the + and - buttons,&lt;br /&gt;
  scrolling and changing layer works also by pressing keys&lt;br /&gt;
  (up,left,down,right,+,-), right click on a sprite in the sprite panel&lt;br /&gt;
  on the left side opens the 'Add Sprite' dialog for that sprite so&lt;br /&gt;
  you can easily change it, you can drag&amp;amp;drop images into the gani&lt;br /&gt;
  editor, it will automatically add a sprite definition and a sprite,&lt;br /&gt;
  there are new buttons for reversing the animation and removing&lt;br /&gt;
  unused sprite definitions which makes the gani file smaller, you&lt;br /&gt;
  can also import sprite definitions from other ganis, SCRIPT&lt;br /&gt;
  and COLOREFFECT and ZOOMEFFECT commands in the gani are still&lt;br /&gt;
  not displayed but not deleted anymore&lt;br /&gt;
&lt;br /&gt;
 ATTACHSPRITE command in ganis:&lt;br /&gt;
  ATTACHSPRITE 100 40 -8 -18&lt;br /&gt;
  will automatically draw sprite 40 on top of sprite 100 whenever&lt;br /&gt;
  sprite 100 is drawn; in this example it will be shifted 8 pixels&lt;br /&gt;
  west and 18 pixels north; the advantage of this is that you&lt;br /&gt;
  can just attach things like hats or armor and don't need to care&lt;br /&gt;
  about it when you edit the animations (before this command you&lt;br /&gt;
  always needed to add manually all the additional sprites and&lt;br /&gt;
  move it each time you move the main sprite)&lt;br /&gt;
&lt;br /&gt;
 new gani attributes 6-9 (in the game #P6-#P9, in graalshop ATTR6-ATTR9)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new RC version with file browser, server list and RC+NC in one&lt;br /&gt;
  program&lt;br /&gt;
&lt;br /&gt;
Features &amp;amp; bug fixes of versions &amp;lt;2.13 can&lt;br /&gt;
be found in the file newfeatures2001.txt.&lt;/div&gt;</summary>
		<author><name>Tyhm</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2003&amp;diff=7570</id>
		<title>Creation/Dev/Releases/Client/NewFeatures2003</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2003&amp;diff=7570"/>
		<updated>2006-11-15T05:08:09Z</updated>

		<summary type="html">&lt;p&gt;Tyhm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-------------------------------&lt;br /&gt;
New features/bug fixes in v2.21&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
In this version the network traffic &lt;br /&gt;
has been reduced drastically, that should&lt;br /&gt;
make the game less laggier. There are&lt;br /&gt;
also a few other updates. These things&lt;br /&gt;
apply for v3.03 too.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 when a tiles-image has been downloaded&lt;br /&gt;
  all tiles using that image are redrawn,&lt;br /&gt;
  so preventing messed up screens when &lt;br /&gt;
  entering a room with new tiles&lt;br /&gt;
&lt;br /&gt;
 when weapon scripts do 'showani' then the&lt;br /&gt;
  used ganis can do gani-scripting too&lt;br /&gt;
  (e.g. for displaying nice effects on&lt;br /&gt;
  status bar)&lt;br /&gt;
&lt;br /&gt;
 server-side scripts can do &lt;br /&gt;
  'triggeraction 0,0,clientside,weapon,params'&lt;br /&gt;
  to directly trigger the client-side part of &lt;br /&gt;
  weapon of the player - catch it with&lt;br /&gt;
  'if (actionclientside) actions;'&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------&lt;br /&gt;
New features/bug fixes in v2.2&lt;br /&gt;
------------------------------&lt;br /&gt;
&lt;br /&gt;
Graal v2.2 is not really a major&lt;br /&gt;
release, but is bringing better support&lt;br /&gt;
for internationalization and online-&lt;br /&gt;
tile-editing.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 support for multi-byte text in&lt;br /&gt;
  signs - this is needed for languages&lt;br /&gt;
  like Korean, Chinese and Japanese;&lt;br /&gt;
  a Korean version of Graal Kingdoms&lt;br /&gt;
  is planned&lt;br /&gt;
&lt;br /&gt;
 server-side tile changes work on&lt;br /&gt;
  gmaps too - with updateboard/2 tiles&lt;br /&gt;
  can be sent to the client, saving&lt;br /&gt;
  will be added soon&lt;br /&gt;
&lt;br /&gt;
 new scripting function:&lt;br /&gt;
  textheight(zoom,font,style) calculates&lt;br /&gt;
  the height of text displayed with the&lt;br /&gt;
  given zoom factor, font name and style;&lt;br /&gt;
  textheight(1,,) gives the height of&lt;br /&gt;
  the standard font used for showimg/showtext;&lt;br /&gt;
  the style is a string with the letters&lt;br /&gt;
  b (bold), or i (italic), the other styles&lt;br /&gt;
  don't really make sense - the font name&lt;br /&gt;
  and font style are generaly not influencing&lt;br /&gt;
  the height a lot&lt;br /&gt;
&lt;br /&gt;
 several little bug fixes&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.19 rev1&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed a login problem on playerworlds&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.19&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
At the same time v2.19 and v3 are released -&lt;br /&gt;
most new stuff has been added to v3 and we&lt;br /&gt;
will also add more things to that version,&lt;br /&gt;
while still maintaining the old client until&lt;br /&gt;
it can be fully replaced. Both versions&lt;br /&gt;
use the new starting screen, better&lt;br /&gt;
compression and speed optimizations. There&lt;br /&gt;
are also some improvements for scripters&lt;br /&gt;
and several bug fixes.&lt;br /&gt;
We have also released new development tools:&lt;br /&gt;
&lt;br /&gt;
 graalshop (gani editor) can handle the&lt;br /&gt;
  attributes 10-30 now&lt;br /&gt;
&lt;br /&gt;
 the level generator produces .nw levels&lt;br /&gt;
  and gmaps&lt;br /&gt;
&lt;br /&gt;
 gif2mng has been updated - the generated mngs&lt;br /&gt;
  are now compatible to the mng standard,&lt;br /&gt;
  which is important for Graal v3 which&lt;br /&gt;
  uses the mng standard;&lt;br /&gt;
  you can fix old mngs by converting them&lt;br /&gt;
  with gif2mng again - gif2mng can handle&lt;br /&gt;
  short to long filename conversion now so&lt;br /&gt;
  you can convert images by dropping them on&lt;br /&gt;
  the gif2mng exe in the windows explorer&lt;br /&gt;
&lt;br /&gt;
 there is the new dungeon generator which&lt;br /&gt;
  has been used to make the dungeons on&lt;br /&gt;
  Graal Kingdoms. You will need to make your&lt;br /&gt;
  own inside tiles though to use the&lt;br /&gt;
  generated levels in your playerworld&lt;br /&gt;
&lt;br /&gt;
General features:&lt;br /&gt;
&lt;br /&gt;
 there is a new starting screen and&lt;br /&gt;
  new server list to match more the style&lt;br /&gt;
  of the website and Graal Kingdoms&lt;br /&gt;
&lt;br /&gt;
 Graal uses a better compression, to reduce&lt;br /&gt;
  download time and lag&lt;br /&gt;
&lt;br /&gt;
 speed optimizations: several internal things&lt;br /&gt;
  have been improved, mainly the search for&lt;br /&gt;
  filenames and lookup of scripting variables,&lt;br /&gt;
  so the game should run faster&lt;br /&gt;
&lt;br /&gt;
Script features:&lt;br /&gt;
&lt;br /&gt;
 this. strings: the client finally supports&lt;br /&gt;
  this.-strings; previously all strings on client-side&lt;br /&gt;
  were attached to the player, irritating people&lt;br /&gt;
  who have seen this.-strings in server-side scripts;&lt;br /&gt;
  this.-strings belong to the current npc and&lt;br /&gt;
  can be changed with the 'setstring name,value' command&lt;br /&gt;
  and read with the #s(name) message code&lt;br /&gt;
&lt;br /&gt;
 on servers with npcserver the client doesn't send&lt;br /&gt;
  any strings except client. strings to the server anymore,&lt;br /&gt;
  so you don't need to start the strings with local. anymore&lt;br /&gt;
  (except when doing things for the classic server)&lt;br /&gt;
&lt;br /&gt;
 ganis can use this. strings too, allowing string&lt;br /&gt;
  manipulation things in ganis&lt;br /&gt;
&lt;br /&gt;
 ganis can write to i,j etc.: they are handled&lt;br /&gt;
  like local variables, so you don't need to store&lt;br /&gt;
  temporary values in this. variables anymore;&lt;br /&gt;
  before 2.19 you couldn't write to i,j etc. because&lt;br /&gt;
  those were variables belonging to the current level&lt;br /&gt;
  and could influence other npcs which should not&lt;br /&gt;
  be allowed since gani scripts can be edited&lt;br /&gt;
  by players;&lt;br /&gt;
  level variables can still be read, but once you&lt;br /&gt;
  write to them they will be handled as local&lt;br /&gt;
  variable&lt;br /&gt;
&lt;br /&gt;
 #p(x) in attached ganis: it's now possible to do&lt;br /&gt;
  things like 'setplayerprop #P1,mygani.gani,param1,param2;'&lt;br /&gt;
  where the script in mygani.gani can read the params&lt;br /&gt;
  with #p(0),#p(1) etc.&lt;br /&gt;
&lt;br /&gt;
 textwidth(zoom,font,style,text): calculates the pixel&lt;br /&gt;
  width of a text with the given zoom factor, font and style&lt;br /&gt;
&lt;br /&gt;
 #m(-1): all npcs can use the index -1 to&lt;br /&gt;
  read their own string attributes like #m,&lt;br /&gt;
  #Px, #Cx, not just showcharacter-npcs&lt;br /&gt;
&lt;br /&gt;
 new message code #R:&lt;br /&gt;
  #R(string1,...,stringx) selects randomly&lt;br /&gt;
  one of the strings&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
&lt;br /&gt;
 the call stack is saved and restored&lt;br /&gt;
  when doing the script command 'sleep',&lt;br /&gt;
  which means it works inside functions now&lt;br /&gt;
&lt;br /&gt;
 some problems were solved with global&lt;br /&gt;
  npcs getting invisible when moving&lt;br /&gt;
&lt;br /&gt;
 there is less memory use when walking on&lt;br /&gt;
  gmaps, less images of npcs are hold in&lt;br /&gt;
  memory&lt;br /&gt;
&lt;br /&gt;
 the script command testplayer works on gmaps&lt;br /&gt;
  now&lt;br /&gt;
&lt;br /&gt;
 when a projectile lands then weapons get&lt;br /&gt;
  the event 'actionprojectile2' instead of&lt;br /&gt;
  'actionprojectile' to avoid problems of&lt;br /&gt;
  mixing those ('actionprojectile' is called&lt;br /&gt;
  when the projectile hits an npc or the player)&lt;br /&gt;
&lt;br /&gt;
 grabbing showcharacter npcs and players is &lt;br /&gt;
  enabled again, it was disabled before to prevent &lt;br /&gt;
  harassement, but was problematic for script things&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------------------------------------&lt;br /&gt;
New features/bug fixes in v2.18 rev1&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed file dialogs - it doesn't&lt;br /&gt;
  freeze Graal anymore when clicking&lt;br /&gt;
  on the folder box (Win95/98 problem)&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v2.18&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
This new Graal version is again mainly&lt;br /&gt;
a bug-fix release. But a new Graal (v3)&lt;br /&gt;
is in work which is a completely remake,&lt;br /&gt;
coded in C++: it's more compatible,&lt;br /&gt;
faster, works on different platforms&lt;br /&gt;
and makes it possible to add more features.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 new password encryption: once you start Graal&lt;br /&gt;
  and connect, the password will be stored&lt;br /&gt;
  more securely&lt;br /&gt;
&lt;br /&gt;
Bug fixes:&lt;br /&gt;
&lt;br /&gt;
 removed a memory leak when saving the history&lt;br /&gt;
  (which is saved each time someone sends you&lt;br /&gt;
   a pm or you send someone a pm)&lt;br /&gt;
&lt;br /&gt;
 editing gmaps fixed: the heights of near levels&lt;br /&gt;
  are saved correctly (modified-flag correctly set&lt;br /&gt;
  when changing the height so that they are saved&lt;br /&gt;
  when you click on 'save'),&lt;br /&gt;
  and npcs are placed on the correct position when&lt;br /&gt;
  a level is load that is part of a gmap which is&lt;br /&gt;
  not loaded yet (e.g. when double-clicking on a&lt;br /&gt;
  level in the windows explorer)&lt;br /&gt;
&lt;br /&gt;
 in the debugger you can move the mouse over&lt;br /&gt;
  text and commands without seeing new scripting&lt;br /&gt;
  variables appearing in the variables-watch-list;&lt;br /&gt;
  the content of the variables is displayed in the&lt;br /&gt;
  caption of the debugger window, that's more fast&lt;br /&gt;
  than showing a yellow hint under the mouse&lt;br /&gt;
&lt;br /&gt;
 levels are pre-loaded when entering the server,&lt;br /&gt;
  so you don't see heights changing when entering&lt;br /&gt;
  Graal Kingdoms&lt;br /&gt;
&lt;br /&gt;
 when opening the profile of a player and he is&lt;br /&gt;
  online on as player account and RC at the same time,&lt;br /&gt;
  then you see the stats of the player instead of&lt;br /&gt;
  the RC&lt;br /&gt;
&lt;br /&gt;
 the maps1-3 ganis are shown in more cases now,&lt;br /&gt;
  but you might need to do some replaceani-calls&lt;br /&gt;
  in case you don't want those gani appearing when&lt;br /&gt;
  the player presses M&lt;/div&gt;</summary>
		<author><name>Tyhm</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2003v3&amp;diff=7569</id>
		<title>Creation/Dev/Releases/Client/NewFeatures2003v3</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2003v3&amp;diff=7569"/>
		<updated>2006-11-15T05:05:27Z</updated>

		<summary type="html">&lt;p&gt;Tyhm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;------------------------------------&lt;br /&gt;
New features/bug fixes in v3.03 rev1&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
Following bugs have been fixed:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 when you relogin to a server then&lt;br /&gt;
  you don't see the other player twice&lt;br /&gt;
&lt;br /&gt;
 fixed the problem with empty lines&lt;br /&gt;
  on the playerlist&lt;br /&gt;
&lt;br /&gt;
 the history of the chat edit field&lt;br /&gt;
  doesn't remember empty lines anymore&lt;br /&gt;
&lt;br /&gt;
 images displayed by serverside npcs&lt;br /&gt;
  on gmaps are displayed now (showimgs)&lt;br /&gt;
&lt;br /&gt;
 script functions screenx and screeny&lt;br /&gt;
  are working now&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v3.03&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
Beside several major bug fixes this  release&lt;br /&gt;
also includes the new additions from&lt;br /&gt;
Graal v2.21:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 faster network code, less traffic &amp;amp; lag&lt;br /&gt;
&lt;br /&gt;
 tiles are updated when downloaded&lt;br /&gt;
&lt;br /&gt;
 the playerlist is sorted, most recent pm at&lt;br /&gt;
  the top&lt;br /&gt;
&lt;br /&gt;
 the playerlist is only half-transparent&lt;br /&gt;
  now, so you see the player names easier&lt;br /&gt;
&lt;br /&gt;
 scripts can directly trigger clientside&lt;br /&gt;
  weapons&lt;br /&gt;
&lt;br /&gt;
 ganis work on the stats layer, animations&lt;br /&gt;
  shown with showani are animated&lt;br /&gt;
&lt;br /&gt;
 resizing of the window works better&lt;br /&gt;
&lt;br /&gt;
 the weapon list displays weapons and&lt;br /&gt;
  folders correctly, a memory leak with&lt;br /&gt;
  displaying weapon folders have been fixed&lt;br /&gt;
&lt;br /&gt;
 added a transparency check for gifs,&lt;br /&gt;
  the algorithm tries to fix the transparency&lt;br /&gt;
  of the image when the transparent index&lt;br /&gt;
  was set to the wrong palette entry&lt;br /&gt;
  (wrong index but same color); this works&lt;br /&gt;
  for most cases, for fixing pngs use&lt;br /&gt;
  the updated gif2mng&lt;br /&gt;
&lt;br /&gt;
 fixed warping problems&lt;br /&gt;
&lt;br /&gt;
 problems with freezeplayer fixed, it's&lt;br /&gt;
  actually working now so that you can&lt;br /&gt;
  play servers like Graal2001&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v3.01&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
This versions fixes many bugs:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 when using the mill and well on Graal Kingdom&lt;br /&gt;
  the game doesn't crash anymore&lt;br /&gt;
&lt;br /&gt;
 ships are visible now, also the steering&lt;br /&gt;
  man is displayed correctly&lt;br /&gt;
&lt;br /&gt;
 when selecting another language in the starting&lt;br /&gt;
  window then the options window etc. have text&lt;br /&gt;
  now (english text instead of being empty)&lt;br /&gt;
&lt;br /&gt;
 you can connect to private servers by typing a&lt;br /&gt;
  part of the name of a private server in the box&lt;br /&gt;
  under the server list, then pressing &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 pushing and pulling stones on classic servers work&lt;br /&gt;
&lt;br /&gt;
 when walking diagonal you don't see messed up&lt;br /&gt;
  tiles rectangles anymore&lt;br /&gt;
&lt;br /&gt;
 a bug with the textwidth() function has been&lt;br /&gt;
  fixed, a new function textheight(zoom, font, styles)&lt;br /&gt;
  has been added&lt;br /&gt;
&lt;br /&gt;
 server-side tiles-editing on gmaps is supported&lt;br /&gt;
  now - the client displays the changed tiles when&lt;br /&gt;
  a server-side script changes tiles and does the&lt;br /&gt;
  command updateboard; saving of the tiles will be&lt;br /&gt;
  added soon&lt;br /&gt;
&lt;br /&gt;
 looped sounds are played correctly&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------&lt;br /&gt;
New features/bug fixes in v3&lt;br /&gt;
----------------------------&lt;br /&gt;
&lt;br /&gt;
v3 has several little improvements over the old Graal,&lt;br /&gt;
more will be added soon. Here a list of the&lt;br /&gt;
new things:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 polygons and texts can be transparent, so&lt;br /&gt;
  you can use the script commands showpoly and&lt;br /&gt;
  showtext together with changeimgcolors and&lt;br /&gt;
  changeimgmode&lt;br /&gt;
&lt;br /&gt;
 onwall2(x,y,width,height) to test a rectangular area&lt;br /&gt;
  for blocking things&lt;br /&gt;
&lt;br /&gt;
 more efficient speach support, it should work on Linux&lt;br /&gt;
  too when microphone support is installed&lt;br /&gt;
&lt;br /&gt;
 support for 24bit-pngs and jpegs&lt;br /&gt;
&lt;br /&gt;
Things that are not supported anymore:&lt;br /&gt;
&lt;br /&gt;
 setbackpal&lt;br /&gt;
&lt;br /&gt;
 playersays()&lt;/div&gt;</summary>
		<author><name>Tyhm</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2004&amp;diff=7568</id>
		<title>Creation/Dev/Releases/Client/NewFeatures2004</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2004&amp;diff=7568"/>
		<updated>2006-11-15T05:04:18Z</updated>

		<summary type="html">&lt;p&gt;Tyhm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-------------------------------&lt;br /&gt;
New features/bug fixes in v2.22&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
v2.22 enables the third tab on the serverlist.&lt;br /&gt;
It lists all playerworlds that are under&lt;br /&gt;
construction, but want to be visible so that&lt;br /&gt;
players can already check it out. The third&lt;br /&gt;
tab is only visible to players with gold account&lt;br /&gt;
or VIP account. The best servers of that tab&lt;br /&gt;
are moved to the classic server list.&lt;br /&gt;
&lt;br /&gt;
Other changes in this version:&lt;br /&gt;
&lt;br /&gt;
 the script command showani works better&lt;br /&gt;
  on stats layer:&lt;br /&gt;
  the body image is drawn correctly &lt;br /&gt;
&lt;br /&gt;
 new script variable 'gravity': when you&lt;br /&gt;
  change that variable then the behaviour&lt;br /&gt;
  of projectiles changes - by default the z attribute&lt;br /&gt;
  of a projectile is decreased by 2 each second&lt;br /&gt;
  (0.1 each frame); if you increase the gravity,&lt;br /&gt;
  then the arrows fall down faster, if you decrease&lt;br /&gt;
  the gravity then arrows fly longer; if you&lt;br /&gt;
  decrease the gravity and shoot it in a low angle&lt;br /&gt;
  (between 0 and 0.5) you can easier simulate &lt;br /&gt;
  pistoles or guns;&lt;br /&gt;
  don't forget to change the gravity variable on both&lt;br /&gt;
  client and server side&lt;br /&gt;
&lt;br /&gt;
 new scripting variable 'downloadsize': when the&lt;br /&gt;
  graal client is currently downloading a big file&lt;br /&gt;
  (&amp;gt;32k) then this variable contains the size of the&lt;br /&gt;
  file; using downloadpos, downloadsize and #D you can&lt;br /&gt;
  check if a file is currently downloaded can&lt;br /&gt;
  display a process bar or similar&lt;/div&gt;</summary>
		<author><name>Tyhm</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2004v3&amp;diff=7567</id>
		<title>Creation/Dev/Releases/Client/NewFeatures2004v3</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2004v3&amp;diff=7567"/>
		<updated>2006-11-15T05:03:36Z</updated>

		<summary type="html">&lt;p&gt;Tyhm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;------------------------------------&lt;br /&gt;
New features/bug fixes in v3.04 rev1&lt;br /&gt;
------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 fixed a bug with the script command &lt;br /&gt;
  'destroy' - that bug sometimes crashed &lt;br /&gt;
  the client, e.g. when touching the&lt;br /&gt;
  green slime on Zone&lt;br /&gt;
&lt;br /&gt;
-------------------------------&lt;br /&gt;
New features/bug fixes in v3.04&lt;br /&gt;
-------------------------------&lt;br /&gt;
&lt;br /&gt;
v3.04 enables the third tab on the serverlist.&lt;br /&gt;
It lists all playerworlds that are under&lt;br /&gt;
construction, but want to be visible so that&lt;br /&gt;
players can already check it out. The third&lt;br /&gt;
tab is only visible to players with gold account&lt;br /&gt;
or VIP account. The best servers of that tab&lt;br /&gt;
are moved to the classic server list.&lt;br /&gt;
&lt;br /&gt;
Other changes:&lt;br /&gt;
&lt;br /&gt;
 the window is resizable&lt;br /&gt;
&lt;br /&gt;
 when moving the mouse outside the window&lt;br /&gt;
  then the in-game cursor disappears, and you&lt;br /&gt;
  can see the standard mouse when moving the&lt;br /&gt;
  mouse over the caption and borders&lt;br /&gt;
&lt;br /&gt;
 added horsestill.gani to the installer so&lt;br /&gt;
  that horses appear (linux and mac versions)&lt;br /&gt;
&lt;br /&gt;
 the player movement uses the classic onwall&lt;br /&gt;
  check so that v3 users don't have disadvantages&lt;br /&gt;
  on playerworlds (on previous v3 releases there was&lt;br /&gt;
  a more precise block check)&lt;br /&gt;
&lt;br /&gt;
 fixed a problem in PMs which sometimes added a &amp;quot;&amp;quot;&lt;br /&gt;
  around lines&lt;br /&gt;
&lt;br /&gt;
 new script variable 'gravity': when you&lt;br /&gt;
  change that variable then the behaviour&lt;br /&gt;
  of projectiles changes - by default the z attribute&lt;br /&gt;
  of a projectile is decreased by 2 each second&lt;br /&gt;
  (0.1 each frame); if you increase the gravity,&lt;br /&gt;
  then the arrows fall down faster, if you decrease&lt;br /&gt;
  the gravity then arrows fly longer; if you&lt;br /&gt;
  decrease the gravity and shoot it in a low angle&lt;br /&gt;
  (between 0 and 0.5) you can easier simulate &lt;br /&gt;
  pistoles or guns;&lt;br /&gt;
  don't forget to change the gravity variable on both&lt;br /&gt;
  client and server side&lt;br /&gt;
&lt;br /&gt;
 new scripting variable 'downloadsize': when the&lt;br /&gt;
  graal client is currently downloading a big file&lt;br /&gt;
  (&amp;gt;32k) then this variable contains the size of the&lt;br /&gt;
  file; using downloadpos, downloadsize and #D you can&lt;br /&gt;
  check if a file is currently downloaded can&lt;br /&gt;
  display a process bar or similar&lt;/div&gt;</summary>
		<author><name>Tyhm</name></author>
	</entry>
	<entry>
		<id>https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2005&amp;diff=7563</id>
		<title>Creation/Dev/Releases/Client/NewFeatures2005</title>
		<link rel="alternate" type="text/html" href="https://graalonline.net/index.php?title=Creation/Dev/Releases/Client/NewFeatures2005&amp;diff=7563"/>
		<updated>2006-11-14T20:48:45Z</updated>

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

		<summary type="html">&lt;p&gt;Tyhm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;View the following pages for knowing what features have been added and what bugs have been fixed in particular releases of the Graal client. You will often find useful hints for using new functionality.&lt;br /&gt;
&lt;br /&gt;
* [[Creation/Dev/Releases/Client/4.11|Graal v4.11]]&lt;br /&gt;
&lt;br /&gt;
Old Newfeatures Documentation:&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures134|Version 1.34]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures135|Version 1.35]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures136|Version 1.36]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures137|Version 1.37]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures138|Version 1.38]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures139|Version 1.39]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures14|Version 1.4]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures141|Version 1.41]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures2001|Year 2001]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures2002|Year 2002]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures2003|Year 2003]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures2003v3|Year 2003, Version 3]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures2004|Year 2004]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures2004v3|Year 2004, Version 3]]&lt;br /&gt;
* [[Creation/Dev/Releases/Client/NewFeatures2005|Year 2005]]&lt;/div&gt;</summary>
		<author><name>Tyhm</name></author>
	</entry>
</feed>