Creation/Dev/Releases/Client/NewFeatures2003

From Graal Bible

2.21

In this version the network traffic has been reduced drastically, that should make the game less laggier. There are also a few other updates. These things apply for v3.03 too.

  • when a tiles-image has been downloaded all tiles using that image are redrawn, so preventing messed up screens when entering a room with new tiles
  • when weapon scripts do 'showani' then the used ganis can do gani-scripting too (e.g. for displaying nice effects on status bar)
  • server-side scripts can do 'triggeraction 0,0,clientside,weapon,params' to directly trigger the client-side part of weapon of the player - catch it with 'if (actionclientside) actions;'

2.2

Graal v2.2 is not really a major release, but is bringing better support for internationalization and online-tile-editing.

  • support for multi-byte text in signs:
    • this is needed for languages like Korean, Chinese and Japanese
    • a Korean version of Graal Kingdoms is planned
  • server-side tile changes work on gmaps too - with updateboard/2 tiles can be sent to the client, saving will be added soon
  • new scripting function textheight(zoom,font,style):
    • calculates the height of text displayed with the given zoom factor, font name and style
    • textheight(1,,) gives the height of the standard font used for showimg/showtext
    • the style is a string with the letters b (bold), or i (italic), the other styles don't really make sense
    • the font name and font style are generaly not influencing the height a lot
  • several little bug fixes

2.191

  • fixed a login problem on playerworlds

2.19

At the same time v2.19 and v3 are released - most new stuff has been added to v3 and we will also add more things to that version, while still maintaining the old client until it can be fully replaced. Both versions use the new starting screen, better compression and speed optimizations. There are also some improvements for scripters and several bug fixes.

Development tools

We have released new development tools:

  • graalshop (gani editor) can handle the attributes 10-30 now
  • the level generator produces .nw levels and gmaps
  • gif2mng has been updated:
    • the generated mngs are now compatible to the mng standard, which is important for Graal v3 which uses the mng standard
    • you can fix old mngs by converting them with gif2mng again
    • gif2mng can handle short to long filename conversion now so you can convert images by dropping them on the gif2mng exe in the windows explorer
  • there is the new dungeon generator which has been used to make the dungeons on Graal Kingdoms
    • You will need to make your own inside tiles though to use the generated levels in your playerworld

General features

  • there is a new starting screen and new server list to match more the style of the website and Graal Kingdoms
  • Graal uses a better compression, to reduce download time and lag
  • speed optimizations: several internal things have been improved, mainly the search for filenames and lookup of scripting variables, so the game should run faster

Script features

  • this. strings:
    • the client finally supports this.-strings
    • previously all strings on client-side were attached to the player, irritating people who have seen this.-strings in server-side scripts
    • this.-strings belong to the current npc and can be changed with the 'setstring name,value' command and read with the #s(name) message code
  • on servers with npcserver the client doesn't send any strings except client. strings to the server anymore, so you don't need to start the strings with local. anymore (except when doing things for the classic server)
  • ganis can use this. strings too, allowing string manipulation things in ganis
  • ganis can write to i,j etc.:
    • they are handled like local variables, so you don't need to store temporary values in this. variables anymore
    • before 2.19 you couldn't write to i,j etc. because those were variables belonging to the current level and could influence other npcs which should not be allowed since gani scripts can be edited by players
    • level variables can still be read, but once you write to them they will be handled as local variable
  • #p(x) in attached ganis: it's now possible to do things like 'setplayerprop #P1,mygani.gani,param1,param2;' where the script in mygani.gani can read the params with #p(0),#p(1) etc.
  • textwidth(zoom,font,style,text): calculates the pixel width of a text with the given zoom factor, font and style
  • #m(-1): all npcs can use the index -1 to read their own string attributes like #m, #Px, #Cx, not just showcharacter-npcs
  • new message code #R: #R(string1,...,stringx) selects randomly one of the strings

Bug fixes

  • the call stack is saved and restored when doing the script command 'sleep', which means it works inside functions now
  • some problems were solved with global npcs getting invisible when moving
  • there is less memory use when walking on gmaps, less images of npcs are hold in memory
  • the script command testplayer works on gmaps now
  • when a projectile lands then weapons get the event 'actionprojectile2' instead of 'actionprojectile' to avoid problems of mixing those ('actionprojectile' is called when the projectile hits an npc or the player)
  • grabbing showcharacter npcs and players is enabled again, it was disabled before to prevent harassement, but was problematic for script things

2.181

  • fixed file dialogs - it doesn't freeze Graal anymore when clicking on the folder box (Win95/98 problem)

2.18

This new Graal version is again mainly a bug-fix release. But a new Graal (v3) is in work which is a completely remake, coded in C++: it's more compatible, faster, works on different platforms and makes it possible to add more features.

  • new password encryption: once you start Graal and connect, the password will be stored more securely

Bug fixes

  • removed a memory leak when saving the history (which is saved each time someone sends you a pm or you send someone a pm)
  • editing gmaps fixed:
    • the heights of near levels are saved correctly (modified-flag correctly set when changing the height so that they are saved when you click on 'save')
    • and npcs are placed on the correct position when a level is load that is part of a gmap which is not loaded yet (e.g. when double-clicking on a level in the windows explorer)
  • in the debugger you can move the mouse over text and commands without seeing new scripting variables appearing in the variables-watch-list
  • the content of the variables is displayed in the caption of the debugger window, that's more fast than showing a yellow hint under the mouse
  • levels are pre-loaded when entering the server, so you don't see heights changing when entering Graal Kingdoms
  • when opening the profile of a player and he is online on as player account and RC at the same time, then you see the stats of the player instead of the RC
  • the maps1-3 ganis are shown in more cases now, but you might need to do some replaceani-calls in case you don't want those gani appearing when the player presses M