Группа :: Игры/Прочее
Пакет: scorchwentbonkers
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: scorchwentbonkers-unixify.patch
Скачать
Скачать
--- 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 <allegro.h>
+#include <stdio.h>
+#include <stdlib.h>
#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);