A mod manager and level editor for Crash NST and CTR:NF (WIP)
This project is a continuation of my earlier modding tool/proof of concept The Apprentice which was a first attempt at understanding how the game works and how it could be modded.
This new iteration is built on an entirely new C# codebase designed to support advanced level editing, with a focus on performance and stability.
Moreover, custom levels created with this tool won't interfere with the original game files (unless explicitely choosing to overwrite them).
- Create, edit and play custom levels
- Import game objects from any level
- Manage and create mods
- Full access to the game assets
- Advanced tools for exploring and editing game files
- General discussion (The Warp Room): https://thewarproom.com/showthread.php?tid=270
- Development/Help (Discord): Skylanders Reverse Engineering (#nst-level-editor)
- Level Editor documentation: README_Level_Editor.md
- C2 Carnage Modpack by SpeedLan (Nexus Mods)
- "Toxic Machinery" by AlfyGame (Youtube)
- "Alpine Splash" by Camo (Nexus Mods)
- "Midnight Cat Crisis" by Jzrlza (Youtube)
- "Custom Gee Wiz" by Carmelo16 (Youtube)
- You must own an original copy of Crash Bandicoot NST PC (installed via Steam or Game Pass)
- If your game is already modded it is recommended to reinstall it before using this tool
You can download the prebuilt windows-x64 executable from the Releases page.
Disclaimer: Some antivirus software may report false positives for the prebuilt executable. This tool operates entirely offline and does not access the network.
Alternatively, you can build the application locally from the source code:
git clone https://github.com/kishimisu/Crash-NST-Level-Editor.git nst
cd nst
dotnet run
In order to build the application locally, Microsoft .NET SDK 9.0 needs to be present on your computer.
Open the Level Editor documentation
Create, edit and play levels:
- New Level: Create a new level from scratch or based on an existing level
- Open Level Editor: Open an existing level using the level editor
- Play Custom Level: Select an existing level and launch the game with that level
Open the Archive Editor documentation
Create and edit archives or mods:
- New Mod: Creates a new empty archive
- Open Archive: Opens an archive/mod from the file explorer
Manage and apply mods to the game, or revert it to its original state:
- Add mod(s): Adds one or more mods from the file explorer
- Apply mods: Applies the selected mods to the game
- Unmod game: Reverts the game to its original state
- Launch game: Launches the game at the selected level (the dropdown includes the main menu, bosses and debug levels)
// Open archive
IgArchive archive = IgArchive.Open(archiveDir + "L101_NSanityBeach.pak");
// Find archive file
IgArchiveFile file = archive.FindFile("L101_NSanityBeach_Crates.igz", FileSearchType.NameWithExtension)!;
// Convert to igz file
IgzFile igz = file.ToIgzFile();
// List objects of type CEntity
List<CEntity> entities = igz.FindObjects<CEntity>();
// Move all entities up
entities.ForEach(entity => entity._parentSpacePosition._z += 100.0f);
// Save igz file in archive
file.SetData(igz.Save());
// Save updated archive to disk
archive.Save();src/
│
├── Alchemy/ # Alchemy-related classes
│ ├── IgArchive/ # .pak files
│ ├── IgzFile/ # .igz files
│ ├── igObject/ # Alchemy objects
│
├── Havok/ # Havok-related classes
│ ├── HavokFile/ # .hkx files
│ ├── hkObject/ # Havok objects
│
├── Editor/ # Editor application
│
├── Utils/ # Common utilities
│
├── Program.cs # Entry point


