Kenix3 / libultraship

Porting games to the PC
MIT License
129 stars 81 forks source link

libultraship

libultraship (LUS) is a library meant to provide reimplementations of libultra (n64 sdk) functions that run on modern hardware.

LUS uses an asset loading system where data is stored separately from the executable in an archive file ending in .otr, which is an .mpq compatible file. This separation the data from the executable follows modern design practices and that it is more mod friendly. All one needs to do is supply a patch .otr and the system will automatically replace the data.

Contributing

LUS accepts any and all contributions. You can interact with the project via PRs, issues, email (kenixwhisperwind@gmail.com), or Discord. Please see CONTRIBUTING.md file for more information.

Versioning

We use semantic versioning. We have defined the API as: every C linkage function, variable, struct, class, public class method, or enum included from libultraship.h.

Building on Linux/Mac

cmake -H. -Bbuild
cmake --build build

Generating a Visual Studio .sln on Windows

# Visual Studio 2022
& 'C:\Program Files\CMake\bin\cmake' -DUSE_AUTO_VCPKG=true -S . -B "build/x64" -G "Visual Studio 17 2022" -T v142 -A x64
# Visual Studio 2019
& 'C:\Program Files\CMake\bin\cmake' -DUSE_AUTO_VCPKG=true -S . -B "build/x64" -G "Visual Studio 16 2019" -T v142 -A x64

To build on Windows

& 'C:\Program Files\CMake\bin\cmake' --build .\build\x64

Sponsors

Thankyou to JetBrains for providing their IDE CLion to me for free!

License

LUS is licensed under the MIT license.

LUS makes use of the following third party libraries and resources: