A powerful and modern C#/.NET 8 levels viewer for Super Mario 64 Decompilation projects. This tool allows you to visualize levels, collision data, and object placement (including macro and special objects) directly from your decomp repository.
- 3D Level Rendering: High-performance visualization of level geometry using OpenTK.
- Collision Mesh Support: Parse and view
collision.inc.cdata with vertex and triangle counts. - Full Object Support:
- Standard Objects: Parsed from level scripts (
script.c). - Macro Objects: Automatic parsing of
macro.inc.cand preset resolution. - Special Objects: Extraction of trees, signs, and other modular pieces directly from collision data.
- Standard Objects: Parsed from level scripts (
- Dynamic Project Selection: 100% portable. Select any SM64 decomp root folder and the viewer handles the rest.
- Advanced Parsing: Intelligent regex-based parsers that handle C-style comments, variable whitespace, and complex macro formats (
OBJECT_WITH_ACTS,MARIO_POS, etc.). - Modern UI: Clean WPF-based interface with glassmorphism aesthetics and dark mode support.
- .NET 8.0 SDK
- A Super Mario 64 Decompilation repository.
- Clone the repository:
git clone https://github.com/User/Sm64DecompLevelViewer.git
- Build and run the project using Visual Studio or the .NET CLI:
dotnet run
- Click on "Select SM64 Project Folder" and navigate to your SM64 decomp root.
- Select a level from the list on the left to view its details.
- Click "View 3D" to launch the interactive viewer.
- WASD: Move camera
- QE: Ascend/Descend
- Mouse: Rotate camera
- Left Click: Select objects for detailed information
- C# / .NET 8
- WPF (Windows Presentation Foundation)
- OpenTK (OpenGL bindings)
- YamlDotNet (Level metadata parsing)
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue.
This project is licensed under the MIT License - see the LICENSE file for details.
- Some levels like Inside Castle has no visual at all.
- Sometimes the GUI doesn't close.
- 3D Viewer has some screen bugs sometimes
- Some things might be unfinished.
