Force Movtexs into compiled DynOS lvls
This commit is contained in:
parent
8646b50ae5
commit
d5770f1b55
|
@ -2005,6 +2005,14 @@ static bool DynOS_Lvl_GeneratePack_Internal(const SysPath &aPackFolder, Array<Pa
|
|||
PrintNoNewLine("%s.lvl: Model identifier: %X - Processing... ", _LvlRootName.begin(), _GfxData->mModelIdentifier);
|
||||
DynOS_Lvl_Parse(_GfxData, _LvlRoot, true);
|
||||
|
||||
// Force all of the movtexs into the compiled lvl
|
||||
for (auto &_MovtexNode : _GfxData->mMovtexs) {
|
||||
DynOS_Movtex_Parse(_GfxData, _MovtexNode, false);
|
||||
}
|
||||
for (auto &_MovtexQCNode : _GfxData->mMovtexQCs) {
|
||||
DynOS_MovtexQC_Parse(_GfxData, _MovtexQCNode);
|
||||
}
|
||||
|
||||
// Write if no error
|
||||
if (_GfxData->mErrorCount == 0) {
|
||||
DynOS_Lvl_WriteBinary(_LvlFilename, _GfxData);
|
||||
|
|
|
@ -132,6 +132,15 @@ static void ParseMovtexSymbol(GfxData* aGfxData, DataNode<Movtex>* aNode, Movtex
|
|||
movtex_symbol_0(MOV_TEX_END);
|
||||
movtex_symbol_0(MOV_TEX_ROT_END);
|
||||
|
||||
// Integers
|
||||
s32 x;
|
||||
if ((_Symbol[1] == 'x' && sscanf(_Symbol.begin(), "%x", &x) == 1) || (sscanf(_Symbol.begin(), "%d", &x) == 1)) {
|
||||
Movtex _Mt[] = { (s16)x };
|
||||
memcpy(aHead, _Mt, sizeof(_Mt));
|
||||
aHead += (sizeof(_Mt) / sizeof(_Mt[0]));
|
||||
return;
|
||||
}
|
||||
|
||||
// Unknown
|
||||
PrintError(" ERROR: Unknown movtex symbol: %s", _Symbol.begin());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue