From cb0072859fb569034e85566fb4d23393ee19f3f7 Mon Sep 17 00:00:00 2001 From: simon Date: Thu, 5 Jul 2007 16:13:27 +0000 Subject: [PATCH] import vodovod-1.10 The goal of vodovod is to reach the highest possible score. You get a limited number of pipes on each level and need to combine them to lead the water from the house at the top of the screen to the storage tank at the bottom. help & ok jasper@ --- games/vodovod/Makefile | 39 ++++++++++++++ games/vodovod/distinfo | 5 ++ games/vodovod/patches/patch-Makefile | 28 ++++++++++ games/vodovod/patches/patch-allmenus_cpp | 21 ++++++++ games/vodovod/patches/patch-config_cpp | 41 +++++++++++++++ games/vodovod/patches/patch-config_h | 15 ++++++ games/vodovod/patches/patch-game_cpp | 21 ++++++++ games/vodovod/patches/patch-main_cpp | 65 ++++++++++++++++++++++++ games/vodovod/patches/patch-map_cpp | 12 +++++ games/vodovod/patches/patch-sutils_cpp | 12 +++++ games/vodovod/pkg/DESCR | 4 ++ games/vodovod/pkg/PLIST | 25 +++++++++ 12 files changed, 288 insertions(+) create mode 100644 games/vodovod/Makefile create mode 100644 games/vodovod/distinfo create mode 100644 games/vodovod/patches/patch-Makefile create mode 100644 games/vodovod/patches/patch-allmenus_cpp create mode 100644 games/vodovod/patches/patch-config_cpp create mode 100644 games/vodovod/patches/patch-config_h create mode 100644 games/vodovod/patches/patch-game_cpp create mode 100644 games/vodovod/patches/patch-main_cpp create mode 100644 games/vodovod/patches/patch-map_cpp create mode 100644 games/vodovod/patches/patch-sutils_cpp create mode 100644 games/vodovod/pkg/DESCR create mode 100644 games/vodovod/pkg/PLIST diff --git a/games/vodovod/Makefile b/games/vodovod/Makefile new file mode 100644 index 00000000000..87221262d57 --- /dev/null +++ b/games/vodovod/Makefile @@ -0,0 +1,39 @@ +# $OpenBSD: Makefile,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ + +COMMENT= combine pipes to lead water from the house to the tank + +DISTNAME= vodovod-1.10-src +PKGNAME= vodovod-1.10 +CATEGORIES= games + +HOMEPAGE= http://home.gna.org/vodovod/ + +MAINTAINER= Simon Bertrang + +# GPL +PERMIT_PACKAGE_CDROM= Yes +PERMIT_PACKAGE_FTP= Yes +PERMIT_DISTFILES_CDROM= Yes +PERMIT_DISTFILES_FTP= Yes +WANTLIB= X11 Xext c m pthread stdc++ usbhid + +MASTER_SITES= http://download.gna.org/vodovod/ + +LIB_DEPENDS= SDL::devel/sdl \ + SDL_image::devel/sdl-image \ + SDL_mixer::devel/sdl-mixer + +USE_X11= Yes +NO_REGRESS= Yes + +MAKE_ENV+= DATADIR="${LOCALBASE}/share/vodovod" CC="${CXX}" + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/vodovod ${PREFIX}/bin + ${INSTALL_DATA_DIR} ${PREFIX}/share/vodovod + ${INSTALL_DATA} ${WRKSRC}/vodovod.rc \ + ${PREFIX}/share/vodovod/vodovod.conf + ${INSTALL_DATA_DIR} ${PREFIX}/share/vodovod/data + ${INSTALL_DATA} ${WRKSRC}/data/* ${PREFIX}/share/vodovod/data + +.include diff --git a/games/vodovod/distinfo b/games/vodovod/distinfo new file mode 100644 index 00000000000..33d16becf30 --- /dev/null +++ b/games/vodovod/distinfo @@ -0,0 +1,5 @@ +MD5 (vodovod-1.10-src.tar.gz) = /JuqFwSwBnYb7F5OZLfunQ== +RMD160 (vodovod-1.10-src.tar.gz) = Fk2wzy/8WvRgYnph9wlHYgIk8sc= +SHA1 (vodovod-1.10-src.tar.gz) = lDM1pZwfwcr1+Lc0WmzFuXRY9/w= +SHA256 (vodovod-1.10-src.tar.gz) = ujCRnu1nbp0at9xXtygTA562WPomRCuSHCmkidXAgt8= +SIZE (vodovod-1.10-src.tar.gz) = 403216 diff --git a/games/vodovod/patches/patch-Makefile b/games/vodovod/patches/patch-Makefile new file mode 100644 index 00000000000..f2328efdef5 --- /dev/null +++ b/games/vodovod/patches/patch-Makefile @@ -0,0 +1,28 @@ +$OpenBSD: patch-Makefile,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +--- Makefile.orig Sun Jun 10 16:16:22 2007 ++++ Makefile Thu Jul 5 16:09:05 2007 +@@ -18,20 +18,16 @@ + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + # + +-# directory where the games are installed (/usr, /usr/local, ... or something) +-ifndef PREFIX +-PREFIX=/usr +-endif +- + PROGRAM = vodovod + OBJECTS = game.o map.o resource.o main.o allmenus.o njamfont.o sutils.o menu.o hiscore.o effects.o config.o keys.o +-CC = g++ + + # If you hate warnings under Cygwin use these flags instead + # MY_CFLAGS = -I/usr/local/include/SDL -Dmain=SDL_main -DWIN32 -Uunix -mno-cygwin +-MY_CFLAGS = `sdl-config --cflags` ++MY_CFLAGS = `sdl-config --cflags` -DDATADIR=\"${DATADIR}\" + +-%.o: %.cpp ++.SUFFIXES: .o .cpp ++ ++.cpp.o: + $(CC) -c $(MY_CFLAGS) $< -o $@ + + all: $(PROGRAM) diff --git a/games/vodovod/patches/patch-allmenus_cpp b/games/vodovod/patches/patch-allmenus_cpp new file mode 100644 index 00000000000..f0a12121d3a --- /dev/null +++ b/games/vodovod/patches/patch-allmenus_cpp @@ -0,0 +1,21 @@ +$OpenBSD: patch-allmenus_cpp,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +--- allmenus.cpp.orig Thu Jul 5 15:20:07 2007 ++++ allmenus.cpp Thu Jul 5 15:20:24 2007 +@@ -36,7 +36,7 @@ extern ResourceManager *Data; + //----------------------------------------------------------------------------- + MainMenu::MainMenu(NjamFont *font_ptr, int x, int y): + Menu(font_ptr, x, y), +- whiteFontM("data/font-white.bmp", 8, 14) ++ whiteFontM(DATADIR "/data/font-white.bmp", 8, 14) + { + options.push_back("START NEW GAME"); + options.push_back("OPTIONS"); +@@ -68,7 +68,7 @@ void DrawHelp() + { + RenderBackground(300); + +- NjamFont font("data/font-white.bmp", 8, 14); ++ NjamFont font(DATADIR "/data/font-white.bmp", 8, 14); + int row = 10; + const int col = 16; + font.WriteTextColRow(Screen, col, row++, "GOAL OF THE GAME IS TO USE PIPES TO CONNECT THE HOUSE AT THE TOP"); diff --git a/games/vodovod/patches/patch-config_cpp b/games/vodovod/patches/patch-config_cpp new file mode 100644 index 00000000000..04cf9a75ec0 --- /dev/null +++ b/games/vodovod/patches/patch-config_cpp @@ -0,0 +1,41 @@ +$OpenBSD: patch-config_cpp,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +--- config.cpp.orig Sun Jun 3 13:09:24 2007 ++++ config.cpp Thu Jul 5 15:42:13 2007 +@@ -22,6 +22,8 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, + #include + #include + #include "config.h" ++#include ++#include + //------------------------------------------------------------------------------ + using namespace std; + //----------------------------------------------------------------------------- +@@ -155,7 +157,18 @@ Config::~Config() + //----------------------------------------------------------------------------- + bool Config::save() + { +- std::ofstream file("vodovod.conf"); ++ const char *home; ++ char path[FILENAME_MAX]; ++ int n; ++ ++ if ((home = getenv("HOME")) == NULL) ++ false; ++ ++ if ((n = snprintf(path, FILENAME_MAX, "%s/.vodovod.conf", home) >= ++ FILENAME_MAX) || n <= 0) ++ false; ++ ++ std::ofstream file(path); + if (!file) + return false; + +@@ -171,7 +184,7 @@ bool Config::save() + // this gets called from main() so we're sure config.ini is in the right place + bool Config::load() + { +- std::ifstream file("vodovod.conf"); ++ std::ifstream file(DATADIR "/vodovod.conf"); + if (!file) + return false; + diff --git a/games/vodovod/patches/patch-config_h b/games/vodovod/patches/patch-config_h new file mode 100644 index 00000000000..cec32f094e2 --- /dev/null +++ b/games/vodovod/patches/patch-config_h @@ -0,0 +1,15 @@ +$OpenBSD: patch-config_h,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +--- config.h.orig Sun Jun 3 13:09:24 2007 ++++ config.h Thu Jul 5 15:16:26 2007 +@@ -27,6 +27,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, + #include + #include + #include ++ ++#ifndef DATADIR ++#define DATADIR "." ++#endif ++ + //--------------------------------------------------------------------------------------- + enum taAction { taLeft, taRight, taDown, taUp, taDrop, taFlood }; + //--------------------------------------------------------------------------------------- diff --git a/games/vodovod/patches/patch-game_cpp b/games/vodovod/patches/patch-game_cpp new file mode 100644 index 00000000000..1ee773931f2 --- /dev/null +++ b/games/vodovod/patches/patch-game_cpp @@ -0,0 +1,21 @@ +$OpenBSD: patch-game_cpp,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +--- game.cpp.orig Sat Jun 9 22:36:53 2007 ++++ game.cpp Thu Jul 5 15:17:08 2007 +@@ -29,7 +29,7 @@ extern SDL_Surface *Screen; // global objects + extern ResourceManager *Data; + //----------------------------------------------------------------------------- + Game::Game(int difficulty): +- fontM("data/font-white.bmp", 8, 14), mapM(13, 7, 10, 110) ++ fontM(DATADIR "/data/font-white.bmp", 8, 14), mapM(13, 7, 10, 110) + { + difficultyM = difficulty; + SetupGame(); +@@ -176,7 +176,7 @@ void Game::RenderScene(bool flip) + mapM.RenderNextShape(*(queueM.begin())); + + SDL_Rect r; +- SDL_Surface *next = Data->getGfx("next", "data/next.png"); ++ SDL_Surface *next = Data->getGfx("next", DATADIR "/data/next.png"); + NjamSetRect(r, 363, 533); + SDL_BlitSurface(next, 0, Screen, &r); + diff --git a/games/vodovod/patches/patch-main_cpp b/games/vodovod/patches/patch-main_cpp new file mode 100644 index 00000000000..bae23c4d7a9 --- /dev/null +++ b/games/vodovod/patches/patch-main_cpp @@ -0,0 +1,65 @@ +$OpenBSD: patch-main_cpp,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +--- main.cpp.orig Sun Jun 10 16:15:27 2007 ++++ main.cpp Thu Jul 5 15:17:36 2007 +@@ -101,38 +101,38 @@ int main(int /* argc */, char ** /* argv */) + InitVideo(Fullscreen); + audio = InitAudio(); + +- SDL_Surface *vodovod = Data->getGfx("vodovod", "data/vodovod.png"); +- Data->getGfx("dirt", "data/slate.png"); +- Data->getGfx("queue", "data/queue.png"); +- Data->getGfx("blocks", "data/block.png"); ++ SDL_Surface *vodovod = Data->getGfx("vodovod", DATADIR "/data/vodovod.png"); ++ Data->getGfx("dirt", DATADIR "/data/slate.png"); ++ Data->getGfx("queue", DATADIR "/data/queue.png"); ++ Data->getGfx("blocks", DATADIR "/data/block.png"); + + // house +- SDL_Surface *house = Data->getGfx("house", "data/house.png"); ++ SDL_Surface *house = Data->getGfx("house", DATADIR "/data/house.png"); + Uint32 green = SDL_MapRGB(house->format, 0, 255, 0); + SDL_SetColorKey(house, SDL_SRCCOLORKEY, green); + + // tree +- SDL_Surface *tree = Data->getGfx("tree1", "data/tree1.png"); ++ SDL_Surface *tree = Data->getGfx("tree1", DATADIR "/data/tree1.png"); + Uint32 red = SDL_MapRGB(tree->format, 255, 0, 0); + SDL_SetColorKey(tree, SDL_SRCCOLORKEY, red); + + // human walking +- SDL_Surface *human = Data->getGfx("human", "data/walk.png"); ++ SDL_Surface *human = Data->getGfx("human", DATADIR "/data/walk.png"); + Uint32 back = SDL_MapRGB(human->format, 223, 232, 255); + SDL_SetColorKey(human, SDL_SRCCOLORKEY, back); + + // preload music + if (audio) + { +- Data->getMusic("walk", "data/walk.xm"); +- Data->getMusic("flow", "data/flow.xm"); +- Data->getMusic("tune", "data/vodovod.xm"); ++ Data->getMusic("walk", DATADIR "/data/walk.xm"); ++ Data->getMusic("flow", DATADIR "/data/flow.xm"); ++ Data->getMusic("tune", DATADIR "/data/vodovod.xm"); + + // preload sounds +- Data->getSfx("drop", "data/drop.wav"); +- Data->getSfx("levelend", "data/mapend.wav"); +- Data->getSfx("bubbles", "data/bubbles.wav"); +- Data->getSfx("metal", "data/metal.wav"); ++ Data->getSfx("drop", DATADIR "/data/drop.wav"); ++ Data->getSfx("levelend", DATADIR "/data/mapend.wav"); ++ Data->getSfx("bubbles", DATADIR "/data/bubbles.wav"); ++ Data->getSfx("metal", DATADIR "/data/metal.wav"); + } + + // render some background picture for menu +@@ -143,7 +143,7 @@ int main(int /* argc */, char ** /* argv */) + SDL_BlitSurface(vodovod, 0, Screen, &r); + SDL_Flip(Screen); + +- NjamFont font("data/font-yellow.bmp", 11, 22); ++ NjamFont font(DATADIR "/data/font-yellow.bmp", 11, 22); + MainMenu m(&font, 95, 280); + m.start(); + } diff --git a/games/vodovod/patches/patch-map_cpp b/games/vodovod/patches/patch-map_cpp new file mode 100644 index 00000000000..6758b9e5a32 --- /dev/null +++ b/games/vodovod/patches/patch-map_cpp @@ -0,0 +1,12 @@ +$OpenBSD: patch-map_cpp,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +--- map.cpp.orig Thu Jul 5 15:22:16 2007 ++++ map.cpp Thu Jul 5 15:22:29 2007 +@@ -433,7 +433,7 @@ void Map::Render() + { + SDL_Rect r; + RenderBackground(xStartM*60 - 27); // 633 = 11 +- SDL_Surface *tank = Data->getGfx("tank", "data/tank.png"); ++ SDL_Surface *tank = Data->getGfx("tank", DATADIR "/data/tank.png"); + NjamSetRect(r, 12, 529); + SDL_BlitSurface(tank, 0, Screen, &r); + diff --git a/games/vodovod/patches/patch-sutils_cpp b/games/vodovod/patches/patch-sutils_cpp new file mode 100644 index 00000000000..d24ce839b3f --- /dev/null +++ b/games/vodovod/patches/patch-sutils_cpp @@ -0,0 +1,12 @@ +$OpenBSD: patch-sutils_cpp,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +--- sutils.cpp.orig Sat Jun 9 22:36:53 2007 ++++ sutils.cpp Thu Jul 5 15:17:41 2007 +@@ -374,7 +374,7 @@ void InitVideo(bool fullscreen) + throw Exiter(SDL_GetError()); + printf("Ok.\n"); + +- SDL_Surface *icon = Data->getGfx("icon", "data/abicon.bmp"); ++ SDL_Surface *icon = Data->getGfx("icon", DATADIR "/data/abicon.bmp"); + if (!icon) + throw Exiter(SDL_GetError()); + SDL_WM_SetIcon(icon, NULL); diff --git a/games/vodovod/pkg/DESCR b/games/vodovod/pkg/DESCR new file mode 100644 index 00000000000..e7828e1851a --- /dev/null +++ b/games/vodovod/pkg/DESCR @@ -0,0 +1,4 @@ +The goal of vodovod is to reach the highest possible score. You get a +limited number of pipes on each level and need to combine them to lead +the water from the house at the top of the screen to the storage tank at +the bottom. diff --git a/games/vodovod/pkg/PLIST b/games/vodovod/pkg/PLIST new file mode 100644 index 00000000000..81e7aa328ba --- /dev/null +++ b/games/vodovod/pkg/PLIST @@ -0,0 +1,25 @@ +@comment $OpenBSD: PLIST,v 1.1.1.1 2007/07/05 16:13:27 simon Exp $ +bin/vodovod +share/vodovod/ +share/vodovod/data/ +share/vodovod/data/abicon.bmp +share/vodovod/data/block.png +share/vodovod/data/bubbles.wav +share/vodovod/data/drop.wav +share/vodovod/data/flow.xm +share/vodovod/data/font-white.bmp +share/vodovod/data/font-yellow.bmp +share/vodovod/data/house.png +share/vodovod/data/mapend.wav +share/vodovod/data/metal.wav +share/vodovod/data/next.png +share/vodovod/data/queue.png +share/vodovod/data/replace.wav +share/vodovod/data/slate.png +share/vodovod/data/tank.png +share/vodovod/data/tree1.png +share/vodovod/data/vodovod.png +share/vodovod/data/vodovod.xm +share/vodovod/data/walk.png +share/vodovod/data/walk.xm +share/vodovod/vodovod.conf