Anomaly Defenders

Bild des Benutzers Linux Gamer 91

Anomaly Defenders unterscheidet sich stark von den anderen Anomaly Spielen. Es setzt nicht mehr auf das Tower-Offense Prinzip.

Das Blatt hat sich gewendet. Nach der missglückten Alien Invasion sind die Menschen zum Angriff übergegangen. Der Spieler übernimmt diesmal die Fraktion der Außerirdischen und versucht die Truppen des Gegners im Tower-Defense-Stil zu bekämpfen.

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. 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%

Habt ihr das Spiel DRM Frei startert ihr es folgendermaßen:
LD_PRELOAD=./loadfix.so ./AnomalyDefenders

Screenshots und Videos