Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37729282
en ru br
Репозитории ALT

Группа :: Игры/Прочее
Пакет: 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);
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin