Name: opengothic Version: 1.0.3549 Release: 1%{?dist} Summary: Open source reimplementation of Gothic 2: Night of the Raven License: MIT URL: https://github.com/Try/OpenGothic Source0: https://github.com/Try/OpenGothic/archive/refs/tags/opengothic-v%{version}.tar.gz # Build dependencies BuildRequires: cmake >= 3.12 BuildRequires: gcc-c++ BuildRequires: glslang BuildRequires: vulkan-loader-devel BuildRequires: vulkan-validation-layers-devel BuildRequires: alsa-lib-devel BuildRequires: libX11-devel BuildRequires: libXcursor-devel BuildRequires: libglvnd-devel BuildRequires: git # Runtime dependencies Requires: vulkan-loader Requires: alsa-lib Requires: libX11 Requires: libXcursor Requires: libglvnd-glx # OpenGothic uses git submodules %global debug_package %{nil} %description OpenGothic is an open source reimplementation of Gothic 2: Night of the Raven. The project aims to provide a feature-complete Gothic game client that is compatible with the original game data and mods. Features: - Full Gothic 2: Night of the Raven support - Gothic 1 support (experimental) - Modern graphics with Vulkan renderer - Support for ray tracing and mesh shaders on capable hardware - Cross-platform support (Linux, Windows, macOS) - Mod support for content-based modifications Note: This package requires the original Gothic 2 game data files to run. OpenGothic does not provide any built-in game assets or scripts. %prep %autosetup -n OpenGothic-opengothic-v%{version} # Initialize submodules (would normally be done with git clone --recurse-submodules) # For source RPM building, submodules should be included in the tarball or fetched separately %build %cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DBUILD_SHARED_LIBS=ON %cmake_build %install # Create installation directories mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/applications mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps mkdir -p %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_mandir}/man6 # Install the main executable install -m 755 %{_vpath_builddir}/opengothic/Gothic2Notr %{buildroot}%{_bindir}/Gothic2Notr # Install launcher script cat > %{buildroot}%{_bindir}/opengothic << 'EOF' #!/bin/bash # OpenGothic launcher script for Fedora exec /usr/bin/Gothic2Notr "$@" EOF chmod 755 %{buildroot}%{_bindir}/opengothic # Install shader directory if [ -d shader ]; then cp -r shader %{buildroot}%{_datadir}/%{name}/ fi # Create desktop file cat > %{buildroot}%{_datadir}/applications/%{name}.desktop << EOF [Desktop Entry] Name=OpenGothic Comment=Open source reimplementation of Gothic 2: Night of the Raven Exec=opengothic -g "%f" Icon=opengothic Terminal=false Type=Application Categories=Game;RolePlaying; Keywords=gothic;rpg;game; MimeType= EOF # Create a simple man page cat > %{buildroot}%{_mandir}/man6/%{name}.6 << 'EOF' .TH OPENGOTHIC 6 "2024" "OpenGothic 1.0" "Games" .SH NAME opengothic \- Open source reimplementation of Gothic 2: Night of the Raven .SH SYNOPSIS .B Gothic2Notr [\fIOPTIONS\fR] .SH DESCRIPTION OpenGothic is an open source reimplementation of Gothic 2: Night of the Raven. The project provides a modern game engine that is compatible with the original Gothic 2 game data. .SH OPTIONS .TP .B \-g Specify path to Gothic 2 installation directory .TP .B \-game: Load a modification (mod) specified by the INI file .TP .B \-nomenu Skip the main menu .TP .B \-devmode Enable developer/marvin mode at start .TP .B \-w Load a specific world file (default: newworld.zen) .TP .B \-save q Load quick save on start .TP .B \-save Load a specific save slot on start .TP .B \-v, \-validation Enable validation layers for graphics API .TP .B \-dx12 Force DirectX 12 renderer (Windows only) .TP .B \-g1 Assume Gothic 1 installation .TP .B \-g2c Assume Gothic 2 classic installation .TP .B \-g2 Assume Gothic 2: Night of the Raven installation (default) .TP .B \-rt Enable or disable ray-query .TP .B \-gi Enable or disable ray-traced global illumination .TP .B \-ms Enable or disable meshlets .TP .B \-aa Enable anti-aliasing (1-2, where 2 is most expensive) .TP .B \-window Windowed debugging mode .SH EXAMPLES .TP Launch OpenGothic with Gothic 2 data from a specific path: .B Gothic2Notr -g "/path/to/Gothic II" .TP Load a mod: .B Gothic2Notr -game:MyMod.ini .TP Play Gothic 1: .B Gothic2Notr -g1 -g "/path/to/Gothic" .SH FILES .TP .I ~/.config/OpenGothic/ User configuration directory .TP .I ~/Library/Application Support/OpenGothic/ Alternative user data directory (macOS style) .SH NOTES OpenGothic requires the original Gothic 2: Night of the Raven game data to run. Game data can be obtained from: .IP \(bu 2 Steam .IP \(bu 2 GOG.com .IP \(bu 2 Original retail CD/DVD .PP The game will automatically detect Gothic installations in common paths. .SH AUTHORS Try (original developer) and contributors .SH SEE ALSO .TP Project website and source code: .I https://github.com/Try/OpenGothic .TP Discord community: .I https://discord.gg/G9XvcFQnn6 EOF %files %license LICENSE %doc README.md CONTRIBUTING.md %{_bindir}/Gothic2Notr %{_bindir}/opengothic %{_datadir}/applications/%{name}.desktop %{_datadir}/%{name}/ %{_mandir}/man6/%{name}.6* %changelog * Wed Feb 05 2025 Package Maintainer - 1.0.3549-1 - Update to version 1.0.3549 - Latest pre-release with multiple bug fixes and improvements - Fix smooth interpolation for move-triggers - Fix fleeing for Gothic 1 NPCs - Fix AIV_PARTYMEMBER difference between Gothic 1 and Gothic 2 - Fix ammo checking for "best" weapons - Align strafe/running controls with original game - Game now memorizes if door or chest lock was ever opened - Add handling of Gothic 1 guilds - Implement Gothic 1 behavior for missing items - Implement opening the map via hotkey in Gothic 1 - Added benchmark mode (-benchmark and -benchmark ci) - Added marvin set var command * Thu Dec 26 2024 Package Maintainer - 1.0.3010-1 - Update to version 1.0.3010 - Improve handling of BS_STUMBLE/BS_PARADE - Disallow opening inventory menu while character is laying on the ground - Disallow sliding when character is in 'walk' mode - Perception range for NPCs now driven by game-script - Fix isNoisy check when player interacting with MOBSI - Gothic 1: added PERC_ASSESSREMOVEWEAPON - Gothic 1: multiple improvements to spell-casting and alignment - Best weapons are now automatically equipped by NPC on spawn - Limit mouse rotation speed * Mon Oct 02 2023 Package Maintainer - 1.0.1878-1 - Initial Fedora package - Version 1.0.1878 release - Includes full Gothic 2: Night of the Raven support - Experimental Gothic 1 support - Vulkan rendering with optional ray tracing support - Mesh shader support for modern GPUs - Content mod support