Data interchange, editor suite, and runtime re-implementations for games by Retro Studios
Go to file
Lioncash 34eb507a9d CFactoryMgr: std::move function instances in AddFactory()
std::function is allowed to allocate on the heap, so this potentially
prevents unnecessary allocations.

We can also use insert_or_assign() to prevent unnecessary default
initialization of std::function that immediately get overridden.
2020-03-09 12:04:51 -04:00
.idea Explicit Asset ID refactor 2019-09-30 21:38:03 -10:00
DataSpec Correct ITweakPlayerRes offset 2020-03-01 16:56:38 -08:00
Editor RuntimeCommon: Normalize cpp inclusions 2020-01-15 09:15:47 -05:00
NESEmulator Merge branch 'master' of ssh://git.axiodl.com:6431/AxioDL/urde 2019-07-19 18:29:06 -10:00
Runtime CFactoryMgr: std::move function instances in AddFactory() 2020-03-09 12:04:51 -04:00
Shaders Windows build fixes 2019-07-27 15:21:31 -10:00
amuse@b14b091f70 Update amuse 2020-01-17 20:04:44 -05:00
assetnameparser Massive fmtlib refactor 2019-07-19 18:27:21 -10:00
discord-rpc@e6390c8c41 New code style refactor 2018-12-07 19:30:43 -10:00
gbalink gbalink: Amend code to compile with jbus changes 2019-09-04 01:56:04 -04:00
gmm Numerous uninitialized memory fixes 2019-04-06 19:14:48 -10:00
hecl@db10f0c2ca Update hecl (again) 2020-03-04 02:41:15 -05:00
hecl-gui@db38d19ac3 Update hecl/hecl-gui to check Blender 2.81+ 2019-12-22 18:41:42 -05:00
jbus@d72163ad27 Explicit Asset ID refactor 2019-09-30 21:38:03 -10:00
kabufuda@35e5c7c90f Explicit Asset ID refactor 2019-09-30 21:38:03 -10:00
lldb-extras CPuddleToadGamma and animation system fixes 2019-06-20 20:02:56 -10:00
mpcksum CActorContraption fixes, better CMake dependency handling 2019-06-11 16:05:17 -10:00
nod@f147e12356 Update nod 2020-01-17 20:09:05 -05:00
rapidjson@66eb6067b1 New code style refactor 2018-12-07 19:30:43 -10:00
sanitizers-cmake@6947cff3a9 Bug fixes and ASan build submodule 2017-12-11 16:06:19 -10:00
specter@27eb476b05 Update submodules 2020-03-04 17:33:51 -08:00
visigen Fix VISIGen ppid from argv 2019-11-20 00:50:56 -05:00
.appveyor.yml Update appveyor configuration & README.md 2020-02-21 17:01:46 -05:00
.clang-format New code style refactor 2018-12-07 19:30:43 -10:00
.gitignore Windows fixes 2018-10-14 10:16:21 -10:00
.gitlab-ci.yml Update file download locations 2019-07-12 01:06:23 -07:00
.gitmodules Update file download locations 2019-07-12 01:06:23 -07:00
CMakeLists.txt MSVC compile fixes. 2020-02-16 00:10:08 -08:00
Doxyfile Minor fixes and cleanup 2019-08-03 17:02:53 -07:00
GMM-LICENSE DCLN cooking and various bug fixes 2017-10-16 19:51:53 -10:00
LICENSE Update copyright date 2018-01-02 14:25:48 -10:00
README.md README.md: Add usage, options, CMake+ninja, VS packages, CLion 2020-02-22 01:47:49 -05:00
README.msan.md Typo fix 2019-04-06 19:49:21 -10:00
version.h.in Update splash screen 2015-12-13 11:01:32 -10:00

README.md

URDE

Status: In-Game with 0-00 (v1.088) only

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

Download

Precompiled builds of the command-line extraction utility (hecl) with embedded dataspec libraries are available at https://github.com/AxioDL/urde/releases. 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 7+ (64-bit support only)
  • macOS 10.11+
  • Linux
    • Arch is known to function with glx vendor setup instructions (main development/testing OS)
    • [WIP] Vulkan loader detection is also integrated into the cmake for Linux
  • [Coming Soon] FreeBSD
    • Much multimedia functionality is in place, but not fully tested

Usage

  • Extract ISO: hecl extract [path].iso
  • Repackage game for URDE: cd [extracted dir]; hecl package
  • Run URDE: urde [path to hecl dir]/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:

Prep Directions

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

Build Directions

ninja

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=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++
  • Optimize for current CPU (resulting binaries are not portable): -DURDE_VECTOR_ISA=native

CLion

(main development / debugging IDE)

Open the repository's CMakeLists.txt.

Configure CMake options via File > Settings > Build, Execution, Deployment > CMake.

It's recommended to create a new Toolchain with clang/clang++ and configure the CMake profiles to use it.

Qt Creator

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.

Build / Debug / Run on Windows, macOS and Linux in a unified way.

Visual Studio

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

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

Follow these instructions to use clang-cl. The build will not work with the normal VS compiler!

Xcode

cmake -G Xcode -DCMAKE_BUILD_TYPE=Debug -DLLVM_ROOT_DIR=<path-to-llvm-dev-package> ../urde

Then open urde.xcodeproj