Creation/Dev/Releases/Client/2.1
From Graal Bible
Release date
2001 for Windows
2.1
new standard tiles for trees and houses and signs
new interface for starting window and serverlist, it shows informations about your account; if you are in the serverlist you can go back to the starting window by pressing F8
completely redone engine for holding the images in the memory; this avoids using the windows GDI (graphical interface) which caused memory leaks and other problems; with this new engine the game should take much less resources and memory
the editor opens a new empty level when you press F4 while playing the tutorial levels instead of showing the error message that the tutorial level does not exist on the hard drive (since it is encoded in the exe and not meant to be editable)
when you are in a level where playerkilling is disabled then you see a little sign right to the alignment bar which shows a red cross on a sword
the script variable timevar works in offline mode too
fixed problem with the % operator on big values
new script function ascii(c) to get the ascii code of a character (ascii(A) is 65); the other way (converting ascii code to character) can still be done by using the #K(num) message code (#K(65) is A)
there shouldn't be 'Invalid floating point' error messages any more on voodoo cards (please disable the use of direct3D in the Graal options if the effects are too slow for you)
when a chat text or a nickname contains a line that is too long for being displayed on the screen, then only the visible part is drawn instead of hiding it like in old Graal versions
new script variable tiles[x,y] which can be used as replacement for the board[index] variable; it also works for tiles in near levels on overworlds (tiles[-1,20] will read the tile at (63,20) of the level left to the current level)
in the editor there is a new option 'Predefined npcs'; there are all scripts (text files) listed where the filename starts with 'defnpc' and ends with '.txt'; you can select the npc, then drag&drop it onto the level by clicking on the npc outline icon left of the choice box and moving it onto the level; in the script file you can insert lines like #COMMENTS This is a door for changing the comments that are displayed under the choice box, and #EDIT redvalue 1 to let the user change a value in the script: when you add the npc to the level then all occurances of the variable ('redvalue') will be replaced by the entered text (in this case '1' if you don't change the text)
some windows have been removed (sign message codes, add-npc window) and the stuff from it is integrated into other windows so the level editing is simplier; the options window and add-showcharacter windows use tabsheets
snapshots levels made with Alt+5 handle lights correctly, also fixed some other problems with snapshot levels
support for smilies in PMs: some text like :D and :eek: is automatically replaced by smilie-images when reading a PM (and having html-pms turned on); you can change the list of smilies by editing the file smiliesdef.txt in the folder levels/smilies (add a line 'code,filename' for adding a new smilie)
fixed 'vibrations' when being on a moving ship
switching to fullscreen and back to window mode should work better instead of flashing the screen several times
ganis can contain scripts, put it in a block: SCRIPT if (blabla)... SCRIPTEND It is restricted to this. variables and can only use functions for playing music files and displaying showimgs
new script function getangle(dx,dy)
String arrays! they are saved in normal flags/string variables and look like 'myarray=123,"45",67,"8,9"' Commands/Functions: addstring list,text; insertstring list,index,text; replacestring list,index,text; removestring list,text; deletestring list,index; sarraylen(list) lindexof(list,text) #I(list,index) - gives you the string on place 'index'
new script command play2 wavfile,x,y,volume; x,y specifys from where the sound should come from; volume must be between 0 and 1, if set to 1 then the default volume will be used (depending on how far x,y is away from the player)
auto mapping: the Graal program now automatically downloads map files and minimap images, and updates the bigmap (M) by drawing the screen on the map when you move 8 tiles; this options can be turned off in the Graal options if wished; when you leave a level then it saves the part of the map that belongs to that level on hard disk into the maps/parts folder; next time you start Graal it loads the map parts automatically, that way you always have an up-to-date map; the map and minimap is no longer set by the listserver, its now done by the gserver itself, which means playerworld owners can change the default map/minimap by adding lines to the serveroptions.txt: bigmap=bigmap.txt,map.png,12.2,8 minimap=minimap.txt,map2.png,5.2,7 it works exactly like the script commands setmap/setminimap
new script variable 'graalversion' to detect the Graal version the npc is running on
ghost mode, which makes it possible to let new players see Graal2001 for free; it will also be used to limit the player count on 'free' servers (if you have not upgraded then you will login as ghost and wait in a queue till you are activated)
important actions are logged in a new log window that you can open by pressing Alt+0; it logs things like initializing DirectX, Direct3D, but also the login/logout of players and sending of explosions etc.; more stuff will be added in the future
script commands callweapon and callnpc doesn't allow the 'created' flag anymore
fixed showimg synchronization
in the tiles panel in the editor you can select multiple tiles at once: select a block of tiles by clicking on the upper lef edge, then moving the mouse to the lower right edge and releasing it, then pasting it on the level
all default images included in Graal are now using the image formats png or mng instead of gif
2.101
added the ghost icon to state.png and ghostbody.png
fixed bluelampani.mng
fixed changing the body
arrows cannot hurt ghosts anymore
2.102
fixed script command setminimap
2.103
baddys can't be hurt/killed again when they are already hurt/killed
the auto-mapping works even when you are on a ship (attachplayertoobj)
fixed arrows shooting position
npcs are correctly deleted when a level is deleted
2.12
compatibility of the clients for Graal2001 and Graal2002
many new features for Graal2002, which will be listed later when the game is public
fixed updating images from the server
fixed some linking problems
new editor mode: it's now possible to do multilevel-editing (when an npc called setmap); also the drawing is using the correct npc y-order; scrolling is different: click on the player and move him around, or use the arrow keys to move to the visible level part
new script commands: * wraptext linelength,delimiters,text; Word-wraps a text into pieces each of length 'linelength'; the result can be accessed by reading #t(0..tokenscount-1) * wraptext2 pixelwidth,zoomfactor,delimiters,text; Wraps a text depending on the visible text width; instead of the numbers of characters you give the width of the text on the screen (in pixels); the text can be like in showimg, e.g. @TimesRoman@b@text
#f(index) gives you the image of the npc with the specified index
2.121
fixed ghost movement on graal2002, also ghosts can now see ganis with script like the torch lamps