Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 4.81 KB

CompilingDrod_Win_MSVS2013.md

File metadata and controls

76 lines (53 loc) · 4.81 KB

Building DROD

  1. Download and build the libraries.
  2. Update include and library paths in the project files.
  3. Build the project.
  4. Copy DLLs.
  5. Copy drod5_0.dat.

Short version

There is a Python script that downloads and builds all of the required libraries in Scripts/InstallDependencies.win32.vs2013.py, optimized for Visual Studio 2013 but it should work for newer versions with little changes. In order to build with this script do the following:

  1. Edit Scripts/InstallDependencies.win32.vs2013.py and provide the correct path to DevEnv.com.
  2. Run the script.
  3. After it finishes, open the solution Master/Master.2013.sln and build the project - the paths are all set to work with the dependency installing script.
  4. After the script finished building copy DLLs from Deps/Dll/Debug or Deps/Dll/Release and paste them to DROD/DebugVS2013/ or DROD/Release/ respectively.
  5. Go to your installation of DROD (either Demo or Full version) and copy Data/drod5_0.dat and paste it to DROD/DebugVS2013/Data/ or DROD/Release/Data/.
  6. Run the game.

Download and build the libraries

The game requires the following libraries. Different versions may potentially be used but these are the ones present in the automatic dependency installation script:

You need the DLLs from the following libraries:

  • fmod
  • curl
  • expat
  • libfreetype (from sdl-ttf)
  • SDL2
  • SDL2_ttf
  • zlib (might best to use the one from lpng)
Update include and library paths in the project files

There are two ways to approach this - either copy the necessary include and library files from their original projects to a new location (like the build script does) and only have to add a single path to each projects. Alternatively you can add all the necessary path to the projects or to your global settings (more information here).

Build the project

Now you can open one of the solutions located in Master/ depending on which project files you've modified and build the project like you'd always do. It's highly likely the first time you'll encounter some errors - maybe you built a library incorrectly, maybe you have to update include/library paths, maybe you need to change some setting specific to your development environment.

Copy DLLs

Once the project is built copy the necessary DLL files to DROD/Release or DROD/DebugVS2013 depending on which version was built.

Copy drod5_0.dat

Go to your installation of DROD (either Demo or Full version) and copy Data/drod5_0.dat and paste it to DROD/DebugVS2013/Data/ or DROD/Release/Data/.

After all that you should be able to run the game without a problem! If it worked, then congratulations!

Troubleshooting

Here is a list of all the problems that have been reported to happen while building the game and ways to work around them.

json_value.asm: No such file or directory

This may occur when building a release version of JSON library using the official sources - open the project in Visual Studio, go to libjson -> Properties -> C/C++ -> Output Files and set Assembler Output to No Listing.

Procedure entry point InterlockedCompareExchange@12 could not be located in the dynamic link library SDL2_ttf.dll

This is a runtime error caused by missing or incorrect version of libfreetype-6.dll. Make sure you have the DLL in your DROD directory and use the version taken from SDL_ttf library.