Browse Source

Documentation Updates (#65)

- Added missing build dependency for MSYS
- Added documentation for compatibility matrix, compilations, and statuses
- Split troubleshooting documentation from main page to separate page since
  the main page is becoming too big. Also added more info into this troubleshooting
  section.
pull/4/head
Jonathan Vasquez 8 years ago committed by galaxyhaxz
parent
commit
cf634954bc
  1. 7
      README.md
  2. 22
      Support/INSTALL_windows.md
  3. 25
      Support/compatibility_matrix.md
  4. 21
      Support/troubleshooting.md

7
README.md

@ -39,6 +39,8 @@ Compiling Definitions
- `SLEEP` (default: off) will define whether to sleep the program to prevent 100% CPU usage
- `_DEBUG` (default: off) will define whether to include debug features (refer to [Debugging Document](Support/debug.md))
# [Compatibility Matrix, Compilations, Platform Statuses](Support/compatibility_matrix.md)
# Installing
Once compiled, the Devilution binary will serve as a replacement for `Diablo.exe`. A clean installation of Diablo patched to 1.09(b) is needed to run the game. Either copy Devilution into Diablo's installation folder, or make sure the following files are present:
- `DIABDAT.MPQ` : if `COPYPROT` was defined, then the Diablo CD will be required
@ -49,10 +51,7 @@ Once compiled, the Devilution binary will serve as a replacement for `Diablo.exe
To run the game in windowed mode, a DirectDraw wrapper will be needed. Strange Bytes' [DirectDraw patch](http://www.strangebytes.com/index.php/projects/1-diablo-1-windows-7-vista-patch) is recommended. To install, place the `ddraw.dll` into the same location as the Devilution binary.
# Troubleshooting
While Devilution should produce a binary close to the original (compatible with Windows 95/NT), it may cause issues on newer systems. It has been reported to frequently crash on some setups, although for many it appears to be running flawless otherwise. Windows 7, Linux-WINE, and Windows 10 have all reported success.
Note that newer compilers may need to be tweaked to properly produce an executable. Currently this is being worked on to provide multiple Makefiles for a variety of systems. To ensure the best results, either MinGW or Visual Studio 2003/older should be used for the time being.
# [Troubleshooting](Support/troubleshooting.md)
# F.A.Q.
> Wow, does this mean I can download and play Diablo for free now?

22
Support/INSTALL_windows.md

@ -1,14 +1,23 @@
# Installation
## Dependencies
## Dependencies and Initial Environment Configuration
* Install [MSYS2](https://www.msys2.org/)
```bash
# Start the *MSYS2 MinGW 32-bit* terminal.
# If this is the first time, go ahead and update all of your components, and
# follow and instructions about restarting the terminal and running the update again:
pacman -Syu
# After everything is updated, let's download all of the components needed
# to build it and set up any dependency symlinks:
pacman -Sy git make mingw-w64-i686-gcc mingw-w64-i686-binutils
ln -s /mingw32/i686-w64-mingw32/bin/dlltool.exe /usr/bin/i686-w64-mingw32-dlltool.exe
ln -s /mingw32/i686-w64-mingw32/bin/as.exe /usr/bin/i686-w64-mingw32-as.exe
ln -s /mingw32/bin/windres.exe /usr/bin/i686-w64-mingw32-windres.exe
```
## Building
@ -18,11 +27,20 @@ git clone https://github.com/galaxyhaxz/devilution
cd devilution
cp /path/to/diablo_game_dir/diabloui.dll .
cp /path/to/diablo_game_dir/storm.dll .
# If you only have a single core machine or if building in parallel
# causes issues, simply run the following command:
make
# If you want to compile faster, then use the following command (Substitute # for
# your number of processors + 1. So if you have an 8 core processor, use 9:
make -j#
```
## Install
```bash
# The Devilution executable will be placed in the root of your Devilution repository.
# Simply copy this over to your Diablo installation folder:
cp devilution.exe /path/to/diablo_game_dir/
```
```

25
Support/compatibility_matrix.md

@ -0,0 +1,25 @@
# Compatibility Matrix, Compilations, Platform Statuses, Etc
Please use UTC times for all entries. The Z ending represents UTC time.
## Status Cheat Sheet
[Modeled after Wine HQ's Rating System](https://wiki.winehq.org/AppDB_Rating_Definitions)
| Rank | Description |
| --- | --- |
| Platinum | Works perfectly right after compilation either better or equal to Native Diablo Executable. |
| Gold | Works right after compilation with no crashes during gameplay but workarounds needed. |
| Silver | Works right after compilation with no crashes during gameplay but issues exist where no workarounds exist. |
| Bronze | Mostly works but there are still some problems remaining that prevent a full playthrough.|
| Trash | Game has severe problems and cannot be played. |
## Windows
| Date | Status | OS | Bitness | Version (OS) | Build (OS) | Compiler | Build Platform | User | Workaround |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 2018-06-24 @ 17:05 Z| Gold | 10 | x64 | 1803 | 17134.112 | i686-w64-mingw32-gcc-7.3.0 | MSYS 2 i686 | fearedbliss | Needed to use ddraw patch. |
## Linux
## Mac OS X

21
Support/troubleshooting.md

@ -0,0 +1,21 @@
# Troubleshooting
While Devilution should produce a binary close to the original (compatible with Windows 95/NT), it may cause issues on newer systems. It has been reported to frequently crash on some setups, although for many it appears to be running flawless otherwise. Windows 7, Linux-WINE, and Windows 10 have all reported success.
Note that newer compilers may need to be tweaked to properly produce an executable. Currently this is being worked on to provide multiple Makefiles for a variety of systems. To ensure the best results, either MinGW or Visual Studio 2003/older should be used for the time being.
## Compilations with Different Toolchains
Compiling with different compilers (Visual C++, MinGW, Etc) will lead lead to different
results with how the executable interacts with the operating system, and may lead to either
weird crashes or different types of problems either during startup or runtime.
For example, for fearedbliss, on his Windows 10 x64 machine where he compiled Devilution
with MSYS2/MinGW32, he was getting the following messages:
![Screenshot 1: Windows 2000 Advisory](https://i.imgur.com/ScFLGu5.png)
![Screenshot 2: DirectDraw Error ](https://i.imgur.com/kiWkBuk.png)
In order for him to fix these issues, he simply used the DirectDraw patch (ddraw.dll)
and placed that .dll in his Diablo directory. That seems to have fixed it and he was
able to launch and run Diablo with no crashes (Quick smoke test - Cleared Level 1).
Loading…
Cancel
Save