Lioncache 04f73a9687 Externals: Update LibCommon
Fixes a bug in string splitting that broke the texture selection dialogs
in the model editor. They should now populate properly and let you
change textures if you want to do a little modding or something of the
sort.

It also exposed a bug where we had a stack overflow case
that was never hit until now. IsValidDirectoryPath() was intended to be
calling IsValidDirectoryName() on the consitituent parts of the path,
but was calling into itself. The only reason this was never hit in
practice is because the bugged Split() function would keep discarding
the end character in the strings recursively over the course of
execution until the strings were completely empty (oof!).

It also turns out that the handler for the indirect texture handling was
never hooked up to a slot in the model window. So, not only could the
model never have it's indirect texture changed, but would never render
it either, since the respective material would never be set.

We essentially smoked 3 bugs with a one-liner at the same time.
2025-12-08 18:46:24 -05:00
2019-11-24 18:05:11 -10:00
2020-03-30 21:09:13 -10:00
2025-12-08 18:46:24 -05:00
2021-08-06 18:53:37 -04:00
2025-12-08 18:46:24 -05:00
2023-02-22 01:37:51 +02:00
2019-11-16 15:24:46 -10:00
2021-05-12 14:55:55 -04:00
2019-08-16 21:00:15 +02:00
2025-11-29 19:54:35 -05:00
2019-11-29 12:35:54 -10:00
2021-03-26 17:39:35 -04:00
2025-11-29 19:54:35 -05:00

Prime World Editor

Prime World Editor is a custom editor suite for Retro Studios' GameCube and Wii games, including the Metroid Prime series and Donkey Kong Country Returns.

Clone Submodules First!

Builders on all platforms should ensure submodules are up to date with the current PrimeWorldEditor by running git submodule update --init --recursive.

Building on Windows

Requirements

64-bit Note: Except for Visual Studio and the Qt installer, ensure 64-bit (x86-64, x64) packages are installed.

Build using Qt Creator

Compiler Note: Before starting, it is wise to select the 64-bit compiler by opening Tools > Kits > Kits tab. The C and C++ compilers should be set to Visual Studio Community 2022 (amd64).

CMake Note: At the time of writing, Qt Creator will search for a user-installed CMake but this is not necessary. The CMake that comes with Visual Studio may be manually selected by opening Tools > Kits > CMake tab, then adding a manual CMake with the path: C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\cmake.exe.

Debugger Note: To use Qt Creator for debugging, Debugging Tools for Windows must be installed from the Windows SDK package. Once installed, the Qt Creator kit should automatically detect CDB. Make sure the x64 version is selected.

  1. File > Open File or Project
  2. Select CMakeLists.txt at root of cloned PrimeWorldEditor
  3. Select desired build configurations within the Desktop Qt Kit. It is generally fine to just check Debug and Release.
  4. Click Configure Project
  5. Wait for dependencies to build and CMake project to generate (this may take a while).
  6. Edit/Build/Debug/Run

Build using Visual Studio

Qt Note: It may be necessary to edit both CMAKE_PREFIX_PATH entries in the CMakeSettings.json file. They should be set to C:/Qt/<QT VERSION>/msvc2022_64/lib/cmake/Qt6.

  1. File > Open > CMake
  2. Select CMakeLists.txt at root of cloned PrimeWorldEditor
  3. Wait for dependencies to build and CMake project to generate (this may take a while).
  4. Edit/Build/Debug/Run

Build using Command Line

  1. Launch x64 Native Tools Command Prompt for VS 2022
  2. cd <PATH TO PrimeWorldEditor ROOT>
  3. mkdir build
  4. cd build
  5. cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=C:/Qt/<QT VERSION>/msvc2022_64/lib/cmake/Qt6 ..
  6. ninja
  7. PrimeWorldEditor.exe is found in the build/bin directory.

Building on macOS

Requirements

Build using Xcode

  1. cd <PATH TO PrimeWorldEditor ROOT>
  2. mkdir build
  3. cd build
  4. cmake -G Xcode -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/Qt/<QT VERSION>/clang_64/lib/cmake/Qt6 ..
  5. Open PrimeWorldEditor.xcodeproj
  6. Edit/Build/Debug/Run

Build using Command Line

  1. cd <PATH TO PrimeWorldEditor ROOT>
  2. mkdir build
  3. cd build
  4. cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/Qt/<QT VERSION>/clang_64/lib/cmake/Qt6 ..
  5. ninja
  6. PrimeWorldEditor.app is found in the build/bin directory.

Building on Linux

Requirements

  • A working compiler toolchain (GCC or Clang)
  • cmake, ninja, python3, qt6 (dev), clang (dev) packages

Build using Command Line

  1. cd <PATH TO PrimeWorldEditor ROOT>
  2. mkdir build
  3. cd build
  4. cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
  5. ninja
  6. PrimeWorldEditor is found in the build/bin directory.
Description
Modding tools and editor suite for the Metroid Prime series
Readme MIT 105 MiB
Languages
C++ 60%
C 39.1%
CMake 0.6%
GLSL 0.1%