--- scorchwentbonkers-1.3/Makefile.unix 2016-01-06 12:58:36.000000000 +0100 +++ scorchwentbonkers-1.3/Makefile 2016-01-06 17:08:01.631300876 +0100 @@ -1,3 +1,6 @@ +PREFIX = /usr +BINDIR = $(PREFIX)/bin +DATADIR = $(PREFIX)/share/scorchwentbonkers OBJS = src/engine/FPSCounter.o \ src/engine/TimeKeeper.o \ src/engine/TimeRoutines.o \ @@ -53,18 +56,19 @@ OBJS = src/engine/FPSCounter.o \ SRCS = $(subst .o,.cpp,$(OBJS)) OBJS_D = $(subst /,\,$(OBJS)) DEPENDS = Makefile.dep -LIBS = -static-libgcc -static-libstdc++ -lfmod -ljpgalleg -lalleggl -lalleg44 -lglu32 -lopengl32 -luser32 -lgdi32 -lwinmm -EXENAME = swb.exe +LIBS = -ljpgalleg -lalleggl `allegro-config --libs` `pkg-config --libs AllegroOGG` -lGL -lGLU -ldumb -laldmb -lpthread +EXENAME = swb CXX = g++ -RM = del /q -MV = ren +RM = rm -f +MV = mv -CXXFLAGS = -Wall -g +OPTFLAGS = -g -Wall -O2 +CXXFLAGS = $(OPTFLAGS) `pkg-config --cflags AllegroOGG` -DDATADIR=\"$(DATADIR)/\" DEPFLAGS = -MM -DISTEXENAME = scorchwentbonkers.exe -DISTFLAGS = -Wall -s -O3 +DISTEXENAME = scorchwentbonkers +DISTFLAGS = $(OPTFLAGS) `pkg-config --cflags AllegroOGG` -DDATADIR=\"$(DATADIR)/\" DISTNAME = scorch-went-bonkers-win.zip DISTFILES = fonts gfx misc mus snd alleg44.dll fmod.dll LICENSE @@ -72,10 +76,10 @@ SRCDISTNAME = scorch-went-bonkers-src.zi SRCDISTFILES = Makefile Makefile.dep LICENSE src fonts gfx misc mus snd $(EXENAME): $(OBJS) - $(CXX) $(CXXFLAGS) $(OBJS) src/icon.res $(LIBS) -o $(EXENAME) + $(CXX) $(CXXFLAGS) $(OBJS) $(LIBS) -o $(EXENAME) $(DISTEXENAME): $(OBJS) - $(CXX) $(DISTFLAGS) $(OBJS) src/icon.res $(LIBS) -o $(DISTEXENAME) + $(CXX) $(DISTFLAGS) $(OBJS) $(LIBS) -o $(DISTEXENAME) unlink: $(RM) $(EXENAME) @@ -120,4 +124,10 @@ dist: $(DISTNAME) $(SRCDISTNAME) include $(DEPENDS) -.PHONY: clean veryclean depend dist unlink +install: $(DISTEXENAME) + mkdir -p $(BINDIR) + mkdir -p $(DATADIR) + install -m 755 $(DISTEXENAME) $(BINDIR) + cp -a fonts gfx misc mus snd $(DATADIR) + +.PHONY: clean veryclean depend dist unlink install --- scorchwentbonkers-1.1/src/misc/Settings.cpp.unix 2005-07-24 21:52:14.000000000 +0200 +++ scorchwentbonkers-1.1/src/misc/Settings.cpp 2007-02-04 21:31:59.000000000 +0100 @@ -1,4 +1,6 @@ #include +#include +#include #include "Settings.h" @@ -64,19 +66,35 @@ void Settings::loadSettings() { +#ifdef __unix__ + char *home = getenv("HOME"); + snprintf(filenameBuffer, sizeof(filenameBuffer), "%s/.swb.ini", home? home:"."); + override_config_file(filenameBuffer); +#else set_config_file("settings.ini"); +#endif for (int i = 0; i < LAST_SETTING; i++) setting[i] = get_config_int(settingSections[i], settingNames[i], settingDefaults[i]); +#ifdef __unix__ + snprintf(basePath, sizeof(basePath), DATADIR); +#else char tempPath[512]; get_executable_name(tempPath, 512); replace_filename(basePath, tempPath, "", 512); +#endif } void Settings::saveSettings() { +#ifdef __unix__ + char *home = getenv("HOME"); + snprintf(filenameBuffer, sizeof(filenameBuffer), "%s/.swb.ini", home? home:"."); + override_config_file(filenameBuffer); +#else set_config_file("settings.ini"); +#endif for (int i = 0; i < LAST_SETTING; i++) set_config_int(settingSections[i], settingNames[i], setting[i]); --- scorchwentbonkers-1.1/src/misc/Theme.cpp.unix 2005-07-23 23:01:22.000000000 +0200 +++ scorchwentbonkers-1.1/src/misc/Theme.cpp 2007-02-04 21:31:59.000000000 +0100 @@ -5,6 +5,7 @@ #include "../engine/GLTexture.h" #include "../engine/GLBitmap.h" +#include "../misc/Settings.h" #include "Theme.h" /*********************************************/ @@ -13,7 +14,7 @@ { static char buf[200]; - set_config_file("misc/themes.ini"); + override_config_file(Settings::path("misc/themes.ini")); if (!get_config_int(name, "exists", 0)) { @@ -50,7 +51,7 @@ for (int i = 0; i < ret->cloudsTypeCount; i++) { sprintf(buf,"gfx/clouds/%s_%d.tga", name, i + 1); - BITMAP *bmp = load_bitmap(buf, NULL); + BITMAP *bmp = load_bitmap(Settings::path(buf), NULL); if (!bmp) { allegro_message("Unable to load bitmap '%s'", buf);