mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 04:00:05 +02:00
KoboDeluxe: fix settings and score dirs, add application icon
This commit is contained in:
62
games-arcade/kobodeluxe/additional-files/kobodeluxe.rdef.in
Normal file
62
games-arcade/kobodeluxe/additional-files/kobodeluxe.rdef.in
Normal file
@@ -0,0 +1,62 @@
|
||||
resource app_flags B_MULTIPLE_LAUNCH;
|
||||
|
||||
resource app_version {
|
||||
major = @MAJOR@,
|
||||
middle = @MIDDLE@,
|
||||
minor = @MINOR@,
|
||||
|
||||
variety = B_APPV_FINAL,
|
||||
internal = 0,
|
||||
|
||||
short_info = "KoboDeluxe",
|
||||
long_info = "@LONG_INFO@"
|
||||
};
|
||||
|
||||
resource app_signature "@APP_SIGNATURE@";
|
||||
|
||||
resource vector_icon array {
|
||||
$"6E63696609040033058E056804FF1903AFAFB10364B0FF04FF3305000400690E"
|
||||
$"020ABFC326BFC326BF04B55CBDF1B64CBE50B5B5BAD9BB2EB4A9C4F1B7C1C00F"
|
||||
$"B44DC65BB6FAC82FB560C769B9FDC9A2BFABCA1BBEDECA18C0FCCA22C7D4C866"
|
||||
$"C4FAC988C9FFC789CAACC4F1CB81C65EC794C00FC165B64CC47CBB2EC10EB5C3"
|
||||
$"BFC326C070B56CBFC326BFC326BFC326BFC326020ABFC325BFC325BF04B4F6BD"
|
||||
$"F1B5E6BE50B54FBAD9BAC8B4A9C48BB7C1BFA9B44DC5F5B6FAC7C9B560C703B9"
|
||||
$"FDC93CBFABC9B5BEDEC9B2C0FCC9BCC7D4C800C4FAC922C9FFC723CAACC48BCB"
|
||||
$"81C5F8C794BFA9C165B5E6C47CBAC8C10EB55DBFC325C070B506BFC325BFC325"
|
||||
$"BFC325BFC325020DBFC926BFC926BF0BB55EBDFAB64CBE59B5B7BD83B706BC97"
|
||||
$"B87ABD0DB7C0BC952E38B8C938B8AE38BE1238C8A438C35B38CA57405CBE635C"
|
||||
$"C11C5C48C8A448CA5748C35B48B8C948BE1248B8BBC2EDB8A1C2EEB8AEC26FB7"
|
||||
$"DAC171B64CC1F0B713C124B5D2C004B56DC09CB582BFF1B56ABFC926BFDDB565"
|
||||
$"BFC926BFC926BFC926BFC926020ABFC325BFC325BF04B4F6BDF1B5E6BE50B54F"
|
||||
$"BD7BB6A038B813BD05B75A38BD7738C83E38C2DA38C9F1405BBE635BC11C5B48"
|
||||
$"C83E48C9F1484848B85548BDA3C26CB786C165B5E6C1E8B6B6C10EB55DBFC325"
|
||||
$"C070B505BFC325BFC325BFC325BFC325060AFEFF072F382F382F38B9A23832BE"
|
||||
$"4132BD5232C1A432C86A32C50732C9592F5AB9A25A2F5A2F5A2F5AB8515A2CC8"
|
||||
$"6A2CC9592CC5072CBE412CC1A42CBD522F38B851382F3838020EBFC325BFC325"
|
||||
$"BF04B4F6BDF1B5E6BE50B54FBAD9BAC8B4A9C48BB7C1BFA924C4CEB49AC54BB4"
|
||||
$"94C50EB49DC52DB4A9C4F1B4A2C50FB7C1C00FBDF1B64CBAD9BB2EBE50B5B5BF"
|
||||
$"C326BF04B55CC070B56CC165B64CC10EB5C3C47DBB2ECAACC4F1C794C00FCACB"
|
||||
$"C525CAE3C58ACADCC558CAF0C539CAACC48BCAE0C4E4C794BFA9C165B5E6C47D"
|
||||
$"BAC8C10EB55DBFC325C070B506BFC325BFC325BFC325BFC325060AFEFF072F37"
|
||||
$"2F372F37B9A23732BDDB32BCEC32C13E32C80432C4A132C8F32F59B9A2592F59"
|
||||
$"2F592F59B851592CC8042CC8F32CC4A12CBDDB2CC13E2CBCEC2F37B851372F37"
|
||||
$"370606FF0747C3AA47C3AA47C5774052C14A52BE355239C3AA39C57739C1DE40"
|
||||
$"C069BE35C069C14AC06947C3AA47C1DE47C3AAC3AA0606FF0747C34447C34447"
|
||||
$"C5114051C14A51BE355139C34439C51139C17840C003BE35C003C14AC00347C3"
|
||||
$"4447C17847C344C344060AFEFF07513851385138C72E3854BE4154BD5254C1A4"
|
||||
$"54C86A54C50754C959515AC72E5A515A515A515AC5DD5A4EC86A4EC9594EC507"
|
||||
$"4EBE414EC1A44EBD525138C5DD38513838060AFEFF07513751375137C72E3754"
|
||||
$"BDDB54BCEC54C13E54C80454C4A154C8F35159C72E59515951595159C5DD594E"
|
||||
$"C8044EC8F34EC4A14EBDDB4EC13E4EBCEC5137C5DD37513737020A40C00340C0"
|
||||
$"03BF02C003BDC7C0F7BE4CC05BBD41C19439C345BCF5C26839C358BCF7C37F39"
|
||||
$"C36CBD0BC1C5BFBFC069BE44C06AC136C069C288C36FC26DC1BBC289C36147C3"
|
||||
$"45C289C35347C267C1B8C0F7C23EC194C132C05BBFBFC003C07DC003BFBFC003"
|
||||
$"40C003BFBFC00340C0030608FF7F2F372F37B850372CBDDB2CBCEB2CBDFD2CBE"
|
||||
$"412CBE1F2CBD512F38B85038B9A33832BE4132BD5132BE1F32BDDB32BDFD32BC"
|
||||
$"EB2F37B9A3372F37370608FF7F51375137C5DC374EBDDB4EBCEB4EBDFD4EBE41"
|
||||
$"4EBE1F4EBD515138C5DC38C72F3854BE4154BD5154BE1F54BDDB54BDFD54BCEB"
|
||||
$"5137C72F37513737100A080600010D09060330222201178422040A070600010D"
|
||||
$"0906031001178422040A000100000A010101000A000102000A020103000A0001"
|
||||
$"04000A030105000A040106000A000107000A050108000A000109000A04010A00"
|
||||
$"0A06010B000A06010C000A06010D00"
|
||||
};
|
||||
@@ -9,11 +9,12 @@ require different tactics to be dealt with successfully."
|
||||
HOMEPAGE="http://olofson.net/kobodl/"
|
||||
COPYRIGHT="1995-2007 Akira Higuchi, David Olofson"
|
||||
LICENSE="GNU GPL v2"
|
||||
REVISION="3"
|
||||
REVISION="4"
|
||||
SOURCE_URI="http://olofson.net/kobodl/download/KoboDeluxe-$portVersion.tar.bz2"
|
||||
CHECKSUM_SHA256="0f7b910a399d985437564af8c5d81d6dcf22b96b26b01488d72baa6a6fdb5c2c"
|
||||
SOURCE_DIR="KoboDeluxe-$portVersion"
|
||||
PATCHES="kobodeluxe-$portVersion.patchset"
|
||||
ADDITIONAL_FILES="kobodeluxe.rdef.in"
|
||||
|
||||
ARCHITECTURES="x86_gcc2 ?x86 x86_64"
|
||||
|
||||
@@ -55,6 +56,23 @@ INSTALL()
|
||||
mkdir -p $appsDir/KoboDeluxe
|
||||
make install
|
||||
mv $appsDir/KoboDeluxe/bin/kobodl $appsDir/KoboDeluxe/KoboDeluxe
|
||||
rm -R $appsDir/KoboDeluxe/bin
|
||||
mv $appsDir/KoboDeluxe/share/kobo-deluxe $appsDir/KoboDeluxe/data
|
||||
rm -R $appsDir/KoboDeluxe/{bin,share}
|
||||
|
||||
local APP_SIGNATURE="application/x-vnd.kobodeluxe"
|
||||
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/kobodeluxe.rdef.in > $sourceDir/kobodeluxe.rdef
|
||||
|
||||
addResourcesToBinaries $sourceDir/kobodeluxe.rdef $appsDir/KoboDeluxe/KoboDeluxe
|
||||
|
||||
addAppDeskbarSymlink $appsDir/KoboDeluxe/KoboDeluxe KoboDeluxe
|
||||
}
|
||||
|
||||
@@ -1,22 +1,89 @@
|
||||
From 70ba0cda0df28b6a5d070579449eefaa44ce23f2 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Mays <kmays2000@gmail.com>
|
||||
Date: Fri, 11 Oct 2019 18:16:30 +0100
|
||||
Subject: Disable HIGHSCORE
|
||||
From dfa4371366584bdd59b37e806bfbfd365593dcdb Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 7 Feb 2021 14:54:25 +1000
|
||||
Subject: Add haiku to configure.in
|
||||
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 8558e9c..a438366 100644
|
||||
index 8558e9c..2942a2b 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -31,7 +31,7 @@ dnl-------------------------------------------------------
|
||||
AC_MSG_CHECKING(target platform and install style);
|
||||
build_macosx_bundle=no
|
||||
build_simple_bundle=no
|
||||
-unix_scoredir=yes
|
||||
+unix_scoredir=no
|
||||
DATADIR='$(datadir)/kobo-deluxe'
|
||||
SCOREDIR='$(sharedstatedir)/kobo-deluxe/scores'
|
||||
CONFIGDIR='HOME>>'
|
||||
@@ -49,6 +49,15 @@ case "$target_os" in
|
||||
AC_MSG_RESULT(BeOS; Un*x style install)
|
||||
MATHLIB=""
|
||||
;;
|
||||
+ haiku)
|
||||
+ AC_MSG_RESULT(Haiku; Un*x style install)
|
||||
+ unix_scoredir=no
|
||||
+ DATADIR='EXE>>data'
|
||||
+ SCOREDIR='HOME>>config/settings/KoboDeluxe/scores'
|
||||
+ CONFIGDIR='HOME>>config/settings/KoboDeluxe'
|
||||
+ CONFIGFILE='kobodl.cfg'
|
||||
+ MATHLIB=""
|
||||
+ ;;
|
||||
mingw32*)
|
||||
AC_MSG_RESULT(Win32 (mingw32); Simple bundle)
|
||||
build_simple_bundle=yes
|
||||
--
|
||||
2.23.0
|
||||
2.30.0
|
||||
|
||||
|
||||
From 18079627cf888df8f1e3e102c4fe204b5cda29fc Mon Sep 17 00:00:00 2001
|
||||
From: Gerasim Troeglazov <3dEyes@gmail.com>
|
||||
Date: Sun, 7 Feb 2021 14:54:35 +1000
|
||||
Subject: Use find_directory for settings dir
|
||||
|
||||
|
||||
diff --git a/kobo.cpp b/kobo.cpp
|
||||
index 5ae1baa..7e46517 100644
|
||||
--- a/kobo.cpp
|
||||
+++ b/kobo.cpp
|
||||
@@ -106,6 +106,23 @@ int mouse_right = 0;
|
||||
|
||||
int exit_game = 0;
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+#include <libgen.h>
|
||||
+#include <FindDirectory.h>
|
||||
+
|
||||
+static int mkpath(const char *dir, mode_t mode)
|
||||
+{
|
||||
+ struct stat sb;
|
||||
+ if (!dir) {
|
||||
+ errno = EINVAL;
|
||||
+ return 1;
|
||||
+ }
|
||||
+ if (!stat(dir, &sb))
|
||||
+ return 0;
|
||||
+ mkpath(dirname(strdup(dir)), mode);
|
||||
+ return mkdir(dir, mode);
|
||||
+}
|
||||
+#endif
|
||||
|
||||
static int main_init()
|
||||
{
|
||||
@@ -2055,6 +2072,21 @@ int main(int argc, char *argv[])
|
||||
|
||||
SDL_Init(0);
|
||||
|
||||
+#ifdef __HAIKU__
|
||||
+ char *binpath = realpath(argv[0], NULL);
|
||||
+ if (binpath != NULL) {
|
||||
+ char *appdir = strrchr(binpath, '/');
|
||||
+ *appdir = '\0';
|
||||
+ chdir(binpath);
|
||||
+ free(binpath);
|
||||
+ }
|
||||
+ static char settingsDir[PATH_MAX] = "";
|
||||
+ if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, settingsDir, sizeof(settingsDir)) == B_OK) {
|
||||
+ strcat(settingsDir, "/KoboDeluxe/scores");
|
||||
+ mkpath(settingsDir, 0755);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
if(main_init())
|
||||
{
|
||||
fprintf(stderr, "INTERNAL ERROR\n");
|
||||
--
|
||||
2.30.0
|
||||
|
||||
|
||||
Reference in New Issue
Block a user