Shipwright/StormLib
David Chavez e42b18cf71
Add Support for macOS (#441)
* Fixed soh filters

* add more makefile changes

* almost ready

* more updates

* update

* update

* Update Makefiles to handle both platforms

* Allow for overriding the CXX and CC executables

* Restore original structure while supporting custom CXX flags

* Remove some platform specific libs

* Dynamic target name

* Make X11 paths package-agnostic

* Remove changes to `gfx_opengl.cpp`

* Use OpenGL2 on MacOS instead of OpenGL3

* make it actually render something

* render at least the first texture, still need to figure out the second
one

* Let’s use OpenGL 3 again

* maybe this works to get the right texture? link's eyes still look off a bit

* did this work?

* set the platform to macos

* actual numbers are right, but logic is ugly XXX/TODO, i know

* add zlib to ldflags for ZAPDUtils

* A bit of cleanup

* Revert unneeded changes

* Remove GL_CHECK

* Fix issues with z64 branch

* use an std::map instead of a giant array

* three point filter fix (#2)

* Fix mac compilation

* fix audio for 64 bit

* revert audio heap size, keep bigger pools

* Add more Apple specific checks to our modifications

* Add building instructions for macOS

* Remove unecessary step from building instructions

* Add missing SDL2 & GLEW to Linux LDLIBS

* Update BUILDING.md

Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>

* Update soh/.gitignore to include other arch binaries

Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>

* Use right platform name for debugging window

Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>

* Fix stormlib on macos (arm64)

* Simplify some of the ifdef checks

* Revert an older no longer necessary fix

* Remove remaining unecessary deviations

* Update building instructions after StormLib changes

* Feature: Use OpenGL 4.1 (#1)

* Further tweak the BUILDING

* Tidy up

* reword -j message

* Add Jenkins CI Support (#2)

* Fix type issues

* add target <appbundle> and <filledappbundle>

add makefile targets to create an .app
`filledappbundle` creates the target with the .otr included

this should perhaps be moved to Application Support though

* pull gcc's rpath from otool output

* move make target to the end so it's not default

* Add Jenkins and make exe in par with other platforms

* Actually save build artefacts

* Fix artefact path

* Remove x11 mentions and linking (not used)

* Update building instructions for generating app

* use appsupport directory

* Add new app icon

* Update target to match macOS types

* Update more audio types

* fix null deref in Audio_PlayFanfare

* Remove old import from z64

* address final nit with apple ifdefs

Co-authored-by: KiritoDev <36680385+KiritoDv@users.noreply.github.com>
Co-authored-by: Jeffrey Crowell <github@crowell.biz>
Co-authored-by: BountyChocolate123456 <101743444+BountyChocolate123456@users.noreply.github.com>
2022-06-22 14:59:21 -04:00
..
doc Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
src Add Support for macOS (#441) 2022-06-22 14:59:21 -04:00
storm_dll Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib.xcodeproj Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
test Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
.gitignore Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
CMakeLists.txt Add StormLib CMakeLists.txt for building on Linux/Mac 2022-06-03 09:34:00 -05:00
Info.plist Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
LICENSE Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
make-msvc.bat Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
make.bat Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
PostBuild.bat Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
Premake5.lua Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
Publish.bat Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
README.md Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
sources Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs08_dll.vcproj Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs08_test.vcproj Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs08.sln Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs08.vcproj Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs19_dll.vcxproj Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs19_dll.vcxproj.filters Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs19_test.vcxproj Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs19_test.vcxproj.filters Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs19.sln Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs19.vcxproj Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib_vs19.vcxproj.filters Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00
StormLib.kdev4 Replaced StormLib .lib files with source code. 2022-06-16 20:35:52 -04:00

StormLib

This is official repository for the StomLib library, an open-source project that can work with Blizzard MPQ archives.

Installation and basic usage

Linux

  1. Download latest release
  2. Install StormLib:
$ cd <path-to-StormLib>
$ cmake CMakeLists.txt
$ make
$ make install
  1. Include StormLib in your project: #include <StormLib.h>
  2. Make sure you compile your project with -lstorm -lz -lbz2

Windows (Visual Studio 2008)

  1. Download the latest release of StormLib
  2. Open the solution file StormLib_vs08.sln in Visual Studio 2008
  3. Choose "Build / Batch Build" and select every build of "StormLib"
  4. Choose "Rebuild"
  5. The result libraries are in .\bin\Win32 and .\bin\x64

Windows (Visual Studio 2017 or 2019)

  1. Make sure you have SDK 10.0.17134.0 installed
  2. Download the latest release of StormLib
  3. Open the solution file StormLib_vs19.sln in Visual Studio 2017/2019
  4. Choose "Build / Batch Build" and select every build of "StormLib"
  5. Choose "Rebuild"
  6. The result libraries are in .\bin\Win32 and .\bin\x64

Windows (Test Project)

  1. Include the main StormLib header: #include <StormLib.h>
  2. Set the correct library directory for StormLibXYZ.lib:
    • X: D = Debug, R = Release
    • Y: A = ANSI build, U = Unicode build
    • Z: S = Using static CRT library, D = Using Dynamic CRT library
  3. Rebuild