Script-basierte Material Effekte und Shader

Ein Effekt ist nichts weiter als eine Sammlung verschiedene Rendertechniken, die von einer gewissen Zahl von 3D Karten unterstützt werden. Diese Effekte können von fortgeschrittenen Usern geschrieben werden, aber jeder kann sie verwenden; das Bild unten zeigt eine Kiste mit einem DOT3 Bump Mapping Effekt für die Textur.


 
 

file_length(filehandle)

Diese Anweisung liefert die Länge der durch filehandle gegebenen Datei in Byte zurück. Hier ist ein Code Beispiel:

var my_level;

string ok_str = "the level is ok";
string changed_str = "the level was changed!";

text some_txt
{
     pos_x = 0;
     pos_y = 0;
     font = _a4font;
     flags = visible;
}
 
function check_file()
{
     my_level = file_open_read("office.wmp"); // open the file
     if (file_length (my_level) == 51064) // put the size of your level here
     {
          some_txt.string = ok_str;
     }
     else
     {
          some_txt.string = changed_str;
     }
}

on_c = check_file; // press "C" to check the integrity of your office.wmp file

 
 
ent_animate(entity, scenename, percent, mode)

Diese Anweisung ersetzt ent_frame und ent_cycle. Sie funktioniert sowohl mit Vertex als auch mit Bone Animation und auch für Sprites.

Hier sieht man das alte und das neue Skript, das eine Entity mit ihrer “Walk” Animation bewegt:

action animate_old
{
     while (1)
     {
          ent_cycle("walk", my.skill46); // play "walk" frames animation
          my.skill46 += 10 * time; // "walk" animation speed
          my.skill46 %= 100; // loop animation
          wait (1);
     }
}

action animate_new
{
     while (1)
     {
          ent_animate(me, "walk", my.skill46, ANM_CYCLE); // "walk" cycle
          my.skill46 += 10 * time; // "walk" animation speed
          wait (1);
     }
}