#include <math.h>
#include "vec3.h"
-#include "glext.h"
#include "solid.h"
#include "base_config.h"
#define MAXU 16
#define MAXW 32
#define MAXD 128
-#define MAXA 512
+#define MAXA 8192
#define MAXI 32767
static int overflow(const char *s)
if (strcmp(k[i], "targetname") == 0)
make_sym(v[i], bi);
- if (strcmp(k[i], "target") == 0)
+ else if (strcmp(k[i], "target") == 0)
make_ref(v[i], &bp->pi);
- if (strcmp(k[i], "model") == 0)
+ else if (strcmp(k[i], "model") == 0)
read_obj(fp, v[i]);
- if (strcmp(k[i], "origin") == 0)
+ else if (strcmp(k[i], "origin") == 0)
sscanf(v[i], "%d %d %d", &x, &y, &z);
- if (strcmp(k[i], "message") == 0)
+ else if (strcmp(k[i], "classname") != 0)
{
- strcpy(fp->av, v[i]);
- fp->ac = (int) (strlen(v[i]) + 1);
+ /* Considers other strings as metadata */
+ strcat(fp->av, k[i]);
+ strcat(fp->av, "=");
+ strcat(fp->av, v[i]);
+ strcat(fp->av, "\n");
+ fp->ac += (int) (strlen(v[i]) + (strlen(k[i])) + 2);
}
}
zp->p[1] = 0.f;
zp->p[2] = 0.f;
zp->r = 0.75;
+ zp->s = 0;
+ zp->c = 0;
for (i = 0; i < c; i++)
{
if (strcmp(k[i], "radius") == 0)
sscanf(v[i], "%f", &zp->r);
+ if (strcmp(k[i], "skip") == 0)
+ sscanf(v[i], "%d", &zp->s);
+ if (strcmp(k[i], "special") == 0)
+ sscanf(v[i], "%d", &zp->c);
if (strcmp(k[i], "origin") == 0)
{
xp->t = 0;
xp->f0 = 0;
xp->f = 0;
+ xp->i = 0;
for (i = 0; i < c; i++)
{
if (strcmp(k[i], "state") == 0)
xp->f = atoi(v[i]);
+
+ if (strcmp(k[i], "invisible") == 0)
+ xp->i = atoi(v[i]);
if (strcmp(k[i], "origin") == 0)
{
p->rc, p->uc, p->ac, p->ic);
}
+/* Skip the ugly SDL main substitution */
+/* Since we only need sdl_image */
+#ifdef main
+# undef main
+#endif
+
int main(int argc, char *argv[])
{
char src[MAXSTR];