From Graal Bible

Release date

September 15th 2006 for Windows and Linux

September 18th 2006 for Mac


[Graal Forums]

New Features

  • GUI
    • GuiControl: New events onStartDrag and onStopDrag when a control has been dragged with the mouse (canmove=true)
    • GuiControl: New function startDrag() to let the user move a control (only works when the mouse button is pressed)
    • GuiStretchCtrl: new GUI control which stretches the content to the current size
      • define clientwidth and clientheight (or clientextent) to say which area should be stretched to the actual size
      • use globalToLocalCoord() and localToGlobalCoord() to translate between real mouse positions and scaled positions inside the control
  • Graphics
    • Support for 2-bit pngs
    • TShowImg / GuiShowImgCtrl: support for shadow
      • new variables textshadow, shadowoffset and shadowcolor
      • set textshadow = true to enable the shadow (defaults to nickname shadows)
      • modify shadowoffset or shadowcolor to set a custom shadow look
      • shadowoffset is by default {1,1}
      • shadowcolor is by default {0,0,0} (black)
    • TGaniObject: Objects using ganis can be rotated and stretched now
      • new variables rotation, stretchx, stretchy and zoom
      • works for players and npcs
      • ganis are also rotated and stretched when being shown using showimgs
      • body sprites are rotated and stretched as well
      • in old scripting engine you can modify the rotation and zoom via playerX and players[i].X (playerrotation, playerzoom, players[i].rotation etc. for players, players[-1].rotation for the current npc)
      • the rotation angle and zoom factor is not sent to the other clients and is not accessible on serverside, you need to handle that by script (note: this can be added though if required and requested)
    • Rotations/stretch operations can be be stacked now (e.g. zoomed graphics inside zoomed ganis inside a GuiStretchCtrl)
  • Scripting
    • new variables mousebuttonsglobal, leftmousebuttonglobal, middlemousebuttonglobal, rightmousebuttonglobal to detect mouse behaviour even if the mouse is caught in a GUI control

Bug Fixes

  • Graphics
    • Modified the text drawing to reduce the text-flickering problem