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