summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Unbehaun <frostworks@gmx.de>2009-10-20 14:22:16 +0200
committerMarcel Unbehaun <frostworks@gmx.de>2009-10-20 14:22:16 +0200
commit498461c5d36ecf337b636e79c566bf98580ffa1a (patch)
treee42dbb058f8f6c245274a43425ec4ad92737cf2a
parent(games-arcade/rotategear) initial rotategear-105.ebuild (diff)
downloadgamerlay-498461c5d36ecf337b636e79c566bf98580ffa1a.tar.gz
gamerlay-498461c5d36ecf337b636e79c566bf98580ffa1a.tar.bz2
gamerlay-498461c5d36ecf337b636e79c566bf98580ffa1a.zip
(games-arcade/greenisland) initial greenisland-100.ebuild
(games-arcade/greenisland) new Manifest (games-arcade/greenisland) TODO replaydir files/greenisland-100-homedir.patch (games-arcade/greenisland) newfiles/greenisland-100-makefile.patch (games-arcade/greenisland) new metadata.xml
-rw-r--r--games-arcade/greenisland/Manifest5
-rw-r--r--games-arcade/greenisland/files/greenisland-100-homedir.patch412
-rw-r--r--games-arcade/greenisland/files/greenisland-100-makefile.patch27
-rw-r--r--games-arcade/greenisland/greenisland-100.ebuild63
-rw-r--r--games-arcade/greenisland/metadata.xml9
5 files changed, 516 insertions, 0 deletions
diff --git a/games-arcade/greenisland/Manifest b/games-arcade/greenisland/Manifest
new file mode 100644
index 0000000..9896f37
--- /dev/null
+++ b/games-arcade/greenisland/Manifest
@@ -0,0 +1,5 @@
+AUX greenisland-100-homedir.patch 10340 RMD160 d019e8d90d0429749f04654471ae457d2ed79f6a SHA1 41300e121f4a6f1ce7eebcdaffa6c0c1e1f5c98d SHA256 fbcc29a61e6b702873b1e046fdcc76ec9d167a08277e1090cb45149397a693eb
+AUX greenisland-100-makefile.patch 892 RMD160 959f75aec595959051facbd4d77c19fad6297834 SHA1 3ae7ce89be4b0653d2b91ada2517ec47f40f1b67 SHA256 e129f6e54ec2b48f0e985b84f3289153348564401254499bd3bcd1a38d8b806e
+DIST bubble_100.zip 30046887 RMD160 4be151a8ab7e935be9e31c75485b388d8145e550 SHA1 384b2dbc32b881106f0a6e32c022b2cb862e56c3 SHA256 246013b9b5c03ba83b8628be7dacf4b0040e473ddece8882782c6f54115803eb
+EBUILD greenisland-100.ebuild 1814 RMD160 fc7c423dac0c7e5bcf3ffce5eb48af7fb8e06bba SHA1 451982102dd1bb8b949102443f8c2b3d84c4e192 SHA256 5acec2060fc4f84e629679ef899ae15f44d74546163fa13f272372ff18091b2c
+MISC metadata.xml 249 RMD160 220cde0fc1a8d7d355705f0f6772bd8d77cdc17a SHA1 34b33eb8d24cd8bfef2ddfb8e80334fd77cc9488 SHA256 3875fd5008d7f5bfe7f3cf7bf330c209a5034f5988d37c1699fb3be35a7be906
diff --git a/games-arcade/greenisland/files/greenisland-100-homedir.patch b/games-arcade/greenisland/files/greenisland-100-homedir.patch
new file mode 100644
index 0000000..34424bc
--- /dev/null
+++ b/games-arcade/greenisland/files/greenisland-100-homedir.patch
@@ -0,0 +1,412 @@
+diff -Naur bubble-p/src/act.c bubble-home/src/act.c
+--- bubble-p/src/act.c 2009-07-29 00:22:26.000000000 +0200
++++ bubble-home/src/act.c 2009-10-20 14:00:16.000000000 +0200
+@@ -371,6 +371,14 @@
+
+ void act_init( void )
+ {
++#ifdef __LINUX__
++ char workfile[300];
++ sprintf(workfile, "%s/.greenisland/save/work.sav", getenv("HOME"));
++ char itemfile[300];
++ sprintf(itemfile, "%s/.greenisland/save/item_wk.sav", getenv("HOME"));
++ char targetfile[300];
++ sprintf(targetfile, "%s/.greenisland/save/target", getenv("HOME"));
++#endif
+ long i;
+ long x;
+ long y;
+@@ -434,13 +442,20 @@
+ }
+
+ ResetGameFlag2( );
++#ifdef __LINUX__
++ LoadGameFlag2(workfile);
++#else
+ LoadGameFlag2( "save/work.sav");
++#endif
+ for ( i = 0; i < 512; i++ )
+ {
+ save_data[i] = gameflag2[i];
+ }
+-
++#ifdef __LINUX__
++ LoadFile( targetfile, &target_save[0], sizeof( target_save ) );
++#else
+ LoadFile( "save/target", &target_save[0], sizeof( target_save ) );
++#endif
+
+ // player[6] = save_data[8]; /* スキル */
+ // player[7] = save_data[7]; /* ハートのかけら所持個数 */
+@@ -2074,10 +2089,20 @@
+ /* 一時ファイル保存 */
+ void save_file_w( )
+ {
++#ifdef __LINUX__
++ char configfile[300];
++ sprintf(configfile, "%s/.greenisland/save/config", getenv("HOME"));
++ char workfile[300];
++ sprintf(workfile, "%s/.greenisland/save/work.sav", getenv("HOME"));
++ char itemfile[300];
++ sprintf(itemfile, "%s/.greenisland/save/item_wk.sav", getenv("HOME"));
++#endif
+ long i;
+-
++#ifdef __LINUX__
++ SaveGameFlag(configfile);
++#else
+ SaveGameFlag("save/config");
+-
++#endif
+
+ ResetGameFlag2( );
+ // save_data[7] = player[7]; /* ハートのかけら所持個数 */
+@@ -2093,16 +2118,22 @@
+ {
+ gameflag2[i] = save_data[i];
+ }
++#ifdef __LINUX__
++ SaveGameFlag2(workfile);
++#else
+ SaveGameFlag2( "save/work.sav");
+-
++#endif
+ /* アイテム取得情報 */
+ ResetGameFlag2();
+ for ( i = 0; i < 500; i++ )
+ {
+ gameflag2[i] = item_wk[i];
+ }
++#ifdef __LINUX__
++ SaveGameFlag2(itemfile);
++#else
+ SaveGameFlag2("save/item_wk.sav");
+-
++#endif
+ }
+
+
+diff -Naur bubble-p/src/ending.c bubble-home/src/ending.c
+--- bubble-p/src/ending.c 2009-07-31 01:05:30.000000000 +0200
++++ bubble-home/src/ending.c 2009-10-20 13:52:22.000000000 +0200
+@@ -60,6 +60,10 @@
+
+ void ending_init( void )
+ {
++#ifdef __LINUX__
++ char targetfile[300];
++ sprintf(targetfile, "%s/.greenisland/save/target", getenv("HOME"));
++#endif
+ int stage_hosei;
+ int x;
+ int y;
+@@ -107,7 +111,11 @@
+ LoadBitmap("image/sys/waku.bmp",109,true); //プレーンナンバー2にシステム用BMPを読み込む
+ soundPlayBgm( EN_BGM_GAME07 );
+
++#ifdef __LINUX__
++ LoadFile( targetfile, &target_save[0], sizeof( target_save ) );
++#else
+ LoadFile( "save/target", &target_save[0], sizeof( target_save ) );
++#endif
+ tergetnam = 0;
+ for ( x = 0; x < 5; x++ )
+ {
+diff -Naur bubble-p/src/init.c bubble-home/src/init.c
+--- bubble-p/src/init.c 2009-07-26 15:05:46.000000000 +0200
++++ bubble-home/src/init.c 2009-10-20 13:55:44.000000000 +0200
+@@ -15,6 +15,11 @@
+ #include <unistd.h>
+ #endif
+
++#ifdef __LINUX__
++#include <fcntl.h>
++#endif
++
++
+ //#define MacOS
+
+ void main_init( void );
+@@ -25,6 +30,17 @@
+
+ int main(int argc, char *argv[])
+ {
++#ifdef __LINUX__
++ char cfg_path[300];
++ sprintf(cfg_path, "%s/.greenisland/", getenv("HOME"));
++ mkdir(cfg_path, 0755);
++ char save_path[300];
++ sprintf(save_path, "%s/.greenisland/save/", getenv("HOME"));
++ mkdir(save_path, 0755);
++ char replay_path[300];
++ sprintf(replay_path, "%s/.greenisland/replay/", getenv("HOME"));
++ mkdir(replay_path, 0755);
++#endif
+ SDL_Rect rect;
+ Uint32 flags;
+ int color = 32;
+@@ -190,13 +206,18 @@
+
+ void ExitProgram(void)
+ {
+-
++#ifdef __LINUX__
++ char configfile[300];
++ sprintf(configfile, "%s/.greenisland/save/config", getenv("HOME"));
++#endif
+ soundStopBgm(0);
+ soundStopSeAll();
+ soundRelease();
+-
++#ifdef __LINUX__
++ SaveGameFlag(configfile);
++#else
+ SaveGameFlag("save/config");
+-
++#endif
+ closePAD();
+ // closeSDL();
+ SDL_Quit();
+@@ -210,10 +231,17 @@
+
+ void main_init_config( void )
+ {
++#ifdef __LINUX__
++ char configfile[300];
++ sprintf(configfile, "%s/.greenisland/save/config", getenv("HOME"));
++#endif
+ int i;
+ i = 0;
+-
++#ifdef __LINUX__
++ if ( ! ( LoadGameFlag(configfile) == 0 ) )
++#else
+ if ( ! ( LoadGameFlag("save/config") == 0 ) )
++#endif
+ {
+ /* ファイルが存在しない場合の初期値設定 */
+ ResetGameFlag();
+diff -Naur bubble-p/src/option.c bubble-home/src/option.c
+--- bubble-p/src/option.c 2009-07-31 01:08:42.000000000 +0200
++++ bubble-home/src/option.c 2009-10-20 14:12:26.000000000 +0200
+@@ -71,6 +71,13 @@
+
+ void option_init( void )
+ {
++#ifdef __LINUX__
++
++ char targetfile[300];
++
++ sprintf(targetfile, "%s/.greenisland/save/target", getenv("HOME"));
++
++#endif
+ int i;
+ int wk;
+
+@@ -116,7 +123,7 @@
+ LoadBitmap("image/sys/waku.bmp",109,0); //プレーンナンバー2にシステム用BMPを読み込む
+
+
+- LoadFile( "save/target", &target_save[0], sizeof( target_save ) );
++ LoadFile( targetfile, &target_save[0], sizeof( target_save ) );
+
+ // bgm_midi( );
+
+@@ -258,6 +265,11 @@
+
+ void option_keys( void )
+ {
++#ifdef __LINUX__
++ char configfigfile[300];
++ sprintf(configfigfile, "%s/.greenisland/save/config.fig", getenv("HOME"));
++
++#endif
+ int load_rc = 0;
+
+ if ( ag == 0 )
+@@ -375,7 +387,7 @@
+ gameflag[133] = selct[2]; //上キー
+ gameflag[134] = selct[3]; //開始演出
+ gameflag[131] = selct[4]; //言語
+- SaveGameFlag("config/config.fig");
++ SaveGameFlag(configfigfile);
+
+ gameflag[40] = 1; /* モードによって変える */
+ g_scene = EN_SN_TITLE;
+diff -Naur bubble-p/src/stageselect.c bubble-home/src/stageselect.c
+--- bubble-p/src/stageselect.c 2009-03-24 17:16:14.000000000 +0100
++++ bubble-home/src/stageselect.c 2009-10-20 14:05:11.000000000 +0200
+@@ -64,6 +64,10 @@
+
+ void stageselect_init( void )
+ {
++#ifdef __LINUX__
++ char targetfile[300];
++ sprintf(targetfile, "%s/.greenisland/save/target", getenv("HOME"));
++#endif
+ scene_exit = 1;
+
+ mode = 0; //現在選択されている項目 0:GAMESTART 1:OPTION 2:EXIT
+@@ -101,9 +105,11 @@
+ LoadBitmap("image/sys/fonts3.bmp",18,true); //プレーンナンバー2にシステム用BMPを読み込む
+ LoadBitmap("image/sys/waku.bmp",109,true); //プレーンナンバー2にシステム用BMPを読み込む
+
+-
++#ifdef __LINUX__
++ LoadFile( targetfile, &target_save[0], sizeof( target_save ) );
++#else
+ LoadFile( "save/target", &target_save[0], sizeof( target_save ) );
+-
++#endif
+ if ( gameflag[70] == 0 )
+ {
+ soundPlayBgm( EN_BGM_GAME01 );
+@@ -126,6 +132,12 @@
+
+ void stageselect_keys( void )
+ {
++#ifdef __LINUX__
++ char workfile[300];
++ sprintf(workfile, "%s/.greenisland/save/work.sav", getenv("HOME"));
++ char itemfile[300];
++ sprintf(itemfile, "%s/.greenisland/save/item_wk.sav", getenv("HOME"));
++#endif
+ if ( IsPushKey( gameflag[0] ) )
+ {
+ soundPlaySe( EN_SE_SELECT );
+@@ -185,11 +197,17 @@
+ gameflag[70] = 1;
+ gameflag[128] = 0; //マップビュー
+ gameflag[129] = 1; //ステージセレクトから開始
++#ifdef __LINUX__
++ SaveGameFlag2(workfile);
++#else
+ SaveGameFlag2( "save/work.sav");
+-
++#endif
+ ResetGameFlag2( );
++#ifdef __LINUX__
++ SaveGameFlag2(itemfile);
++#else
+ SaveGameFlag2( "save/item_wk.sav");
+-
++#endif
+ gameflag[40] = 4;
+ g_scene = EN_SN_ACT;
+ scene_exit=0;
+diff -Naur bubble-p/src/title.c bubble-home/src/title.c
+--- bubble-p/src/title.c 2009-06-27 14:39:28.000000000 +0200
++++ bubble-home/src/title.c 2009-10-20 14:09:04.000000000 +0200
+@@ -147,6 +147,12 @@
+
+ void title_keys( void )
+ {
++#ifdef __LINUX__
++ char workfile[300];
++ sprintf(workfile, "%s/.greenisland/save/work.sav", getenv("HOME"));
++ char itemfile[300];
++ sprintf(itemfile, "%s/.greenisland/save/item_wk.sav", getenv("HOME"));
++#endif
+ if ( IsPushKey( gameflag[0] ) )
+ {
+ soundPlaySe( EN_SE_SELECT );
+@@ -287,11 +293,17 @@
+ gameflag[70] = 1;
+ gameflag[128] = 0; //マップビュー
+ gameflag[129] = 0; //ステージセレクトから開始
++#ifdef __LINUX__
++ SaveGameFlag2(workfile);
++#else
+ SaveGameFlag2( "save/work.sav");
+-
++#endif
+ ResetGameFlag2( );
++#ifdef __LINUX__
++ SaveGameFlag2(itemfile);
++#else
+ SaveGameFlag2( "save/item_wk.sav");
+-
++#endif
+ gameflag[40] = 4;
+ g_scene = EN_SN_ACT;
+ scene_exit=0;
+@@ -317,11 +329,17 @@
+ gameflag[70] = 1;
+ gameflag[128] = 0; //マップビュー
+ gameflag[129] = 0; //ステージセレクトから開始
++#ifdef __LINUX__
++ SaveGameFlag2(workfile);
++#else
+ SaveGameFlag2( "save/work.sav");
+-
++#endif
+ ResetGameFlag2( );
++#ifdef __LINUX__
++ SaveGameFlag2(itemfile);
++#else
+ SaveGameFlag2( "save/item_wk.sav");
+-
++#endif
+ gameflag[40] = 4;
+ g_scene = EN_SN_ACT;
+ scene_exit=0;
+@@ -344,11 +362,17 @@
+ gameflag[70] = 1;
+ gameflag[128] = 1; //マップビュー
+ gameflag[129] = 0; //ステージセレクトから開始
++#ifdef __LINUX__
++ SaveGameFlag2(workfile);
++#else
+ SaveGameFlag2( "save/work.sav");
+-
++#endif
+ ResetGameFlag2( );
++#ifdef __LINUX__
++ SaveGameFlag2(itemfile);
++#else
+ SaveGameFlag2( "save/item_wk.sav");
+-
++#endif
+ gameflag[40] = 4;
+ g_scene = EN_SN_ACT;
+ scene_exit=0;
+@@ -366,11 +390,17 @@
+ gameflag[70] = 1;
+ gameflag[128] = 0; //マップビュー
+ gameflag[129] = 0; //ステージセレクトから開始
++#ifdef __LINUX__
++ SaveGameFlag2(workfile);
++#else
+ SaveGameFlag2( "save/work.sav");
+-
++#endif
+ ResetGameFlag2( );
++#ifdef __LINUX__
++ SaveGameFlag2(itemfile);
++#else
+ SaveGameFlag2( "save/item_wk.sav");
+-
++#endif
+ gameflag[40] = 4;
+ g_scene = EN_SN_ACT;
+ scene_exit=0;
+@@ -427,11 +457,17 @@
+ gameflag[132] = 1; //リプレイ
+ gameflag[129] = 0; //ステージセレクトから開始
+ gameflag[70] = 1;
++#ifdef __LINUX__
++ SaveGameFlag2(workfile);
++#else
+ SaveGameFlag2( "save/work.sav");
+-
++#endif
+ ResetGameFlag2( );
++#ifdef __LINUX__
++ SaveGameFlag2(itemfile);
++#else
+ SaveGameFlag2( "save/item_wk.sav");
+-
++#endif
+ gameflag[40] = 4;
+ g_scene = EN_SN_ACT;
+ scene_exit=0;
diff --git a/games-arcade/greenisland/files/greenisland-100-makefile.patch b/games-arcade/greenisland/files/greenisland-100-makefile.patch
new file mode 100644
index 0000000..93b3b38
--- /dev/null
+++ b/games-arcade/greenisland/files/greenisland-100-makefile.patch
@@ -0,0 +1,27 @@
+diff -Naur src/Makefile src/Makefile
+--- src/Makefile 2008-05-14 03:08:04.000000000 +0200
++++ src/Makefile 2009-10-19 14:53:38.000000000 +0200
+@@ -5,14 +5,13 @@
+ CFLAGS = $(DEFAULT_CFLAGS)
+ CXXFLAGS = $(DEFAULT_CFLAGS)
+ #LDFLAGS = `sdl-config --libs`
+-LDFLAGS = -L/usr/local/mingw32/lib -logg -lvorbis -lvorbisenc -lvorbisfile -lsmpeg -lmingw32 -lSDL_gfx -lSDL_mixer -lSDLmain -lSDL -mwindows -mno-cygwin
+-
++LDFLAGS = -lSDL_gfx -lSDL_mixer
+ OBJS = ram.o util_snd.o function.o dconv.o scene.o title.o init.o act.o option.o ending.o logo.o stageselect.o demo.o
+
+ SOURCES = $(patsubst %.o, %.c, $(OBJS))
+
+ ifeq ($(wildcard .depend),.depend)
+-do-it-all: RotateGear
++do-it-all: ../greenisland
+ include .depend
+ else
+ do-it-all: depend recursive
+@@ -28,5 +27,5 @@
+ clean:
+ $(RM) $(OBJS) *~ .depend RotateGear.exe
+
+-RotateGear: $(OBJS)
++../greenisland: $(OBJS)
+ $(CXX) -o $@ $(OBJS) $(LDFLAGS)
diff --git a/games-arcade/greenisland/greenisland-100.ebuild b/games-arcade/greenisland/greenisland-100.ebuild
new file mode 100644
index 0000000..b11a9a0
--- /dev/null
+++ b/games-arcade/greenisland/greenisland-100.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+
+MY_PN=bubble
+
+inherit eutils games
+
+DESCRIPTION="multiplatform platform puzzle game"
+HOMEPAGE="http://maglog.jp/alpha-secret-base/Article717753.html"
+SRC_URI="http://www.geocities.jp/dij4121/alpha/data/${MY_PN}_${PV}.zip"
+LICENSE="Yawaraka-flexible" # inside installed readme_e.txt
+KEYWORDS="~x86"
+IUSE=""
+SLOT="0"
+
+RDEPEND="media-libs/libsdl
+ media-libs/sdl-image
+ media-libs/sdl-gfx
+ media-libs/sdl-mixer[vorbis]"
+DEPEND="${RDEPEND}
+ app-arch/unzip"
+
+S=${WORKDIR}/${MY_PN}
+
+src_prepare(){
+ rm src/.depend src/*.o
+ rm image/player/*.psd
+ epatch ${FILESDIR}/"${P}-makefile.patch"
+ epatch ${FILESDIR}/"${P}-homedir.patch"
+ sed -i -e "s:sound/:"${GAMES_DATADIR}"/"${PN}"/sound/:g" -i src/init.c
+ sed -i -e "s:data/:"${GAMES_DATADIR}"/"${PN}"/data/:g" -i src/act.c
+ sed -i -e "s:image/:"${GAMES_DATADIR}"/"${PN}"/image/:g" -i src/demo.c
+ sed -i -e "s:image/:"${GAMES_DATADIR}"/"${PN}"/image/:g" -i src/ending.c
+ sed -i -e "s:image/:"${GAMES_DATADIR}"/"${PN}"/image/:g" -i src/act.c
+ sed -i -e "s:image/:"${GAMES_DATADIR}"/"${PN}"/image/:g" -i src/logo.c
+ sed -i -e "s:image/:"${GAMES_DATADIR}"/"${PN}"/image/:g" -i src/init.c
+ sed -i -e "s:image/:"${GAMES_DATADIR}"/"${PN}"/image/:g" -i src/option.c
+ sed -i -e "s:image/:"${GAMES_DATADIR}"/"${PN}"/image/:g" -i src/title.c
+ sed -i -e "s:image/:"${GAMES_DATADIR}"/"${PN}"/image/:g" -i src/stageselect.c
+}
+
+src_compile() {
+ cd src
+ emake || die "make failed"
+}
+src_install() {
+ dogamesbin ${PN}
+ local datadir="${GAMES_DATADIR}"/"${PN}"
+ dodir ${datadir}
+ insinto "${GAMES_DATADIR}"/"${PN}"
+ doins -r sound data image || die
+ make_desktop_entry "${PN}" "${PN}"
+ dodoc readme_e.txt
+ prepgamesdirs
+}
+
+pkg_postinst() {
+ games_pkg_postinst
+
+} \ No newline at end of file
diff --git a/games-arcade/greenisland/metadata.xml b/games-arcade/greenisland/metadata.xml
new file mode 100644
index 0000000..4e4714e
--- /dev/null
+++ b/games-arcade/greenisland/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>frostworks@gmx.de</email>
+ <name>Marcel Unbehaun</name>
+</maintainer>
+<herd>games</herd>
+</pkgmetadata>