mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-12-03 01:22:51 +00:00
54 lines
887 B
R
54 lines
887 B
R
|
#include "test-harness.h"
|
||
|
|
||
|
.void() think;
|
||
|
.float nextthink;
|
||
|
.float frame;
|
||
|
entity self;
|
||
|
float time;
|
||
|
|
||
|
$frame frame0 frame1 frame2 frame3
|
||
|
|
||
|
void
|
||
|
state0 (void)
|
||
|
[$frame1, state1]
|
||
|
{
|
||
|
if (self.frame != $frame1 || self.think != state1
|
||
|
|| self.nextthink != 0.1) {
|
||
|
printf ("state0: %g %x %g\n", self.frame, self.think, self.nextthink);
|
||
|
exit (1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void
|
||
|
state1 (void)
|
||
|
[$frame2, state2, 0.2]
|
||
|
{
|
||
|
if (self.frame != $frame2 || self.think != state2
|
||
|
|| self.nextthink != 0.2) {
|
||
|
printf ("state0: %g %x %g\n", self.frame, self.think, self.nextthink);
|
||
|
exit (1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
void
|
||
|
state2 (void)
|
||
|
[$frame0, state0, 0.5]
|
||
|
{
|
||
|
if (self.frame != $frame0 || self.think != state0
|
||
|
|| self.nextthink != 0.5) {
|
||
|
printf ("state0: %g %x %g\n", self.frame, self.think, self.nextthink);
|
||
|
exit (1);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
int
|
||
|
main ()
|
||
|
{
|
||
|
self = spawn ();
|
||
|
state0();
|
||
|
while (self.frame != $frame0) {
|
||
|
self.think();
|
||
|
}
|
||
|
return 0;
|
||
|
}
|