mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2024-11-30 15:41:12 +00:00
56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
/* this is the WIP test for the parser...
|
|
* constantly adding stuff here to see if things break
|
|
*/
|
|
void(string) print = #1;
|
|
void(string,string) print2 = #1;
|
|
void(string,string,string) print3 = #1;
|
|
string(float) ftos = #2;
|
|
entity() spawn = #3;
|
|
void(entity) kill = #4;
|
|
|
|
$frame stand1 stand2 standX
|
|
.float frame;
|
|
.float nextthink;
|
|
.void() think;
|
|
|
|
entity self;
|
|
float time;
|
|
|
|
// void() stand2; this is auto-prototyped
|
|
void() stand1 = [ 0, stand2 ] {
|
|
// expands to:
|
|
//self.frame = 0;
|
|
//self.nextthink = time + 0.1;
|
|
//self.think = stand2
|
|
print("In stand 1...\n");
|
|
print3("--> self.frame should be 0, is ", ftos(self.frame), "\n");
|
|
};
|
|
|
|
void() stand2 = [ 1, stand1 ] {
|
|
print("In stand 2...\n");
|
|
print3("--> self.frame should be 1, is ", ftos(self.frame), "\n");
|
|
};
|
|
|
|
void() standm = {
|
|
local string bar;
|
|
bar = ftos(self);
|
|
print3("Foo ", ftos(self), "\n");
|
|
self.frame = 0;
|
|
self.nextthink = time + 0.1;
|
|
};
|
|
|
|
void() main = {
|
|
self = spawn();
|
|
|
|
time = 10;
|
|
|
|
print("Setting think\n");
|
|
self.think = stand1;
|
|
|
|
print("Running think\n");
|
|
standm();
|
|
print("Running from 'self'\n");
|
|
self.think();
|
|
self.think();
|
|
self.think();
|
|
};
|