[SM64] Add SM64 C Geo Layout & Level Importer#198
[SM64] Add SM64 C Geo Layout & Level Importer#198jesusyoshi54 wants to merge 28 commits intoFast-64:mainfrom
Conversation
…ng. moved c pre parsing and data aggregation functions to a utility file, general cleanup and annotations added
…m imports to imported rig, switch options also import correctly. Cleaned up code more and improved object geo layout transforms as well
…d ifdef parsing bug, added additional cases for geo and material parsing and made script parsing more accurate when jumping. fixed initial transform of geo objects
|
Tested this on both blender 4.2 and 4.1 Only BoB seems to import without errors (though the UVs are broken), TTC throws a bunch of errors and it imports only the collision. Everything else errors out and either nothing gets imported or only the actors get imported. Inside Castle which is what I'm trying to import doesn't work at all. |
…fined enums in hacker64
|
Python: Traceback (most recent call last): |
|
yeah I'm aware armatures don't work currently. this is still WIP |
…, better annotations
…or linked actors with missing geos
|
@jesusyoshi54 not sure if you're still working on this, but I tried to import Castle Grounds (from a HackerSM64 3.0 repo in order to avoid macro objects) and it didn't work at all: I'm on blender 4.5.4 |
|
Importing from ultrasm64 does work though |
…ents, fixed linked objects importing w/ level
…ort, bugfix for armature imports
… parsing, fixed certain vanilla level oddities
…en using Lights_t or other structs, fixed texture imports when DLs use numbers instead of macros, fixed default color combiner not being shaded solid, fixed texture set being from for base f3d mode, fixed some var names that caused errors, started working on binary and byte stream texture IO
…LC_DXT in load blocks, added texture importing from string arrays in model files
This code adds a fully functional geo layout, and level importer for sm64 decomp code.
All models imported with the operators provided have close to 100% material accuracy (some odd modes are still not supported), and the geo layouts should also be fully imported.
This code can import full level models with objects, collision and graphics all in the correct hierarchy, or each one individually. It can also import actor geo layouts or level object geo layouts.
Currently the code needs further integration into the SM64 codebase, as it currently exists in a rather stand alone manner.