| |
| — | lokigames:descent3 [2024/05/30 16:56] (Version actuelle) – créée - modification externe 127.0.0.1 |
|---|
| | ====== Descent 3 ====== |
| | This may be completely obsolete thanks to <del>a [[https://www.patreon.com/posts/project-descent-33611585|fresh new port]] by Ryan C. Gordon ! |
| | A recent native SDL2 port of the game is now available on Steam for 9.99$</del> the release of the [[https://github.com/DescentDevelopers/Descent3|game source code]] under GPL-3 ! |
| |
| | ===== Install & patch the game ===== |
| | |
| | To install the required 32 bits libraries : |
| | <code> |
| | # apt-get install libsmpeg0:i386 |
| | </code> |
| | |
| | To install the game, mount your CD & run the installer with ''linux32'' from the ''util-linux'' package : |
| | <code> |
| | # mount /dev/cdrom /media/cdrom |
| | $ linux32 bash /media/cdrom/setup.sh |
| | # umount /media/cdrom |
| | # eject |
| | </code> |
| | |
| | Copy the movies files from CD2: |
| | <code> |
| | # mount /dev/cdrom /media/cdrom |
| | $ cp /media/cdrom/movies/* <installation-directory>/movies/ |
| | </code> |
| | |
| | [Optional] Install the official expansion [[https://ftp.lokigames.twolife.be/pub/updates/descent3/mercenary-1.0.run|Descent 3: Mercenary]] |
| | <code> |
| | # mount /dev/cdrom /media/cdrom |
| | $ mkdir -p ~/.loki/installed |
| | $ cat > ~/.loki/installed/descent3.xml << EOF |
| | <?xml version="1.0"?> |
| | <product name="descent3" desc="Descent 3" xmlversion="1.0" root="/home/twolife/descent3" update_url="localhost"> |
| | <component name="Default" version="1.4" default="yes"> |
| | <option name="Base Install"> |
| | <file md5="a4cfff7ba298023c1114e526241ea295" mode="0644">d3-linux.hog</file> |
| | <file md5="62bf8884ac14cc1b16377479f2fdbfb7" mode="0755">descent3</file> |
| | </option> |
| | </component> |
| | </product> |
| | EOF |
| | $ linux32 bash mercenary-1.0.run |
| | </code> |
| | |
| | Apply the first [[https://ftp.lokigames.twolife.be/pub/updates/descent3/descent3-1.4.0a-x86.run|patch]] : |
| | <code> |
| | $ linux32 bash descent3-1.4.0a-x86.run |
| | </code> |
| | |
| | Apply the last released [[https://ftp.lokigames.twolife.be/pub/updates/descent3/descent3-1.4.0b-x86.run|patch]] : |
| | <code> |
| | $ linux32 bash descent3-1.4.0b-x86.run |
| | </code> |
| | |
| | |
| | ===== Game crash ===== |
| | ''./descent3.dynamic'' greets you with //"SIGNAL 11 caught, aborting"// |
| | |
| | This is due to a change in ''libgcc'' that broke some binaries that where compiled with gcc 2.95 in an unusual way (like compiling C++ code with ''gcc'' instead of ''g++''). |
| | |
| | ==== Option a ==== |
| | You can use a little [[https://github.com/twolife/lokishim|shim]] that add back functions required by a bunch of old games like this one. |
| | |
| | <code>LD_PRELOAD="/path/to/lokishim.so" ./descent3.dynamic</code> |
| | |
| | ==== Option b ==== |
| | The missing function can be found in a //very// old ''libstdc++'', and you can use ''libstdc++-3-libc6.2-2-2.10.0.so'' from [[https://www.improbability.net/loki/loki_compat_libs-1.5.tar.bz2|https://www.improbability.net/loki/]] |
| | |
| | <code>LD_PRELOAD="./libstdc++-3-libc6.2-2-2.10.0.so" ./descent3.dynamic</code> |