From: John Tsiombikas Date: Sat, 1 Apr 2023 23:00:34 +0000 (+0300) Subject: start level tool X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=deeprace;a=commitdiff_plain;h=1bb04ef82255290ad1d7f558dfdb28c691a33b63 start level tool --- diff --git a/.gitignore b/.gitignore index 6f47f90..b1c6569 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ *.swp game *.a +mklevel diff --git a/tools/mklevel/GNUmakefile b/tools/mklevel/GNUmakefile new file mode 100644 index 0000000..23719c7 --- /dev/null +++ b/tools/mklevel/GNUmakefile @@ -0,0 +1,33 @@ +src = $(wildcard src/*.c) +obj = $(src:.c=.o) +dep = $(src:.c=.d) +bin = mklevel + +warn = -pedantic -Wall +dbg = -g +inc = -I../../libs -I../../libs/goat3d/include -I../../libs/treestor/include +libdir = ../../libs/unix +libs = $(libdir)/goat3d.a $(libdir)/treestor.a + +CC = gcc +CFLAGS = $(warn) $(dbg) -MMD +LDFLAGS = $(libs) -lm + +$(bin): $(obj) $(libs) + $(CC) -o $@ $(obj) $(LDFLAGS) + +-include $(dep) + +.PHONY: clean +clean: + rm -f $(obj) $(bin) + +.PHONY: cleandep +cleandep: + rm -f $(dep) + +$(libdir)/goat3d.a: + $(MAKE) -C ../../libs/goat3d + +$(libdir)/treestor.a: + $(MAKE) -C ../../libs/treestor diff --git a/tools/mklevel/src/main.c b/tools/mklevel/src/main.c new file mode 100644 index 0000000..5ae4458 --- /dev/null +++ b/tools/mklevel/src/main.c @@ -0,0 +1,62 @@ +#include +#include +#include +#include "goat3d.h" + +int parse_args(int argc, char **argv); + +const char *opt_fname; +struct goat3d *gscn; + +int main(int argc, char **argv) +{ + if(parse_args(argc, argv) == -1) { + return 1; + } + + if(!(gscn = goat3d_create()) || goat3d_load(gscn, opt_fname) == -1) { + return 1; + } + + goat3d_free(gscn); + return 0; +} + +int parse_args(int argc, char **argv) +{ + static const char *usage_fmt = "Usage: %s [options] \n" + "Options:\n" + " -h: print usage and exit\n\n"; + int i; + + for(i=1; i