Skip to content

speedrun-program/amnesia_linux_load_detector

Repository files navigation

Obsolete Linux Amnesia speedrunning tool.

How to test this:

Compile amnesia_load_detector.cpp as an executable file and extra_memory.cpp as a shared object file.

g++ -O2 -o '/path/for/amnesia_load_detector.exe' '/path/to/amnesia_injector2.cpp'

g++ -fPIC -shared -Os -o '/path/for/extra_memory_64.so' '/path/to/extra_memory.cpp'

g++ -fPIC -m32 -shared -Os -o '/path/for/extra_memory_32.so' '/path/to/extra_memory.cpp'

Put timer_error_log.txt, mmap_file.txt, shared_file_name.txt, and byte_updates_per_second.txt in the directory you'll run amnesia_load_detector.exe from. In shared_file_name.txt, write the filename you want to give mmap_file.txt. In byte_updates_per_second.txt, write how many times per second you want amnesia_load_detector.exe to check if the game is in a load screen.

Give cap_sys_ptrace and cap_kill capabilities to amnesia_load_detector.exe so it can read from and write to the game's memory.

sudo setcap "cap_sys_ptrace=eip cap_kill=eip" '/path/to/amnesia_load_detector.exe'

Use LD_PRELOAD to run Amnesia with extra_memory.so. For example, with Amnesia_NOSTEAM.bin.x86_64:

LD_PRELOAD='/path/to/extra_memory_64.so' '/path/to/Amnesia_NOSTEAM.bin.x86_64'

After Amnesia is running, start amnesia_load_detector.exe from terminal.

'/home/ubuntu/cpp_files/amnesia_load_detector.exe'

When a load starts or finishes, a message should be printed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages