This finishes out the basic structure needed to read all the
different file formats involved in models in scenegraph. While
we don't support animations/bones yet, all the pieces to go from
a RES file to having it be rendered in unity with materials is
now structured out.
Almost all the fields in the internal Scenegraph datastructures
have been reverse engineered, so this codebase is likely now the
best resource when it comes to parsing Scenegraph files.
These are the files that assosciate the neighborhood GUIDs to the
models. This also adds a class to handle cGZPropertySetString
files since we will likely need to parse those more in the future.
We had a case where loading textures of sizes like 32x16 could lead
to one of the dimensions width becoming 0 in the mip-loading loop.
Fix this by making sure the resolution is at least 1.
This does not yet convert the material definitions to unity
materials. That will be done in a follow up as there are a
bunch of different properties that will need to be handled.
This only loads the last 2 sections of a GMDC file, where the
bounding meshes are stored as these are the simplest to import.
This lays out the basic framework for GMDC loading and adds a
little test file in the form of the utah teapot so we have a
copyright free asset to test against.
This adds the ability for ScenegraphTextureAsset to start pulling in
data from these LIFO blocks for larger images. ScenegraphTextureAsset
calls the provided ContentProvider to resolve the LIFO asset and then
uses the loaded data.
This adds a few CC0 textures to the TestAssets folder to help test
the one format unity can't load natively, DXT3. Aside from that,
this is the first Scenegraph-codec and doesn't handle loading the
cLevelInfo/LIFO files that contain higher resolution textures.