Skip to content
This repository has been archived by the owner on Aug 11, 2021. It is now read-only.

Latest commit

 

History

History
44 lines (31 loc) · 2.66 KB

Dependencies.md

File metadata and controls

44 lines (31 loc) · 2.66 KB

Dependencies

Bundled

For convenience majority of dependencies are bundled inside the repository and there is no need to download and build them separately. All of them are placed under /vendor directory, not including atlasc, which is placed under /tools/atlasc, and is a development tool - a texture packer.

Name Version License
glad OpenGL 1.3 / OpenGL ES 1.0 MIT
glm 0.9.9 Happy Bunny / MIT
log.c Unversioned MIT
stbimage 2.19 MIT
atlasc 3.1 BSD 2-Clause
cjson 1.7.12 MIT
entt 3.5.2 MIT

In some cases, custom changes were applied to either CMake files or other sources to make them compile and link under PSP's standard C library which utilizes newlib as a libc implementation. In consequence of using non-GNU libc, PSP's C++ standard library is stripped of some symbols, i.e std::to_string.

For this compatibility reason, I could not use most of C++ 14 libraries and fell back to using plain C libs, i.e using cjson instead of nlohmann/json.

Platform-specific

The only external dependency so far is SDL.

SDL 1.2.15 / SDL_mixer 1.2 on PSP/Linux/Windows, SDL 2.0.14 on Android.

Why SDL 1.2.15 instead of SDL2.x.x? At the time I started working on the Spelunky PSP, the PSP toolchain shipped only this version, and I was happy to use it as it is still better than to directly access platform-specific libraries.

As using legacy SDL set a precedent, I decided to utilize it on every other platform, yet this is not obligatory and I am planning to move on to SDL2 at least on generic Linux/Windows platforms.

Android does not utilize any version of SDL_mixer as for technical reasons audio module is right now disabled for Android. I had difficulties cross-compiling SDL_mixer using included Android.mk file, and choose to postpone it as Android support isn't of high priority.

Recognitions

SDL2 Android Activity wrapper by suikki