This War Of Mine

Bild des Benutzers comrad

In This War Of Mine spielt man eine Gruppe Einwohner einer belagerten Stadt inmitten eines laufenden Krieges. Es geht ums Überleben, um Nahrung, Medikamente und drohende Gewalt durch Plünderer und Soldaten und Scharfschützen. Auf Steam für Windows, OS X und Linux erhältlich.

Im DLC "The Little Ones" werden zusätzlich noch die Probleme mit Kindern im Kriegsumfeld vertieft.

Problemlösungen

Spiel bleibt im Ladebildschirm hängen

Sollte das Spiel bei euch im ersten Ladebildschirm hängen bleiben, kann dies über eine selbst erstellte Bibliothek gefixed werden (Quelle). Dazu erstellt eine neue Datei im Spieleordner mit dem Namen "loadfix.c":

#define _GNU_SOURCE
#include <dlfcn.h>
#include <semaphore.h>
#include <stdio.h>
#include <time.h>
#include <unistd.h>
 
static int (*_realSemTimedWait)(sem_t *, const struct timespec *) = NULL;
 
int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout)
{
    if (abs_timeout->tv_nsec >= 1000000000)
    {
        //fprintf(stderr, "to: %lu:%lu\n", abs_timeout->tv_sec, abs_timeout->tv_nsec);
        ((struct timespec *)abs_timeout)->tv_nsec -= 1000000000;
        ((struct timespec *)abs_timeout)->tv_sec++;
    }
    return _realSemTimedWait(sem, abs_timeout);
}
 
__attribute__((constructor)) void init(void)
{
    _realSemTimedWait = dlsym(RTLD_NEXT, "sem_timedwait");
}

Anschließend kompiliert ihr die Datei:
gcc -m32 -o loadfix.so loadfix.c -ldl -shared -fPIC -Wall -Wextra

Zu guter Letzt müsst ihr diese Bibliothek nur noch beim starten laden. Bei Steam tragt ihr folgendes in die Startparameter des Spiels ein:
LD_PRELOAD="${LD_PRELOAD}:./loadfix.so" %command%

Screenshots und Videos
Mastodon