This is a fork of the Amnesia the Dark Descent repository from Frictional Games. Currently mainly working on improving the engine tools.
- Use system mouse instead of a simulated one - significantly improves comfort because the system mouse is more precise
- Bigger GUI - the original one was developed for screens which were twice smaller and became uncomfortable. We are bringing the GUI sizing closer to HPL3 editors.
- New keyboard shortcuts - including standard ones which were missing.
- Dark theme
- A much more comfortable color picker (it is included in the official 1.5 editors, but was not in 1.3) Check button hover tips to see if a button has a shortcut, or the release changelog for a full list.
- Semi-compability with Machine For Pigs - maps can be opened without crashing, but lights are inaccurate because of rendering differences between MFP and TDD
- Ensure you have
make
andcmake
installed - Clone the project and enter the folder
- Run the script file at
./dependencies/precompiled/lib/linux/lib64/fix_symlinks.sh
to fix broken symlinks from the .zip file - Create a
build
folder and open a terminal in it - Run
cmake -S ../amnesia/src/
- this is called an out-of-source build, which basically means that CMake won't pollute the source code with its files. When there's an issue caused by CMake, you can empty this directory and rerun CMake. - With a terminal still in
./build
runmake
(or usemake -jX
to speed things up, where X is the number of jobs; e.g.make -j4
). - The build should compile and the resulting binaries will be found in
./output
.
To run the compiled binary, copy it to your Amnesia installation folder.
For example copy the Amnesia.bin.x86_64
to your game folder.
A faster way to test stuff is to copy the game directory to ./output
and run the binaries from there.
Other notes:
- The game, all tools and the launcher are all compiled at the same time.
- The build configuration is set to Release in the main CMakeLists file. Other options are also described there.
You will need to delete CMakeCache.txt
(or all ./build
contents) and add --toolchain XCompileToWindows.toolchain
to
the CMake command, e.g. cmake -S ../amnesia/src/ --toolchain XCompileToWindows.toolchain
.
Then use make
as usual.
Note: VS .sln
files are not actively maintained, you should try compiling on Windows with CMake.
The game is built from two separate solutions: The engine solution named HPL2_2010
and the main game solution named Lux
.
The project also includes all the different editors and additional tools, such as the Level Editor and the Model Editor.
In order to build the game, you will first need to compile and build the HPL2 Engine.
Requirements:
- Visual Studio C++ 2010 (express edition for example) (for compiling the engine)
- Visual Studio 2017 (for compiling the game, although I'm not sure this is mandatory) VS 2010 Service pack 1 (the main game probably won't compile without this)
- Clone the project
- Go to the
HPL2/
folder and extractdependencies.zip
. - Open
_HPL2_2010.sln
with Visual Studio 2010. - Set the build configuration from
Debug
toRelease
. Build -> Build _HPL2_2010
. There won't be any errors, but some warning messages will appear.- The build result will be created in
HPL2/lib
- Go to
amnesia/src/game
and openLux.sln
. - Click cancel on retag project message.
- Set the build configuration from
Debug
toRelease
. Build -> Build Lux
. There won't be any errors, but some warning messages will appear.- The game executable should be created in
amnesia/redist
.
Copy Amnesia.exe
into your Amnesia game folder and launch it. The main menu should appear normally with no errors.
TODO
-
"When I compile
Lux
, I get an error message "fatal error RC1015: cannot open include file 'afxres.h'"." -
You need to install the
Microsoft Foundation Classes for C++
. If it still doesn't work, changeafxres.h
towindows.h
. It should compile then. -
"When I compile the level editor, I get error message about vc70 not found."
-
Try turning the Pre-Link Event off. Go to
Project Properties -> Build Events -> Pre-Link Event
, setUse In Build
toNo
and build again.