Creation/Dev/Releases/Client/4.03

From Graal Bible
Revision as of 08:43, 21 September 2007 by Stefan (talk | contribs) (New page: ==Release date== December 20th 2005 on Windows, Linux and Mac ==New features== ===Graal 3D=== * fixed several crashing bugs * fixed the player shadow * on Linux and Mac you can change t...)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Release date

December 20th 2005 on Windows, Linux and Mac

New features

Graal 3D

  • fixed several crashing bugs
  • fixed the player shadow
  • on Linux and Mac you can change the mouse sensitivity in the options now
  • readded the terrain detail textures
  • fixed saving of lightmaps (meaning reentering the server is faster)
  • improved the speed on Mac

Graal 2D

  • fixed microphone support on Mac; for changing the volume of the microphone you currently need to edit ~/.graal/graal4/graal4config.txt
  • added support for animated tiles (addtiledef with mngs/gifs)
  • fixed an addtiledef problem with overwriting tiledefs for single levels / group of levels (so that the Era mines don't have snow anymore)
  • "showscriptstats" chat command for showing the clientside script commands which take most cpu time
  • level.showterraingrid = true/false for showing the terrain grid like when you open a terrain gmap in the level editor
  • new F1 window (online only)
  • the F1,F3 and F5 windows can be closed by pressing the keys again
  • when sending a Mass PM then it is also adding the "Mass Message:" in front of them in the PM history
  • fixed a crashing bug with "else else" in old scripting engine
  • it doesn't remove your local guild tag anymore when you go on the login server and then the server where you had the local tag
  • on Windows it is now logging into graal4console.log, so you/we can easier find problems when the game is crashing
  • added player.platform variable (win,mac,linux) for new scripting
  • keypressed events now have 3 parameters: keycode, character, and scancode (independend from the players language, but are different for mac, so if you use the scancode then also let some mac player test it)
  • added a new pics1.png to the installers and to the levels pack (tile fixes made by haunter and others)

Particle Engine

  • emitter.emitautomatically = true/false - if you want the emitter to automatically emit particles or not
  • emitter.emitatterrainheight = true/false - if enabled then it will emit all particles at terrain height (+emissionoffset) instead of the z of the showimg
  • emitter.emitat({x,y,z}) - for emitting a particle at a special position without needing to modify emissionoffset
  • emitter.particletypes = number, emitter.particles[] - by increasing particletypes to 2 or more (default is 1), you can let the emitter emit different particles; you can access the additional particles by emitter.particles[1] etc.; emitter.particle is the same like emitter.particles[0]
  • emitter.dropemitter, emitter.dropwateremitter - those work exactly like the emitter itself (e.g. you can edit emitter.dropemitter.particle) and are used for emitting particles once a particle drops on the ground (rain drops) or the lifetime is over (for fireworks) - once a particle is dropping the emitter is calling dropemitter.emitat() to produce the drops; if there is a dropwateremitter and the particle was dropping on water then it is using the dropwateremitter for the drop effect
  • particle.sound - a sound file or array of sound files which is played when the particle is emitted, mainly meant for combination with the emitter.dropemitter

Dropemitter example (can be used for falling lava effects or so):

//#CLIENTSIDE function onCreated() {

 with (findimg(200)) {
   attachtoowner = true;
   // Emitter attributes
   layer = 2;
   with (emitter) {
     delaymin = 0.1;
     delaymax = 0.3;
     nrofparticles = 2;
     emissionoffset = {0, 0, 10};
     checkbelowterrain = true;
     wraptoclippingbox = true;
     cliptoscreen = true;
     with (particle) {
       lifetime = 10;
       zangle = -1;
       speed = 4;
       image = "l_snowball.png";
       mode = 1;
       alpha = 0.01;
     }
     addglobalmodifier("impulse", 0.2, 0.2, "zangle", "multiply", 0.95, 0.95);
     addlocalmodifier("once", 0, 0, "rotation", "replace", 0, 2*pi);
     addlocalmodifier("once", 0, 0, "angle", "replace", degtorad(200), degtorad(260));
     addlocalmodifier("once", 0, 0, "x", "add", -100, 100);
     addlocalmodifier("once", 0, 0, "y", "add", -100, 100);
     addlocalmodifier("once", 0, 0, "speed", "replace", 4, 8);
     addlocalmodifier("range", 0, 1, "alpha", "replace", 0.01, 1);
     with (dropemitter) {
       nrofparticles = 10;
       with (particle) {
         lifetime = 1;
         image = "l_snowball.png";
         mode = 1;
         zoom = 0.8;
         zangle = 0.5;
         sound = "walk_snow.wav,,,,,";
         spin = 4*pi;
       }
       addlocalmodifier("once", 0, 0, "angle", "replace", 0, 2*pi);
       addlocalmodifier("once", 0, 0, "speed", "replace", 3, 6);
       addlocalmodifier("once", 0, 0, "rotation", "replace", 0, 2*pi);
       addglobalmodifier("range", 0, 100000, "zangle", "add", -2, -2);
       addlocalmodifier("range", 0.5, 1, "alpha", "replace", 0.99, 0);
       addlocalmodifier("range", 0.4, 1, "zoom", "replace", 0.8, 0);
     }
   }
 }

}