mirror of
https://github.com/k4zmu2a/SpaceCadetPinball.git
synced 2024-12-18 10:37:53 +01:00
Improve linux building (#111)
* Improve Linux platform by adding metadata and improve description * Improve readme * Improve metainfo * Fix wrong desktop file * Improve readme * Improve readme * Appstream doesn't like h1 * Add CMake and Ninja to .gitignore * Fix issues 3 4 * Revert readme keeping only Linux part * Change comment on desktop file * Align metainfo * Decouple Readme from Linux building instructions
This commit is contained in:
parent
0dc6006937
commit
4db4e5fbcb
8 changed files with 131 additions and 10 deletions
22
.gitignore
vendored
22
.gitignore
vendored
|
@ -276,3 +276,25 @@ out/
|
||||||
# Windows XP stuff
|
# Windows XP stuff
|
||||||
DebugWinXp/
|
DebugWinXp/
|
||||||
ReleaseWinXp/
|
ReleaseWinXp/
|
||||||
|
|
||||||
|
### CMake ###
|
||||||
|
CMakeLists.txt.user
|
||||||
|
CMakeCache.txt
|
||||||
|
CMakeFiles
|
||||||
|
CMakeScripts
|
||||||
|
Testing
|
||||||
|
Makefile
|
||||||
|
cmake_install.cmake
|
||||||
|
install_manifest.txt
|
||||||
|
compile_commands.json
|
||||||
|
CTestTestfile.cmake
|
||||||
|
_deps
|
||||||
|
|
||||||
|
### CMake Patch ###
|
||||||
|
# External projects
|
||||||
|
*-prefix/
|
||||||
|
|
||||||
|
### Ninja ###
|
||||||
|
.ninja_deps
|
||||||
|
.ninja_log
|
||||||
|
build.ninja
|
||||||
|
|
|
@ -221,11 +221,14 @@ endif()
|
||||||
if(UNIX AND NOT APPLE)
|
if(UNIX AND NOT APPLE)
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
install(TARGETS "${PROJECT_NAME}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
install(TARGETS "${PROJECT_NAME}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||||
install(FILES "${PROJECT_NAME}.desktop" DESTINATION "share/applications")
|
install(FILES "/Platform/Linux/${PROJECT_NAME}.desktop" DESTINATION "share/applications")
|
||||||
|
install(FILES "/Platform/Linux/${PROJECT_NAME}.metainfo.xml" DESTINATION "share/metainfo")
|
||||||
install(FILES "${PROJECT_NAME}/Icon_16x16.png" DESTINATION
|
install(FILES "${PROJECT_NAME}/Icon_16x16.png" DESTINATION
|
||||||
"share/icons/hicolor/16x16/apps" RENAME "${PROJECT_NAME}.png")
|
"share/icons/hicolor/16x16/apps" RENAME "${PROJECT_NAME}.png")
|
||||||
install(FILES "${PROJECT_NAME}/Icon_32x32.png" DESTINATION
|
install(FILES "${PROJECT_NAME}/Icon_32x32.png" DESTINATION
|
||||||
"share/icons/hicolor/32x32/apps" RENAME "${PROJECT_NAME}.png")
|
"share/icons/hicolor/32x32/apps" RENAME "${PROJECT_NAME}.png")
|
||||||
install(FILES "${PROJECT_NAME}/Icon_48x48.png" DESTINATION
|
install(FILES "${PROJECT_NAME}/Icon_48x48.png" DESTINATION
|
||||||
"share/icons/hicolor/48x48/apps" RENAME "${PROJECT_NAME}.png")
|
"share/icons/hicolor/48x48/apps" RENAME "${PROJECT_NAME}.png")
|
||||||
|
install(FILES "${PROJECT_NAME}/Icon_192x192.png" DESTINATION
|
||||||
|
"share/icons/hicolor/192x192/apps" RENAME "${PROJECT_NAME}.png")
|
||||||
endif()
|
endif()
|
||||||
|
|
25
Platform/Linux/BUILD.md
Normal file
25
Platform/Linux/BUILD.md
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Building
|
||||||
|
|
||||||
|
Install devel packages for `SDL2` and `SDL2_mixer`.\
|
||||||
|
|
||||||
|
Compile with CMake; tested with GCC 10, Clang 11.\
|
||||||
|
To cross-compile for Windows, install a 64-bit version of mingw and its `SDL2` and `SDL2_mixer` distributions, then use the `mingwcc.cmake` toolchain.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# On Debian and Ubuntu
|
||||||
|
sudo apt install cmake build-essential ninja-build libsdl2-dev libsdl2-mixer-dev libsdl2-mixer-2.0-0 libsdl2-2.0-0 fluidsynth
|
||||||
|
|
||||||
|
# On Fedora
|
||||||
|
sudo dnf install cmake ninja-build SDL2 SDL2-devel SDL2_mixer SDL2_mixer-devel fluidsynth fluidsynth-libs mscore-fonts g++
|
||||||
|
|
||||||
|
# Build
|
||||||
|
cmake -GNinja .
|
||||||
|
ninja
|
||||||
|
```
|
||||||
|
|
||||||
|
**If you can't hear the background music**: You need to export the following variable before launching the game like this:
|
||||||
|
`export SDL_SOUNDFONT=/path/to/your/soundfont`
|
||||||
|
|
||||||
|
Fluidsynth will install a default soundfont in the following path:
|
||||||
|
On Fedora: `/usr/share/soundfonts/FluidR3_GM.sf2`
|
||||||
|
On Ubuntu/Debian: `/usr/share/sounds/sf2/FluidR3_GM.sf2`
|
10
Platform/Linux/SpaceCadetPinball.desktop
Normal file
10
Platform/Linux/SpaceCadetPinball.desktop
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=Space Cadet Pinball
|
||||||
|
Comment=Decompilation of 3D Pinball for Windows - Space Cadet
|
||||||
|
Exec=SpaceCadetPinball
|
||||||
|
StartupNotify=true
|
||||||
|
Terminal=false
|
||||||
|
Icon=SpaceCadetPinball
|
||||||
|
Type=Application
|
||||||
|
Categories=Game;ArcadeGame;
|
69
Platform/Linux/SpaceCadetPinball.metainfo.xml
Normal file
69
Platform/Linux/SpaceCadetPinball.metainfo.xml
Normal file
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<component type="desktop-application">
|
||||||
|
<id>com.github.k4zmu2a.spacecadetpinball</id>
|
||||||
|
<name>Space Cadet Pinball</name>
|
||||||
|
<display_name>Space Cadet Pinball</display_name>
|
||||||
|
<summary>Reverse engineering of 3D Pinball for Windows - Space Cadet, a game bundled with Windows.</summary>
|
||||||
|
<url type="homepage">https://github.com/k4zmu2a/SpaceCadetPinball</url>
|
||||||
|
<url type="bugtracker">https://github.com/k4zmu2a/SpaceCadetPinball/issues</url>
|
||||||
|
<description>
|
||||||
|
<p>
|
||||||
|
Reverse engineering of '3D Pinball for Windows - Space Cadet', a game bundled with Windows.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
<categories>
|
||||||
|
<category>Game</category>
|
||||||
|
<category>ArcadeGame</category>
|
||||||
|
</categories>
|
||||||
|
<launchable type="desktop-id">SpaceCadetPinball.desktop</launchable>
|
||||||
|
<provides>
|
||||||
|
<binary>SpaceCadetPinball</binary>
|
||||||
|
</provides>
|
||||||
|
<screenshots>
|
||||||
|
<screenshot type="default">
|
||||||
|
<image>https://github.com/kowalski7cc/com.github.k4zmu2a.spacecadetpinball/blob/main/screenshots/screenshot-1.png?raw=true</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot>
|
||||||
|
<image>https://github.com/kowalski7cc/com.github.k4zmu2a.spacecadetpinball/blob/main/screenshots/screenshot-2.png?raw=true</image>
|
||||||
|
</screenshot>
|
||||||
|
<screenshot>
|
||||||
|
<image>https://github.com/kowalski7cc/com.github.k4zmu2a.spacecadetpinball/blob/main/screenshots/screenshot-3.png?raw=true</image>
|
||||||
|
</screenshot>
|
||||||
|
</screenshots>
|
||||||
|
<releases>
|
||||||
|
<release version="2.0.0" date="2021-10-30">
|
||||||
|
<description>
|
||||||
|
<p>First release of cross-platform port.</p>
|
||||||
|
<p>Main highlights:</p>
|
||||||
|
<ul>
|
||||||
|
<li>Windows dependencies removed.</li>
|
||||||
|
<li>Graphics and sounds rendered with SDL.</li>
|
||||||
|
<li>Dear ImGui GUI.</li>
|
||||||
|
<li>CMake build script, compiles on a lot of platforms.</li>
|
||||||
|
<li>A number of 3rd party source ports.</li>
|
||||||
|
</ul>
|
||||||
|
<p>All features of v1.x are present, except for text translations.</p>
|
||||||
|
<p>
|
||||||
|
Development and releases of v1.x will continue, don’t confuse the two.
|
||||||
|
All source ports are technically v2.0RC, not v1.x.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>There are no Linux or macOS binaries attached, compile them yourself.</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This release was made better with the help of contributors.
|
||||||
|
I thank them for their interest in the project.
|
||||||
|
</p>
|
||||||
|
</description>
|
||||||
|
</release>
|
||||||
|
</releases>
|
||||||
|
<metadata_license>CC0-1.0</metadata_license>
|
||||||
|
<developer_name>Andrey Muzychenko</developer_name>
|
||||||
|
<project_license>MIT</project_license>
|
||||||
|
<keywords>
|
||||||
|
<keyword>pinball</keyword>
|
||||||
|
<keyword>space</keyword>
|
||||||
|
<keyword>cadet</keyword>
|
||||||
|
</keywords>
|
||||||
|
<content_rating type="oars-1.1" />
|
||||||
|
</component>
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
Reverse engineering of `3D Pinball for Windows – Space Cadet`, a game bundled with Windows.
|
Reverse engineering of `3D Pinball for Windows - Space Cadet`, a game bundled with Windows.
|
||||||
|
|
||||||
## How to play
|
## How to play
|
||||||
|
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Name=Space Cadet Pinball
|
|
||||||
Comment=Decompilation of 3D Pinball for Windows – Space Cadet
|
|
||||||
Exec=SpaceCadetPinball
|
|
||||||
Icon=SpaceCadetPinball
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Categories=Game;
|
|
BIN
SpaceCadetPinball/Icon_192x192.png
Normal file
BIN
SpaceCadetPinball/Icon_192x192.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
Loading…
Reference in a new issue