All Projects → AxioDL → Urde

AxioDL / Urde

Licence: other
Data interchange and engine re-implementation for games by Retro Studios | Mirror

Projects that are alternatives of or similar to Urde

Openrct2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
Stars: ✭ 10,115 (+3898.02%)
Mutual labels:  game, opengl, xcode, visual-studio
Bgfx
Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
Stars: ✭ 10,252 (+3952.17%)
Mutual labels:  opengl, vulkan, metal
Shaderconductor
ShaderConductor is a tool designed for cross-compiling HLSL to other shading languages
Stars: ✭ 1,146 (+352.96%)
Mutual labels:  opengl, vulkan, metal
Veldrid
A low-level, portable graphics library for .NET.
Stars: ✭ 1,784 (+605.14%)
Mutual labels:  opengl, vulkan, metal
Gfx
[maintenance mode] A low-overhead Vulkan-like GPU API for Rust.
Stars: ✭ 5,045 (+1894.07%)
Mutual labels:  opengl, vulkan, metal
Bulllord Engine
lightspeed lightweight elegant game engine in pure c
Stars: ✭ 539 (+113.04%)
Mutual labels:  opengl, vulkan, metal
Crossshader
⚔️ A tool for cross compiling shaders. Convert between GLSL, HLSL, Metal Shader Language, or older versions of GLSL.
Stars: ✭ 113 (-55.34%)
Mutual labels:  opengl, vulkan, metal
Fna3d
FNA3D - 3D Graphics Library for FNA
Stars: ✭ 111 (-56.13%)
Mutual labels:  opengl, vulkan, metal
Filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
Stars: ✭ 13,215 (+5123.32%)
Mutual labels:  opengl, vulkan, metal
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+1373.52%)
Mutual labels:  game, opengl, vulkan
Ouzel
C++ game engine for Windows, macOS, Linux, iOS, tvOS, Android, and web browsers
Stars: ✭ 607 (+139.92%)
Mutual labels:  game, opengl, metal
Pmtech
Lightweight, multi-platform, data-oriented game engine.
Stars: ✭ 478 (+88.93%)
Mutual labels:  opengl, vulkan, metal
Rust Skia
Safe Skia Bindings for Rust
Stars: ✭ 450 (+77.87%)
Mutual labels:  opengl, vulkan, metal
Llgl
Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs OpenGL, Direct3D, Vulkan, and Metal
Stars: ✭ 1,011 (+299.6%)
Mutual labels:  opengl, vulkan, metal
Fiber2d
Cross-platform 2D Game Engine in pure Swift
Stars: ✭ 415 (+64.03%)
Mutual labels:  opengl, vulkan, metal
Herebedragons
A basic 3D scene implemented with various engines, frameworks or APIs.
Stars: ✭ 1,616 (+538.74%)
Mutual labels:  opengl, blender, metal
Pharaohstroy
A maplestory IDE which can develop the multi-platform maplestory game
Stars: ✭ 69 (-72.73%)
Mutual labels:  game, opengl, editor
Wolf.engine
The Wolf is a comprehensive set of C/C++ open source libraries for realtime rendering, realtime streaming and game developing
Stars: ✭ 230 (-9.09%)
Mutual labels:  game, vulkan, metal
wgpu-py
Next generation GPU API for Python
Stars: ✭ 210 (-17%)
Mutual labels:  metal, vulkan
Mg
C# Vulkan interface/polyfill for WINDOWS and MacOS
Stars: ✭ 19 (-92.49%)
Mutual labels:  metal, vulkan

URDE

Status: Metroid Prime 1 In-Game (all retail GC & Wii versions)

Official Discord Channel: https://discord.gg/AMBVFuf

URDE screenshot

Download

Precompiled builds of the command-line extraction utility (hecl) with embedded dataspec libraries are available at https://releases.axiodl.com. This will give you intermediate dumps of original formats as blender and yaml representations.

Everything else is much too experimental to make portable/stable release builds (for now)

Platform Support

  • Windows 10 (64-bit, D3D11 / Vulkan)
  • macOS 10.15+ (Metal)
  • Linux (Vulkan)
    • Follow this guide to set up Vulkan & appropriate drivers for your distro.

Usage (GC versions)

  • Extract ISO: hecl extract [path].iso -o mp1
    • mp1 can be substituted with the directory name of your choice
  • Repackage game for URDE: cd mp1; hecl package
  • Run URDE: urde mp1/out

Usage (Wii versions)

NFS files dumped from Metroid Prime Trilogy on Wii U VC can be used directly without converting to ISO.

  • Extract ISO or NFS: hecl extract [path].[iso/nfs] -o mpt
    • mpt can be substituted with the directory name of your choice
  • Repackage game for URDE: cd mpt; hecl package MP1
    • The MP1 parameter is important here.
  • Run URDE: urde mpt/out

URDE options (non-exhaustive)

  • -l: Enable console logging
  • --warp [worldid] [areaid]: Warp to a specific world/area. Example: --warp 2 2
  • +developer=1: Enable developer console

Build Prerequisites:

  • CMake 3.13+
    • Windows: Install CMake Tools in Visual Studio
    • macOS: brew install cmake
  • Python 3+
  • LLVM development package (headers and libs)
  • [Windows] Visual Studio 2019 Community
    • Select C++ Development and verify the following packages are included:
      • Windows 10 SDK
      • CMake Tools
      • C++ Clang Compiler
      • C++ Clang-cl
  • [macOS] Xcode 11.5+
  • [Linux] recent development packages of udev, x11, xcb, xinput, glx, asound
    • Ubuntu 20.04+ packages
      build-essential curl git ninja-build llvm-dev libclang-dev clang lld zlib1g-dev
      libglu1-mesa-dev libdbus-1-dev libvulkan-dev libxi-dev libxrandr-dev libasound2-dev libpulse-dev
      libudev-dev libpng-dev libncurses5-dev cmake libx11-xcb-dev python3 python-is-python3 qt5-default
      

Prep Directions

git clone --recursive https://github.com/AxioDL/urde.git
mkdir urde-build
cd urde-build

Update Directions

cd urde
git pull
git submodule update --recursive

Build Directions

For Windows, it's recommended to use Visual Studio. See below.

ninja (Windows/macOS/Linux)

cd urde-build
cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ../urde
ninja

CMake options

  • Build release optimized (better runtime performance): -DCMAKE_BUILD_TYPE=Release
  • Use clang+lld (faster linking): -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
  • Optimize for current CPU (resulting binaries are not portable): -DURDE_VECTOR_ISA=native

CLion (Windows/macOS/Linux)

(main development / debugging IDE)

Open the repository's CMakeLists.txt.

Optionally configure CMake options via File > Settings > Build, Execution, Deployment > CMake.

Qt Creator (Windows/macOS/Linux)

Open the repository's CMakeLists.txt via File > Open File or Project.

Configure the desired CMake targets to build in the Projects area of the IDE.

Visual Studio (Windows)

Verify all required VS packages are installed from the above Build Prerequisites section.

Open the urde directory in Visual Studio (imports CMake configuration).

MSVC and clang-cl configurations should import automatically.

Xcode (macOS)

cmake -G Xcode ../urde

Then open urde.xcodeproj

Optional Debug Models

We provide custom debug models for use to visualize certain aspects of the game such as lighting, in order to use these models you may download them from https://axiodl.com/files/debug_models.zip and extract to MP1/URDE in an existing HECL project (assuming paths are relative), then run the the following command:

hecl package MP1/URDE

This will cook and package the debug models and will automatically enable rendering of lights in a debug build of URDE.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].