diff --git a/bin/Makefile b/bin/Makefile index 04cb1ee..9d365ec 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -11,21 +11,21 @@ OS := LINUX VMAJOR := 0 VMINOR := 0 VREV := 1 -VERSION := -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV) -VERSIONFILE := VERSION +VERSION = -DVMAJOR=$(VMAJOR) -DVMINOR=$(VMINOR) -DVREV=$(VREV) +VERSIONFILE = VERSION # OBJECTS. -APPNAME = Lephisto +APPNAME := Lephisto OBJS := $(shell find ../src/ -name '*.c' -print) OBJS := $(OBJS:%.c=%.o) # CFLAGS -CLUA = -I../lib/lua -CSDL = $(shell sdl-config --cflags) -CXML = $(shell xml2-config --cflags) -CTTF = $(shell freetype-config --cflags) -CGL = -CFLAGS = $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CGL) $(VERSION) -D$(OS) +CLUA := -I../lib/lua +CSDL := $(shell sdl-config --cflags) +CXML := $(shell xml2-config --cflags) +CTTF := $(shell freetype-config --cflags) +CGL := +CFLAGS := $(CLUA) $(CSDL) $(CXML) $(CTTF) $(CGL) $(VERSION) -D$(OS) # OS Stuff. ifeq ($(OS),LINUX) @@ -52,13 +52,13 @@ CFLAGS += -O2 -funroll-loops -pipe -std=c99 endif # LDFLAGS. -LDLUA = ../lib/lua/liblua.a -LDSDL = $(shell sdl-config --libs) -lSDL_image -lSDL_mixer -LDXML = $(shell xml2-config --libs) -LDTTF = $(shell freetype-config --libs) -LDGL = -lGL -LDPNG = -lpng -LDFLAGS = -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL) $(LDPNG) +LDLUA := ../lib/lua/liblua.a +LDSDL := $(shell sdl-config --libs) -lSDL_image -lSDL_mixer +LDXML := $(shell xml2-config --libs) +LDTTF := $(shell freetype-config --libs) +LDGL := -lGL +LDPNG := -lpng +LDFLAGS := -lm $(LDLUA) $(LDSDL) $(LDXML) $(LDTTF) $(LDGL) $(LDPNG) # This is just for gstat to run some analysis on performance. ifdef DEBUG @@ -66,59 +66,72 @@ LDFLAGS += -pg endif # DATA. -DATA_AI = $(shell find ../scripts/ai/ -name '*.lua') -DATA_GFX = $(shell find ../gfx/ -name '*.png') -DATA_XML = $(shell find ../dat/ -name '*.xml' -o -name '*.ttf') -DATA_SND = $(shell find ../snd/ -name '*.ogg' -o -name '*.wav') ../snd/music.lua -DATA_MISN = $(shell find ../dat/missions/ -name '*.lua') -DATA = data -DATAFILES = $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND) $(DATA_MISN) +DATA_AI := $(shell find ../scripts/ai/ -name '*.lua') +DATA_GFX := $(shell find ../gfx/ -name '*.png') +DATA_XML := $(shell find ../dat/ -name '*.xml' -o -name '*.ttf') +DATA_SND := $(shell find ../snd/ -name '*.ogg' -o -name '*.wav') ../snd/music.lua +DATA_MISN := $(shell find ../dat/missions/ -name '*.lua') +DATA := data +DATAFILES := $(DATA_AI) $(DATA_GFX) $(DATA_XML) $(DATA_SND) $(DATA_MISN) # TARGETS. -.PHONY: all lua bin pack mkspr data utils docs clean purge +.PHONY: all clean purge %.o: %.c %.h @$(CC) -c $(CFLAGS) -o $@ $< @echo -e "\tCC $@" -all: utils data lua bin +all: utils data lua lephisto -bin: $(OBJS) +help: + @echo "Possible targets are:": + @echo " lua - Makes Lua." + @echo " lephisto - Makes the Lephisto binary." + @echo " mkspr - Makes the mkspr utility." + @echo " data - Creates the data file." + @echo " utils - Makes all the utilities." + @echo " docs - Creates the doxygen documentation." + @echo " clean - Removes Lephisto's main binary and data file." + @echo " purge - Removes everything done." + +lephisto: $(OBJS) @$(CC) $(LDFLAGS) -o $(APPNAME) $(OBJS) ../lib/lua/liblua.a - @echo "\tLD $(APPNAME)" + @echo -e "\tLD $(APPNAME)" lua: - @if [ ! -e ../lib/lua/liblua.a ]; then (cd ../lib/lua; $(MAKE) a); fi + @if [ ! -e ../lib/lua/liblua.a ]; then make -C ../lib/lua a; fi pack: ../src/pack.c ../utils/pack/main.c - @(cd ../utils/pack; $(MAKE)) + @make -C ../utils/pack mksprite: ../utils/mkspr/main.c - @(cd ../utils/mkspr; $(MAKE)) + @make -C ../utils/mkspr $(VERSIONFILE): @echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE) -data: pack $(DATAFILES) +data: $(DATAFILES) @echo -n "$(VMAJOR).$(VMINOR).$(VREV)" > $(VERSIONFILE) @echo -e "\tCreating data..\n" @./pack $(DATA) $(DATAFILES) $(VERSIONFILE) -utils: mksprite +utils: mksprite pack docs: @(cd docs/doxygen; doxygen) clean: @echo -e "\tRemoving data" - @rm -f $(DATA) + @$(RM) $(DATA) + @$(RM) $(OBJS) @echo -e "\tRemoving object files" - @rm -f $(OBJS) purge: clean @echo -e "\tCleaning utilites" - @(cd ../utils/pack; $(MAKE) clean) - @(cd ../utils/mkspr; $(MAKE) clean) + @make -C ../utils/pack clean + @make -C ../utils/mkspr clean @echo -e "\tCleaning Lua" - @(cd ../lib/lua; $(MAKE) clean) + @make -C ../lib/lua clean + @echo -e "\tRemoving binaries." + @$(RM) Lephisto mksprite data pack diff --git a/src/weapon.c b/src/weapon.c index d2faa7f..4094a9a 100644 --- a/src/weapon.c +++ b/src/weapon.c @@ -733,7 +733,7 @@ static Weapon* weapon_create(const Outfit* outfit, const double dir, const Vec2* mass = 1; /* Lasers are presumed to have unitory mass. */ vectcpy(&v, vel); vect_cadd(&v, outfit->u.blt.speed*cos(rdir), outfit->u.blt.speed*sin(rdir)); - w->timer += outfit->u.blt.range/outfit->u.blt.speed; + w->timer = outfit->u.blt.range/outfit->u.blt.speed; w->solid = solid_create(mass, rdir, pos, &v); w->voice = sound_playPos(w->outfit->u.blt.sound, w->solid->pos.x + w->solid->vel.x,