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:
Andreas Müller
2019-02-10 19:53:16 +01:00
parent 845d7ee52b
commit 2de5414571
5 changed files with 179 additions and 0 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View 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

View 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/
}