This commit is contained in:
Liam 2021-01-14 01:44:26 -05:00
parent 77cda604c6
commit c55e095ce7

View file

@ -267,6 +267,9 @@ namespace Penumbra.Importer
var extractedFile = new FileInfo( Path.Combine( outDirectory.FullName, mod.FullPath ) ); var extractedFile = new FileInfo( Path.Combine( outDirectory.FullName, mod.FullPath ) );
extractedFile.Directory?.Create(); extractedFile.Directory?.Create();
if( extractedFile.FullName.EndsWith( "mdl" ) )
ProcessMdl( data.Data );
File.WriteAllBytes( extractedFile.FullName, data.Data ); File.WriteAllBytes( extractedFile.FullName, data.Data );
} }
catch( Exception ex ) catch( Exception ex )
@ -275,6 +278,21 @@ namespace Penumbra.Importer
} }
} }
private void ProcessMdl( byte[] mdl )
{
// Model file header LOD num
mdl[ 64 ] = 1;
// Model header LOD num
var stackSize = BitConverter.ToUInt32( mdl, 4 );
var runtimeBegin = stackSize + 0x44;
var stringsLengthOffset = runtimeBegin + 4;
var stringsLength = BitConverter.ToUInt32( mdl, (int) stringsLengthOffset );
var modelHeaderStart = stringsLengthOffset + stringsLength + 4;
var modelHeaderLodOffset = 22;
mdl[ modelHeaderStart + modelHeaderLodOffset ] = 1;
}
private static Stream GetStreamFromZipEntry( ZipFile file, ZipEntry entry ) private static Stream GetStreamFromZipEntry( ZipFile file, ZipEntry entry )
{ {
return file.GetInputStream( entry ); return file.GetInputStream( entry );