mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2026-05-31 13:11:07 +00:00
When generating multiple actors, if two or more data nodes share the same name, the generated actors can reference the wrong nodes in their display lists/geo layouts. This results in: - The wrong nodes compiled into binary files - Intermediate layouts generated as actors since nothing is referencing them anymore, treating them as root geo layouts The simplest fix was to first check for the model identifier (renamed to `mDataIdentifier`, since it's no longer related to models) when looking for nodes, to ensure it picks the right node, even if multiple nodes share the same name.
20 lines
374 B
C++
20 lines
374 B
C++
#include "dynos.cpp.h"
|
|
|
|
/////////////
|
|
// Parsing //
|
|
/////////////
|
|
|
|
/////////////
|
|
// Writing //
|
|
/////////////
|
|
|
|
/////////////
|
|
// Reading //
|
|
/////////////
|
|
|
|
// For retro-compatibility
|
|
void DynOS_GfxDynCmd_Load(BinFile *aFile, UNUSED GfxData *aGfxData) {
|
|
UNUSED String _DisplayListName; _DisplayListName.Read(aFile);
|
|
aFile->Read<u32>();
|
|
aFile->Read<u8>();
|
|
}
|