2016-03-05 00:08:46 +00:00
## URDE
2020-06-26 00:57:21 +00:00
**Status:** Metroid Prime 1 In-Game (all retail GC versions)
2019-08-23 01:42:47 +00:00
2019-08-24 21:32:59 +00:00
**Official Discord Channel:** https://discord.gg/AMBVFuf
2016-12-22 01:42:10 +00:00
2020-04-14 20:14:02 +00:00
![URDE screenshot ](assets/urde-screen1.png )
2016-01-05 19:17:34 +00:00
### Download
2020-04-11 07:45:45 +00:00
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.
2016-03-08 08:23:22 +00:00
Everything else is much too experimental to make portable/stable release builds (for now)
2016-01-05 19:17:34 +00:00
2015-09-12 21:47:31 +00:00
### Platform Support
2020-06-26 00:57:21 +00:00
* Windows 10 (64-bit, D3D11 / Vulkan)
* macOS 10.15+ (Metal)
* Linux (Vulkan)
2016-03-08 08:08:52 +00:00
* Arch is known to function with [`glx` vendor setup instructions ](https://wiki.archlinux.org/index.php/Category:Graphics ) *(main development/testing OS)*
2020-06-26 00:57:21 +00:00
* Other distros with reasonably up-to-date packages will work (specific packages TBD)
2020-02-22 06:47:49 +00:00
### Usage
2020-04-11 07:45:45 +00:00
* 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`
2020-02-22 06:47:49 +00:00
#### 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
2015-10-12 00:04:11 +00:00
### Build Prerequisites:
2019-06-21 06:02:56 +00:00
* [CMake 3.13+ ](https://cmake.org )
2020-05-24 16:03:33 +00:00
* Windows: Install `CMake Tools` in Visual Studio
* macOS: `brew install cmake`
2015-10-12 00:04:11 +00:00
* [Python 3+ ](https://python.org )
2020-05-24 16:03:33 +00:00
* Windows: [Microsoft Store ](https://go.microsoft.com/fwlink?linkID=2082640 )
* Verify it's added to `%PATH%` by typing `python` in `cmd` .
* macOS: `brew install python@3`
2016-03-12 00:50:32 +00:00
* LLVM development package *(headers and libs)*
2020-06-26 00:17:25 +00:00
* [Specialized Windows Package ](https://axiodl.com/files/LLVM-9.0.1-win64-lld.exe )
2020-05-24 16:03:33 +00:00
* macOS: `brew install --force-bottle llvm`
2020-04-11 07:45:45 +00:00
* **[Windows]** [Visual Studio 2019 Community ](https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx )
2020-02-22 06:47:49 +00:00
* Select `C++ Development` and verify the following packages are included:
* `Windows 10 SDK`
* `CMake Tools`
* `C++ Clang Compiler`
* `C++ Clang-cl`
2020-05-24 16:03:33 +00:00
* **[macOS]** [Xcode 1.15+ ](https://developer.apple.com/xcode/download/ )
2017-11-14 03:36:36 +00:00
* **[Linux]** recent development packages of `udev` , `x11` , `xcb` , `xinput` , `glx` , `asound`
2016-03-05 04:48:14 +00:00
2016-03-13 07:13:47 +00:00
### Prep Directions
2016-03-05 04:48:14 +00:00
```sh
2020-04-11 07:45:45 +00:00
git clone --recursive https://github.com/AxioDL/urde.git
2016-03-05 04:48:14 +00:00
mkdir urde-build
2016-08-22 04:13:38 +00:00
cd urde-build
2016-03-13 07:13:47 +00:00
```
2020-06-26 00:57:21 +00:00
### Update Directions
```sh
cd urde
git pull
git submodule update --recursive
```
2020-02-22 06:47:49 +00:00
### Build Directions
2016-03-13 07:13:47 +00:00
2020-06-26 00:57:21 +00:00
For Windows, it's recommended to use Visual Studio. See below.
#### ninja (Windows/macOS/Linux)
2016-03-13 07:13:47 +00:00
```sh
2020-06-26 00:57:21 +00:00
cd urde-build
2020-02-22 06:47:49 +00:00
cmake -DCMAKE_BUILD_TYPE=Debug -G Ninja ../urde
ninja
2016-03-05 04:48:14 +00:00
```
2020-02-22 06:47:49 +00:00
#### CMake options
2019-12-01 04:37:47 +00:00
- Build release optimized (better runtime performance): `-DCMAKE_BUILD_TYPE=Release`
2020-04-11 07:45:45 +00:00
- Use clang+lld (faster linking): `-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++`
2019-12-01 04:37:47 +00:00
- Optimize for current CPU (resulting binaries are not portable): `-DURDE_VECTOR_ISA=native`
2020-06-26 00:57:21 +00:00
#### CLion (Windows/macOS/Linux)
2016-03-27 06:41:02 +00:00
*(main development / debugging IDE)*
2016-03-13 07:13:47 +00:00
2020-02-22 06:47:49 +00:00
Open the repository's `CMakeLists.txt` .
2020-06-26 00:57:21 +00:00
Optionally configure CMake options via `File` > `Settings` > `Build, Execution, Deployment` > `CMake` .
2020-02-22 06:47:49 +00:00
2020-06-26 00:57:21 +00:00
#### Qt Creator (Windows/macOS/Linux)
2020-02-22 06:47:49 +00:00
2016-03-13 07:19:12 +00:00
Open the repository's `CMakeLists.txt` via File > Open File or Project.
2016-03-13 07:13:47 +00:00
Configure the desired CMake targets to build in the *Projects* area of the IDE.
2020-06-26 00:57:21 +00:00
#### Visual Studio (Windows)
2016-03-05 04:48:14 +00:00
2020-02-22 06:47:49 +00:00
Verify all required VS packages are installed from the above **Build Prerequisites** section.
2020-06-26 00:57:21 +00:00
Open the `urde` directory in Visual Studio (imports CMake configuration).
2016-03-05 05:11:00 +00:00
2020-06-26 00:57:21 +00:00
MSVC and clang-cl configurations should import automatically.
2016-03-05 05:11:00 +00:00
2020-06-26 00:57:21 +00:00
#### Xcode (macOS)
2016-03-05 05:11:00 +00:00
```sh
2020-06-26 00:57:21 +00:00
cmake -G Xcode ../urde
2016-03-05 05:11:00 +00:00
```
Then open `urde.xcodeproj`