Creation/Dev/Releases/Client/4.206

From Graal Bible
Revision as of 21:04, 17 February 2010 by Cyan3 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Release date

December 21st 2006 for Mac, Linux and Windows

New Features

There are several improvements for Graal3D and the new flying technology which will be announced once released.

  • Graphics
    • stretched graphics are drawn with better quality (on Windows)
    • tiles drawing has been made faster so that level switching is taking less time
    • zooming of players/npc has been improved so that sub-objects are displayed on the correct position
    • better clipping in the GUI on Windows - when using polygons or stretched rotated graphics then they are not overlapping other GUI controls anymore
    • 24bit are correctly displayed in alpha-transparent mode (mode 1) by default (as long as alpha is 1)
    • Windows: you can let Graal use OpenGL instead of DirectX by using the command line option "-opengl"; normally the OpenGL mode is only needed for Graal3D, but it might also be work better than DirectX on some machines; the OpenGL mode is using more resources though
  • GUI
    • GuiMLTextCtrl:
      • support for more html tags:
        <ul>, <ol>, <li>, <hr>, <h1>...<h6>
      • uppercase tags are accepted now
      • variable htmlcompatibility=true for using normal html text (currently only sets ignorelinebreaks=true if in compatibility mode)
      • improved display of the body-background color so that it fills the whole parent color
      • display of body-background images
    • GuiShowImgCtrl:
      • when displaying a polygon then mouse clicks will only be accepted if it clicked on the actual polygon, this is e.g. used for the cards selection in the cards games
    • GuiTreeViewCtrl:
      • variable expandOnDoubleclick=false will disable nodes from expanding on double-click
    • GuiControl:
      • variable clipMove=false: allows the control to be moved outside of the parent bounds
  • Scripting
    • showimgs/findimgs now have a "spin" variable similar to projectiles, good for automatic rotation of images
    • new function waitfor(objectname,eventname,timeout) waits for an event on the specified object (empty -> for ourself) and then returns true; if the parameters are invalid or the timeout has been reached it will stop waiting and return false
    • when you call the function of another object and that function is calling sleep() or waitfor() then it will not return immediatelly anymore - it will instead wait until the called function is correctly returning and then also continue the caller script
    • when a function is not called then it will try to also display the name of the object for which the function didn't exist
    • the timevar2 has full precision on Windows now (was only milliseconds before)
  • General
    • improved login speed (you can faster switch to other servers)
    • it is possible to encode files
    • Linux/Mac: screenshots are saved into the ~/.graal/graal4/screenshots/ subfolder
    • downloading of web images is working better

Bug Fixes

  • Crashing
    • fixed a crashing bug with GuiContextMenuCtrl which still received input after closing
    • fixed crashes when destroying TStaticVar or GuiControls in certain cases
    • fixed crashes on creating objects that had to do with optimizations
    • Linux: fixed problems with X server errors
  • Memory leaks
    • several memory leaks with GuiMLTextCtrl have been fixed
    • requesturl memory leaks have been fixed
  • GUI
    • putting controls inside sub-controls of GuiStretchCtrl is working better
    • when a control uses a non-modal profile then it is not getting the keyboard input anymore when it is created/shown
    • an onPlayerChanges event is invoked when the player has opened a PM from another player, so that scripted player lists can correctly hide the blinking PM icon
  • Graphics
    • fixed shadowed text of different offset than (1,1) on Linux and Mac when not using true type fonts
    • correctly handling tiledefs (addtiledefs/2) with upper case letters
  • Scripting
    • when a sub variable (of any object) is not existing then it will not try to look for player.subvarname anymore