mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-22 19:50:05 +02:00
SDLPoP: add recipe for 1.18.1 version
This commit is contained in:
95
games-arcade/sdlpop/additional-files/sdlpop.rdef.in
Normal file
95
games-arcade/sdlpop/additional-files/sdlpop.rdef.in
Normal file
@@ -0,0 +1,95 @@
|
||||
resource app_flags B_MULTIPLE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_FINAL,
|
||||
internal = 0,
|
||||
|
||||
short_info = "SDLPoP",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
|
||||
resource vector_icon array {
|
||||
$"6E6369660A05F903CFD3D503213A92037FA39F03DDB47D03C5060C03F52A0703"
|
||||
$"614D3F0500040080160209C6FCB3CAC772B4E4C7D1B443C881B611C83AB532C8"
|
||||
$"AAB730C8C5B978C928B857C856BAD8C760BD93C822BC52C73FBDDCC6B2BE1EC6"
|
||||
$"F9BE03C6A2BDEEC684BD8FC693BDBFC684BD8FC67EBD7DC67EBD7DC72FBC8EC7"
|
||||
$"BDBA4BC76CBB64C811B94FC7F7B73EC7EDB842C80AB6020211BD13C6C5BD18C7"
|
||||
$"D2BE0BC6BFBFFAC69DBF03C6B6BFFAC69DC027C699C027C699C066C745C09EC8"
|
||||
$"AEC095C7F6C0AAC990C139CB3AC130CA56C162CCF9C228D065C237CEA0C1AAD0"
|
||||
$"3AC0B3CFCBC11ED020C05CCF61C033CE50C052CED0C002CD3DBF9DCB1BBF96CC"
|
||||
$"35BF9ECA4DBF78C8B3BF93C97FBF5EC8BDBF10C8DCBF2AC8D1BEFFC920BEDDC9"
|
||||
$"A7BEEEC963BE58CC08BC65D079BD18CE27BC0DD0A5BB60D0FEBBB6D0D1BB30D0"
|
||||
$"B2BAFDD002BACCD065BB43CF30BBF2CD9ABBC8CE76BC35CC5DBCB1C9E0BC59CB"
|
||||
$"1ABCFAC8DE020ABBF4BB88BB96BBDBBC39BB35BD09BB36BCA7BB38BCF3BB8FBD"
|
||||
$"98BB9FBD56BBA6BDE7BBD8BE6EBC68BE2FBC1DBE36BD01BD67BDFDBDC8BD7DBD"
|
||||
$"36BE3BBCD9BEBBBD07BE7BBC4CBE59BB11BDCCBBB2BE0BBB8ABD44BCA2BC62BC"
|
||||
$"42BD01BC0ABC84BAE5BCEDBB77BCB6BAE6BCD7BAE9BC94BAE8BCAABB3CBC3502"
|
||||
$"13BEB4C230BEA5C35CBF81C2BDBF4DC4A5BF3AC3D2BF41C55FBFFAC69DBFA1C6"
|
||||
$"02BF03C6B6BD13C6C5BE0BC6BFBD18C7D2BCB1C9E0BCFAC8DEBC59CB1ABBF2CD"
|
||||
$"9ABC35CC5DBBC8CE76BAFDD002BB43CF30BACCD065BB60D0FEBB30D0B2BBB6D0"
|
||||
$"D1BC65D079BC0DD0A5BC60D0DFBC03D190BC33D139BB72D152BA51D0D0BAD8D1"
|
||||
$"24B9E6D00EBAB3CE80BA6FCF38BB2DCD84BB57CB55BB47CC69BB6BC9BBBBE5C6"
|
||||
$"90BBD8C82BBD05C6A8BF4AC699BE2AC6BBBF62C68ABFADC65FBF94C66DBE23C6"
|
||||
$"21BB08C5CEBC7AC684BC0C4FBE13C5EFBD12C5C8BE6FC605BF0DC5A6BEBEC5CC"
|
||||
$"BF2AC478020CBF10C8DCBEFFC920BF2AC8D1BF78C8B3BF5EC8BDBF93C97FBF9D"
|
||||
$"CB1BBF9ECA4DBF96CC35C033CE50C002CD3DC052CED0C0B3CFCBC05CCF61C11E"
|
||||
$"D020C228D065C1AAD03AC226D08FC21FD10DC221D0E3C180D0D3C053D02EC0C0"
|
||||
$"D0BCBF3DCE81BF3ACA8EBF49CC78BF32CA13BF3FC91CBF37C997BF32C943BF0A"
|
||||
$"C9BABF18C992BF0AC9BABEDDC9A7BEDDC9A7BEEEC963000CBA47BC0ABA47BC0A"
|
||||
$"BA7BBBEEBAE6BBB7BAB0BBD2BAE8BC00BAE9BC94BAE9BC4ABAE8BCAABAE5BCED"
|
||||
$"BAE6BCD7BB77BCB6BCA2BC62BC0ABC84BC42BD01BB11BDCCBB8ABD44BBB2BE0B"
|
||||
$"BCD9BEBBBC4CBE59BC5BBF77BAAABFFEBB83BFDBB97DBFACB933BD39B913BE50"
|
||||
$"B933BD39B958BD51B958BD51B9B8BD91BA7ABE0FBA19BDD0BA77BD61BA47BC0A"
|
||||
$"BA67BCB4BA47BC0A0203BA02BE86BA91BE85BA3DBEBEBAB4BF2FBA78BEF6BB08"
|
||||
$"BEF6BBB0BE83BB5CBEBDBB21BE850203BA02BE86BA3DBEBEBA91BE85BBB0BE83"
|
||||
$"BB21BE85BB5CBEBDBAB4BF2FBB08BEF6BA78BEF6020BBB00C6ACBAD3C756BB31"
|
||||
$"C644BBE5C690BB95C665BBD8C82BBB57CB55BB6BC9BBBB47CC69BAB3CE80BB2D"
|
||||
$"CD84BA6FCF38BA51D0D0B9E6D00EBAD8D124BC03D190BB72D152BBF0D1AFBBB4"
|
||||
$"D20EBBC8D1EEBB02D1E4B996D1C1BA4DD1CAB975D16FB94CD0C1B941D11DB970"
|
||||
$"CF62BA4ACCC1B9C9CE09BAD6CB77BAA1C8B2BA65CA0ABABFC8060205BF3ACA8E"
|
||||
$"BEB1CB6CBF49CC78C053D02EBF3DCE81C0C0D0BCC21FD10DC180D0D3C13FD183"
|
||||
$"BF38D0D6BFD7D1D9BEECCFBDBE7BCD7CBEBCCE9ABE35CC720208C571BDBCC52C"
|
||||
$"BE04C5C7BDDFC677BE1FC61FBDFFC67ABDFBC684BD8FC680BDB3C693BDBFC6B2"
|
||||
$"BE1EC6A2BDEEC6BDBED6C7FFBED1C771BEDDC7FEBEEFC7F9BF4BC7FABF2CC737"
|
||||
$"BF4FC5D8BE9AC64CBF55C57BBEA0C4C0BEACC51DBEA7C4EFBE540205BD67BDFD"
|
||||
$"BD50BEE6BD9EBDEFBE0DBDD3BDD6BDE1BE43BE0EBEAABE87BE7BBE47BEC9BEFB"
|
||||
$"BEB0BFEABEB3BF74BDD3C00DBC16C03339C033BC75BF6A0208C3B6BF7DC165C0"
|
||||
$"1CC449BF08C5B6BF10C4FEBEEEC5B6BF65C5B7C00FC5B7BFBAC467C055C1E4C1"
|
||||
$"39C33DC115C099C1ACBDE4C1EDBF32C186BD50C214BC2EC276BCC5C25EBBBAC2"
|
||||
$"68BB78C17ABB7BC1E5BBB5C10FBCA1C0ACBC31C0D6BEFFC0590204C11AD285C1"
|
||||
$"CFD2E2C12FD26FC16FD22BC15AD242C271D2B0C47DD3B1C36C71C40DD3B7C32C"
|
||||
$"D3AFC39BD3C7C275D3580203B943D33BB9DCD39EB9E3D326BB25D316BA84D31B"
|
||||
$"BB1ED384BB0FD461BB17D3F3BA74D4000202B8E1D3DBB940D436B963D3D0BA3F"
|
||||
$"D454B9F9D3CCB9BED4540204BAF0C548BB90C55FBAE0C3F7BAD1C152BA3FC29A"
|
||||
$"BB21C207BC51C2FBBBA6C29ABC79C3C1BCD2C54ABCA4C485BC32C55D0204BC51"
|
||||
$"C2FBBC79C3C1BCE7C29DBE3CC247BD8EC263BE61C35FBE87C594BEA4C477BDF4"
|
||||
$"C584BCD2C54ABD63C56ABCA4C4850204BF55D252BF69D2C4BFEDD260C11AD285"
|
||||
$"C086D265C1CFD2E2C32CD3AFC275D358C20FD3A3BFD6D39E43D393BF4CD36E02"
|
||||
$"02BFC4C2CBBFA0C3A8C030C38FBFC4C568C033C4A5BFA0C48A0A39325D325A34"
|
||||
$"50354736443542343C36383438323632333430372F3B2F3C323C343D353D373D"
|
||||
$"38443748344B334D2E4D284D244B214D234F274F2D4D334C354D364C374A3747"
|
||||
$"39403C3F3C3F44414B425043554358415A455C475D465E3E5E3D5D3D5B3E593D"
|
||||
$"573C50375A365C375E3660325F02044030C34530BC3A30304030BC3A30C34540"
|
||||
$"50BC3A50C34550504050C34550BC3A150A090115024100000000000000003D3F"
|
||||
$"FFC700004AC8000A080114123FE0000000000000003FD16BBDE000B4E6880117"
|
||||
$"8322040A000100023ED0B40000000000003EE26B452A72BE0E720A000101023E"
|
||||
$"D0B40000000000003EE26B452A72BE0E720A010102023ED0B40000000000003E"
|
||||
$"E26B452A72BE0E720A010103023ED0B40000000000003EE26B452A72BE0E720A"
|
||||
$"010104023ED0B40000000000003EE26B452A72BE0E720A02020506023ED0B400"
|
||||
$"00000000003EE26B452A72BE0E720A030107023ED0B40000000000003EE26B45"
|
||||
$"2A72BE0E720A030108023ED0B40000000000003EE26B452A72BE0E720A030109"
|
||||
$"023ED0B40000000000003EE26B452A72BE0E720A04010A023ED0B40000000000"
|
||||
$"003EE26B452A72BE0E720A04010B023ED0B40000000000003EE26B452A72BE0E"
|
||||
$"720A04010C023ED0B40000000000003EE26B452A72BE0E720A04010D023ED0B4"
|
||||
$"0000000000003EE26B452A72BE0E720A04010E023ED0B40000000000003EE26B"
|
||||
$"452A72BE0E720A04010F023ED0B40000000000003EE26B452A72BE0E720A0501"
|
||||
$"10023ED0B40000000000003EE26B452A72BE0E720A060111023ED0B400000000"
|
||||
$"00003EE26B452A72BE0E720A060112023ED0B40000000000003EE26B452A72BE"
|
||||
$"0E720A070113023ED0B40000000000003EE26B452A72BE0E72"
|
||||
};
|
||||
60
games-arcade/sdlpop/patches/sdlpop-1.18.1.patchset
Normal file
60
games-arcade/sdlpop/patches/sdlpop-1.18.1.patchset
Normal file
@@ -0,0 +1,60 @@
|
||||
From 4f80596d6192cda368d228aaca7fa95840c6eb9b Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Tue, 4 Sep 2018 12:47:13 +1000
|
||||
Subject: Fix build for Haiku
|
||||
|
||||
|
||||
diff --git a/src/menu.c b/src/menu.c
|
||||
index 3f0e5f9..3720e45 100644
|
||||
--- a/src/menu.c
|
||||
+++ b/src/menu.c
|
||||
@@ -1181,7 +1181,7 @@ void turn_setting_on_off(int setting_id, byte new_state, void* linked) {
|
||||
break;
|
||||
case SETTING_FULLSCREEN:
|
||||
start_fullscreen = new_state;
|
||||
- SDL_SetWindowFullscreen(window_, (new_state != 0) * SDL_WINDOW_FULLSCREEN_DESKTOP);
|
||||
+// SDL_SetWindowFullscreen(window_, (new_state != 0) * SDL_WINDOW_FULLSCREEN_DESKTOP);
|
||||
break;
|
||||
case SETTING_USE_CORRECT_ASPECT_RATIO:
|
||||
use_correct_aspect_ratio = new_state;
|
||||
diff --git a/src/seg009.c b/src/seg009.c
|
||||
index 691954e..e641ba5 100644
|
||||
--- a/src/seg009.c
|
||||
+++ b/src/seg009.c
|
||||
@@ -2108,7 +2108,7 @@ void __pascal far set_gr_mode(byte grmode) {
|
||||
SDL_SetHint(SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING, "1");
|
||||
#endif
|
||||
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_TIMER | SDL_INIT_NOPARACHUTE |
|
||||
- SDL_INIT_GAMECONTROLLER | SDL_INIT_HAPTIC ) != 0) {
|
||||
+ SDL_INIT_GAMECONTROLLER) != 0) {
|
||||
sdlperror("SDL_Init");
|
||||
quit(1);
|
||||
}
|
||||
@@ -2117,7 +2117,7 @@ void __pascal far set_gr_mode(byte grmode) {
|
||||
Uint32 flags = 0;
|
||||
if (!start_fullscreen) start_fullscreen = check_param("full") != NULL;
|
||||
if (start_fullscreen) flags |= SDL_WINDOW_FULLSCREEN_DESKTOP;
|
||||
- flags |= SDL_WINDOW_RESIZABLE;
|
||||
+// flags |= SDL_WINDOW_RESIZABLE;
|
||||
|
||||
// Should use different default window dimensions when using 4:3 aspect ratio
|
||||
if (use_correct_aspect_ratio && pop_window_width == 640 && pop_window_height == 400) {
|
||||
@@ -2788,6 +2788,7 @@ void __pascal start_timer(int timer_index, int length) {
|
||||
}
|
||||
|
||||
void toggle_fullscreen() {
|
||||
+#ifndef __HAIKU__
|
||||
uint32_t flags = SDL_GetWindowFlags(window_);
|
||||
if (flags & SDL_WINDOW_FULLSCREEN_DESKTOP) {
|
||||
SDL_SetWindowFullscreen(window_, 0);
|
||||
@@ -2797,6 +2798,7 @@ void toggle_fullscreen() {
|
||||
SDL_SetWindowFullscreen(window_, SDL_WINDOW_FULLSCREEN_DESKTOP);
|
||||
SDL_ShowCursor(SDL_DISABLE);
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
bool ignore_tab = false;
|
||||
--
|
||||
2.16.4
|
||||
|
||||
83
games-arcade/sdlpop/sdlpop-1.18.1.recipe
Normal file
83
games-arcade/sdlpop/sdlpop-1.18.1.recipe
Normal file
@@ -0,0 +1,83 @@
|
||||
SUMMARY="An open-source port of Prince of Persia"
|
||||
DESCRIPTION="SDLPoP is an open-source port of Prince of Persia that runs natively on Windows and Linux. \
|
||||
It is based on a disassembly of the DOS version, and uses SDL."
|
||||
HOMEPAGE="http://www.princed.org/"
|
||||
COPYRIGHT="Dávid Nagy"
|
||||
LICENSE="GNU GPL v3"
|
||||
REVISION="1"
|
||||
SOURCE_URI="https://github.com/NagyD/SDLPoP/archive/v$portVersion.tar.gz"
|
||||
SOURCE_DIR="SDLPoP-$portVersion"
|
||||
CHECKSUM_SHA256="8032c47fad4b73021d636ead510bbc1ab5106cff77103e331ad0f32a49a13946"
|
||||
PATCHES="sdlpop-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="sdlpop.rdef.in"
|
||||
|
||||
ARCHITECTURES="!x86_gcc2 x86_64 ?x86"
|
||||
SECONDARY_ARCHITECTURES="x86"
|
||||
|
||||
GLOBAL_WRITABLE_FILES="
|
||||
settings/SDLPoP/SDLPoP.ini keep-old
|
||||
settings/SDLPoP/SDLPoP.cfg keep-old
|
||||
"
|
||||
|
||||
PROVIDES="
|
||||
sdlpop = $portVersion
|
||||
app:SDLPop
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
lib:libGL$secondaryArchSuffix
|
||||
lib:libSDL2_2.0$secondaryArchSuffix
|
||||
lib:libSDL2_image_2.0${secondaryArchSuffix}
|
||||
"
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
devel:libGL$secondaryArchSuffix
|
||||
devel:libglu$secondaryArchSuffix
|
||||
devel:libSDL2_2.0$secondaryArchSuffix
|
||||
devel:libSDL2_image_2.0$secondaryArchSuffix
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:pkg_config$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
cd src
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
mkdir -p $appsDir/SDLPoP $settingsDir/SDLPoP
|
||||
cp -rf data doc mods $appsDir/SDLPoP
|
||||
cp prince "$appsDir/SDLPoP/Prince of Persia"
|
||||
|
||||
cp SDLPoP.ini $settingsDir/SDLPoP
|
||||
touch $settingsDir/SDLPoP/SDLPoP.cfg
|
||||
|
||||
ln -s $settingsDir/SDLPoP/SDLPoP.cfg \
|
||||
$appsDir/SDLPoP/SDLPoP.cfg
|
||||
ln -s $settingsDir/SDLPoP/SDLPoP.ini \
|
||||
$appsDir/SDLPoP/SDLPoP.ini
|
||||
|
||||
local APP_SIGNATURE="application/x-vnd.sdlpop"
|
||||
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
|
||||
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
|
||||
local MINOR="`echo "$portVersion" | cut -d. -f3`"
|
||||
local LONG_INFO="$SUMMARY"
|
||||
sed \
|
||||
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
|
||||
-e "s|@MAJOR@|$MAJOR|" \
|
||||
-e "s|@MIDDLE@|$MIDDLE|" \
|
||||
-e "s|@MINOR@|$MINOR|" \
|
||||
-e "s|@LONG_INFO@|$LONG_INFO|" \
|
||||
$portDir/additional-files/sdlpop.rdef.in > $sourceDir/sdlpop.rdef
|
||||
|
||||
addResourcesToBinaries $sourceDir/sdlpop.rdef \
|
||||
"$appsDir/SDLPoP/Prince of Persia"
|
||||
addAppDeskbarSymlink "$appsDir/SDLPoP/Prince of Persia" "Prince of Persia"
|
||||
}
|
||||
Reference in New Issue
Block a user