Creation/Dev/Releases/Client/4.1

From Graal Bible
Revision as of 08:10, 21 September 2007 by Stefan (talk | contribs) (New page: ==Release Date== July 27th 2006 ==New features== ===Server list and Games list=== * New Layout including display of the server map * A set of vector graphics games where you can play fo...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Release Date

July 27th 2006

New features

Server list and Games list

  • New Layout including display of the server map
  • A set of vector graphics games where you can play for highscore or play against other players and bet gralats or chat
  • Easier interface to access events on servers

Flash Content

- Use flash resources (e.g. vector graphics) in Graal

findimg (200) {
  layer = 4;
  x = 100;
  y = 100;
  flashfile = "test.swf";
  flash.object = "btn1";
} 

Other attributes are flash.frame, flash.looping,flash.playing. You can also call flash.play() and flash.stop() instead of modifying flash.playing. When flash.object is empty, then it will display the whole flash movie (might not look correctly though since flash script is ignored).

Graphics

  • Animated emoticons
  • True type fonts on Mac and Linux

Hacking protection

  • Better protection of base variables
  • Better detection of cheating tools

Scripting

  • Several GUI fixes for clipping of images and text
  • play2 / playlooped2 fixed on gmaps
  • player.language and player.languagedomain work on clientside
  • polygons can be textured now:
with (findimg(200)) {
  layer = 4;
  dimension = 2;
  polygon = {100,100,200,100,200,200,100,200};
  image = "mud_apple.png";
} 
  • drawing panels (GuiDrawingPanel and icons) are updated automatically when a file has been downloaded
  • fixed some problems when drawing pngs with alpha-channel onto drawing panels
  • isapplicationactive variable, is either true or false
  • isdownloadingfile(filename) returns true/false
  • random generators can be created by script:
rand = new MRandomLCG(); // of MRandomR250()
rand.seed = 123; // optional
echo("random integer: " @ rand.randInt());
echo("random float: " @ rand.randFloat());
rand.destroy(); 

- All GUI controls support text shadow (instead of just in GUIMLTextCtrl):

profile.textshadow = true,
profile.shadowOffset = {1,1},
profile.shadowColor = {0,0,0} for black shadow 

- In the GUI the text style can be changed now to display italic or bold text:

profile.fontStyle = "i", "b" or "bi"
  • GuiTreeViewCtrl improvements:
    • nodes can use their own profile
    • support for bigger icons
    • you can access the position and extent of nodes (read only)
    • you can hide the first vertical line by setting firstLineVisible to false
    • the width of the box and the space between lines can be modified with the variables boxwidth and statuswidth
    • onMouseOverCell(node,dotname,slashname) event
  • GuiTextListCtrl improvements (this also includes controls which are copying functions from this, like GuiContextMenuCtrl):
    • the selected row is correctly moved when the list is sorted or a new row is inserted
    • rows can use their own profile
    • support for bigger icons
    • onMouseOverCell(entryid,entrytext,entryindex) event
  • in GuiMLTextCtrl there is support for more html tags: boldtext, italictext
  • for GuiWindowCtrls where the inside of the window border is round, you can define profile.backgroundinset = {5,5,5,5} (left,top,right,bottom) to define where the background layer should be displayed, instead of at the border bitmap offset

Network improvements

  • /ping command on servers (will eventually be accessible for scripts later)