mirror of
https://github.com/cazfi/meta-games.git
synced 2026-01-29 17:08:42 +01:00
astromenace: initial add 1.3.2
There is a later version 1.4.0 available for libsdl2 but that seems to require OpenGL 3. Have a building recipe at [1] but common hardware as RaspberryPi is not ready for it. [1] https://github.com/schnitzeltony/meta-games/tree/astromenace-1.4 Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
From d0aefa7ba2d58846e22dfc690e61934c38610a81 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Sun, 1 Nov 2015 22:31:33 +0100
|
||||
Subject: [PATCH 1/3] CMakeLists.txt: use pkg-config to find freetype
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 31bf1e4..a9fbe43 100755
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -201,7 +201,7 @@ IF(FREETYPE_INCLUDE_DIR_freetype2)
|
||||
MESSAGE(STATUS "Found freetype2 headers: ${FREETYPE_INCLUDE_DIR_freetype2}")
|
||||
INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIR_freetype2})
|
||||
ELSE(FREETYPE_INCLUDE_DIR_freetype2)
|
||||
- EXEC_PROGRAM("freetype-config" ARGS "--cflags" OUTPUT_VARIABLE freetype2_CFLAGS)
|
||||
+ EXEC_PROGRAM("pkg-config" ARGS "--cflags freetype2" OUTPUT_VARIABLE freetype2_CFLAGS)
|
||||
IF(freetype2_CFLAGS)
|
||||
MESSAGE(STATUS "Found freetype2 cflags: ${freetype2_CFLAGS}")
|
||||
ADD_DEFINITIONS(${freetype2_CFLAGS})
|
||||
--
|
||||
2.1.0
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 41383de9b117a1af0f0ef642a6fe21dda1b75186 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Sun, 1 Nov 2015 22:52:27 +0100
|
||||
Subject: [PATCH 2/3] CMakeLists.txt: use pkg-config to find sdl
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
CMakeLists.txt | 5 ++---
|
||||
1 file changed, 2 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index a9fbe43..f3c5b6b 100755
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -26,10 +26,9 @@ ENDIF(DEFINED FS2VFS)
|
||||
|
||||
|
||||
# depends
|
||||
-set(SDL_CONFIG "sdl-config" CACHE STRING "Path to sdl-config script")
|
||||
-EXEC_PROGRAM(${SDL_CONFIG} ARGS "--cflags" OUTPUT_VARIABLE SDL_CFLAGS)
|
||||
+EXEC_PROGRAM("pkg-config" ARGS "--cflags sdl" OUTPUT_VARIABLE SDL_CFLAGS)
|
||||
ADD_DEFINITIONS(${SDL_CFLAGS})
|
||||
-EXEC_PROGRAM(${SDL_CONFIG} ARGS "--libs" OUTPUT_VARIABLE SDL_LIBS)
|
||||
+EXEC_PROGRAM("pkg-config" ARGS "--libs sdl" OUTPUT_VARIABLE SDL_LIBS)
|
||||
|
||||
|
||||
IF (NOT APPLE)
|
||||
--
|
||||
2.1.0
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From a2a2f7fdee581b2d8d7619ddb9c1db35bbe63cfb Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
|
||||
Date: Mon, 2 Nov 2015 21:54:13 +0100
|
||||
Subject: [PATCH 4/4] Loading.cpp: fix level2 crash
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Taken from [1]
|
||||
|
||||
[1] http://pkgs.fedoraproject.org/cgit/astromenace.git/tree/astromenace-level2-crash.patch
|
||||
|
||||
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
|
||||
---
|
||||
AstroMenaceSource/Loading.cpp | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/AstroMenaceSource/Loading.cpp b/AstroMenaceSource/Loading.cpp
|
||||
index dafdd8c..c95946c 100755
|
||||
--- a/AstroMenaceSource/Loading.cpp
|
||||
+++ b/AstroMenaceSource/Loading.cpp
|
||||
@@ -1541,6 +1541,9 @@ void LoadGameData(int LoadType)
|
||||
|
||||
for (int i=0; i<CurrentListCount; i++)
|
||||
{
|
||||
+ if (!strlen(CurrentList[i].FileName))
|
||||
+ continue;
|
||||
+
|
||||
switch (CurrentList[i].FileType)
|
||||
{
|
||||
// 2d текстуры
|
||||
--
|
||||
2.1.0
|
||||
|
||||
10
recipes-games/astromenace/astromenace/astromenace.desktop
Normal file
10
recipes-games/astromenace/astromenace/astromenace.desktop
Normal file
@@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Encoding=UTF-8
|
||||
Name=Astromenace
|
||||
Exec=astromenace
|
||||
Comment=3D space shooter
|
||||
Icon=astromenace.png
|
||||
Terminal=false
|
||||
Categories=Game;ActionGame;
|
||||
StartupNotify=false
|
||||
67
recipes-games/astromenace/astromenace_1.3.2.bb
Normal file
67
recipes-games/astromenace/astromenace_1.3.2.bb
Normal file
@@ -0,0 +1,67 @@
|
||||
DESCRIPTION = "AstroMenace is an astonishing hardcore scroll-shooter"
|
||||
HOMEPAGE = "http://www.viewizard.com/"
|
||||
LICENSE = "GPLv3 & OFL-1.1 & CC-BY-SA-3.0"
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://gpl-3.0.txt;md5=3c34afdc3adf82d2448f12715a255122 \
|
||||
file://License.txt;md5=022aa28c3afa9de245970d5aa93bcb89 \
|
||||
"
|
||||
|
||||
DEPENDS = "libsdl freealut openal-soft libogg libvorbis freetype libglu libxinerama fontconfig qemu-native"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "x11"
|
||||
|
||||
inherit cmake qemu gtk-icon-cache distro_features_check
|
||||
|
||||
SRC_URI = " \
|
||||
git://github.com/viewizard/astromenace.git \
|
||||
file://0001-CMakeLists.txt-use-pkg-config-to-find-freetype.patch \
|
||||
file://0002-CMakeLists.txt-use-pkg-config-to-find-sdl.patch \
|
||||
file://0003-Loading.cpp-fix-level2-crash.patch \
|
||||
file://astromenace.desktop \
|
||||
"
|
||||
SRCREV = "a8fae41a2ea995c71f3ed7bc3f0dbcf223802d8c"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
# slightly reworked qemu_run_binary: qemu.bbclass expects binary in sysroot but
|
||||
# we run it before copying to sysroot
|
||||
# ${@qemu_run_binary_local(d, '$D', '/usr/bin/test_app')} [test_app arguments]
|
||||
#
|
||||
def qemu_run_binary_local(data, rootfs_path, binary):
|
||||
qemu_binary = qemu_target_binary(data)
|
||||
if qemu_binary == "qemu-allarch":
|
||||
qemu_binary = "qemuwrapper"
|
||||
|
||||
libdir = rootfs_path + data.getVar("libdir", False)
|
||||
base_libdir = rootfs_path + data.getVar("base_libdir", False)
|
||||
qemu_options = data.getVar("QEMU_OPTIONS", True)
|
||||
|
||||
return "PSEUDO_UNLOAD=1 " + qemu_binary + " " + qemu_options + " -L " + rootfs_path\
|
||||
+ " -E LD_LIBRARY_PATH=" + libdir + ":" + base_libdir + " "\
|
||||
+ binary
|
||||
|
||||
|
||||
EXTRA_OECMAKE = " \
|
||||
-DDATADIR=${datadir}/${BPN} \
|
||||
"
|
||||
|
||||
do_compile_append() {
|
||||
# building native has dependencies which cannot be fullfilled - so run
|
||||
# AstroMenace in qemu to build game data
|
||||
${@qemu_run_binary_local(d, '${STAGING_DIR_TARGET}', '${B}/AstroMenace')} --pack --rawdata=${S}/RAW_VFS_DATA --dir=${B}
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}/${bindir}
|
||||
install -m 755 ${B}/AstroMenace ${D}${bindir}/astromenace
|
||||
|
||||
install -d ${D}/${datadir}/astromenace
|
||||
install -m 644 ${B}/gamedata.vfs ${D}${datadir}/astromenace
|
||||
|
||||
install -d ${D}/${datadir}/icons/hicolor/64x64/apps
|
||||
install -m 644 ${S}/astromenace_64.png ${D}${datadir}/icons/hicolor/64x64/apps/astromenace.png
|
||||
install -d ${D}/${datadir}/icons/hicolor/128x128/apps
|
||||
install -m 644 ${S}/astromenace_128.png ${D}${datadir}/icons/hicolor/128x128/apps/astromenace.png
|
||||
|
||||
install -d ${D}/${datadir}/applications
|
||||
install -m 644 ${WORKDIR}/astromenace.desktop ${D}/${datadir}/applications/
|
||||
}
|
||||
Reference in New Issue
Block a user