Browse Source

Build macOS package via CMake exclusively

pull/265/head
Anders Jenbo 7 years ago
parent
commit
d26f4b0ad0
  1. 21
      .travis.yml
  2. 47
      .vscode/settings.json
  3. 30
      3rdParty/libsodium/osxi386.sh
  4. 4
      Brewfile-32bit.rb
  5. BIN
      Diablo.ico
  6. 291
      Diablo.rc
  7. 0
      Packaging/resources/16.png
  8. BIN
      Packaging/resources/Diablo_32.png
  9. BIN
      Packaging/resources/Diablo_48.png
  10. 112
      README.md
  11. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/1024.png
  12. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/128.png
  13. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/256-1.png
  14. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/256.png
  15. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/512-1.png
  16. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/512.png
  17. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/64.png
  18. 68
      Xcode/AppIcon.xcassets/AppIcon.appiconset/Contents.json
  19. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/appicon-1.png
  20. BIN
      Xcode/AppIcon.xcassets/AppIcon.appiconset/appicon-3.png
  21. 6
      Xcode/AppIcon.xcassets/Contents.json
  22. 30
      Xcode/Info.plist
  23. 1734
      Xcode/devilutionX.xcodeproj/project.pbxproj
  24. 7
      Xcode/devilutionX.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  25. 8
      Xcode/devilutionX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  26. 80
      Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/PKWare.xcscheme
  27. 80
      Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/Radon.xcscheme
  28. 80
      Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/StormLib.xcscheme
  29. 80
      Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/devilution.xcscheme
  30. 91
      Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/devilutionX.xcscheme
  31. 80
      Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/smacker.xcscheme
  32. 172
      macos-build.sh

21
.travis.yml

@ -1,26 +1,23 @@
language: bash
language: cpp
os:
- osx
os: osx
osx_image: xcode9.4
osx_image: xcode10.3
addons:
homebrew:
update: true
matrix:
include:
- env: ARCH=--build-all-x86
- env: ARCH=--build-all-x64
brewfile: true
script:
- bash ./macos-build.sh $ARCH
- mkdir build
- cd build
- cmake ..
- make package -j$(sysctl -n hw.physicalcpu)
deploy:
provider: releases
api_key: "$GITHUB_TOKEN"
file: "build/devilutionX.dmg"
file: "build/devilutionx.dmg"
skip_cleanup: true
on:
tags: true

47
.vscode/settings.json vendored

@ -1,47 +0,0 @@
{
"files.associations": {
"string": "cpp",
"array": "cpp",
"initializer_list": "cpp",
"utility": "cpp",
"*.tcc": "cpp",
"typeinfo": "cpp",
"deque": "cpp",
"vector": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"cstdarg": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"cwchar": "cpp",
"cwctype": "cpp",
"list": "cpp",
"unordered_map": "cpp",
"exception": "cpp",
"fstream": "cpp",
"functional": "cpp",
"iosfwd": "cpp",
"iostream": "cpp",
"istream": "cpp",
"limits": "cpp",
"new": "cpp",
"ostream": "cpp",
"numeric": "cpp",
"sstream": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"system_error": "cpp",
"cinttypes": "cpp",
"type_traits": "cpp",
"tuple": "cpp",
"algorithm": "cpp",
"cassert": "cpp",
"map": "cpp",
"set": "cpp",
"locale": "cpp",
"*.ipp": "cpp"
}
}

30
3rdParty/libsodium/osxi386.sh vendored

@ -1,30 +0,0 @@
#! /bin/sh
export PREFIX="$(pwd)/libsodium-osx"
export OSX_VERSION_MIN=${OSX_VERSION_MIN-"10.8"}
export OSX_CPU_ARCH=${OSX_CPU_ARCH-"core2"}
mkdir -p $PREFIX || exit 1
export CFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=${OSX_VERSION_MIN} -march=${OSX_CPU_ARCH} -O2 -g"
export LDFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=${OSX_VERSION_MIN} -march=${OSX_CPU_ARCH}"
make distclean > /dev/null
if [ -z "$LIBSODIUM_FULL_BUILD" ]; then
export LIBSODIUM_ENABLE_MINIMAL_FLAG="--enable-minimal"
else
export LIBSODIUM_ENABLE_MINIMAL_FLAG=""
fi
./configure ${LIBSODIUM_ENABLE_MINIMAL_FLAG} \
--prefix="$PREFIX" || exit 1
NPROCESSORS=$(getconf NPROCESSORS_ONLN 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null)
PROCESSORS=${NPROCESSORS:-3}
make -j${PROCESSORS} check && make -j${PROCESSORS} install || exit 1
# Cleanup
make distclean > /dev/null

4
Brewfile-32bit.rb

@ -1,4 +0,0 @@
brew "automake"
brew "autoconf"
brew "libtool"
brew "cmake"

BIN
Diablo.ico

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

291
Diablo.rc

@ -1,291 +0,0 @@
//Microsoft Developer Studio generated resource script.
//
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include <winresrc.h>
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1 ICON DISCARDABLE "Diablo.ico"
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE DISCARDABLE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE DISCARDABLE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE DISCARDABLE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//
IDD_DIALOG1 DIALOG DISCARDABLE 0, 0, 250, 241
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Direct Draw Error"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,193,220,50,14
LTEXT "Diablo was unable to properly initialize your video card using DirectX. Please try the following solutions to correct the problem:",
-1,7,7,236,18
LTEXT "Use the Diablo setup program ""SETUP.EXE"" provided on the Diablo CD-ROM to install DirectX 3.0.",
-1,19,26,210,18
LTEXT "Install the most recent DirectX video drivers provided by the manufacturer of your video card. A list of video card manufactuers can be found at: http://www.blizzard.com/support/vendors.htm",
-1,19,48,210,27
LTEXT "The error encountered while trying to initialize the video card was:",
-1,7,175,236,9
LTEXT "unknown error",1000,19,186,210,27
LTEXT "If you continue to have problems, we have also included Microsoft DirectX 2.0 drivers on the Diablo CD-ROM. This older version of DirectX may work in cases where DirectX 3.0 does not.",
-1,7,79,236,27
LTEXT "USA telephone: 1-800-426-9400\nInternational telephone: 206-882-8080\nhttp://www.microsoft.com",
-1,19,137,210,27
LTEXT "If you continue to have problems with DirectX, please contact Microsoft's Technical Support at:",
-1,7,116,236,18
END
IDD_DIALOG2 DIALOG DISCARDABLE 0, 0, 250, 213
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Out of Memory Error"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,193,192,50,14
LTEXT "Diablo has exhausted all the memory on your system. This problem can likely be corrected by changing the virtual memory settings for Windows. Ensure that your system has at least 10 megabytes of free disk space, then check your virtual memory settings:",
-1,7,7,236,36
LTEXT "Select ""Settings - Control Panel"" from the ""Start"" menu\nRun the ""System"" control panel applet\nSelect the ""Performance"" tab, and press ""Virtual Memory""\nUse the ""Let Windows manage my virtual memory..."" option",
-1,23,54,197,36
LTEXT "The error encountered was:",-1,7,146,236,11
LTEXT "unknown location",1000,20,157,210,27
LTEXT "For Windows 95:",-1,7,45,236,9
LTEXT "Select ""Settings - Control Panel"" from the ""Start"" menu\nRun the ""System"" control panel applet\nSelect the ""Performance"" tab\nPress ""Change"" in ""Virtual Memory"" settings\nEnsure that the virtual memory file is at least 32 megabytes",
-1,17,98,197,45
LTEXT "For Windows NT:",-1,7,89,236,9
END
IDD_DIALOG3 DIALOG DISCARDABLE 0, 0, 265, 114
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Data File Error"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,208,93,50,14
LTEXT "Diablo was unable to open a required file. Please ensure that the Diablo disc is in the CDROM drive. If this problem persists, try uninstalling and reinstalling Diablo using the program ""SETUP.EXE"" on the Diablo CD-ROM.",
-1,7,7,251,36
LTEXT "The problem occurred while trying to load a file",-1,7,
48,232,9
LTEXT "unknown file",1000,20,59,210,27
END
IDD_DIALOG4 DIALOG DISCARDABLE 0, 0, 250, 161
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Direct Draw Error"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,193,140,50,14
LTEXT "Diablo was unable to find the file ""ddraw.dll"", which is a component of Microsoft DirectX. Please run the program ""SETUP.EXE"" on the Diablo CD-ROM and install Microsoft DirectX.",
-1,7,7,236,27
LTEXT "The error encountered while trying to initialize DirectX was:",
-1,7,95,236,9
LTEXT "unknown error",1000,19,106,210,29
LTEXT "USA telephone: 1-800-426-9400\nInternational telephone: 206-882-8080\nhttp://www.microsoft.com",
-1,19,60,210,27
LTEXT "If you continue to have problems with DirectX, please contact Microsoft's Technical Support at:",
-1,7,39,236,18
END
IDD_DIALOG5 DIALOG DISCARDABLE 0, 0, 250, 161
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Direct Sound Error"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,193,140,50,14
LTEXT "Diablo was unable to find the file ""dsound.dll"", which is a component of Microsoft DirectX. Please run the program ""SETUP.EXE"" on the Diablo CD-ROM and install Microsoft DirectX.",
-1,7,7,236,27
LTEXT "The error encountered while trying to initialize DirectX was:",
-1,7,95,236,9
LTEXT "unknown error",1000,19,106,210,27
LTEXT "USA telephone: 1-800-426-9400\nInternational telephone: 206-882-8080\nhttp://www.microsoft.com",
-1,19,60,210,27
LTEXT "If you continue to have problems with DirectX, please contact Microsoft's Technical Support at:",
-1,7,39,236,18
END
/* IDD_DIALOG6 DIALOG DISCARDABLE 0, 0, 250, 92
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "System warning"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "&OK",1,130,71,50,14
LTEXT "Diablo requires an Intel Pentium-class processor to run properly. Your system does not appear to have a Pentium-class processor installed.",
-1,7,7,236,18
LTEXT "You may still be able to play Diablo if your processor has the performance characteristics of a Pentium.",
-1,7,30,236,18
LTEXT "Press ""OK"" to proceed, otherwise press ""Cancel"" to exit this program.",
-1,7,53,236,9
PUSHBUTTON "&Cancel",2,193,71,50,14
END */
IDD_DIALOG7 DIALOG DISCARDABLE 0, 0, 250, 100
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Out of Disk Space"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,193,79,50,14
LTEXT "Diablo requires at least 10 megabytes of free disk space to run properly. The disk:",
-1,7,7,236,18
LTEXT "",-1,7,43,232,9
LTEXT "unknown drive",1000,7,33,210,9
LTEXT "has less than 10 megabytes of free space left. Please free some space on your drive and run Diablo again.",
-1,7,52,236,18
END
IDD_DIALOG8 DIALOG DISCARDABLE 0, 0, 250, 161
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Direct Draw Error"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,193,140,50,14
LTEXT "Diablo was unable to switch video modes. This is a common problem for computers with more than one video card. To correct this problem, please set your video resolution to 640 x 480 and try running Diablo again.",
-1,7,7,236,27
LTEXT "The error encountered while trying to switch video modes was:",
-1,7,95,236,9
LTEXT "unknown error",1000,19,106,210,27
LTEXT "Select ""Settings - Control Panel"" from the ""Start"" menu\nRun the ""Display"" control panel applet\nSelect the ""Settings"" tab\nSet the ""Desktop Area"" to ""640 x 480 pixels""",
-1,23,50,197,36
LTEXT "For Windows 95 and Windows NT",-1,7,41,236,9
END
IDD_DIALOG9 DIALOG DISCARDABLE 0, 0, 250, 92
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Data File Error"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,136,71,50,14
LTEXT "Diablo cannot read a required data file. Your Diablo CD may not be in the CDROM drive. Please ensure that the Diablo disc is in the CDROM drive and press OK. To leave the program, press Exit.",
-1,7,7,236,27
LTEXT "unknown file",1000,20,37,210,27
PUSHBUTTON "Exit",2,193,71,50,14
END
IDD_DIALOG10 DIALOG DISCARDABLE 0, 0, 223, 116
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Windows 2000 Restricted User Advisory"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,166,95,50,14
LTEXT "In order to install, play or patch Diablo using the Windows 2000 operating system, you will need to log in as either an Administrator or as a Power User.",
-1,7,7,209,28
LTEXT "Users, also known as Restricted Users, do not have sufficient access to install or play the game properly.",
-1,7,39,209,20
LTEXT "If you have further questions regarding User Rights in Windows 2000, please refer to your Windows 2000 documentation or contact your system administrator.",
-1,7,63,209,28
END
IDD_DIALOG11 DIALOG DISCARDABLE 0, 0, 220, 121
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "Read-Only Directory Error"
FONT 8, "MS Sans Serif"
BEGIN
DEFPUSHBUTTON "OK",1,163,100,50,14
LTEXT "Diablo is being run from:",-1,7,7,206,10
LTEXT "unknown directory",1000,17,20,186,20
LTEXT "Diablo or the current user does not seem to have write privilages in this directory. Contact your system administrator.\n\nNote that Windows 2000 Restricted Users can not write to the Windows or Program Files directory hierarchies.",
-1,7,44,206,50
END
#ifndef _MAC
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 2001,5,18,1
PRODUCTVERSION 1,0,9,2
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x1L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "Blizzard Entertainment\0"
VALUE "FileDescription", "Diablo\0"
VALUE "FileVersion", "2001, 5, 18, 1\0"
VALUE "InternalName", "Diablo\0"
VALUE "LegalCopyright", "Copyright © 1996-2001\0"
VALUE "OriginalFilename", "Diablo.exe\0"
VALUE "ProductName", "Blizzard Entertainment Diablo\0"
VALUE "ProductVersion", "1, 0, 9, 2\0"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // !_MAC
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED

0
Xcode/AppIcon.xcassets/AppIcon.appiconset/16.png → Packaging/resources/16.png

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 198 B

BIN
Packaging/resources/Diablo_32.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

BIN
Packaging/resources/Diablo_48.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

112
README.md

@ -4,17 +4,17 @@
Status | Platform
---:| ---
[![CircleCI](https://circleci.com/gh/diasurgical/devilutionX.svg?style=svg)](https://circleci.com/gh/diasurgical/devilutionX) | Linux 32bit & 64bit, Windows 32bit
[![Build Status](https://travis-ci.org/diasurgical/devilutionX.svg?branch=master)](https://travis-ci.org/diasurgical/devilutionX) | macOS 32bit & 64bit
[![Build Status](https://travis-ci.org/diasurgical/devilutionX.svg?branch=master)](https://travis-ci.org/diasurgical/devilutionX) | macOS 64bit
[![Build status](https://ci.appveyor.com/api/projects/status/1a0jus2372qvksht?svg=true)](https://ci.appveyor.com/project/AJenbo/devilutionx) | Windows MSVC
![Discord Channel](https://avatars3.githubusercontent.com/u/1965106?s=16&v=4) [Discord Chat Channel](https://discord.gg/aQBQdDe)
![Discord Channel](https://avatars3.githubusercontent.com/u/1965106?s=16&v=4) [Discord Chat Channel](https://discord.gg/aQBQdDe)
# How To Play:
- Copy diabdat.mpq from your CD, or GoG install folder, to the DevilutionX game directory ; Make sure it is all lowercase.
- [Download DevilutionX](https://github.com/diasurgical/devilutionX/releases), or build from source
- Install SDL2 (including SDL2_mixer and SDL2_ttf) make sure to get the appropriate 32bit or 64bit version.
- Install [SDL2](https://www.libsdl.org/download-2.0.php) (including [SDL2_mixer](https://www.libsdl.org/projects/SDL_mixer/) and [SDL2_ttf](https://www.libsdl.org/projects/SDL_ttf/))
- Run `./devilutionx`
Please keep in mind that this is still being worked on and is missing parts of UI and some minor bugs, see [milestone 1](https://github.com/diasurgical/devilutionX/milestone/1) for a full list of known issues.
# Building from Source
@ -35,7 +35,7 @@ cd build
cmake ..
make -j$(nproc)
```
</details>
</details>
<details><summary>macOS</summary>
@ -118,7 +118,7 @@ Make sure to install the `C++ CMake tools for Windows` component for Visual Stud
5. In case you need to select any paths to dependencies manually do this right in cmake-gui window.
6. Press `Generate` and open produced `.sln` file using Visual Studio.
7. Use build/debug etc. commands inside Visual Studio Solution like with any normal Visual Studio project.
</details>
</details>
<details><summary>Haiku</summary>
@ -152,60 +152,60 @@ The default build type is `Debug`. This can be changed with `-DBINARY_RELEASE=ON
You can also generate 32bit builds on 64bit platforms by setting `-DCMAKE_TOOLCHAIN_FILE=../CMake/32bit.cmake` (remember to use the `linux32` command if on Linux).
### mingw32
Use `-DCROSS_PREFIX=/path/to/prefix` if the `i686-w64-mingw32` directory is not in `/usr`.
### Use SDL v1 instead of SDL v2.
Pass `-DUSE_SDL1=ON` to build with SDL v1 instead of v2.
Note that some features are not yet supported in SDL v1, notably sound, upscaling, and fullscreen.
# Multiplayer
### Use SDL v1 instead of SDL v2.
Pass `-DUSE_SDL1=ON` to build with SDL v1 instead of v2.
Note that some features are not yet supported in SDL v1, notably sound, upscaling, and fullscreen.
# Multiplayer
- TCP/IP only requires the host to expose port 6112
- UDP/IP requires that all players expose port 6112
All games are encrypted and password protected.
# Contributing
[Guidelines](docs/CONTRIBUTING.md)
# Modding
Below are a few examples of some simple improvements made to the game. It is planned in the future to create tools for designing dungeons and graphics.
# Contributing
[Guidelines](docs/CONTRIBUTING.md)
# Modding
Below are a few examples of some simple improvements made to the game. It is planned in the future to create tools for designing dungeons and graphics.
![Screenshot 1: Monster lifebar+items](https://github.com/diasurgical/scalpel/blob/master/screens/mod1.png)
![Screenshot 2: New trade screen](https://github.com/diasurgical/scalpel/blob/master/screens/mod2.png)
# F.A.Q.
<details><summary>Click to reveal</summary>
> Wow, does this mean I can download and play Diablo for free now?
No, you'll need access to the data from the original game. If you don't have an original CD then you can [buy Diablo from GoG.com](https://www.gog.com/game/diablo). Alternatively you can also use `spawn.mpq` from the [http://ftp.blizzard.com/pub/demos/diablosw.exe](shareware) version and compile the with the SPAWN flag defined.
> Cool, so I fired your mod up, but there's no 1080p or new features?
# F.A.Q.
<details><summary>Click to reveal</summary>
> Wow, does this mean I can download and play Diablo for free now?
No, you'll need access to the data from the original game. If you don't have an original CD then you can [buy Diablo from GoG.com](https://www.gog.com/game/diablo). Alternatively you can also use `spawn.mpq` from the [http://ftp.blizzard.com/pub/demos/diablosw.exe](shareware) version and compile the with the SPAWN flag defined.
> Cool, so I fired your mod up, but there's no 1080p or new features?
We're working on it.
> What about Hellfire?
Hellfire was a bit of a flop on the developer's part. Support may come in the future once the base game is finished.
</details>
# Credits
- Reverse engineered by GalaXyHaXz in 2018
- [sanctuary](https://github.com/sanctuary) - extensively documenting Diablo's game engine
- [BWAPI Team](https://github.com/bwapi) - providing library API to work with Storm
- [Ladislav Zezula](https://github.com/ladislav-zezula) - reversing PKWARE library, further documenting Storm
- [fearedbliss](https://github.com/fearedbliss) - being awe-inspiring
- Climax Studios & Sony - secretly helping with their undercover QA :P
- Blizzard North - wait, this was a typo!
- Depression - reason to waste four months of my life doing this ;)
> What about Hellfire?
Hellfire was a bit of a flop on the developer's part. Support may come in the future once the base game is finished.
</details>
# Credits
- Reverse engineered by GalaXyHaXz in 2018
- [sanctuary](https://github.com/sanctuary) - extensively documenting Diablo's game engine
- [BWAPI Team](https://github.com/bwapi) - providing library API to work with Storm
- [Ladislav Zezula](https://github.com/ladislav-zezula) - reversing PKWARE library, further documenting Storm
- [fearedbliss](https://github.com/fearedbliss) - being awe-inspiring
- Climax Studios & Sony - secretly helping with their undercover QA :P
- Blizzard North - wait, this was a typo!
- Depression - reason to waste four months of my life doing this ;)
And a special thanks to all the support and people who work on Devilution to make it possible! <3
# Changelog
[From the beginning until release](docs/CHANGELOG.md)
# Legal
Devilution is released to the Public Domain. The documentation and function provided by Devilution may only be utilized with assets provided by ownership of Diablo.
Battle.net(R) - Copyright (C) 1996 Blizzard Entertainment, Inc. All rights reserved. Battle.net and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.
Diablo(R) - Copyright (C) 1996 Blizzard Entertainment, Inc. All rights reserved. Diablo and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.
Devilution and any of its' maintainers are in no way associated with or endorsed by Blizzard Entertainment(R).
# Changelog
[From the beginning until release](docs/CHANGELOG.md)
# Legal
Devilution is released to the Public Domain. The documentation and function provided by Devilution may only be utilized with assets provided by ownership of Diablo.
Battle.net(R) - Copyright (C) 1996 Blizzard Entertainment, Inc. All rights reserved. Battle.net and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.
Diablo(R) - Copyright (C) 1996 Blizzard Entertainment, Inc. All rights reserved. Diablo and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.
Devilution and any of its' maintainers are in no way associated with or endorsed by Blizzard Entertainment(R).

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/1024.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/128.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 537 B

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/256-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/256.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 721 B

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/512-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/512.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/64.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 B

68
Xcode/AppIcon.xcassets/AppIcon.appiconset/Contents.json

@ -1,68 +0,0 @@
{
"images" : [
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "16.png",
"scale" : "1x"
},
{
"size" : "16x16",
"idiom" : "mac",
"filename" : "appicon-1.png",
"scale" : "2x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "appicon-3.png",
"scale" : "1x"
},
{
"size" : "32x32",
"idiom" : "mac",
"filename" : "64.png",
"scale" : "2x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "128.png",
"scale" : "1x"
},
{
"size" : "128x128",
"idiom" : "mac",
"filename" : "256.png",
"scale" : "2x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "256-1.png",
"scale" : "1x"
},
{
"size" : "256x256",
"idiom" : "mac",
"filename" : "512.png",
"scale" : "2x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "512-1.png",
"scale" : "1x"
},
{
"size" : "512x512",
"idiom" : "mac",
"filename" : "1024.png",
"scale" : "2x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/appicon-1.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

BIN
Xcode/AppIcon.xcassets/AppIcon.appiconset/appicon-3.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

6
Xcode/AppIcon.xcassets/Contents.json

@ -1,6 +0,0 @@
{
"info" : {
"version" : 1,
"author" : "xcode"
}
}

30
Xcode/Info.plist

@ -1,30 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundleIconFile</key>
<string>AppIcon-1</string>
<key>CFBundleIconName</key>
<string>AppIcon-1</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>$(PRODUCT_NAME)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.0.2</string>
<key>CFBundleVersion</key>
<string>0.0.2</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>SDL_FILESYSTEM_BASE_DIR_TYPE</key>
<string>parent</string>
</dict>
</plist>

1734
Xcode/devilutionX.xcodeproj/project.pbxproj

File diff suppressed because it is too large Load Diff

7
Xcode/devilutionX.xcodeproj/project.xcworkspace/contents.xcworkspacedata generated

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

8
Xcode/devilutionX.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

80
Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/PKWare.xcscheme

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "45A6FB291E254A42B07B837A"
BuildableName = "libPKWare.a"
BlueprintName = "PKWare"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "45A6FB291E254A42B07B837A"
BuildableName = "libPKWare.a"
BlueprintName = "PKWare"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "45A6FB291E254A42B07B837A"
BuildableName = "libPKWare.a"
BlueprintName = "PKWare"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

80
Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/Radon.xcscheme

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "64913315C42A4243875272AC"
BuildableName = "libRadon.a"
BlueprintName = "Radon"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "64913315C42A4243875272AC"
BuildableName = "libRadon.a"
BlueprintName = "Radon"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "64913315C42A4243875272AC"
BuildableName = "libRadon.a"
BlueprintName = "Radon"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

80
Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/StormLib.xcscheme

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "60C4DCB37F3949359E12B905"
BuildableName = "libStormLib.a"
BlueprintName = "StormLib"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "60C4DCB37F3949359E12B905"
BuildableName = "libStormLib.a"
BlueprintName = "StormLib"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "60C4DCB37F3949359E12B905"
BuildableName = "libStormLib.a"
BlueprintName = "StormLib"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

80
Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/devilution.xcscheme

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AF5532C037DF4786A9C82C88"
BuildableName = "libdevilution.a"
BlueprintName = "devilution"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AF5532C037DF4786A9C82C88"
BuildableName = "libdevilution.a"
BlueprintName = "devilution"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "AF5532C037DF4786A9C82C88"
BuildableName = "libdevilution.a"
BlueprintName = "devilution"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

91
Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/devilutionX.xcscheme

@ -1,91 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "NO"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "43BF58B42235DEB8001F9748"
BuildableName = "devilutionX.app"
BlueprintName = "devilutionX"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = ""
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "43BF58B42235DEB8001F9748"
BuildableName = "devilutionX.app"
BlueprintName = "devilutionX"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "NO">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "43BF58B42235DEB8001F9748"
BuildableName = "devilutionX.app"
BlueprintName = "devilutionX"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "43BF58B42235DEB8001F9748"
BuildableName = "devilutionX.app"
BlueprintName = "devilutionX"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Debug"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

80
Xcode/devilutionX.xcodeproj/xcshareddata/xcschemes/smacker.xcscheme

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CC8BED88EFA34709B5C2747E"
BuildableName = "libsmacker.a"
BlueprintName = "smacker"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CC8BED88EFA34709B5C2747E"
BuildableName = "libsmacker.a"
BlueprintName = "smacker"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "CC8BED88EFA34709B5C2747E"
BuildableName = "libsmacker.a"
BlueprintName = "smacker"
ReferencedContainer = "container:Xcode/devilutionX.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

172
macos-build.sh

@ -1,172 +0,0 @@
#!/bin/bash
function get_libs {
echo "============= Getting Libs ============="
curl -O https://www.libsdl.org/release/SDL2-2.0.9.tar.gz
curl -O https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.4.tar.gz
curl -O https://www.libsdl.org/projects/SDL_ttf/release/SDL2_ttf-2.0.15.tar.gz
curl -SLO https://download.savannah.gnu.org/releases/freetype/freetype-2.9.1.tar.gz
curl -SLO https://github.com/glennrp/libpng/archive/v1.6.36.tar.gz
curl -SLO https://github.com/jedisct1/libsodium/archive/1.0.17.tar.gz
}
function decompress_libs {
echo "============= Unzip Libs ============="
tar -zxvf SDL2-2.0.9.tar.gz
tar -zxvf SDL2_mixer-2.0.4.tar.gz
tar -zxvf SDL2_ttf-2.0.15.tar.gz
tar -zxvf v1.6.36.tar.gz
tar -zxvf freetype-2.9.1.tar.gz
tar -zxvf 1.0.17.tar.gz
}
function build_sdl2 {
echo "============= Build SDL2 ============="
xcodebuild -project "SDL2-2.0.9/Xcode/SDL/SDL.xcodeproj" -scheme "Framework" build -configuration Release CONFIGURATION_BUILD_DIR="~/Library/Frameworks" ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=NO
mkdir frameworks
cp -v -f -a ~/Library/Frameworks/SDL2.framework ./frameworks/
}
function build_sdl2_mixer {
echo "============= Build SDL2_mixer ============="
xcodebuild -project "SDL2_mixer-2.0.4/Xcode/SDL_mixer.xcodeproj" -scheme "Framework" build -configuration Release ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=NO -derivedDataPath "SDL2_mixer-2.0.4/Xcode/DerivedData/"
cp -v -f -a SDL2_mixer-2.0.4/Xcode/DerivedData/Build/Products/Release/SDL2_mixer.framework ./frameworks/
}
function build_libpng {
echo "============= Build libpng ============="
mkdir libpng-1.6.36/build
cd libpng-1.6.36/build
cmake .. -G"Xcode"
cd ../../
xcodebuild -project "libpng-1.6.36/build/libpng.xcodeproj" -scheme "ALL_BUILD" build -configuration Release ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=NO
sudo mv /usr/local/lib/libpng16.16.dylib /usr/local/lib/libpng16.16_o.dylib
sudo cp -v -f -a libpng-1.6.36/build/Release/libpng16.16.36.0.dylib /usr/local/lib/libpng16.16.dylib
sudo rm /usr/local/lib/libpng.dylib
sudo ln -s /usr/local/lib/libpng16.16.dylib /usr/local/lib/libpng.dylib
cp -v -f -a libpng-1.6.36/build/Release/libpng16.16.36.0.dylib ./frameworks/libpng16.16.dylib
}
function build_freetype {
echo "============= Build Freetype ============="
cd freetype-2.9.1/
cmake -E make_directory build
mkdir -p build/builds/mac
cp -v -f builds/mac/freetype-Info.plist build/builds/mac/freetype-Info.plist
cmake -E chdir build cmake -G Xcode -D BUILD_FRAMEWORK:BOOL=true ..
cd ../
xcodebuild -project "freetype-2.9.1/build/freetype.xcodeproj" -scheme "ALL_BUILD" build -configuration Release ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=NO
}
function build_sdl2_ttf {
echo "============= Build SDL2_ttf ============="
rm -vr SDL2_ttf-2.0.15/Xcode/Frameworks/FreeType.framework
cp -v -f -a freetype-2.9.1/build/Release/freetype.framework SDL2_ttf-2.0.15/Xcode/Frameworks/FreeType.framework
xcodebuild -project "SDL2_ttf-2.0.15/Xcode/SDL_ttf.xcodeproj" -scheme "Framework" build -configuration Release ARCHS="i386 x86_64" ONLY_ACTIVE_ARCH=NO -derivedDataPath "SDL2_ttf-2.0.15/Xcode/DerivedData/"
cp -v -f -a SDL2_ttf-2.0.15/Xcode/DerivedData/Build/Products/Release/SDL2_ttf.framework ./frameworks/
}
function build_libsodium {
echo "============= Build Libsodium ============="
cp -v -f ../3rdParty/libsodium/osxi386.sh libsodium-1.0.17/dist-build/osxi386.sh
cd libsodium-1.0.17
sudo ./autogen.sh
./dist-build/osxi386.sh
sudo cp -v -f -a libsodium-osx/lib/ /usr/local/lib/
sudo cp -v -f -a libsodium-osx/include/ /usr/local/include/
cd ../../
}
function build_devilutionx {
echo $PROJECT_PATH
echo "============= Build DevilutionX ============="
xcodebuild -project "./Xcode/devilutionX.xcodeproj" -scheme "devilutionX" build -configuration Release CONFIGURATION_BUILD_DIR="build"
}
function create_dmg {
echo "============= Create DMG ============="
mkdir build/devilutionX
mv -v build/devilutionX.app build/devilutionX/devilutionX.app
hdiutil create build/devilutionX_temp.dmg -ov -volname "devilutionX" -fs HFS+ -srcfolder "build/devilutionX"
hdiutil convert build/devilutionX_temp.dmg -format UDZO -o build/devilutionX.dmg
echo "============= Cleaning temps ============="
rm build/devilutionX_temp.dmg
}
function set_working_dir() {
if [ -d "./libs" ]; then
cd libs
elif [ -d "../libs" ]; then
echo "Info: You're inside libs, maybe you should call this script at parent directory"
else
mkdir libs
cd libs
fi
}
function build_all_x86 (){
brew bundle --file=Brewfile-32bit.rb
set_working_dir
get_libs
decompress_libs
build_sdl2
build_sdl2_mixer
build_libpng
build_freetype
build_sdl2_ttf
build_libsodium
build_devilutionx || { echo "** Build Project > `--build-project` command failed"; exit 1; }
create_dmg
}
function build_all_x64 (){
brew bundle
mkdir build
cd build
cmake ..
make -j$(sysctl -n hw.physicalcpu)
}
function main {
for args in "$@"
do
case $args in
"--get-libs")
set_working_dir
get_libs
decompress_libs
;;
"--build-libs")
set_working_dir
build_sdl2
build_sdl2_mixer
build_libpng
build_freetype
build_sdl2_ttf
build_libsodium
;;
"--build-project")
build_devilutionx || { echo "** Build Project > `--build-project` command failed"; exit 1; }
;;
"--package")
create_dmg
;;
"--build-all-x64")
build_all_x64
;;
"--build-all-x86")
build_all_x86
;;
*)
echo Unknown command
;;
esac
done
}
main "$@"
Loading…
Cancel
Save