Giter Club home page Giter Club logo

libultraship's Introduction

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 ([email protected]), 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:

  • Fast3D (MIT) render display lists.
  • ImGui (MIT) display UI.
  • StormLib (MIT) create and read .mpq compatible archive files.
  • StrHash64 (MIT, zlib, BSD-3-Clause) provide crc64 implementation.
  • ZAPD (MIT) asset utilities.
  • dr_libs (MIT-0) mp3 and wav file conversion.
  • metal-cpp (Apache 2.0) interface to the Apple Metal rendering backend.
  • nlohmann-json (MIT) json parsing and saving.
  • spdlog (MIT) logging
  • stb (MIT) image conversion
  • thread-pool (MIT) thread pool for the resource manager
  • tinyxml2 (zlib) parse XML files for resource loaders
  • zlib (zlib) compression used in StormLib
  • bzip2 (bzip2) compression used in StormLib
  • sdl2 (zlib) window manager, controllers, and audio player
  • glew (modified BSD-3-Clause and MIT) OpenGL extension loading library.

libultraship's People

Contributors

kenix3 avatar nestelami avatar briaguya-ai avatar kiritodv avatar dcvz avatar archez avatar louist103 avatar emill avatar leggettc18 avatar spodi avatar rozelette avatar garyodernichts avatar garrettjoecox avatar sirius902 avatar amannus avatar baoulettes avatar jbodner09 avatar melonspeedruns avatar lildavid avatar greatargorath avatar vanfanel avatar sheepytina avatar vaguerant avatar aloxado320 avatar random06457 avatar malkierian avatar alto1772 avatar stratomaster64 avatar th-2021 avatar qurious-pixel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.