From a962cfc70a6e97b8c797a0b837c094efbcd7f22a Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Sat, 27 Jul 2019 13:06:40 -0400 Subject: [PATCH 01/65] Move SourcePhy data files. --- .../SourcePhyCollisionData.vb | 0 .../SourcePhyCollisionPair.vb | 0 .../SourcePhyEditParamsSection.vb | 0 .../{SourcePhyFileData => }/SourcePhyFace.vb | 0 .../SourcePhyFaceSection.vb | 0 .../SourcePhyFileData.vb | 0 .../SourcePhyRagdollConstraint.vb | 0 .../{SourcePhyFileData => }/SourcePhyVertex.vb | 0 .../SourcePhysCollisionModel.vb | 0 Crowbar/Crowbar.vbproj | 18 +++++++++--------- 10 files changed, 9 insertions(+), 9 deletions(-) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhyCollisionData.vb (100%) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhyCollisionPair.vb (100%) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhyEditParamsSection.vb (100%) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhyFace.vb (100%) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhyFaceSection.vb (100%) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhyFileData.vb (100%) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhyRagdollConstraint.vb (100%) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhyVertex.vb (100%) rename Crowbar/Core/SourceModel/SourcePhyFile/{SourcePhyFileData => }/SourcePhysCollisionModel.vb (100%) diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyCollisionData.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyCollisionData.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyCollisionData.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyCollisionData.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyCollisionPair.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyCollisionPair.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyCollisionPair.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyCollisionPair.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyEditParamsSection.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyEditParamsSection.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyEditParamsSection.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyEditParamsSection.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyFace.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFace.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyFace.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFace.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyFaceSection.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFaceSection.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyFaceSection.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFaceSection.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyFileData.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyFileData.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyRagdollConstraint.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyRagdollConstraint.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyRagdollConstraint.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyRagdollConstraint.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyVertex.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyVertex.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyVertex.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyVertex.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhysCollisionModel.vb b/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhysCollisionModel.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhysCollisionModel.vb rename to Crowbar/Core/SourceModel/SourcePhyFile/SourcePhysCollisionModel.vb diff --git a/Crowbar/Crowbar.vbproj b/Crowbar/Crowbar.vbproj index 3be5d06..b7dd1d2 100644 --- a/Crowbar/Crowbar.vbproj +++ b/Crowbar/Crowbar.vbproj @@ -568,9 +568,9 @@ - - - + + + @@ -750,12 +750,12 @@ - - - - - - + + + + + + From 65ea948b13ac8e89222681bc1227675ffb8e00e1 Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Sat, 27 Jul 2019 13:44:50 -0400 Subject: [PATCH 02/65] Remove unused VTX data files. --- .../SourceVtxFileData/SourceVtxFileData.vb | 60 --- .../SourceModel44/SourceVtxFile44.vb | 368 ----------------- .../SourceVtxFileData/SourceVtxFileData44.vb | 66 --- .../SourceModel45/SourceVtxFile45.vb | 368 ----------------- .../SourceVtxFileData/SourceVtxFileData45.vb | 66 --- .../SourceModel46/SourceVtxFile46.vb | 368 ----------------- .../SourceVtxFileData/SourceVtxFileData46.vb | 66 --- .../SourceModel48/SourceVtxFile48.vb | 391 ------------------ .../SourceVtxFileData/SourceVtxFileData48.vb | 66 --- .../SourceVtxFile107/SourceVertex2531.vb | 12 - Crowbar/Crowbar.vbproj | 10 - 11 files changed, 1841 deletions(-) delete mode 100644 Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxFileData.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel44/SourceVtxFile44.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel44/SourceVtxFileData/SourceVtxFileData44.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel45/SourceVtxFile45.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel45/SourceVtxFileData/SourceVtxFileData45.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel46/SourceVtxFile46.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel46/SourceVtxFileData/SourceVtxFileData46.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel48/SourceVtxFile48.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel48/SourceVtxFileData/SourceVtxFileData48.vb delete mode 100644 Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVertex2531.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxFileData.vb b/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxFileData.vb deleted file mode 100644 index 1781c61..0000000 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxFileData.vb +++ /dev/null @@ -1,60 +0,0 @@ -Public Class SourceVtxFileData - Inherits SourceFileData - - 'FROM: SourceEngine2007_source\src/public/optimize.h - 'struct FileHeader_t - '{ - ' DECLARE_BYTESWAP_DATADESC(); - ' // file version as defined by OPTIMIZED_MODEL_FILE_VERSION - ' int version; - - ' // hardware params that affect how the model is to be optimized. - ' int vertCacheSize; - ' unsigned short maxBonesPerStrip; - ' unsigned short maxBonesPerTri; - ' int maxBonesPerVert; - - ' // must match checkSum in the .mdl - ' long checkSum; - - ' int numLODs; // garymcthack - this is also specified in ModelHeader_t and should match - - ' // one of these for each LOD - ' int materialReplacementListOffset; - ' MaterialReplacementListHeader_t *pMaterialReplacementList( int lodID ) const - ' { - ' MaterialReplacementListHeader_t *pDebug = - ' (MaterialReplacementListHeader_t *)(((byte *)this) + materialReplacementListOffset) + lodID; - ' return pDebug; - ' } - - ' int numBodyParts; - ' int bodyPartOffset; - ' inline BodyPartHeader_t *pBodyPart( int i ) const - ' { - ' BodyPartHeader_t *pDebug = (BodyPartHeader_t *)(((byte *)this) + bodyPartOffset) + i; - ' return pDebug; - ' }; - '}; - - Public version As Integer - - Public vertexCacheSize As Integer - Public maxBonesPerStrip As UShort - Public maxBonesPerTri As UShort - Public maxBonesPerVertex As Integer - - Public checksum As Integer - - Public lodCount As Integer - - Public materialReplacementListOffset As Integer - - Public bodyPartCount As Integer - Public bodyPartOffset As Integer - - - - Public theVtxBodyParts As List(Of SourceVtxBodyPart) - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceVtxFile44.vb b/Crowbar/Core/SourceModel/SourceModel44/SourceVtxFile44.vb deleted file mode 100644 index 47ffa1b..0000000 --- a/Crowbar/Core/SourceModel/SourceModel44/SourceVtxFile44.vb +++ /dev/null @@ -1,368 +0,0 @@ -Imports System.IO -Imports System.Text - -Public Class SourceVtxFile44 - -#Region "Creation and Destruction" - - Public Sub New(ByVal vtxFileReader As BinaryReader, ByVal vtxFileData As SourceVtxFileData44) - Me.theInputFileReader = vtxFileReader - Me.theVtxFileData = vtxFileData - End Sub - -#End Region - -#Region "Methods" - - Public Sub ReadSourceVtxHeader() - ' Offset: 0x00 - Me.theVtxFileData.version = Me.theInputFileReader.ReadInt32() - - ' Offsets: 0x04, 0x08, 0x0A (10), 0x0C (12) - Me.theVtxFileData.vertexCacheSize = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.maxBonesPerStrip = Me.theInputFileReader.ReadUInt16() - Me.theVtxFileData.maxBonesPerTri = Me.theInputFileReader.ReadUInt16() - Me.theVtxFileData.maxBonesPerVertex = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x10 (16) - Me.theVtxFileData.checksum = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x14 (20) - Me.theVtxFileData.lodCount = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x18 (24) - Me.theVtxFileData.materialReplacementListOffset = Me.theInputFileReader.ReadInt32() - - ' Offsets: 0x1C (28), 0x20 (32) - Me.theVtxFileData.bodyPartCount = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.bodyPartOffset = Me.theInputFileReader.ReadInt32() - End Sub - - Public Sub ReadSourceVtxBodyParts() - If Me.theVtxFileData.bodyPartCount > 0 Then - 'NOTE: Stuff that is part of determining vtx strip group size. - Me.theFirstMeshWithStripGroups = Nothing - Me.theFirstMeshWithStripGroupsInputFileStreamPosition = -1 - Me.theSecondMeshWithStripGroups = Nothing - Me.theExpectedStartOfSecondStripGroupList = -1 - Me.theStripGroupUsesExtra8Bytes = False - - Dim bodyPartInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(Me.theVtxFileData.bodyPartOffset, SeekOrigin.Begin) - Me.theVtxFileData.theVtxBodyParts = New List(Of SourceVtxBodyPart)(Me.theVtxFileData.bodyPartCount) - For i As Integer = 0 To Me.theVtxFileData.bodyPartCount - 1 - bodyPartInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aBodyPart As New SourceVtxBodyPart() - aBodyPart.modelCount = Me.theInputFileReader.ReadInt32() - aBodyPart.modelOffset = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.theVtxBodyParts.Add(aBodyPart) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aBodyPart.modelCount > 0 AndAlso aBodyPart.modelOffset <> 0 Then - Me.ReadSourceVtxModels(bodyPartInputFileStreamPosition, aBodyPart) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End If - End Sub - -#End Region - -#Region "Private Methods" - - Private Sub ReadSourceVtxModels(ByVal bodyPartInputFileStreamPosition As Long, ByVal aBodyPart As SourceVtxBodyPart) - Dim modelInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(bodyPartInputFileStreamPosition + aBodyPart.modelOffset, SeekOrigin.Begin) - aBodyPart.theVtxModels = New List(Of SourceVtxModel)(aBodyPart.modelCount) - For j As Integer = 0 To aBodyPart.modelCount - 1 - modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModel As New SourceVtxModel() - aModel.lodCount = Me.theInputFileReader.ReadInt32() - aModel.lodOffset = Me.theInputFileReader.ReadInt32() - aBodyPart.theVtxModels.Add(aModel) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aModel.lodCount > 0 AndAlso aModel.lodOffset <> 0 Then - Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxModelLods(ByVal modelInputFileStreamPosition As Long, ByVal aModel As SourceVtxModel) - Dim modelLodInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(modelInputFileStreamPosition + aModel.lodOffset, SeekOrigin.Begin) - aModel.theVtxModelLods = New List(Of SourceVtxModelLod)(aModel.lodCount) - For j As Integer = 0 To aModel.lodCount - 1 - modelLodInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModelLod As New SourceVtxModelLod() - aModelLod.meshCount = Me.theInputFileReader.ReadInt32() - aModelLod.meshOffset = Me.theInputFileReader.ReadInt32() - aModelLod.switchPoint = Me.theInputFileReader.ReadSingle() - aModel.theVtxModelLods.Add(aModelLod) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aModelLod.meshCount > 0 AndAlso aModelLod.meshOffset <> 0 Then - Me.ReadSourceVtxMeshes(modelLodInputFileStreamPosition, aModelLod) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxMeshes(ByVal modelLodInputFileStreamPosition As Long, ByVal aModelLod As SourceVtxModelLod) - Dim meshInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(modelLodInputFileStreamPosition + aModelLod.meshOffset, SeekOrigin.Begin) - aModelLod.theVtxMeshes = New List(Of SourceVtxMesh)(aModelLod.meshCount) - For j As Integer = 0 To aModelLod.meshCount - 1 - meshInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aMesh As New SourceVtxMesh() - aMesh.stripGroupCount = Me.theInputFileReader.ReadInt32() - aMesh.stripGroupOffset = Me.theInputFileReader.ReadInt32() - aMesh.flags = Me.theInputFileReader.ReadByte() - aModelLod.theVtxMeshes.Add(aMesh) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aMesh.stripGroupCount > 0 AndAlso aMesh.stripGroupOffset <> 0 Then - If Me.theFirstMeshWithStripGroups Is Nothing Then - Me.theFirstMeshWithStripGroups = aMesh - Me.theFirstMeshWithStripGroupsInputFileStreamPosition = meshInputFileStreamPosition - Me.AnalyzeVtxStripGroups(meshInputFileStreamPosition, aMesh) - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - ElseIf Me.theSecondMeshWithStripGroups Is Nothing Then - Me.theSecondMeshWithStripGroups = aMesh - If Me.theExpectedStartOfSecondStripGroupList <> (meshInputFileStreamPosition + aMesh.stripGroupOffset) Then - Me.theStripGroupUsesExtra8Bytes = True - - If aMesh.theVtxStripGroups IsNot Nothing Then - aMesh.theVtxStripGroups.Clear() - End If - - Me.ReadSourceVtxStripGroups(Me.theFirstMeshWithStripGroupsInputFileStreamPosition, Me.theFirstMeshWithStripGroups) - End If - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - Else - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - End If - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - 'TEST: / Save the first mesh that has strip groups and loop through the mesh's strip groups. - ' / Get the file offset and store as Me.theExpectedStartOfSecondStripGroupList. - ' / When the next strip group's offset is read in, compare with Me.theExpectedStartOfSecondStripGroupList. - ' If equal, then read from first mesh with strip groups without further checking. - ' Else (if unequal), then read from first mesh with strip groups - ' and continue reading remaining data using larger strip group size. - ' WORKS for the SFM, Dota 2, and L4D2 models I tested. - Private Sub AnalyzeVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aMesh As SourceVtxMesh) - Try - Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) - For j As Integer = 0 To aMesh.stripGroupCount - 1 - Dim aStripGroup As New SourceVtxStripGroup() - aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.indexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.indexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.stripCount = Me.theInputFileReader.ReadInt32() - aStripGroup.stripOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.flags = Me.theInputFileReader.ReadByte() - Next - - Me.theExpectedStartOfSecondStripGroupList = Me.theInputFileReader.BaseStream.Position - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aMesh As SourceVtxMesh) - Dim stripGroupInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) - For j As Integer = 0 To aMesh.stripGroupCount - 1 - stripGroupInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStripGroup As New SourceVtxStripGroup() - aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.indexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.indexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.stripCount = Me.theInputFileReader.ReadInt32() - aStripGroup.stripOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.flags = Me.theInputFileReader.ReadByte() - - 'TEST: Did not work for both Engineeer and doom. - 'If (aStripGroup.flags And SourceVtxStripGroup.SourceStripGroupDeltaFixed) > 0 Then - 'TEST: Works with models I tested from SFM, TF2 and Dota 2. - ' Failed on models compiled for L4D2. - If Me.theStripGroupUsesExtra8Bytes Then - ''TEST: Needed for SFM model, Barabus. - ' Skip for TF2 Engineer and Heavy. - Me.theInputFileReader.ReadInt32() - Me.theInputFileReader.ReadInt32() - End If - - aMesh.theVtxStripGroups.Add(aStripGroup) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aStripGroup.vertexCount > 0 AndAlso aStripGroup.vertexOffset <> 0 Then - Me.ReadSourceVtxVertexes(stripGroupInputFileStreamPosition, aStripGroup) - 'TEST: Did not correct the missing SFM HWM Sniper left arm mesh. - 'ElseIf j > 0 Then - ' aStripGroup.vertexCount = aMesh.theVtxStripGroups(j - 1).vertexCount - ' Me.ReadSourceVtxVertexes(stripGroupInputFileStreamPosition, aStripGroup) - 'TEST: Did not correct the missing SFM HWM Sniper left arm mesh. - 'ElseIf j > 0 Then - ' aStripGroup.theVtxVertexes = aMesh.theVtxStripGroups(j - 1).theVtxVertexes - End If - If aStripGroup.indexCount > 0 AndAlso aStripGroup.indexOffset <> 0 Then - Me.ReadSourceVtxIndexes(stripGroupInputFileStreamPosition, aStripGroup) - End If - If aStripGroup.stripCount > 0 AndAlso aStripGroup.stripOffset <> 0 Then - Me.ReadSourceVtxStrips(stripGroupInputFileStreamPosition, aStripGroup) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxVertexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.vertexOffset, SeekOrigin.Begin) - aStripGroup.theVtxVertexes = New List(Of SourceVtxVertex)(aStripGroup.vertexCount) - For j As Integer = 0 To aStripGroup.vertexCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aVertex As New SourceVtxVertex() - For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 - aVertex.boneWeightIndex(i) = Me.theInputFileReader.ReadByte() - Next - aVertex.boneCount = Me.theInputFileReader.ReadByte() - aVertex.originalMeshVertexIndex = Me.theInputFileReader.ReadUInt16() - For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 - aVertex.boneId(i) = Me.theInputFileReader.ReadByte() - Next - aStripGroup.theVtxVertexes.Add(aVertex) - - 'inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - 'If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aVertex) - 'End If - - 'Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxIndexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.indexOffset, SeekOrigin.Begin) - aStripGroup.theVtxIndexes = New List(Of UShort)(aStripGroup.indexCount) - For j As Integer = 0 To aStripGroup.indexCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - aStripGroup.theVtxIndexes.Add(Me.theInputFileReader.ReadUInt16()) - - 'inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - 'If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - 'End If - - 'Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxStrips(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.stripOffset, SeekOrigin.Begin) - aStripGroup.theVtxStrips = New List(Of SourceVtxStrip)(aStripGroup.stripCount) - For j As Integer = 0 To aStripGroup.stripCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStrip As New SourceVtxStrip() - aStrip.indexCount = Me.theInputFileReader.ReadInt32() - aStrip.indexMeshIndex = Me.theInputFileReader.ReadInt32() - aStrip.vertexCount = Me.theInputFileReader.ReadInt32() - aStrip.vertexMeshIndex = Me.theInputFileReader.ReadInt32() - aStrip.boneCount = Me.theInputFileReader.ReadInt16() - aStrip.flags = Me.theInputFileReader.ReadByte() - aStrip.boneStateChangeCount = Me.theInputFileReader.ReadInt32() - aStrip.boneStateChangeOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.theVtxStrips.Add(aStrip) - - ' inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - ' If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - ' End If - - ' Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - -#End Region - -#Region "Data" - - Private theInputFileReader As BinaryReader - Private theVtxFileData As SourceVtxFileData44 - - Private theFirstMeshWithStripGroups As SourceVtxMesh - Private theFirstMeshWithStripGroupsInputFileStreamPosition As Long - Private theSecondMeshWithStripGroups As SourceVtxMesh - Private theExpectedStartOfSecondStripGroupList As Long - Private theStripGroupUsesExtra8Bytes As Boolean - -#End Region - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceVtxFileData/SourceVtxFileData44.vb b/Crowbar/Core/SourceModel/SourceModel44/SourceVtxFileData/SourceVtxFileData44.vb deleted file mode 100644 index de52b45..0000000 --- a/Crowbar/Core/SourceModel/SourceModel44/SourceVtxFileData/SourceVtxFileData44.vb +++ /dev/null @@ -1,66 +0,0 @@ -Public Class SourceVtxFileData44 - Inherits SourceFileData - - - - - 'FROM: SourceEngine2007_source\src/public/optimize.h - 'struct FileHeader_t - '{ - ' DECLARE_BYTESWAP_DATADESC(); - ' // file version as defined by OPTIMIZED_MODEL_FILE_VERSION - ' int version; - - ' // hardware params that affect how the model is to be optimized. - ' int vertCacheSize; - ' unsigned short maxBonesPerStrip; - ' unsigned short maxBonesPerTri; - ' int maxBonesPerVert; - - ' // must match checkSum in the .mdl - ' long checkSum; - - ' int numLODs; // garymcthack - this is also specified in ModelHeader_t and should match - - ' // one of these for each LOD - ' int materialReplacementListOffset; - ' MaterialReplacementListHeader_t *pMaterialReplacementList( int lodID ) const - ' { - ' MaterialReplacementListHeader_t *pDebug = - ' (MaterialReplacementListHeader_t *)(((byte *)this) + materialReplacementListOffset) + lodID; - ' return pDebug; - ' } - - ' int numBodyParts; - ' int bodyPartOffset; - ' inline BodyPartHeader_t *pBodyPart( int i ) const - ' { - ' BodyPartHeader_t *pDebug = (BodyPartHeader_t *)(((byte *)this) + bodyPartOffset) + i; - ' return pDebug; - ' }; - '}; - - - - Public version As Integer - - Public vertexCacheSize As Integer - Public maxBonesPerStrip As UShort - Public maxBonesPerTri As UShort - Public maxBonesPerVertex As Integer - - Public checksum As Integer - - Public lodCount As Integer - - 'TODO: Is this used in $LOD QC command? - Public materialReplacementListOffset As Integer - - Public bodyPartCount As Integer - Public bodyPartOffset As Integer - - - - Public theVtxBodyParts As List(Of SourceVtxBodyPart) - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceVtxFile45.vb b/Crowbar/Core/SourceModel/SourceModel45/SourceVtxFile45.vb deleted file mode 100644 index f02cba2..0000000 --- a/Crowbar/Core/SourceModel/SourceModel45/SourceVtxFile45.vb +++ /dev/null @@ -1,368 +0,0 @@ -Imports System.IO -Imports System.Text - -Public Class SourceVtxFile45 - -#Region "Creation and Destruction" - - Public Sub New(ByVal vtxFileReader As BinaryReader, ByVal vtxFileData As SourceVtxFileData45) - Me.theInputFileReader = vtxFileReader - Me.theVtxFileData = vtxFileData - End Sub - -#End Region - -#Region "Methods" - - Public Sub ReadSourceVtxHeader() - ' Offset: 0x00 - Me.theVtxFileData.version = Me.theInputFileReader.ReadInt32() - - ' Offsets: 0x04, 0x08, 0x0A (10), 0x0C (12) - Me.theVtxFileData.vertexCacheSize = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.maxBonesPerStrip = Me.theInputFileReader.ReadUInt16() - Me.theVtxFileData.maxBonesPerTri = Me.theInputFileReader.ReadUInt16() - Me.theVtxFileData.maxBonesPerVertex = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x10 (16) - Me.theVtxFileData.checksum = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x14 (20) - Me.theVtxFileData.lodCount = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x18 (24) - Me.theVtxFileData.materialReplacementListOffset = Me.theInputFileReader.ReadInt32() - - ' Offsets: 0x1C (28), 0x20 (32) - Me.theVtxFileData.bodyPartCount = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.bodyPartOffset = Me.theInputFileReader.ReadInt32() - End Sub - - Public Sub ReadSourceVtxBodyParts() - If Me.theVtxFileData.bodyPartCount > 0 Then - 'NOTE: Stuff that is part of determining vtx strip group size. - Me.theFirstMeshWithStripGroups = Nothing - Me.theFirstMeshWithStripGroupsInputFileStreamPosition = -1 - Me.theSecondMeshWithStripGroups = Nothing - Me.theExpectedStartOfSecondStripGroupList = -1 - Me.theStripGroupUsesExtra8Bytes = False - - Dim bodyPartInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(Me.theVtxFileData.bodyPartOffset, SeekOrigin.Begin) - Me.theVtxFileData.theVtxBodyParts = New List(Of SourceVtxBodyPart)(Me.theVtxFileData.bodyPartCount) - For i As Integer = 0 To Me.theVtxFileData.bodyPartCount - 1 - bodyPartInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aBodyPart As New SourceVtxBodyPart() - aBodyPart.modelCount = Me.theInputFileReader.ReadInt32() - aBodyPart.modelOffset = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.theVtxBodyParts.Add(aBodyPart) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aBodyPart.modelCount > 0 AndAlso aBodyPart.modelOffset <> 0 Then - Me.ReadSourceVtxModels(bodyPartInputFileStreamPosition, aBodyPart) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End If - End Sub - -#End Region - -#Region "Private Methods" - - Private Sub ReadSourceVtxModels(ByVal bodyPartInputFileStreamPosition As Long, ByVal aBodyPart As SourceVtxBodyPart) - Dim modelInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(bodyPartInputFileStreamPosition + aBodyPart.modelOffset, SeekOrigin.Begin) - aBodyPart.theVtxModels = New List(Of SourceVtxModel)(aBodyPart.modelCount) - For j As Integer = 0 To aBodyPart.modelCount - 1 - modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModel As New SourceVtxModel() - aModel.lodCount = Me.theInputFileReader.ReadInt32() - aModel.lodOffset = Me.theInputFileReader.ReadInt32() - aBodyPart.theVtxModels.Add(aModel) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aModel.lodCount > 0 AndAlso aModel.lodOffset <> 0 Then - Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxModelLods(ByVal modelInputFileStreamPosition As Long, ByVal aModel As SourceVtxModel) - Dim modelLodInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(modelInputFileStreamPosition + aModel.lodOffset, SeekOrigin.Begin) - aModel.theVtxModelLods = New List(Of SourceVtxModelLod)(aModel.lodCount) - For j As Integer = 0 To aModel.lodCount - 1 - modelLodInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModelLod As New SourceVtxModelLod() - aModelLod.meshCount = Me.theInputFileReader.ReadInt32() - aModelLod.meshOffset = Me.theInputFileReader.ReadInt32() - aModelLod.switchPoint = Me.theInputFileReader.ReadSingle() - aModel.theVtxModelLods.Add(aModelLod) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aModelLod.meshCount > 0 AndAlso aModelLod.meshOffset <> 0 Then - Me.ReadSourceVtxMeshes(modelLodInputFileStreamPosition, aModelLod) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxMeshes(ByVal modelLodInputFileStreamPosition As Long, ByVal aModelLod As SourceVtxModelLod) - Dim meshInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(modelLodInputFileStreamPosition + aModelLod.meshOffset, SeekOrigin.Begin) - aModelLod.theVtxMeshes = New List(Of SourceVtxMesh)(aModelLod.meshCount) - For j As Integer = 0 To aModelLod.meshCount - 1 - meshInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aMesh As New SourceVtxMesh() - aMesh.stripGroupCount = Me.theInputFileReader.ReadInt32() - aMesh.stripGroupOffset = Me.theInputFileReader.ReadInt32() - aMesh.flags = Me.theInputFileReader.ReadByte() - aModelLod.theVtxMeshes.Add(aMesh) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aMesh.stripGroupCount > 0 AndAlso aMesh.stripGroupOffset <> 0 Then - If Me.theFirstMeshWithStripGroups Is Nothing Then - Me.theFirstMeshWithStripGroups = aMesh - Me.theFirstMeshWithStripGroupsInputFileStreamPosition = meshInputFileStreamPosition - Me.AnalyzeVtxStripGroups(meshInputFileStreamPosition, aMesh) - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - ElseIf Me.theSecondMeshWithStripGroups Is Nothing Then - Me.theSecondMeshWithStripGroups = aMesh - If Me.theExpectedStartOfSecondStripGroupList <> (meshInputFileStreamPosition + aMesh.stripGroupOffset) Then - Me.theStripGroupUsesExtra8Bytes = True - - If aMesh.theVtxStripGroups IsNot Nothing Then - aMesh.theVtxStripGroups.Clear() - End If - - Me.ReadSourceVtxStripGroups(Me.theFirstMeshWithStripGroupsInputFileStreamPosition, Me.theFirstMeshWithStripGroups) - End If - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - Else - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - End If - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - 'TEST: / Save the first mesh that has strip groups and loop through the mesh's strip groups. - ' / Get the file offset and store as Me.theExpectedStartOfSecondStripGroupList. - ' / When the next strip group's offset is read in, compare with Me.theExpectedStartOfSecondStripGroupList. - ' If equal, then read from first mesh with strip groups without further checking. - ' Else (if unequal), then read from first mesh with strip groups - ' and continue reading remaining data using larger strip group size. - ' WORKS for the SFM, Dota 2, and L4D2 models I tested. - Private Sub AnalyzeVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aMesh As SourceVtxMesh) - Try - Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) - For j As Integer = 0 To aMesh.stripGroupCount - 1 - Dim aStripGroup As New SourceVtxStripGroup() - aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.indexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.indexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.stripCount = Me.theInputFileReader.ReadInt32() - aStripGroup.stripOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.flags = Me.theInputFileReader.ReadByte() - Next - - Me.theExpectedStartOfSecondStripGroupList = Me.theInputFileReader.BaseStream.Position - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aMesh As SourceVtxMesh) - Dim stripGroupInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) - For j As Integer = 0 To aMesh.stripGroupCount - 1 - stripGroupInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStripGroup As New SourceVtxStripGroup() - aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.indexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.indexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.stripCount = Me.theInputFileReader.ReadInt32() - aStripGroup.stripOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.flags = Me.theInputFileReader.ReadByte() - - 'TEST: Did not work for both Engineeer and doom. - 'If (aStripGroup.flags And SourceVtxStripGroup.SourceStripGroupDeltaFixed) > 0 Then - 'TEST: Works with models I tested from SFM, TF2 and Dota 2. - ' Failed on models compiled for L4D2. - If Me.theStripGroupUsesExtra8Bytes Then - ''TEST: Needed for SFM model, Barabus. - ' Skip for TF2 Engineer and Heavy. - Me.theInputFileReader.ReadInt32() - Me.theInputFileReader.ReadInt32() - End If - - aMesh.theVtxStripGroups.Add(aStripGroup) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aStripGroup.vertexCount > 0 AndAlso aStripGroup.vertexOffset <> 0 Then - Me.ReadSourceVtxVertexes(stripGroupInputFileStreamPosition, aStripGroup) - 'TEST: Did not correct the missing SFM HWM Sniper left arm mesh. - 'ElseIf j > 0 Then - ' aStripGroup.vertexCount = aMesh.theVtxStripGroups(j - 1).vertexCount - ' Me.ReadSourceVtxVertexes(stripGroupInputFileStreamPosition, aStripGroup) - 'TEST: Did not correct the missing SFM HWM Sniper left arm mesh. - 'ElseIf j > 0 Then - ' aStripGroup.theVtxVertexes = aMesh.theVtxStripGroups(j - 1).theVtxVertexes - End If - If aStripGroup.indexCount > 0 AndAlso aStripGroup.indexOffset <> 0 Then - Me.ReadSourceVtxIndexes(stripGroupInputFileStreamPosition, aStripGroup) - End If - If aStripGroup.stripCount > 0 AndAlso aStripGroup.stripOffset <> 0 Then - Me.ReadSourceVtxStrips(stripGroupInputFileStreamPosition, aStripGroup) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxVertexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.vertexOffset, SeekOrigin.Begin) - aStripGroup.theVtxVertexes = New List(Of SourceVtxVertex)(aStripGroup.vertexCount) - For j As Integer = 0 To aStripGroup.vertexCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aVertex As New SourceVtxVertex() - For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 - aVertex.boneWeightIndex(i) = Me.theInputFileReader.ReadByte() - Next - aVertex.boneCount = Me.theInputFileReader.ReadByte() - aVertex.originalMeshVertexIndex = Me.theInputFileReader.ReadUInt16() - For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 - aVertex.boneId(i) = Me.theInputFileReader.ReadByte() - Next - aStripGroup.theVtxVertexes.Add(aVertex) - - 'inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - 'If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aVertex) - 'End If - - 'Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxIndexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.indexOffset, SeekOrigin.Begin) - aStripGroup.theVtxIndexes = New List(Of UShort)(aStripGroup.indexCount) - For j As Integer = 0 To aStripGroup.indexCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - aStripGroup.theVtxIndexes.Add(Me.theInputFileReader.ReadUInt16()) - - 'inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - 'If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - 'End If - - 'Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxStrips(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.stripOffset, SeekOrigin.Begin) - aStripGroup.theVtxStrips = New List(Of SourceVtxStrip)(aStripGroup.stripCount) - For j As Integer = 0 To aStripGroup.stripCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStrip As New SourceVtxStrip() - aStrip.indexCount = Me.theInputFileReader.ReadInt32() - aStrip.indexMeshIndex = Me.theInputFileReader.ReadInt32() - aStrip.vertexCount = Me.theInputFileReader.ReadInt32() - aStrip.vertexMeshIndex = Me.theInputFileReader.ReadInt32() - aStrip.boneCount = Me.theInputFileReader.ReadInt16() - aStrip.flags = Me.theInputFileReader.ReadByte() - aStrip.boneStateChangeCount = Me.theInputFileReader.ReadInt32() - aStrip.boneStateChangeOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.theVtxStrips.Add(aStrip) - - ' inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - ' If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - ' End If - - ' Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - -#End Region - -#Region "Data" - - Private theInputFileReader As BinaryReader - Private theVtxFileData As SourceVtxFileData45 - - Private theFirstMeshWithStripGroups As SourceVtxMesh - Private theFirstMeshWithStripGroupsInputFileStreamPosition As Long - Private theSecondMeshWithStripGroups As SourceVtxMesh - Private theExpectedStartOfSecondStripGroupList As Long - Private theStripGroupUsesExtra8Bytes As Boolean - -#End Region - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceVtxFileData/SourceVtxFileData45.vb b/Crowbar/Core/SourceModel/SourceModel45/SourceVtxFileData/SourceVtxFileData45.vb deleted file mode 100644 index eda288b..0000000 --- a/Crowbar/Core/SourceModel/SourceModel45/SourceVtxFileData/SourceVtxFileData45.vb +++ /dev/null @@ -1,66 +0,0 @@ -Public Class SourceVtxFileData45 - Inherits SourceFileData - - - - - 'FROM: SourceEngine2007_source\src/public/optimize.h - 'struct FileHeader_t - '{ - ' DECLARE_BYTESWAP_DATADESC(); - ' // file version as defined by OPTIMIZED_MODEL_FILE_VERSION - ' int version; - - ' // hardware params that affect how the model is to be optimized. - ' int vertCacheSize; - ' unsigned short maxBonesPerStrip; - ' unsigned short maxBonesPerTri; - ' int maxBonesPerVert; - - ' // must match checkSum in the .mdl - ' long checkSum; - - ' int numLODs; // garymcthack - this is also specified in ModelHeader_t and should match - - ' // one of these for each LOD - ' int materialReplacementListOffset; - ' MaterialReplacementListHeader_t *pMaterialReplacementList( int lodID ) const - ' { - ' MaterialReplacementListHeader_t *pDebug = - ' (MaterialReplacementListHeader_t *)(((byte *)this) + materialReplacementListOffset) + lodID; - ' return pDebug; - ' } - - ' int numBodyParts; - ' int bodyPartOffset; - ' inline BodyPartHeader_t *pBodyPart( int i ) const - ' { - ' BodyPartHeader_t *pDebug = (BodyPartHeader_t *)(((byte *)this) + bodyPartOffset) + i; - ' return pDebug; - ' }; - '}; - - - - Public version As Integer - - Public vertexCacheSize As Integer - Public maxBonesPerStrip As UShort - Public maxBonesPerTri As UShort - Public maxBonesPerVertex As Integer - - Public checksum As Integer - - Public lodCount As Integer - - 'TODO: Is this used in $LOD QC command? - Public materialReplacementListOffset As Integer - - Public bodyPartCount As Integer - Public bodyPartOffset As Integer - - - - Public theVtxBodyParts As List(Of SourceVtxBodyPart) - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceVtxFile46.vb b/Crowbar/Core/SourceModel/SourceModel46/SourceVtxFile46.vb deleted file mode 100644 index b97971a..0000000 --- a/Crowbar/Core/SourceModel/SourceModel46/SourceVtxFile46.vb +++ /dev/null @@ -1,368 +0,0 @@ -Imports System.IO -Imports System.Text - -Public Class SourceVtxFile46 - -#Region "Creation and Destruction" - - Public Sub New(ByVal vtxFileReader As BinaryReader, ByVal vtxFileData As SourceVtxFileData46) - Me.theInputFileReader = vtxFileReader - Me.theVtxFileData = vtxFileData - End Sub - -#End Region - -#Region "Methods" - - Public Sub ReadSourceVtxHeader() - ' Offset: 0x00 - Me.theVtxFileData.version = Me.theInputFileReader.ReadInt32() - - ' Offsets: 0x04, 0x08, 0x0A (10), 0x0C (12) - Me.theVtxFileData.vertexCacheSize = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.maxBonesPerStrip = Me.theInputFileReader.ReadUInt16() - Me.theVtxFileData.maxBonesPerTri = Me.theInputFileReader.ReadUInt16() - Me.theVtxFileData.maxBonesPerVertex = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x10 (16) - Me.theVtxFileData.checksum = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x14 (20) - Me.theVtxFileData.lodCount = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x18 (24) - Me.theVtxFileData.materialReplacementListOffset = Me.theInputFileReader.ReadInt32() - - ' Offsets: 0x1C (28), 0x20 (32) - Me.theVtxFileData.bodyPartCount = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.bodyPartOffset = Me.theInputFileReader.ReadInt32() - End Sub - - Public Sub ReadSourceVtxBodyParts() - If Me.theVtxFileData.bodyPartCount > 0 Then - 'NOTE: Stuff that is part of determining vtx strip group size. - Me.theFirstMeshWithStripGroups = Nothing - Me.theFirstMeshWithStripGroupsInputFileStreamPosition = -1 - Me.theSecondMeshWithStripGroups = Nothing - Me.theExpectedStartOfSecondStripGroupList = -1 - Me.theStripGroupUsesExtra8Bytes = False - - Dim bodyPartInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(Me.theVtxFileData.bodyPartOffset, SeekOrigin.Begin) - Me.theVtxFileData.theVtxBodyParts = New List(Of SourceVtxBodyPart)(Me.theVtxFileData.bodyPartCount) - For i As Integer = 0 To Me.theVtxFileData.bodyPartCount - 1 - bodyPartInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aBodyPart As New SourceVtxBodyPart() - aBodyPart.modelCount = Me.theInputFileReader.ReadInt32() - aBodyPart.modelOffset = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.theVtxBodyParts.Add(aBodyPart) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aBodyPart.modelCount > 0 AndAlso aBodyPart.modelOffset <> 0 Then - Me.ReadSourceVtxModels(bodyPartInputFileStreamPosition, aBodyPart) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End If - End Sub - -#End Region - -#Region "Private Methods" - - Private Sub ReadSourceVtxModels(ByVal bodyPartInputFileStreamPosition As Long, ByVal aBodyPart As SourceVtxBodyPart) - Dim modelInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(bodyPartInputFileStreamPosition + aBodyPart.modelOffset, SeekOrigin.Begin) - aBodyPart.theVtxModels = New List(Of SourceVtxModel)(aBodyPart.modelCount) - For j As Integer = 0 To aBodyPart.modelCount - 1 - modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModel As New SourceVtxModel() - aModel.lodCount = Me.theInputFileReader.ReadInt32() - aModel.lodOffset = Me.theInputFileReader.ReadInt32() - aBodyPart.theVtxModels.Add(aModel) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aModel.lodCount > 0 AndAlso aModel.lodOffset <> 0 Then - Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxModelLods(ByVal modelInputFileStreamPosition As Long, ByVal aModel As SourceVtxModel) - Dim modelLodInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(modelInputFileStreamPosition + aModel.lodOffset, SeekOrigin.Begin) - aModel.theVtxModelLods = New List(Of SourceVtxModelLod)(aModel.lodCount) - For j As Integer = 0 To aModel.lodCount - 1 - modelLodInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModelLod As New SourceVtxModelLod() - aModelLod.meshCount = Me.theInputFileReader.ReadInt32() - aModelLod.meshOffset = Me.theInputFileReader.ReadInt32() - aModelLod.switchPoint = Me.theInputFileReader.ReadSingle() - aModel.theVtxModelLods.Add(aModelLod) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aModelLod.meshCount > 0 AndAlso aModelLod.meshOffset <> 0 Then - Me.ReadSourceVtxMeshes(modelLodInputFileStreamPosition, aModelLod) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxMeshes(ByVal modelLodInputFileStreamPosition As Long, ByVal aModelLod As SourceVtxModelLod) - Dim meshInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(modelLodInputFileStreamPosition + aModelLod.meshOffset, SeekOrigin.Begin) - aModelLod.theVtxMeshes = New List(Of SourceVtxMesh)(aModelLod.meshCount) - For j As Integer = 0 To aModelLod.meshCount - 1 - meshInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aMesh As New SourceVtxMesh() - aMesh.stripGroupCount = Me.theInputFileReader.ReadInt32() - aMesh.stripGroupOffset = Me.theInputFileReader.ReadInt32() - aMesh.flags = Me.theInputFileReader.ReadByte() - aModelLod.theVtxMeshes.Add(aMesh) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aMesh.stripGroupCount > 0 AndAlso aMesh.stripGroupOffset <> 0 Then - If Me.theFirstMeshWithStripGroups Is Nothing Then - Me.theFirstMeshWithStripGroups = aMesh - Me.theFirstMeshWithStripGroupsInputFileStreamPosition = meshInputFileStreamPosition - Me.AnalyzeVtxStripGroups(meshInputFileStreamPosition, aMesh) - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - ElseIf Me.theSecondMeshWithStripGroups Is Nothing Then - Me.theSecondMeshWithStripGroups = aMesh - If Me.theExpectedStartOfSecondStripGroupList <> (meshInputFileStreamPosition + aMesh.stripGroupOffset) Then - Me.theStripGroupUsesExtra8Bytes = True - - If aMesh.theVtxStripGroups IsNot Nothing Then - aMesh.theVtxStripGroups.Clear() - End If - - Me.ReadSourceVtxStripGroups(Me.theFirstMeshWithStripGroupsInputFileStreamPosition, Me.theFirstMeshWithStripGroups) - End If - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - Else - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - End If - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - 'TEST: / Save the first mesh that has strip groups and loop through the mesh's strip groups. - ' / Get the file offset and store as Me.theExpectedStartOfSecondStripGroupList. - ' / When the next strip group's offset is read in, compare with Me.theExpectedStartOfSecondStripGroupList. - ' If equal, then read from first mesh with strip groups without further checking. - ' Else (if unequal), then read from first mesh with strip groups - ' and continue reading remaining data using larger strip group size. - ' WORKS for the SFM, Dota 2, and L4D2 models I tested. - Private Sub AnalyzeVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aMesh As SourceVtxMesh) - Try - Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) - For j As Integer = 0 To aMesh.stripGroupCount - 1 - Dim aStripGroup As New SourceVtxStripGroup() - aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.indexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.indexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.stripCount = Me.theInputFileReader.ReadInt32() - aStripGroup.stripOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.flags = Me.theInputFileReader.ReadByte() - Next - - Me.theExpectedStartOfSecondStripGroupList = Me.theInputFileReader.BaseStream.Position - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aMesh As SourceVtxMesh) - Dim stripGroupInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) - For j As Integer = 0 To aMesh.stripGroupCount - 1 - stripGroupInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStripGroup As New SourceVtxStripGroup() - aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.indexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.indexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.stripCount = Me.theInputFileReader.ReadInt32() - aStripGroup.stripOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.flags = Me.theInputFileReader.ReadByte() - - 'TEST: Did not work for both Engineeer and doom. - 'If (aStripGroup.flags And SourceVtxStripGroup.SourceStripGroupDeltaFixed) > 0 Then - 'TEST: Works with models I tested from SFM, TF2 and Dota 2. - ' Failed on models compiled for L4D2. - If Me.theStripGroupUsesExtra8Bytes Then - ''TEST: Needed for SFM model, Barabus. - ' Skip for TF2 Engineer and Heavy. - Me.theInputFileReader.ReadInt32() - Me.theInputFileReader.ReadInt32() - End If - - aMesh.theVtxStripGroups.Add(aStripGroup) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aStripGroup.vertexCount > 0 AndAlso aStripGroup.vertexOffset <> 0 Then - Me.ReadSourceVtxVertexes(stripGroupInputFileStreamPosition, aStripGroup) - 'TEST: Did not correct the missing SFM HWM Sniper left arm mesh. - 'ElseIf j > 0 Then - ' aStripGroup.vertexCount = aMesh.theVtxStripGroups(j - 1).vertexCount - ' Me.ReadSourceVtxVertexes(stripGroupInputFileStreamPosition, aStripGroup) - 'TEST: Did not correct the missing SFM HWM Sniper left arm mesh. - 'ElseIf j > 0 Then - ' aStripGroup.theVtxVertexes = aMesh.theVtxStripGroups(j - 1).theVtxVertexes - End If - If aStripGroup.indexCount > 0 AndAlso aStripGroup.indexOffset <> 0 Then - Me.ReadSourceVtxIndexes(stripGroupInputFileStreamPosition, aStripGroup) - End If - If aStripGroup.stripCount > 0 AndAlso aStripGroup.stripOffset <> 0 Then - Me.ReadSourceVtxStrips(stripGroupInputFileStreamPosition, aStripGroup) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxVertexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.vertexOffset, SeekOrigin.Begin) - aStripGroup.theVtxVertexes = New List(Of SourceVtxVertex)(aStripGroup.vertexCount) - For j As Integer = 0 To aStripGroup.vertexCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aVertex As New SourceVtxVertex() - For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 - aVertex.boneWeightIndex(i) = Me.theInputFileReader.ReadByte() - Next - aVertex.boneCount = Me.theInputFileReader.ReadByte() - aVertex.originalMeshVertexIndex = Me.theInputFileReader.ReadUInt16() - For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 - aVertex.boneId(i) = Me.theInputFileReader.ReadByte() - Next - aStripGroup.theVtxVertexes.Add(aVertex) - - 'inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - 'If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aVertex) - 'End If - - 'Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxIndexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.indexOffset, SeekOrigin.Begin) - aStripGroup.theVtxIndexes = New List(Of UShort)(aStripGroup.indexCount) - For j As Integer = 0 To aStripGroup.indexCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - aStripGroup.theVtxIndexes.Add(Me.theInputFileReader.ReadUInt16()) - - 'inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - 'If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - 'End If - - 'Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxStrips(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.stripOffset, SeekOrigin.Begin) - aStripGroup.theVtxStrips = New List(Of SourceVtxStrip)(aStripGroup.stripCount) - For j As Integer = 0 To aStripGroup.stripCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStrip As New SourceVtxStrip() - aStrip.indexCount = Me.theInputFileReader.ReadInt32() - aStrip.indexMeshIndex = Me.theInputFileReader.ReadInt32() - aStrip.vertexCount = Me.theInputFileReader.ReadInt32() - aStrip.vertexMeshIndex = Me.theInputFileReader.ReadInt32() - aStrip.boneCount = Me.theInputFileReader.ReadInt16() - aStrip.flags = Me.theInputFileReader.ReadByte() - aStrip.boneStateChangeCount = Me.theInputFileReader.ReadInt32() - aStrip.boneStateChangeOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.theVtxStrips.Add(aStrip) - - ' inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - ' If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - ' End If - - ' Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - -#End Region - -#Region "Data" - - Private theInputFileReader As BinaryReader - Private theVtxFileData As SourceVtxFileData46 - - Private theFirstMeshWithStripGroups As SourceVtxMesh - Private theFirstMeshWithStripGroupsInputFileStreamPosition As Long - Private theSecondMeshWithStripGroups As SourceVtxMesh - Private theExpectedStartOfSecondStripGroupList As Long - Private theStripGroupUsesExtra8Bytes As Boolean - -#End Region - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceVtxFileData/SourceVtxFileData46.vb b/Crowbar/Core/SourceModel/SourceModel46/SourceVtxFileData/SourceVtxFileData46.vb deleted file mode 100644 index 7b4e32c..0000000 --- a/Crowbar/Core/SourceModel/SourceModel46/SourceVtxFileData/SourceVtxFileData46.vb +++ /dev/null @@ -1,66 +0,0 @@ -Public Class SourceVtxFileData46 - Inherits SourceFileData - - - - - 'FROM: SourceEngine2007_source\src/public/optimize.h - 'struct FileHeader_t - '{ - ' DECLARE_BYTESWAP_DATADESC(); - ' // file version as defined by OPTIMIZED_MODEL_FILE_VERSION - ' int version; - - ' // hardware params that affect how the model is to be optimized. - ' int vertCacheSize; - ' unsigned short maxBonesPerStrip; - ' unsigned short maxBonesPerTri; - ' int maxBonesPerVert; - - ' // must match checkSum in the .mdl - ' long checkSum; - - ' int numLODs; // garymcthack - this is also specified in ModelHeader_t and should match - - ' // one of these for each LOD - ' int materialReplacementListOffset; - ' MaterialReplacementListHeader_t *pMaterialReplacementList( int lodID ) const - ' { - ' MaterialReplacementListHeader_t *pDebug = - ' (MaterialReplacementListHeader_t *)(((byte *)this) + materialReplacementListOffset) + lodID; - ' return pDebug; - ' } - - ' int numBodyParts; - ' int bodyPartOffset; - ' inline BodyPartHeader_t *pBodyPart( int i ) const - ' { - ' BodyPartHeader_t *pDebug = (BodyPartHeader_t *)(((byte *)this) + bodyPartOffset) + i; - ' return pDebug; - ' }; - '}; - - - - Public version As Integer - - Public vertexCacheSize As Integer - Public maxBonesPerStrip As UShort - Public maxBonesPerTri As UShort - Public maxBonesPerVertex As Integer - - Public checksum As Integer - - Public lodCount As Integer - - 'TODO: Is this used in $LOD QC command? - Public materialReplacementListOffset As Integer - - Public bodyPartCount As Integer - Public bodyPartOffset As Integer - - - - Public theVtxBodyParts As List(Of SourceVtxBodyPart) - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceVtxFile48.vb b/Crowbar/Core/SourceModel/SourceModel48/SourceVtxFile48.vb deleted file mode 100644 index 2d366e7..0000000 --- a/Crowbar/Core/SourceModel/SourceModel48/SourceVtxFile48.vb +++ /dev/null @@ -1,391 +0,0 @@ -Imports System.IO -Imports System.Text - -Public Class SourceVtxFile48 - -#Region "Creation and Destruction" - - Public Sub New(ByVal vtxFileReader As BinaryReader, ByVal vtxFileData As SourceVtxFileData48) - Me.theInputFileReader = vtxFileReader - Me.theVtxFileData = vtxFileData - End Sub - -#End Region - -#Region "Methods" - - Public Sub ReadSourceVtxHeader() - ' Offset: 0x00 - Me.theVtxFileData.version = Me.theInputFileReader.ReadInt32() - - ' Offsets: 0x04, 0x08, 0x0A (10), 0x0C (12) - Me.theVtxFileData.vertexCacheSize = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.maxBonesPerStrip = Me.theInputFileReader.ReadUInt16() - Me.theVtxFileData.maxBonesPerTri = Me.theInputFileReader.ReadUInt16() - Me.theVtxFileData.maxBonesPerVertex = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x10 (16) - Me.theVtxFileData.checksum = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x14 (20) - Me.theVtxFileData.lodCount = Me.theInputFileReader.ReadInt32() - - ' Offset: 0x18 (24) - Me.theVtxFileData.materialReplacementListOffset = Me.theInputFileReader.ReadInt32() - - ' Offsets: 0x1C (28), 0x20 (32) - Me.theVtxFileData.bodyPartCount = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.bodyPartOffset = Me.theInputFileReader.ReadInt32() - End Sub - - Public Sub ReadSourceVtxBodyParts() - If Me.theVtxFileData.bodyPartCount > 0 Then - 'NOTE: Stuff that is part of determining vtx strip group size. - Me.theFirstMeshWithStripGroups = Nothing - Me.theFirstMeshWithStripGroupsInputFileStreamPosition = -1 - Me.theSecondMeshWithStripGroups = Nothing - Me.theExpectedStartOfSecondStripGroupList = -1 - Me.theStripGroupUsesExtra8Bytes = False - - Dim bodyPartInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(Me.theVtxFileData.bodyPartOffset, SeekOrigin.Begin) - Me.theVtxFileData.theVtxBodyParts = New List(Of SourceVtxBodyPart)(Me.theVtxFileData.bodyPartCount) - For i As Integer = 0 To Me.theVtxFileData.bodyPartCount - 1 - bodyPartInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aBodyPart As New SourceVtxBodyPart() - aBodyPart.modelCount = Me.theInputFileReader.ReadInt32() - aBodyPart.modelOffset = Me.theInputFileReader.ReadInt32() - Me.theVtxFileData.theVtxBodyParts.Add(aBodyPart) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aBodyPart.modelCount > 0 AndAlso aBodyPart.modelOffset <> 0 Then - Me.ReadSourceVtxModels(bodyPartInputFileStreamPosition, aBodyPart) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End If - End Sub - -#End Region - -#Region "Private Methods" - - 'Private Sub ReadVtxMaterialReplacements() - ' If Me.theVtxFileData.materialReplacementListOffset > 0 Then - ' Dim inputFileStreamPosition As Long - - ' inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - ' Try - ' Me.theInputFileReader.BaseStream.Seek(Me.theVtxFileData.materialReplacementListOffset, SeekOrigin.Begin) - - ' Me.theVtxFileData.theVtxMaterialReplacements = New List(Of String)() - ' For j As Integer = 0 To aBodyPart.modelCount - 1 - ' Dim aModel As New SourceVtxModel() - ' aModel.lodCount = Me.theInputFileReader.ReadInt32() - ' aBodyPart.theVtxModels.Add(aModel) - ' Next - ' Catch ex As Exception - ' Dim debug As Integer = 4242 - ' End Try - - ' Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - ' End If - 'End Sub - - Private Sub ReadSourceVtxModels(ByVal bodyPartInputFileStreamPosition As Long, ByVal aBodyPart As SourceVtxBodyPart) - Dim modelInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(bodyPartInputFileStreamPosition + aBodyPart.modelOffset, SeekOrigin.Begin) - aBodyPart.theVtxModels = New List(Of SourceVtxModel)(aBodyPart.modelCount) - For j As Integer = 0 To aBodyPart.modelCount - 1 - modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModel As New SourceVtxModel() - aModel.lodCount = Me.theInputFileReader.ReadInt32() - aModel.lodOffset = Me.theInputFileReader.ReadInt32() - aBodyPart.theVtxModels.Add(aModel) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aModel.lodCount > 0 AndAlso aModel.lodOffset <> 0 Then - Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxModelLods(ByVal modelInputFileStreamPosition As Long, ByVal aModel As SourceVtxModel) - Dim modelLodInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(modelInputFileStreamPosition + aModel.lodOffset, SeekOrigin.Begin) - aModel.theVtxModelLods = New List(Of SourceVtxModelLod)(aModel.lodCount) - For j As Integer = 0 To aModel.lodCount - 1 - modelLodInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModelLod As New SourceVtxModelLod() - aModelLod.meshCount = Me.theInputFileReader.ReadInt32() - aModelLod.meshOffset = Me.theInputFileReader.ReadInt32() - aModelLod.switchPoint = Me.theInputFileReader.ReadSingle() - aModel.theVtxModelLods.Add(aModelLod) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aModelLod.meshCount > 0 AndAlso aModelLod.meshOffset <> 0 Then - Me.ReadSourceVtxMeshes(modelLodInputFileStreamPosition, aModelLod) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxMeshes(ByVal modelLodInputFileStreamPosition As Long, ByVal aModelLod As SourceVtxModelLod) - Dim meshInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(modelLodInputFileStreamPosition + aModelLod.meshOffset, SeekOrigin.Begin) - aModelLod.theVtxMeshes = New List(Of SourceVtxMesh)(aModelLod.meshCount) - For j As Integer = 0 To aModelLod.meshCount - 1 - meshInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aMesh As New SourceVtxMesh() - aMesh.stripGroupCount = Me.theInputFileReader.ReadInt32() - aMesh.stripGroupOffset = Me.theInputFileReader.ReadInt32() - aMesh.flags = Me.theInputFileReader.ReadByte() - aModelLod.theVtxMeshes.Add(aMesh) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aMesh.stripGroupCount > 0 AndAlso aMesh.stripGroupOffset <> 0 Then - If Me.theFirstMeshWithStripGroups Is Nothing Then - Me.theFirstMeshWithStripGroups = aMesh - Me.theFirstMeshWithStripGroupsInputFileStreamPosition = meshInputFileStreamPosition - Me.AnalyzeVtxStripGroups(meshInputFileStreamPosition, aMesh) - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - ElseIf Me.theSecondMeshWithStripGroups Is Nothing Then - Me.theSecondMeshWithStripGroups = aMesh - If Me.theExpectedStartOfSecondStripGroupList <> (meshInputFileStreamPosition + aMesh.stripGroupOffset) Then - Me.theStripGroupUsesExtra8Bytes = True - - If aMesh.theVtxStripGroups IsNot Nothing Then - aMesh.theVtxStripGroups.Clear() - End If - - Me.ReadSourceVtxStripGroups(Me.theFirstMeshWithStripGroupsInputFileStreamPosition, Me.theFirstMeshWithStripGroups) - End If - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - Else - Me.ReadSourceVtxStripGroups(meshInputFileStreamPosition, aMesh) - End If - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - 'TEST: / Save the first mesh that has strip groups and loop through the mesh's strip groups. - ' / Get the file offset and store as Me.theExpectedStartOfSecondStripGroupList. - ' / When the next strip group's offset is read in, compare with Me.theExpectedStartOfSecondStripGroupList. - ' If equal, then read from first mesh with strip groups without further checking. - ' Else (if unequal), then read from first mesh with strip groups - ' and continue reading remaining data using larger strip group size. - ' WORKS for the SFM, Dota 2, and L4D2 models I tested. - Private Sub AnalyzeVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aMesh As SourceVtxMesh) - Try - Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) - For j As Integer = 0 To aMesh.stripGroupCount - 1 - Dim aStripGroup As New SourceVtxStripGroup() - aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.indexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.indexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.stripCount = Me.theInputFileReader.ReadInt32() - aStripGroup.stripOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.flags = Me.theInputFileReader.ReadByte() - Next - - Me.theExpectedStartOfSecondStripGroupList = Me.theInputFileReader.BaseStream.Position - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aMesh As SourceVtxMesh) - Dim stripGroupInputFileStreamPosition As Long - Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) - For j As Integer = 0 To aMesh.stripGroupCount - 1 - stripGroupInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStripGroup As New SourceVtxStripGroup() - aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.indexCount = Me.theInputFileReader.ReadInt32() - aStripGroup.indexOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.stripCount = Me.theInputFileReader.ReadInt32() - aStripGroup.stripOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.flags = Me.theInputFileReader.ReadByte() - - 'TEST: Did not work for both Engineeer and doom. - 'If (aStripGroup.flags And SourceVtxStripGroup.SourceStripGroupDeltaFixed) > 0 Then - 'TEST: Works with models I tested from SFM, TF2 and Dota 2. - ' Failed on models compiled for L4D2. - If Me.theStripGroupUsesExtra8Bytes Then - ''TEST: Needed for SFM model, Barabus. - ' Skip for TF2 Engineer and Heavy. - Me.theInputFileReader.ReadInt32() - Me.theInputFileReader.ReadInt32() - End If - - aMesh.theVtxStripGroups.Add(aStripGroup) - - inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - If aStripGroup.vertexCount > 0 AndAlso aStripGroup.vertexOffset <> 0 Then - Me.ReadSourceVtxVertexes(stripGroupInputFileStreamPosition, aStripGroup) - 'TEST: Did not correct the missing SFM HWM Sniper left arm mesh. - 'ElseIf j > 0 Then - ' aStripGroup.vertexCount = aMesh.theVtxStripGroups(j - 1).vertexCount - ' Me.ReadSourceVtxVertexes(stripGroupInputFileStreamPosition, aStripGroup) - 'TEST: Did not correct the missing SFM HWM Sniper left arm mesh. - 'ElseIf j > 0 Then - ' aStripGroup.theVtxVertexes = aMesh.theVtxStripGroups(j - 1).theVtxVertexes - End If - If aStripGroup.indexCount > 0 AndAlso aStripGroup.indexOffset <> 0 Then - Me.ReadSourceVtxIndexes(stripGroupInputFileStreamPosition, aStripGroup) - End If - If aStripGroup.stripCount > 0 AndAlso aStripGroup.stripOffset <> 0 Then - Me.ReadSourceVtxStrips(stripGroupInputFileStreamPosition, aStripGroup) - End If - - Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxVertexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.vertexOffset, SeekOrigin.Begin) - aStripGroup.theVtxVertexes = New List(Of SourceVtxVertex)(aStripGroup.vertexCount) - For j As Integer = 0 To aStripGroup.vertexCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aVertex As New SourceVtxVertex() - For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 - aVertex.boneWeightIndex(i) = Me.theInputFileReader.ReadByte() - Next - aVertex.boneCount = Me.theInputFileReader.ReadByte() - aVertex.originalMeshVertexIndex = Me.theInputFileReader.ReadUInt16() - For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 - aVertex.boneId(i) = Me.theInputFileReader.ReadByte() - Next - aStripGroup.theVtxVertexes.Add(aVertex) - - 'inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - 'If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aVertex) - 'End If - - 'Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - - Private Sub ReadSourceVtxIndexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.indexOffset, SeekOrigin.Begin) - aStripGroup.theVtxIndexes = New List(Of UShort)(aStripGroup.indexCount) - For j As Integer = 0 To aStripGroup.indexCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - aStripGroup.theVtxIndexes.Add(Me.theInputFileReader.ReadUInt16()) - - 'inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - 'If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - 'End If - - 'Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - End Try - End Sub - - Private Sub ReadSourceVtxStrips(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) - 'Dim modelInputFileStreamPosition As Long - 'Dim inputFileStreamPosition As Long - - Try - Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.stripOffset, SeekOrigin.Begin) - aStripGroup.theVtxStrips = New List(Of SourceVtxStrip)(aStripGroup.stripCount) - For j As Integer = 0 To aStripGroup.stripCount - 1 - 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStrip As New SourceVtxStrip() - aStrip.indexCount = Me.theInputFileReader.ReadInt32() - aStrip.indexMeshIndex = Me.theInputFileReader.ReadInt32() - aStrip.vertexCount = Me.theInputFileReader.ReadInt32() - aStrip.vertexMeshIndex = Me.theInputFileReader.ReadInt32() - aStrip.boneCount = Me.theInputFileReader.ReadInt16() - aStrip.flags = Me.theInputFileReader.ReadByte() - aStrip.boneStateChangeCount = Me.theInputFileReader.ReadInt32() - aStrip.boneStateChangeOffset = Me.theInputFileReader.ReadInt32() - aStripGroup.theVtxStrips.Add(aStrip) - - ' inputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - - ' If aModel.lodCount > 0 Then - ' Me.ReadSourceVtxModelLods(modelInputFileStreamPosition, aModel) - ' End If - - ' Me.theInputFileReader.BaseStream.Seek(inputFileStreamPosition, SeekOrigin.Begin) - Next - Catch - 'NOTE: It can reach here if Crowbar is still trying to figure out if the extra 8 bytes are needed. - End Try - End Sub - -#End Region - -#Region "Data" - - Private theInputFileReader As BinaryReader - Private theVtxFileData As SourceVtxFileData48 - - Private theFirstMeshWithStripGroups As SourceVtxMesh - Private theFirstMeshWithStripGroupsInputFileStreamPosition As Long - Private theSecondMeshWithStripGroups As SourceVtxMesh - Private theExpectedStartOfSecondStripGroupList As Long - Private theStripGroupUsesExtra8Bytes As Boolean - -#End Region - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceVtxFileData/SourceVtxFileData48.vb b/Crowbar/Core/SourceModel/SourceModel48/SourceVtxFileData/SourceVtxFileData48.vb deleted file mode 100644 index af43bbe..0000000 --- a/Crowbar/Core/SourceModel/SourceModel48/SourceVtxFileData/SourceVtxFileData48.vb +++ /dev/null @@ -1,66 +0,0 @@ -Public Class SourceVtxFileData48 - Inherits SourceFileData - - - - - 'FROM: SourceEngine2007_source\src/public/optimize.h - 'struct FileHeader_t - '{ - ' DECLARE_BYTESWAP_DATADESC(); - ' // file version as defined by OPTIMIZED_MODEL_FILE_VERSION - ' int version; - - ' // hardware params that affect how the model is to be optimized. - ' int vertCacheSize; - ' unsigned short maxBonesPerStrip; - ' unsigned short maxBonesPerTri; - ' int maxBonesPerVert; - - ' // must match checkSum in the .mdl - ' long checkSum; - - ' int numLODs; // garymcthack - this is also specified in ModelHeader_t and should match - - ' // one of these for each LOD - ' int materialReplacementListOffset; - ' MaterialReplacementListHeader_t *pMaterialReplacementList( int lodID ) const - ' { - ' MaterialReplacementListHeader_t *pDebug = - ' (MaterialReplacementListHeader_t *)(((byte *)this) + materialReplacementListOffset) + lodID; - ' return pDebug; - ' } - - ' int numBodyParts; - ' int bodyPartOffset; - ' inline BodyPartHeader_t *pBodyPart( int i ) const - ' { - ' BodyPartHeader_t *pDebug = (BodyPartHeader_t *)(((byte *)this) + bodyPartOffset) + i; - ' return pDebug; - ' }; - '}; - - - - Public version As Integer - - Public vertexCacheSize As Integer - Public maxBonesPerStrip As UShort - Public maxBonesPerTri As UShort - Public maxBonesPerVertex As Integer - - Public checksum As Integer - - Public lodCount As Integer - - Public materialReplacementListOffset As Integer - - Public bodyPartCount As Integer - Public bodyPartOffset As Integer - - - - Public theVtxBodyParts As List(Of SourceVtxBodyPart) - Public theVtxMaterialReplacements As List(Of String) - -End Class diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVertex2531.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVertex2531.vb deleted file mode 100644 index b363b97..0000000 --- a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVertex2531.vb +++ /dev/null @@ -1,12 +0,0 @@ -Public Class SourceVertex2531 - - Public weight(MAX_NUM_BONES_PER_VERT - 1) As Double - Public boneIndex(MAX_NUM_BONES_PER_VERT - 1) As Integer - Public boneCount As Integer - - Public position As New SourceVector() - Public normal As New SourceVector() - Public texCoordX As Double - Public texCoordY As Double - -End Class diff --git a/Crowbar/Crowbar.vbproj b/Crowbar/Crowbar.vbproj index b7dd1d2..39f6cb7 100644 --- a/Crowbar/Crowbar.vbproj +++ b/Crowbar/Crowbar.vbproj @@ -364,8 +364,6 @@ - - @@ -376,8 +374,6 @@ - - @@ -402,7 +398,6 @@ - @@ -473,8 +468,6 @@ - - @@ -484,13 +477,11 @@ - - @@ -582,7 +573,6 @@ - From ba757db7910de2a845a8ab07c789704741990b02 Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Sat, 27 Jul 2019 13:51:53 -0400 Subject: [PATCH 03/65] Rename some VTX data class names and move the files. --- .../Core/SourceModel/- Base/SourceModel.vb | 4 +- .../SourceModel44/SourceModel44.vb | 6 +-- .../SourceModel44/SourceQcFile44.vb | 8 +-- .../SourceModel44/SourceSmdFile44.vb | 12 ++--- .../SourceModel45/SourceModel45.vb | 12 ++--- .../SourceModel45/SourceQcFile45.vb | 12 ++--- .../SourceModel45/SourceSmdFile45.vb | 12 ++--- .../SourceModel46/SourceModel46.vb | 12 ++--- .../SourceModel46/SourceQcFile46.vb | 12 ++--- .../SourceModel46/SourceSmdFile46.vb | 12 ++--- .../SourceModel48/SourceModel48.vb | 6 +-- .../SourceModel48/SourceQcFile48.vb | 8 +-- .../SourceModel48/SourceSmdFile48.vb | 12 ++--- .../SourceModel49/SourceModel49.vb | 6 +-- .../SourceModel49/SourceQcFile49.vb | 8 +-- .../SourceModel49/SourceSmdFile49.vb | 12 ++--- .../SourceModel52/SourceModel52.vb | 6 +-- .../SourceModel52/SourceQcFile52.vb | 8 +-- .../SourceModel52/SourceSmdFile52.vb | 12 ++--- .../SourceModel53/SourceModel53.vb | 6 +-- .../SourceModel53/SourceQcFile53.vb | 8 +-- .../SourceModel53/SourceSmdFile53.vb | 12 ++--- .../SourceVtxFile06/SourceVtxFile06.vb | 2 +- .../SourceVtxFile06/SourceVtxStripGroup06.vb | 7 +++ .../SourceVtxFile07/SourceVtxBodyPart07.vb} | 4 +- .../SourceVtxBoneStateChange07.vb} | 2 +- .../SourceVtxFile07/SourceVtxFile07.vb | 52 +++++++++---------- .../SourceVtxFile07/SourceVtxFileData07.vb | 2 +- .../SourceVtxFile07/SourceVtxMesh07.vb} | 4 +- .../SourceVtxFile07/SourceVtxModel07.vb} | 4 +- .../SourceVtxFile07/SourceVtxModelLod07.vb} | 4 +- .../SourceVtxFile07/SourceVtxStrip07.vb} | 4 +- .../SourceVtxFile07/SourceVtxStripGroup07.vb} | 13 ++--- .../SourceVtxFile07/SourceVtxVertex07.vb} | 2 +- Crowbar/Crowbar.vbproj | 18 +++---- 35 files changed, 161 insertions(+), 163 deletions(-) rename Crowbar/Core/SourceModel/{SourceCommon/SourceVtxFileData/SourceVtxBodyPart.vb => SourceVtxFile/SourceVtxFile07/SourceVtxBodyPart07.vb} (81%) rename Crowbar/Core/SourceModel/{SourceCommon/SourceVtxFileData/SourceVtxBoneStateChange.vb => SourceVtxFile/SourceVtxFile07/SourceVtxBoneStateChange07.vb} (84%) rename Crowbar/Core/SourceModel/{SourceCommon/SourceVtxFileData/SourceVtxMesh.vb => SourceVtxFile/SourceVtxFile07/SourceVtxMesh07.vb} (91%) rename Crowbar/Core/SourceModel/{SourceCommon/SourceVtxFileData/SourceVtxModel.vb => SourceVtxFile/SourceVtxFile07/SourceVtxModel07.vb} (86%) rename Crowbar/Core/SourceModel/{SourceCommon/SourceVtxFileData/SourceVtxModelLod.vb => SourceVtxFile/SourceVtxFile07/SourceVtxModelLod07.vb} (87%) rename Crowbar/Core/SourceModel/{SourceCommon/SourceVtxFileData/SourceVtxStrip.vb => SourceVtxFile/SourceVtxFile07/SourceVtxStrip07.vb} (97%) rename Crowbar/Core/SourceModel/{SourceCommon/SourceVtxFileData/SourceVtxStripGroup.vb => SourceVtxFile/SourceVtxFile07/SourceVtxStripGroup07.vb} (89%) rename Crowbar/Core/SourceModel/{SourceCommon/SourceVtxFileData/SourceVtxVertex.vb => SourceVtxFile/SourceVtxFile07/SourceVtxVertex07.vb} (96%) diff --git a/Crowbar/Core/SourceModel/- Base/SourceModel.vb b/Crowbar/Core/SourceModel/- Base/SourceModel.vb index 52d878d..cc3de96 100644 --- a/Crowbar/Core/SourceModel/- Base/SourceModel.vb +++ b/Crowbar/Core/SourceModel/- Base/SourceModel.vb @@ -439,7 +439,7 @@ Public MustInherit Class SourceModel Return status End Function - Public Overridable Function WriteMeshSmdFile(ByVal smdPathFileName As String, ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) As String + Public Overridable Function WriteMeshSmdFile(ByVal smdPathFileName As String, ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) As String Dim status As String = "Success" Try @@ -688,7 +688,7 @@ Public MustInherit Class SourceModel End Sub - Protected Overridable Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Protected Overridable Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) End Sub diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceModel44.vb b/Crowbar/Core/SourceModel/SourceModel44/SourceModel44.vb index f55da57..7039dca 100644 --- a/Crowbar/Core/SourceModel/SourceModel44/SourceModel44.vb +++ b/Crowbar/Core/SourceModel/SourceModel44/SourceModel44.vb @@ -604,8 +604,8 @@ Public Class SourceModel44 'Dim smdFileName As String Dim smdPathFileName As String - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim bodyPartVertexIndexStart As Integer @@ -658,7 +658,7 @@ Public Class SourceModel44 Return status End Function - Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim smdFile As New SourceSmdFile44(Me.theOutputFileTextWriter, Me.theMdlFileData, Me.theVvdFileData) Try diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceQcFile44.vb b/Crowbar/Core/SourceModel/SourceModel44/SourceQcFile44.vb index de85bbf..160c2b1 100644 --- a/Crowbar/Core/SourceModel/SourceModel44/SourceQcFile44.vb +++ b/Crowbar/Core/SourceModel/SourceModel44/SourceQcFile44.vb @@ -1115,8 +1115,8 @@ Public Class SourceQcFile44 Return End If - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim lodIndex As Integer Dim aLodQcInfo As LodQcInfo @@ -4163,9 +4163,9 @@ Public Class SourceQcFile44 Public Sub WriteBodyGroupCommand() Dim line As String = "" Dim aBodyPart As SourceMdlBodyPart - Dim aVtxBodyPart As SourceVtxBodyPart + Dim aVtxBodyPart As SourceVtxBodyPart07 Dim aBodyModel As SourceMdlModel - Dim aVtxModel As SourceVtxModel + Dim aVtxModel As SourceVtxModel07 '$bodygroup "belt" '{ diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceSmdFile44.vb b/Crowbar/Core/SourceModel/SourceModel44/SourceSmdFile44.vb index 66c6723..a3aef61 100644 --- a/Crowbar/Core/SourceModel/SourceModel44/SourceSmdFile44.vb +++ b/Crowbar/Core/SourceModel/SourceModel44/SourceSmdFile44.vb @@ -96,7 +96,7 @@ Public Class SourceSmdFile44 Me.theOutputFileStreamWriter.WriteLine(line) End Sub - Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel07, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim line As String = "" Dim materialLine As String = "" Dim vertex1Line As String = "" @@ -107,9 +107,9 @@ Public Class SourceSmdFile44 line = "triangles" Me.theOutputFileStreamWriter.WriteLine(line) - Dim aVtxLod As SourceVtxModelLod - Dim aVtxMesh As SourceVtxMesh - Dim aStripGroup As SourceVtxStripGroup + Dim aVtxLod As SourceVtxModelLod07 + Dim aVtxMesh As SourceVtxMesh07 + Dim aStripGroup As SourceVtxStripGroup07 'Dim cumulativeVertexCount As Integer 'Dim maxIndexForMesh As Integer 'Dim cumulativeMaxIndex As Integer @@ -502,9 +502,9 @@ Public Class SourceSmdFile44 End If End Sub - Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String + Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup07, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String Dim aVtxVertexIndex As UShort - Dim aVtxVertex As SourceVtxVertex + Dim aVtxVertex As SourceVtxVertex07 Dim aVertex As SourceVertex Dim vertexIndex As Integer Dim line As String diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceModel45.vb b/Crowbar/Core/SourceModel/SourceModel45/SourceModel45.vb index 0bef24b..bbfa23d 100644 --- a/Crowbar/Core/SourceModel/SourceModel45/SourceModel45.vb +++ b/Crowbar/Core/SourceModel/SourceModel45/SourceModel45.vb @@ -461,10 +461,10 @@ Public Class SourceModel45 Protected Overrides Sub ReadVtxFile_Internal() If Me.theVtxFileData Is Nothing Then - Me.theVtxFileData = New SourceVtxFileData45() + Me.theVtxFileData = New SourceVtxFileData07() End If - Dim vtxFile As New SourceVtxFile45(Me.theInputFileReader, Me.theVtxFileData) + Dim vtxFile As New SourceVtxFile07(Me.theInputFileReader, Me.theVtxFileData, False) vtxFile.ReadSourceVtxHeader() If Me.theVtxFileData.lodCount > 0 Then @@ -548,8 +548,8 @@ Public Class SourceModel45 'Dim smdFileName As String Dim smdPathFileName As String - Dim aVtxBodyPart As SourceVtxBodyPart - Dim aVtxBodyModel As SourceVtxModel + Dim aVtxBodyPart As SourceVtxBodyPart07 + Dim aVtxBodyModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim bodyPartVertexIndexStart As Integer @@ -602,7 +602,7 @@ Public Class SourceModel45 Return status End Function - Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim smdFile As New SourceSmdFile45(Me.theOutputFileTextWriter, Me.theMdlFileData, Me.theVvdFileData) Try @@ -710,7 +710,7 @@ Public Class SourceModel45 Private theAniFileData As SourceAniFileData45 Private theMdlFileData As SourceMdlFileData45 'Private thePhyFileData As SourcePhyFileData45 - Private theVtxFileData As SourceVtxFileData45 + Private theVtxFileData As SourceVtxFileData07 Private theVvdFileData As SourceVvdFileData04 #End Region diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceQcFile45.vb b/Crowbar/Core/SourceModel/SourceModel45/SourceQcFile45.vb index 0cab881..81aa3e0 100644 --- a/Crowbar/Core/SourceModel/SourceModel45/SourceQcFile45.vb +++ b/Crowbar/Core/SourceModel/SourceModel45/SourceQcFile45.vb @@ -6,7 +6,7 @@ Public Class SourceQcFile45 #Region "Creation and Destruction" - Public Sub New(ByVal outputFileStream As StreamWriter, ByVal outputPathFileName As String, ByVal mdlFileData As SourceMdlFileData45, ByVal vtxFileData As SourceVtxFileData45, ByVal phyFileData As SourcePhyFileData, ByVal aniFileData As SourceAniFileData45, ByVal modelName As String) + Public Sub New(ByVal outputFileStream As StreamWriter, ByVal outputPathFileName As String, ByVal mdlFileData As SourceMdlFileData45, ByVal vtxFileData As SourceVtxFileData07, ByVal phyFileData As SourcePhyFileData, ByVal aniFileData As SourceAniFileData45, ByVal modelName As String) Me.theOutputFileStreamWriter = outputFileStream Me.theMdlFileData = mdlFileData Me.thePhyFileData = phyFileData @@ -1167,8 +1167,8 @@ Public Class SourceQcFile45 ' Me.theOutputFileStreamWriter.WriteLine(line) 'Next '====== - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim aLodQcInfo As LodQcInfo Dim aLodQcInfoList As List(Of LodQcInfo) @@ -3976,9 +3976,9 @@ Public Class SourceQcFile45 Public Sub WriteBodyGroupCommand(ByVal startIndex As Integer) Dim line As String = "" Dim aBodyPart As SourceMdlBodyPart - Dim aVtxBodyPart As SourceVtxBodyPart + Dim aVtxBodyPart As SourceVtxBodyPart07 Dim aBodyModel As SourceMdlModel - Dim aVtxModel As SourceVtxModel + Dim aVtxModel As SourceVtxModel07 '$bodygroup "belt" '{ @@ -4352,7 +4352,7 @@ Public Class SourceQcFile45 Private theAniFileData As SourceAniFileData45 Private theMdlFileData As SourceMdlFileData45 Private thePhyFileData As SourcePhyFileData - Private theVtxFileData As SourceVtxFileData45 + Private theVtxFileData As SourceVtxFileData07 Private theModelName As String Private theOutputPath As String diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceSmdFile45.vb b/Crowbar/Core/SourceModel/SourceModel45/SourceSmdFile45.vb index f87774c..3eec25f 100644 --- a/Crowbar/Core/SourceModel/SourceModel45/SourceSmdFile45.vb +++ b/Crowbar/Core/SourceModel/SourceModel45/SourceSmdFile45.vb @@ -96,7 +96,7 @@ Public Class SourceSmdFile45 Me.theOutputFileStreamWriter.WriteLine(line) End Sub - Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel07, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim line As String = "" Dim materialLine As String = "" Dim vertex1Line As String = "" @@ -107,9 +107,9 @@ Public Class SourceSmdFile45 line = "triangles" Me.theOutputFileStreamWriter.WriteLine(line) - Dim aVtxLod As SourceVtxModelLod - Dim aVtxMesh As SourceVtxMesh - Dim aStripGroup As SourceVtxStripGroup + Dim aVtxLod As SourceVtxModelLod07 + Dim aVtxMesh As SourceVtxMesh07 + Dim aStripGroup As SourceVtxStripGroup07 'Dim cumulativeVertexCount As Integer 'Dim maxIndexForMesh As Integer 'Dim cumulativeMaxIndex As Integer @@ -589,9 +589,9 @@ Public Class SourceSmdFile45 Next End Sub - Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String + Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup07, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String Dim aVtxVertexIndex As UShort - Dim aVtxVertex As SourceVtxVertex + Dim aVtxVertex As SourceVtxVertex07 Dim aVertex As SourceVertex Dim vertexIndex As Integer Dim line As String diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceModel46.vb b/Crowbar/Core/SourceModel/SourceModel46/SourceModel46.vb index f2bc7d5..ae5b099 100644 --- a/Crowbar/Core/SourceModel/SourceModel46/SourceModel46.vb +++ b/Crowbar/Core/SourceModel/SourceModel46/SourceModel46.vb @@ -461,10 +461,10 @@ Public Class SourceModel46 Protected Overrides Sub ReadVtxFile_Internal() If Me.theVtxFileData Is Nothing Then - Me.theVtxFileData = New SourceVtxFileData46() + Me.theVtxFileData = New SourceVtxFileData07() End If - Dim vtxFile As New SourceVtxFile46(Me.theInputFileReader, Me.theVtxFileData) + Dim vtxFile As New SourceVtxFile07(Me.theInputFileReader, Me.theVtxFileData, False) vtxFile.ReadSourceVtxHeader() If Me.theVtxFileData.lodCount > 0 Then @@ -548,8 +548,8 @@ Public Class SourceModel46 'Dim smdFileName As String Dim smdPathFileName As String - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim bodyPartVertexIndexStart As Integer @@ -602,7 +602,7 @@ Public Class SourceModel46 Return status End Function - Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim smdFile As New SourceSmdFile46(Me.theOutputFileTextWriter, Me.theMdlFileData, Me.theVvdFileData) Try @@ -710,7 +710,7 @@ Public Class SourceModel46 Private theAniFileData As SourceAniFileData46 Private theMdlFileData As SourceMdlFileData46 'Private thePhyFileData As SourcePhyFileData46 - Private theVtxFileData As SourceVtxFileData46 + Private theVtxFileData As SourceVtxFileData07 Private theVvdFileData As SourceVvdFileData04 #End Region diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceQcFile46.vb b/Crowbar/Core/SourceModel/SourceModel46/SourceQcFile46.vb index dbe3c52..c6fb4cc 100644 --- a/Crowbar/Core/SourceModel/SourceModel46/SourceQcFile46.vb +++ b/Crowbar/Core/SourceModel/SourceModel46/SourceQcFile46.vb @@ -6,7 +6,7 @@ Public Class SourceQcFile46 #Region "Creation and Destruction" - Public Sub New(ByVal outputFileStream As StreamWriter, ByVal outputPathFileName As String, ByVal mdlFileData As SourceMdlFileData46, ByVal vtxFileData As SourceVtxFileData46, ByVal phyFileData As SourcePhyFileData, ByVal aniFileData As SourceAniFileData46, ByVal modelName As String) + Public Sub New(ByVal outputFileStream As StreamWriter, ByVal outputPathFileName As String, ByVal mdlFileData As SourceMdlFileData46, ByVal vtxFileData As SourceVtxFileData07, ByVal phyFileData As SourcePhyFileData, ByVal aniFileData As SourceAniFileData46, ByVal modelName As String) Me.theOutputFileStreamWriter = outputFileStream Me.theMdlFileData = mdlFileData Me.thePhyFileData = phyFileData @@ -1167,8 +1167,8 @@ Public Class SourceQcFile46 ' Me.theOutputFileStreamWriter.WriteLine(line) 'Next '====== - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim aLodQcInfo As LodQcInfo Dim aLodQcInfoList As List(Of LodQcInfo) @@ -3976,9 +3976,9 @@ Public Class SourceQcFile46 Public Sub WriteBodyGroupCommand(ByVal startIndex As Integer) Dim line As String = "" Dim aBodyPart As SourceMdlBodyPart - Dim aVtxBodyPart As SourceVtxBodyPart + Dim aVtxBodyPart As SourceVtxBodyPart07 Dim aBodyModel As SourceMdlModel - Dim aVtxModel As SourceVtxModel + Dim aVtxModel As SourceVtxModel07 '$bodygroup "belt" '{ @@ -4352,7 +4352,7 @@ Public Class SourceQcFile46 Private theAniFileData As SourceAniFileData46 Private theMdlFileData As SourceMdlFileData46 Private thePhyFileData As SourcePhyFileData - Private theVtxFileData As SourceVtxFileData46 + Private theVtxFileData As SourceVtxFileData07 Private theModelName As String Private theOutputPath As String diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceSmdFile46.vb b/Crowbar/Core/SourceModel/SourceModel46/SourceSmdFile46.vb index cd263f1..35f24e0 100644 --- a/Crowbar/Core/SourceModel/SourceModel46/SourceSmdFile46.vb +++ b/Crowbar/Core/SourceModel/SourceModel46/SourceSmdFile46.vb @@ -96,7 +96,7 @@ Public Class SourceSmdFile46 Me.theOutputFileStreamWriter.WriteLine(line) End Sub - Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel07, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim line As String = "" Dim materialLine As String = "" Dim vertex1Line As String = "" @@ -107,9 +107,9 @@ Public Class SourceSmdFile46 line = "triangles" Me.theOutputFileStreamWriter.WriteLine(line) - Dim aVtxLod As SourceVtxModelLod - Dim aVtxMesh As SourceVtxMesh - Dim aStripGroup As SourceVtxStripGroup + Dim aVtxLod As SourceVtxModelLod07 + Dim aVtxMesh As SourceVtxMesh07 + Dim aStripGroup As SourceVtxStripGroup07 'Dim cumulativeVertexCount As Integer 'Dim maxIndexForMesh As Integer 'Dim cumulativeMaxIndex As Integer @@ -587,9 +587,9 @@ Public Class SourceSmdFile46 Next End Sub - Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String + Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup07, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String Dim aVtxVertexIndex As UShort - Dim aVtxVertex As SourceVtxVertex + Dim aVtxVertex As SourceVtxVertex07 Dim aVertex As SourceVertex Dim vertexIndex As Integer Dim line As String diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceModel48.vb b/Crowbar/Core/SourceModel/SourceModel48/SourceModel48.vb index fe6a2ac..05aa892 100644 --- a/Crowbar/Core/SourceModel/SourceModel48/SourceModel48.vb +++ b/Crowbar/Core/SourceModel/SourceModel48/SourceModel48.vb @@ -579,8 +579,8 @@ Public Class SourceModel48 Dim smdFileName As String Dim smdPathFileName As String - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim bodyPartVertexIndexStart As Integer @@ -633,7 +633,7 @@ Public Class SourceModel48 Return status End Function - Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim smdFile As New SourceSmdFile48(Me.theOutputFileTextWriter, Me.theMdlFileData, Me.theVvdFileData) Try diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceQcFile48.vb b/Crowbar/Core/SourceModel/SourceModel48/SourceQcFile48.vb index 800b898..77a39d9 100644 --- a/Crowbar/Core/SourceModel/SourceModel48/SourceQcFile48.vb +++ b/Crowbar/Core/SourceModel/SourceModel48/SourceQcFile48.vb @@ -1194,8 +1194,8 @@ Public Class SourceQcFile48 Return End If - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim lodIndex As Integer Dim aLodQcInfo As LodQcInfo @@ -4338,9 +4338,9 @@ Public Class SourceQcFile48 Public Sub WriteBodyGroupCommand() Dim line As String = "" Dim aBodyPart As SourceMdlBodyPart - Dim aVtxBodyPart As SourceVtxBodyPart + Dim aVtxBodyPart As SourceVtxBodyPart07 Dim aBodyModel As SourceMdlModel - Dim aVtxModel As SourceVtxModel + Dim aVtxModel As SourceVtxModel07 '$bodygroup "belt" '{ diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceSmdFile48.vb b/Crowbar/Core/SourceModel/SourceModel48/SourceSmdFile48.vb index 7ac4276..f086974 100644 --- a/Crowbar/Core/SourceModel/SourceModel48/SourceSmdFile48.vb +++ b/Crowbar/Core/SourceModel/SourceModel48/SourceSmdFile48.vb @@ -96,7 +96,7 @@ Public Class SourceSmdFile48 Me.theOutputFileStreamWriter.WriteLine(line) End Sub - Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel07, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim line As String = "" Dim materialLine As String = "" Dim vertex1Line As String = "" @@ -107,9 +107,9 @@ Public Class SourceSmdFile48 line = "triangles" Me.theOutputFileStreamWriter.WriteLine(line) - Dim aVtxLod As SourceVtxModelLod - Dim aVtxMesh As SourceVtxMesh - Dim aStripGroup As SourceVtxStripGroup + Dim aVtxLod As SourceVtxModelLod07 + Dim aVtxMesh As SourceVtxMesh07 + Dim aStripGroup As SourceVtxStripGroup07 'Dim cumulativeVertexCount As Integer 'Dim maxIndexForMesh As Integer 'Dim cumulativeMaxIndex As Integer @@ -792,9 +792,9 @@ Public Class SourceSmdFile48 Next End Sub - Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String + Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup07, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String Dim aVtxVertexIndex As UShort - Dim aVtxVertex As SourceVtxVertex + Dim aVtxVertex As SourceVtxVertex07 Dim aVertex As SourceVertex Dim vertexIndex As Integer Dim line As String diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceModel49.vb b/Crowbar/Core/SourceModel/SourceModel49/SourceModel49.vb index 0fae39f..d70f50a 100644 --- a/Crowbar/Core/SourceModel/SourceModel49/SourceModel49.vb +++ b/Crowbar/Core/SourceModel/SourceModel49/SourceModel49.vb @@ -622,8 +622,8 @@ Public Class SourceModel49 Dim smdFileName As String Dim smdPathFileName As String - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim bodyPartVertexIndexStart As Integer @@ -676,7 +676,7 @@ Public Class SourceModel49 Return status End Function - Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim smdFile As New SourceSmdFile49(Me.theOutputFileTextWriter, Me.theMdlFileData, Me.theVvdFileData49) Try diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceQcFile49.vb b/Crowbar/Core/SourceModel/SourceModel49/SourceQcFile49.vb index 55b714e..9d48457 100644 --- a/Crowbar/Core/SourceModel/SourceModel49/SourceQcFile49.vb +++ b/Crowbar/Core/SourceModel/SourceModel49/SourceQcFile49.vb @@ -1143,8 +1143,8 @@ Public Class SourceQcFile49 Return End If - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim lodIndex As Integer Dim aLodQcInfo As LodQcInfo @@ -4375,9 +4375,9 @@ Public Class SourceQcFile49 Public Sub WriteBodyGroupCommand() Dim line As String = "" Dim aBodyPart As SourceMdlBodyPart - Dim aVtxBodyPart As SourceVtxBodyPart + Dim aVtxBodyPart As SourceVtxBodyPart07 Dim aBodyModel As SourceMdlModel - Dim aVtxModel As SourceVtxModel + Dim aVtxModel As SourceVtxModel07 '$bodygroup "belt" '{ diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceSmdFile49.vb b/Crowbar/Core/SourceModel/SourceModel49/SourceSmdFile49.vb index d415302..b65ddb7 100644 --- a/Crowbar/Core/SourceModel/SourceModel49/SourceSmdFile49.vb +++ b/Crowbar/Core/SourceModel/SourceModel49/SourceSmdFile49.vb @@ -182,7 +182,7 @@ Public Class SourceSmdFile49 Me.theOutputFileStreamWriter.WriteLine(line) End Sub - Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel07, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim line As String = "" Dim materialLine As String = "" Dim vertex1Line As String = "" @@ -193,9 +193,9 @@ Public Class SourceSmdFile49 line = "triangles" Me.theOutputFileStreamWriter.WriteLine(line) - Dim aVtxLod As SourceVtxModelLod - Dim aVtxMesh As SourceVtxMesh - Dim aStripGroup As SourceVtxStripGroup + Dim aVtxLod As SourceVtxModelLod07 + Dim aVtxMesh As SourceVtxMesh07 + Dim aStripGroup As SourceVtxStripGroup07 'Dim cumulativeVertexCount As Integer 'Dim maxIndexForMesh As Integer 'Dim cumulativeMaxIndex As Integer @@ -1582,9 +1582,9 @@ Public Class SourceSmdFile49 'End If End Sub - Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String + Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup07, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String Dim aVtxVertexIndex As UShort - Dim aVtxVertex As SourceVtxVertex + Dim aVtxVertex As SourceVtxVertex07 Dim aVertex As SourceVertex Dim vertexIndex As Integer Dim line As String diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceModel52.vb b/Crowbar/Core/SourceModel/SourceModel52/SourceModel52.vb index dadf8e8..bd2b5d5 100644 --- a/Crowbar/Core/SourceModel/SourceModel52/SourceModel52.vb +++ b/Crowbar/Core/SourceModel/SourceModel52/SourceModel52.vb @@ -559,8 +559,8 @@ Public Class SourceModel52 Dim smdFileName As String Dim smdPathFileName As String - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim bodyPartVertexIndexStart As Integer @@ -613,7 +613,7 @@ Public Class SourceModel52 Return status End Function - Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim smdFile As New SourceSmdFile52(Me.theOutputFileTextWriter, Me.theMdlFileData, Me.theVvdFileData49) Try diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceQcFile52.vb b/Crowbar/Core/SourceModel/SourceModel52/SourceQcFile52.vb index 389e452..4402eca 100644 --- a/Crowbar/Core/SourceModel/SourceModel52/SourceQcFile52.vb +++ b/Crowbar/Core/SourceModel/SourceModel52/SourceQcFile52.vb @@ -1119,8 +1119,8 @@ Public Class SourceQcFile52 Return End If - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim lodIndex As Integer Dim aLodQcInfo As LodQcInfo @@ -4223,9 +4223,9 @@ Public Class SourceQcFile52 Public Sub WriteBodyGroupCommand() Dim line As String = "" Dim aBodyPart As SourceMdlBodyPart - Dim aVtxBodyPart As SourceVtxBodyPart + Dim aVtxBodyPart As SourceVtxBodyPart07 Dim aBodyModel As SourceMdlModel - Dim aVtxModel As SourceVtxModel + Dim aVtxModel As SourceVtxModel07 '$bodygroup "belt" '{ diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceSmdFile52.vb b/Crowbar/Core/SourceModel/SourceModel52/SourceSmdFile52.vb index 34dfebf..ab7f858 100644 --- a/Crowbar/Core/SourceModel/SourceModel52/SourceSmdFile52.vb +++ b/Crowbar/Core/SourceModel/SourceModel52/SourceSmdFile52.vb @@ -111,7 +111,7 @@ Public Class SourceSmdFile52 Me.theOutputFileStreamWriter.WriteLine(line) End Sub - Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel07, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim line As String = "" Dim materialLine As String = "" Dim vertex1Line As String = "" @@ -122,9 +122,9 @@ Public Class SourceSmdFile52 line = "triangles" Me.theOutputFileStreamWriter.WriteLine(line) - Dim aVtxLod As SourceVtxModelLod - Dim aVtxMesh As SourceVtxMesh - Dim aStripGroup As SourceVtxStripGroup + Dim aVtxLod As SourceVtxModelLod07 + Dim aVtxMesh As SourceVtxMesh07 + Dim aStripGroup As SourceVtxStripGroup07 'Dim cumulativeVertexCount As Integer 'Dim maxIndexForMesh As Integer 'Dim cumulativeMaxIndex As Integer @@ -641,9 +641,9 @@ Public Class SourceSmdFile52 End Sub - Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String + Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup07, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String Dim aVtxVertexIndex As UShort - Dim aVtxVertex As SourceVtxVertex + Dim aVtxVertex As SourceVtxVertex07 Dim aVertex As SourceVertex Dim vertexIndex As Integer Dim line As String diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceModel53.vb b/Crowbar/Core/SourceModel/SourceModel53/SourceModel53.vb index 6d70b9d..25a4155 100644 --- a/Crowbar/Core/SourceModel/SourceModel53/SourceModel53.vb +++ b/Crowbar/Core/SourceModel/SourceModel53/SourceModel53.vb @@ -572,8 +572,8 @@ Public Class SourceModel53 Dim smdFileName As String Dim smdPathFileName As String - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim bodyPartVertexIndexStart As Integer @@ -626,7 +626,7 @@ Public Class SourceModel53 Return status End Function - Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Protected Overrides Sub WriteMeshSmdFile(ByVal lodIndex As Integer, ByVal aVtxModel As SourceVtxModel07, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim smdFile As New SourceSmdFile53(Me.theOutputFileTextWriter, Me.theMdlFileData, Me.theVvdFileData49) Try diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceQcFile53.vb b/Crowbar/Core/SourceModel/SourceModel53/SourceQcFile53.vb index 7575642..822ee90 100644 --- a/Crowbar/Core/SourceModel/SourceModel53/SourceQcFile53.vb +++ b/Crowbar/Core/SourceModel/SourceModel53/SourceQcFile53.vb @@ -1061,8 +1061,8 @@ Public Class SourceQcFile53 Return End If - Dim aBodyPart As SourceVtxBodyPart - Dim aVtxModel As SourceVtxModel + Dim aBodyPart As SourceVtxBodyPart07 + Dim aVtxModel As SourceVtxModel07 Dim aBodyModel As SourceMdlModel Dim lodIndex As Integer Dim aLodQcInfo As LodQcInfo @@ -3942,9 +3942,9 @@ Public Class SourceQcFile53 Public Sub WriteBodyGroupCommand() Dim line As String = "" Dim aBodyPart As SourceMdlBodyPart - Dim aVtxBodyPart As SourceVtxBodyPart + Dim aVtxBodyPart As SourceVtxBodyPart07 Dim aBodyModel As SourceMdlModel - Dim aVtxModel As SourceVtxModel + Dim aVtxModel As SourceVtxModel07 '$bodygroup "belt" '{ diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceSmdFile53.vb b/Crowbar/Core/SourceModel/SourceModel53/SourceSmdFile53.vb index c9ca72b..8308f76 100644 --- a/Crowbar/Core/SourceModel/SourceModel53/SourceSmdFile53.vb +++ b/Crowbar/Core/SourceModel/SourceModel53/SourceSmdFile53.vb @@ -102,7 +102,7 @@ Public Class SourceSmdFile53 Me.theOutputFileStreamWriter.WriteLine(line) End Sub - Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) + Public Sub WriteTrianglesSection(ByVal aVtxModel As SourceVtxModel07, ByVal lodIndex As Integer, ByVal aModel As SourceMdlModel, ByVal bodyPartVertexIndexStart As Integer) Dim line As String = "" Dim materialLine As String = "" Dim vertex1Line As String = "" @@ -113,9 +113,9 @@ Public Class SourceSmdFile53 line = "triangles" Me.theOutputFileStreamWriter.WriteLine(line) - Dim aVtxLod As SourceVtxModelLod - Dim aVtxMesh As SourceVtxMesh - Dim aStripGroup As SourceVtxStripGroup + Dim aVtxLod As SourceVtxModelLod07 + Dim aVtxMesh As SourceVtxMesh07 + Dim aStripGroup As SourceVtxStripGroup07 'Dim cumulativeVertexCount As Integer 'Dim maxIndexForMesh As Integer 'Dim cumulativeMaxIndex As Integer @@ -625,9 +625,9 @@ Public Class SourceSmdFile53 End If End Sub - Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String + Private Function WriteVertexLine(ByVal aStripGroup As SourceVtxStripGroup07, ByVal aVtxIndexIndex As Integer, ByVal lodIndex As Integer, ByVal meshVertexIndexStart As Integer, ByVal bodyPartVertexIndexStart As Integer) As String Dim aVtxVertexIndex As UShort - Dim aVtxVertex As SourceVtxVertex + Dim aVtxVertex As SourceVtxVertex07 Dim aVertex As SourceVertex Dim vertexIndex As Integer Dim line As String diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxFile06.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxFile06.vb index 8c2b7b6..b1412ad 100644 --- a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxFile06.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxFile06.vb @@ -285,7 +285,7 @@ Public Class SourceVtxFile06 Me.ReadSourceVtxStrips(stripGroupInputFileStreamPosition, aStripGroup) 'TODO: Set whether stripgroup has flex vertexes in it or not for $lod facial and nofacial options. - If (aStripGroup.flags And SourceVtxStripGroup.SourceStripGroupFlexed) > 0 OrElse (aStripGroup.flags And SourceVtxStripGroup.SourceStripGroupDeltaFixed) > 0 Then + If (aStripGroup.flags And SourceVtxStripGroup06.STRIPGROUP_IS_FLEXED) > 0 Then aModelLod.theVtxModelLodUsesFacial = True '------ 'Dim aVtxVertex As SourceVtxVertex diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxStripGroup06.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxStripGroup06.vb index 9fb024d..9bb9252 100644 --- a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxStripGroup06.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxStripGroup06.vb @@ -44,6 +44,13 @@ Public Class SourceVtxStripGroup06 Public theVtxVertexes As List(Of SourceVtxVertex06) + 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h + ' [Version 36] + 'enum StripGroupFlags_t { + ' STRIPGROUP_IS_FLEXED = 0x01, + ' STRIPGROUP_IS_HWSKINNED = 0x02 + '}; + '------ 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 'enum StripGroupFlags_t { ' STRIPGROUP_IS_FLEXED = 0x01, diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxBodyPart.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBodyPart07.vb similarity index 81% rename from Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxBodyPart.vb rename to Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBodyPart07.vb index 2cb70bf..4766ffc 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxBodyPart.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBodyPart07.vb @@ -1,4 +1,4 @@ -Public Class SourceVtxBodyPart +Public Class SourceVtxBodyPart07 'FROM: src/public/optimize.h 'struct BodyPartHeader_t @@ -18,6 +18,6 @@ Public Class SourceVtxBodyPart - Public theVtxModels As List(Of SourceVtxModel) + Public theVtxModels As List(Of SourceVtxModel07) End Class diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxBoneStateChange.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBoneStateChange07.vb similarity index 84% rename from Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxBoneStateChange.vb rename to Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBoneStateChange07.vb index cc53025..b1784d1 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxBoneStateChange.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBoneStateChange07.vb @@ -1,4 +1,4 @@ -Public Class SourceVtxBoneStateChange +Public Class SourceVtxBoneStateChange07 'FROM: src/public/optimize.h 'struct BoneStateChangeHeader_t diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFile07.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFile07.vb index 64e3454..2464fd0 100644 --- a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFile07.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFile07.vb @@ -73,10 +73,10 @@ Public Class SourceVtxFile07 Me.theInputFileReader.BaseStream.Seek(Me.theVtxFileOffsetStart + Me.theVtxFileData.bodyPartOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - Me.theVtxFileData.theVtxBodyParts = New List(Of SourceVtxBodyPart)(Me.theVtxFileData.bodyPartCount) + Me.theVtxFileData.theVtxBodyParts = New List(Of SourceVtxBodyPart07)(Me.theVtxFileData.bodyPartCount) For i As Integer = 0 To Me.theVtxFileData.bodyPartCount - 1 bodyPartInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aBodyPart As New SourceVtxBodyPart() + Dim aBodyPart As New SourceVtxBodyPart07() aBodyPart.modelCount = Me.theInputFileReader.ReadInt32() aBodyPart.modelOffset = Me.theInputFileReader.ReadInt32() @@ -144,7 +144,7 @@ Public Class SourceVtxFile07 #Region "Private Methods" - Private Sub ReadSourceVtxModels(ByVal bodyPartInputFileStreamPosition As Long, ByVal aBodyPart As SourceVtxBodyPart) + Private Sub ReadSourceVtxModels(ByVal bodyPartInputFileStreamPosition As Long, ByVal aBodyPart As SourceVtxBodyPart07) If aBodyPart.modelCount > 0 AndAlso aBodyPart.modelOffset <> 0 Then Dim modelInputFileStreamPosition As Long Dim inputFileStreamPosition As Long @@ -157,10 +157,10 @@ Public Class SourceVtxFile07 Me.theInputFileReader.BaseStream.Seek(bodyPartInputFileStreamPosition + aBodyPart.modelOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aBodyPart.theVtxModels = New List(Of SourceVtxModel)(aBodyPart.modelCount) + aBodyPart.theVtxModels = New List(Of SourceVtxModel07)(aBodyPart.modelCount) For j As Integer = 0 To aBodyPart.modelCount - 1 modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModel As New SourceVtxModel() + Dim aModel As New SourceVtxModel07() aModel.lodCount = Me.theInputFileReader.ReadInt32() aModel.lodOffset = Me.theInputFileReader.ReadInt32() @@ -184,7 +184,7 @@ Public Class SourceVtxFile07 End If End Sub - Private Sub ReadSourceVtxModelLods(ByVal modelInputFileStreamPosition As Long, ByVal aModel As SourceVtxModel) + Private Sub ReadSourceVtxModelLods(ByVal modelInputFileStreamPosition As Long, ByVal aModel As SourceVtxModel07) Dim modelLodInputFileStreamPosition As Long Dim inputFileStreamPosition As Long Dim fileOffsetStart As Long @@ -196,10 +196,10 @@ Public Class SourceVtxFile07 Me.theInputFileReader.BaseStream.Seek(modelInputFileStreamPosition + aModel.lodOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aModel.theVtxModelLods = New List(Of SourceVtxModelLod)(aModel.lodCount) + aModel.theVtxModelLods = New List(Of SourceVtxModelLod07)(aModel.lodCount) For j As Integer = 0 To aModel.lodCount - 1 modelLodInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aModelLod As New SourceVtxModelLod() + Dim aModelLod As New SourceVtxModelLod07() aModelLod.meshCount = Me.theInputFileReader.ReadInt32() aModelLod.meshOffset = Me.theInputFileReader.ReadInt32() @@ -224,7 +224,7 @@ Public Class SourceVtxFile07 End Try End Sub - Private Sub ReadSourceVtxMeshes(ByVal modelLodInputFileStreamPosition As Long, ByVal aModelLod As SourceVtxModelLod) + Private Sub ReadSourceVtxMeshes(ByVal modelLodInputFileStreamPosition As Long, ByVal aModelLod As SourceVtxModelLod07) Dim meshInputFileStreamPosition As Long Dim inputFileStreamPosition As Long Dim fileOffsetStart As Long @@ -236,10 +236,10 @@ Public Class SourceVtxFile07 Me.theInputFileReader.BaseStream.Seek(modelLodInputFileStreamPosition + aModelLod.meshOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aModelLod.theVtxMeshes = New List(Of SourceVtxMesh)(aModelLod.meshCount) + aModelLod.theVtxMeshes = New List(Of SourceVtxMesh07)(aModelLod.meshCount) For j As Integer = 0 To aModelLod.meshCount - 1 meshInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aMesh As New SourceVtxMesh() + Dim aMesh As New SourceVtxMesh07() aMesh.stripGroupCount = Me.theInputFileReader.ReadInt32() aMesh.stripGroupOffset = Me.theInputFileReader.ReadInt32() @@ -379,7 +379,7 @@ Public Class SourceVtxFile07 ' End Try 'End Sub - Private Sub ReadSourceVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aModelLod As SourceVtxModelLod, ByVal aMesh As SourceVtxMesh) + Private Sub ReadSourceVtxStripGroups(ByVal meshInputFileStreamPosition As Long, ByVal aModelLod As SourceVtxModelLod07, ByVal aMesh As SourceVtxMesh07) Dim stripGroupInputFileStreamPosition As Long Dim inputFileStreamPosition As Long Dim fileOffsetStart As Long @@ -391,10 +391,10 @@ Public Class SourceVtxFile07 Me.theInputFileReader.BaseStream.Seek(meshInputFileStreamPosition + aMesh.stripGroupOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup)(aMesh.stripGroupCount) + aMesh.theVtxStripGroups = New List(Of SourceVtxStripGroup07)(aMesh.stripGroupCount) For j As Integer = 0 To aMesh.stripGroupCount - 1 stripGroupInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStripGroup As New SourceVtxStripGroup() + Dim aStripGroup As New SourceVtxStripGroup07() aStripGroup.vertexCount = Me.theInputFileReader.ReadInt32() aStripGroup.vertexOffset = Me.theInputFileReader.ReadInt32() @@ -448,7 +448,7 @@ Public Class SourceVtxFile07 End If 'TODO: Set whether stripgroup has flex vertexes in it or not for $lod facial and nofacial options. - If (aStripGroup.flags And SourceVtxStripGroup.SourceStripGroupFlexed) > 0 OrElse (aStripGroup.flags And SourceVtxStripGroup.SourceStripGroupDeltaFixed) > 0 Then + If (aStripGroup.flags And SourceVtxStripGroup07.SourceStripGroupFlexed) > 0 OrElse (aStripGroup.flags And SourceVtxStripGroup07.SourceStripGroupDeltaFixed) > 0 Then aModelLod.theVtxModelLodUsesFacial = True '------ 'Dim aVtxVertex As SourceVtxVertex @@ -476,7 +476,7 @@ Public Class SourceVtxFile07 End Try End Sub - Private Sub ReadSourceVtxVertexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) + Private Sub ReadSourceVtxVertexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup07) 'Dim modelInputFileStreamPosition As Long 'Dim inputFileStreamPosition As Long Dim fileOffsetStart As Long @@ -488,10 +488,10 @@ Public Class SourceVtxFile07 Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.vertexOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aStripGroup.theVtxVertexes = New List(Of SourceVtxVertex)(aStripGroup.vertexCount) + aStripGroup.theVtxVertexes = New List(Of SourceVtxVertex07)(aStripGroup.vertexCount) For j As Integer = 0 To aStripGroup.vertexCount - 1 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aVertex As New SourceVtxVertex() + Dim aVertex As New SourceVtxVertex07() For i As Integer = 0 To MAX_NUM_BONES_PER_VERT - 1 aVertex.boneWeightIndex(i) = Me.theInputFileReader.ReadByte() @@ -517,7 +517,7 @@ Public Class SourceVtxFile07 End Try End Sub - Private Sub ReadSourceVtxIndexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) + Private Sub ReadSourceVtxIndexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup07) 'Dim modelInputFileStreamPosition As Long 'Dim inputFileStreamPosition As Long Dim fileOffsetStart As Long @@ -547,7 +547,7 @@ Public Class SourceVtxFile07 End Try End Sub - Private Sub ReadSourceVtxStrips(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) + Private Sub ReadSourceVtxStrips(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup07) Dim stripInputFileStreamPosition As Long Dim inputFileStreamPosition As Long Dim fileOffsetStart As Long @@ -559,10 +559,10 @@ Public Class SourceVtxFile07 Me.theInputFileReader.BaseStream.Seek(stripGroupInputFileStreamPosition + aStripGroup.stripOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aStripGroup.theVtxStrips = New List(Of SourceVtxStrip)(aStripGroup.stripCount) + aStripGroup.theVtxStrips = New List(Of SourceVtxStrip07)(aStripGroup.stripCount) For j As Integer = 0 To aStripGroup.stripCount - 1 stripInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position - Dim aStrip As New SourceVtxStrip() + Dim aStrip As New SourceVtxStrip07() aStrip.indexCount = Me.theInputFileReader.ReadInt32() aStrip.indexMeshIndex = Me.theInputFileReader.ReadInt32() @@ -597,7 +597,7 @@ Public Class SourceVtxFile07 End Try End Sub - Private Sub ReadSourceVtxTopologyIndexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup) + Private Sub ReadSourceVtxTopologyIndexes(ByVal stripGroupInputFileStreamPosition As Long, ByVal aStripGroup As SourceVtxStripGroup07) 'Dim topologyInputFileStreamPosition As Long 'Dim inputFileStreamPosition As Long Dim fileOffsetStart As Long @@ -631,7 +631,7 @@ Public Class SourceVtxFile07 End Try End Sub - Private Sub ReadSourceVtxBoneStateChanges(ByVal stripInputFileStreamPosition As Long, ByVal aStrip As SourceVtxStrip) + Private Sub ReadSourceVtxBoneStateChanges(ByVal stripInputFileStreamPosition As Long, ByVal aStrip As SourceVtxStrip07) 'TODO: On an alyx.mdl from SFM, aStrip.boneStateChangeCount is over 800,000, so maybe when astrip.flag has bit flag 4 set, skip this reading. If ((aStrip.flags And 1) = 0) OrElse ((aStrip.flags And 4) > 0) Then Exit Sub @@ -657,11 +657,11 @@ Public Class SourceVtxFile07 fileOffsetStart = Me.theInputFileReader.BaseStream.Position 'aStrip.theVtxBoneStateChanges = New List(Of SourceVtxBoneStateChange)(aStrip.boneStateChangeCount) - aStrip.theVtxBoneStateChanges = New List(Of SourceVtxBoneStateChange)(boneStateChangeCount) + aStrip.theVtxBoneStateChanges = New List(Of SourceVtxBoneStateChange07)(boneStateChangeCount) For j As Integer = 0 To boneStateChangeCount - 1 'modelInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position 'fileOffsetStart = Me.theInputFileReader.BaseStream.Position - Dim aBoneStateChange As New SourceVtxBoneStateChange() + Dim aBoneStateChange As New SourceVtxBoneStateChange07() aBoneStateChange.hardwareId = Me.theInputFileReader.ReadInt32() aBoneStateChange.newBoneId = Me.theInputFileReader.ReadInt32() diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFileData07.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFileData07.vb index 22df5a0..572d199 100644 --- a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFileData07.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFileData07.vb @@ -60,7 +60,7 @@ - Public theVtxBodyParts As List(Of SourceVtxBodyPart) + Public theVtxBodyParts As List(Of SourceVtxBodyPart07) Public theVtxMaterialReplacementLists As List(Of SourceVtxMaterialReplacementList07) End Class diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMesh.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMesh07.vb similarity index 91% rename from Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMesh.vb rename to Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMesh07.vb index 958e3f0..5305437 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMesh.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMesh07.vb @@ -1,4 +1,4 @@ -Public Class SourceVtxMesh +Public Class SourceVtxMesh07 'FROM: src/public/optimize.h '// a collection of locking groups: @@ -28,7 +28,7 @@ Public Class SourceVtxMesh - Public theVtxStripGroups As List(Of SourceVtxStripGroup) + Public theVtxStripGroups As List(Of SourceVtxStripGroup07) diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxModel.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModel07.vb similarity index 86% rename from Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxModel.vb rename to Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModel07.vb index 11575a0..2e74c4f 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxModel.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModel07.vb @@ -1,4 +1,4 @@ -Public Class SourceVtxModel +Public Class SourceVtxModel07 'FROM: src/public/optimize.h '// This maps one to one with models in the mdl file. @@ -20,6 +20,6 @@ Public Class SourceVtxModel - Public theVtxModelLods As List(Of SourceVtxModelLod) + Public theVtxModelLods As List(Of SourceVtxModelLod07) End Class diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxModelLod.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModelLod07.vb similarity index 87% rename from Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxModelLod.vb rename to Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModelLod07.vb index 2a13907..038d2ae 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxModelLod.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModelLod07.vb @@ -1,4 +1,4 @@ -Public Class SourceVtxModelLod +Public Class SourceVtxModelLod07 'FROM: src/public/optimize.h 'struct ModelLODHeader_t @@ -21,7 +21,7 @@ Public Class SourceVtxModelLod - Public theVtxMeshes As List(Of SourceVtxMesh) + Public theVtxMeshes As List(Of SourceVtxMesh07) Public theVtxModelLodUsesFacial As Boolean End Class diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxStrip.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStrip07.vb similarity index 97% rename from Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxStrip.vb rename to Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStrip07.vb index 1582f31..56b0585 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxStrip.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStrip07.vb @@ -1,4 +1,4 @@ -Public Class SourceVtxStrip +Public Class SourceVtxStrip07 'FROM: src/public/optimize.h '// a strip is a piece of a stripgroup that is divided by bones @@ -47,7 +47,7 @@ Public Class SourceVtxStrip - Public theVtxBoneStateChanges As List(Of SourceVtxBoneStateChange) + Public theVtxBoneStateChanges As List(Of SourceVtxBoneStateChange07) diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxStripGroup.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStripGroup07.vb similarity index 89% rename from Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxStripGroup.vb rename to Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStripGroup07.vb index 7059c998..6e48bc8 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxStripGroup.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStripGroup07.vb @@ -1,4 +1,4 @@ -Public Class SourceVtxStripGroup +Public Class SourceVtxStripGroup07 'FROM: src/public/optimize.h '// a locking group @@ -93,19 +93,12 @@ Public Class SourceVtxStripGroup - Public theVtxVertexes As List(Of SourceVtxVertex) + Public theVtxVertexes As List(Of SourceVtxVertex07) Public theVtxIndexes As List(Of UShort) - Public theVtxStrips As List(Of SourceVtxStrip) + Public theVtxStrips As List(Of SourceVtxStrip07) Public theVtxTopologyIndexes As List(Of UShort) - 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h - ' [Version 36] - 'enum StripGroupFlags_t { - ' STRIPGROUP_IS_FLEXED = 0x01, - ' STRIPGROUP_IS_HWSKINNED = 0x02 - '}; - '------ 'FROM: src/public/optimize.h ' Enum StripGroupFlags_t '{ diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxVertex.vb b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxVertex07.vb similarity index 96% rename from Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxVertex.vb rename to Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxVertex07.vb index 33086c1..6a038fe 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxVertex.vb +++ b/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxVertex07.vb @@ -1,4 +1,4 @@ -Public Class SourceVtxVertex +Public Class SourceVtxVertex07 'FROM: src/public/studio.h '// NOTE!!! : Changing this number also changes the vtx file format!!!!! diff --git a/Crowbar/Crowbar.vbproj b/Crowbar/Crowbar.vbproj index 39f6cb7..dd70ab3 100644 --- a/Crowbar/Crowbar.vbproj +++ b/Crowbar/Crowbar.vbproj @@ -563,16 +563,14 @@ - - - - - - - - - - + + + + + + + + From 440d182b59d218d150a44c7b7ce857ac52b3ce7f Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Sat, 27 Jul 2019 13:52:50 -0400 Subject: [PATCH 04/65] Remove unused VTX data files. --- .../SourceVtxMaterialReplacement.vb | 21 ------------------- .../SourceVtxMaterialReplacementList.vb | 19 ----------------- Crowbar/Crowbar.vbproj | 2 +- 3 files changed, 1 insertion(+), 41 deletions(-) delete mode 100644 Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacement.vb delete mode 100644 Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacementList.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacement.vb b/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacement.vb deleted file mode 100644 index 9498097..0000000 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacement.vb +++ /dev/null @@ -1,21 +0,0 @@ -Public Class SourceVtxMaterialReplacement - - 'FROM: src/public/optimize.h - 'struct MaterialReplacementHeader_t - '{ - ' DECLARE_BYTESWAP_DATADESC(); - ' short materialID; - ' int replacementMaterialNameOffset; - ' inline const char *pMaterialReplacementName( void ) - ' { - ' const char *pDebug = (const char *)(((byte *)this) + replacementMaterialNameOffset); - ' return pDebug; - ' } - '}; - - Public materialId As Short - Public replacementMaterialNameOffset As Integer - - Public replacementMaterialName As String - -End Class diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacementList.vb b/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacementList.vb deleted file mode 100644 index e74a427..0000000 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacementList.vb +++ /dev/null @@ -1,19 +0,0 @@ -Public Class SourceVtxMaterialReplacementList - - 'FROM: src/public/optimize.h - 'struct MaterialReplacementListHeader_t - '{ - ' DECLARE_BYTESWAP_DATADESC(); - ' int numReplacements; - ' int replacementOffset; - ' inline MaterialReplacementHeader_t *pMaterialReplacement( int i ) const - ' { - ' MaterialReplacementHeader_t *pDebug = ( MaterialReplacementHeader_t *)(((byte *)this) + replacementOffset) + i; - ' return pDebug; - ' } - '}; - - Public replacementCount As Integer - Public replacementOffset As Integer - -End Class diff --git a/Crowbar/Crowbar.vbproj b/Crowbar/Crowbar.vbproj index dd70ab3..3487e03 100644 --- a/Crowbar/Crowbar.vbproj +++ b/Crowbar/Crowbar.vbproj @@ -563,7 +563,7 @@ - + From 637a85f842e2acba11476f58881e2f550b05b2a0 Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Sat, 27 Jul 2019 21:41:26 -0400 Subject: [PATCH 05/65] Delete old commented-out code. --- .../SourceModel49/SourceVtaFile49.vb | 508 +----------------- 1 file changed, 1 insertion(+), 507 deletions(-) diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb b/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb index 9094465..00cd45a 100644 --- a/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb +++ b/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb @@ -53,19 +53,10 @@ Public Class SourceVtaFile49 Public Sub WriteSkeletonSectionForVertexAnimation() Dim line As String = "" - 'Dim timeIndex As Integer - 'Dim flexDescHasBeenWritten As List(Of Integer) - 'Dim meshVertexIndexStart As Integer - 'skeleton line = "skeleton" Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 0" - 'Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 1" - 'Me.theOutputFileStreamWriter.WriteLine(line) - '====== If TheApp.Settings.DecompileStricterFormatIsChecked Then line = "time 0 # basis shape key" Else @@ -73,153 +64,6 @@ Public Class SourceVtaFile49 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'timeIndex = 0 - 'flexDescHasBeenWritten = New List(Of Integer) - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If flexDescHasBeenWritten.Contains(aFlex.flexDescIndex) Then - ' Continue For - ' Else - ' flexDescHasBeenWritten.Add(aFlex.flexDescIndex) - ' End If - - ' timeIndex += 1 - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - - ' Dim aFlexDescPartnerIndex As Integer - ' aFlexDescPartnerIndex = aFlex.flexDescPartnerIndex - ' If aFlexDescPartnerIndex > 0 AndAlso Not flexDescHasBeenWritten.Contains(aFlexDescPartnerIndex) Then - ' flexDescHasBeenWritten.Add(aFlexDescPartnerIndex) - ' line += " and " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexDescPartnerIndex).theName - ' End If - - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - '====== - - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - 'Dim flexDescIndexesAlreadyAdded As List(Of Integer) - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - 'flexDescIndexesAlreadyAdded = New List(Of Integer)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' 'If flexDescIndexesAlreadyAdded.Contains(aFlex.flexDescIndex) Then - ' ' aFlexTimeStruct = flexTimes(flexDescIndexesAlreadyAdded.IndexOf(aFlex.flexDescIndex)) - - ' ' 'If aFlex.flexDescPartnerIndex = 0 Then - ' ' aFlexTimeStruct.flexDescriptiveName += " and " - ' ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' ' 'End If - - ' ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' ' aFlexTimeStruct.flexes.Add(aFlex) - ' 'Else - ' aFlexTimeStruct = New FlexTimeStruct() - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' If aFlex.flexDescPartnerIndex > 0 Then - ' aFlexTimeStruct.flexDescriptiveName += "+" - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescPartnerIndex).theName - ' End If - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' flexTimes.Add(aFlexTimeStruct) - ' flexDescIndexesAlreadyAdded.Add(aFlex.flexDescIndex) - ' 'End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' timeIndex += 1 - 'Next - - ''For flexIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - '' line = "time " - '' line += flexIndex.ToString() - '' line += " # " - '' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(flexIndex).theName - '' Me.theOutputFileStreamWriter.WriteLine(line) - ''Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -250,26 +94,7 @@ Public Class SourceVtaFile49 Public Sub WriteVertexAnimationSection() Dim line As String = "" - 'Dim aVtxBodyPart As SourceVtxBodyPart - 'Dim aVtxModel As SourceVtxModel - 'Dim aVtxLod As SourceVtxModelLod - 'Dim aVtxMesh As SourceVtxMesh - 'Dim aVtxStripGroup As SourceVtxStripGroup - 'Dim cumulativeVertexCount As Integer - 'Dim maxIndexForMesh As Integer - 'Dim cumulativeMaxIndex As Integer - 'Dim meshVertexIndexStart As Integer - 'Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer - 'Dim aVertex As SourceVertex - 'Dim positionX As Double - 'Dim positionY As Double - 'Dim positionZ As Double - 'Dim normalX As Double - 'Dim normalY As Double - 'Dim normalZ As Double - - 'vertexanimation + line = "vertexanimation" Me.theOutputFileStreamWriter.WriteLine(line) @@ -280,70 +105,6 @@ Public Class SourceVtaFile49 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'Try - ' If Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts IsNot Nothing Then - ' vertexIndex = 0 - ' For vtxBodyPartIndex As Integer = 0 To Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts.Count - 1 - ' aVtxBodyPart = Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts(vtxBodyPartIndex) - - ' If aVtxBodyPart.theVtxModels IsNot Nothing Then - ' For vtxModelIndex As Integer = 0 To aVtxBodyPart.theVtxModels.Count - 1 - ' aVtxModel = aVtxBodyPart.theVtxModels(vtxModelIndex) - - ' If aVtxModel.theVtxModelLods IsNot Nothing Then - ' ''For lodIndex As Integer = 0 To aModel.theVtxModelLods.Count - 1 - ' Dim vtxLodIndex As Integer = 0 - ' aVtxLod = aVtxModel.theVtxModelLods(vtxLodIndex) - - ' If aVtxLod.theVtxMeshes IsNot Nothing Then - ' cumulativeVertexCount = 0 - ' maxIndexForMesh = 0 - ' cumulativeMaxIndex = 0 - ' For vtxMeshIndex As Integer = 0 To aVtxLod.theVtxMeshes.Count - 1 - ' aVtxMesh = aVtxLod.theVtxMeshes(vtxMeshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(vtxBodyPartIndex).theModels(vtxModelIndex).theMeshes(vtxMeshIndex).vertexIndexStart - - ' If aVtxMesh.theVtxStripGroups IsNot Nothing Then - ' For vtxStripGroupIndex As Integer = 0 To aVtxMesh.theVtxStripGroups.Count - 1 - ' aVtxStripGroup = aVtxMesh.theVtxStripGroups(vtxStripGroupIndex) - - ' If aVtxStripGroup.theVtxStrips IsNot Nothing AndAlso aVtxStripGroup.theVtxIndexes IsNot Nothing Then - ' For vtxIndexIndex As Integer = 0 To aVtxStripGroup.theVtxIndexes.Count - 3 Step 3 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 2, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 1, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Next - ' '====== - ' 'For stripIndex As Integer = 0 To aStripGroup.stripCount - 1 - ' ' Dim aStrip As SourceVtxStrip = aStripGroup.theVtxStrips(stripIndex) - - ' ' For aStripIndexIndex As Integer = 0 To aStrip.indexCount - 3 Step 3 - ' ' Me.theOutputFileStreamWriter.WriteLine(materialName) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 2) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 1) - ' ' Next - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - 'Catch - 'End Try - - '====== - Try Dim aVertex As SourceVertex For vertexIndex As Integer = 0 To Me.theVvdFileData.theVertexes.Count - 1 @@ -374,201 +135,6 @@ Public Class SourceVtaFile49 Catch End Try - '###### - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim aFlexPartnerIndex As Integer - - 'flexTimes = New List(Of FlexTimeStruct)() - 'For i As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - ' aFlexTimeStruct = New FlexTimeStruct() - ' 'aFlexTimeStruct.isValid = False - ' aFlexTimeStruct.meshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - ' flexTimes.Add(aFlexTimeStruct) - 'Next - - 'flexTimeIndex = 0 - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - ' 'Dim aVtxBodyPart As SourceVtxBodyPart - ' 'aVtxBodyPart = TheSourceEngineModel.theVtxFileHeader.theVtxBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - ' 'Dim aVtxModel As SourceVtxModel - ' 'aVtxModel = aVtxBodyPart.theVtxModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - ' 'Dim aVtxMesh As SourceVtxMesh - ' 'aVtxMesh = aVtxModel.theVtxModelLods(0).theVtxMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' aFlexPartnerIndex = aFlex.flexDescPartnerIndex - ' 'If Not aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: More than one flex can point to same flexDesc. - ' ' This might only occur for eyelids. - ' If aFlexPartnerIndex = 0 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' Else - ' 'aFlexTimeStruct.isValid = True - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' 'If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.isValid Then - ' If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: A partner flex should be added to same flexTimeStruct. - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' 'If aFlexTimeStruct.flexes.Count < 2 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexPartnerIndex).theName - ' 'End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - ' End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' 'If aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.meshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - ' End If - 'Next - - '====== - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = New FlexTimeStruct() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' aFlexTimeStruct.bodyAndMeshVertexIndexStart = meshVertexIndexStart - ' aFlexTimeStruct.flex = aFlex - - ' flexTimes.Add(aFlexTimeStruct) - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flex, aFlexTimeStruct.bodyAndMeshVertexIndexStart) - - ' timeIndex += 1 - 'Next - - '====== - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'Dim aFlexTimeStruct As FlexTimeStruct - - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.bodyAndMeshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - 'Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -609,52 +175,10 @@ Public Class SourceVtaFile49 #Region "Private Methods" - 'Private Sub WriteBasisVertexAnimLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal vertexIndex As Integer, ByVal meshVertexIndexStart As Integer) - ' Dim aVtxVertexIndex As UShort - ' Dim aVtxVertex As SourceVtxVertex - ' Dim aVertex As SourceVertex - ' Dim line As String - - ' Try - ' aVtxVertexIndex = aStripGroup.theVtxIndexes(aVtxIndexIndex) - ' aVtxVertex = aStripGroup.theVtxVertexes(aVtxVertexIndex) - ' If Me.theSourceEngineModel.theVvdFileHeader.fixupCount = 0 Then - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(vertexIndex) - ' Else - ' 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. - ' ' Maybe the listing by lodIndex is only needed internally by graphics engine. - ' 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(vertexIndex) - ' End If - - ' ''NOTE: Add the vertex to a list to be accessed by index for subsequent VTA anim writing. - ' 'Me.theVtaVertexes.Add(aVertex) - - ' line = vertexIndex.ToString() - ' line += " " - ' line += aVertex.positionX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Catch - ' End Try - 'End Sub - Private Sub WriteVertexAnimLines(ByVal aFlex As SourceMdlFlex, ByVal bodyAndMeshVertexIndexStart As Integer) Dim line As String Dim aVertex As SourceVertex Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer Dim positionX As Double Dim positionY As Double Dim positionZ As Double @@ -671,28 +195,15 @@ Public Class SourceVtaFile49 ' - Eyelids are combined, e.g. second shapekey from source vta is upper_lid_lowerer ' that contains both upper_right_lowerer and upper_left_lowerer. - 'NOTE: Figure out which list of vertexes to index. - 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'aVertex = Me.theVtaVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== 'NOTE: This list of vertexes works; it imports into Blender correctly. vertexIndex = aVertAnim.index + bodyAndMeshVertexIndexStart - 'vertexIndex = aVertAnim.index If Me.theVvdFileData.fixupCount = 0 Then aVertex = Me.theVvdFileData.theVertexes(vertexIndex) Else 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. ' Maybe the listing by lodIndex is only needed internally by graphics engine. - 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) aVertex = Me.theVvdFileData.theFixedVertexesByLod(0)(vertexIndex) End If - 'mappedVertexIndex = Me.theVtaVertexes.IndexOf(aVertex) - 'If mappedVertexIndex < 0 Then - ' mappedVertexIndex = 0 - 'End If positionX = aVertex.positionX + aVertAnim.flDelta(0).TheFloatValue positionY = aVertex.positionY + aVertAnim.flDelta(1).TheFloatValue @@ -700,11 +211,8 @@ Public Class SourceVtaFile49 normalX = aVertex.normalX + aVertAnim.flNDelta(0).TheFloatValue normalY = aVertex.normalY + aVertAnim.flNDelta(1).TheFloatValue normalZ = aVertex.normalZ + aVertAnim.flNDelta(2).TheFloatValue - 'NOTE: This matches values given by MDL Decompiler 0.5. - 'line = aVertAnim.index.ToString() line = " " line += vertexIndex.ToString(TheApp.InternalNumberFormat) - 'line = mappedVertexIndex.ToString() line += " " line += positionX.ToString("0.000000", TheApp.InternalNumberFormat) line += " " @@ -727,20 +235,6 @@ Public Class SourceVtaFile49 ' line += aVertAnim.flDelta(0).the16BitValue.ToString() 'End If - ' For debugging. - 'line += " // " - 'line += aVertAnim.flDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(2).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(2).the16BitValue.ToString() - Me.theOutputFileStreamWriter.WriteLine(line) Next End Sub From c3151cde6f0357a08e05818684eee56c818b657c Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Sun, 28 Jul 2019 12:29:16 -0400 Subject: [PATCH 06/65] Delete old commented-out code. --- .../SourceModel44/SourceVtaFile44.vb | 509 +----------------- .../SourceModel45/SourceVtaFile45.vb | 508 +---------------- .../SourceModel46/SourceVtaFile46.vb | 509 +----------------- .../SourceModel48/SourceVtaFile48.vb | 509 +----------------- .../SourceModel49/SourceVtaFile49.vb | 1 - 5 files changed, 4 insertions(+), 2032 deletions(-) diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceVtaFile44.vb b/Crowbar/Core/SourceModel/SourceModel44/SourceVtaFile44.vb index b99c968..60a490a 100644 --- a/Crowbar/Core/SourceModel/SourceModel44/SourceVtaFile44.vb +++ b/Crowbar/Core/SourceModel/SourceModel44/SourceVtaFile44.vb @@ -52,19 +52,10 @@ Public Class SourceVtaFile44 Public Sub WriteSkeletonSectionForVertexAnimation() Dim line As String = "" - 'Dim timeIndex As Integer - 'Dim flexDescHasBeenWritten As List(Of Integer) - 'Dim meshVertexIndexStart As Integer - 'skeleton line = "skeleton" Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 0" - 'Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 1" - 'Me.theOutputFileStreamWriter.WriteLine(line) - '====== If TheApp.Settings.DecompileStricterFormatIsChecked Then line = "time 0 # basis shape key" Else @@ -72,153 +63,6 @@ Public Class SourceVtaFile44 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'timeIndex = 0 - 'flexDescHasBeenWritten = New List(Of Integer) - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If flexDescHasBeenWritten.Contains(aFlex.flexDescIndex) Then - ' Continue For - ' Else - ' flexDescHasBeenWritten.Add(aFlex.flexDescIndex) - ' End If - - ' timeIndex += 1 - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - - ' Dim aFlexDescPartnerIndex As Integer - ' aFlexDescPartnerIndex = aFlex.flexDescPartnerIndex - ' If aFlexDescPartnerIndex > 0 AndAlso Not flexDescHasBeenWritten.Contains(aFlexDescPartnerIndex) Then - ' flexDescHasBeenWritten.Add(aFlexDescPartnerIndex) - ' line += " and " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexDescPartnerIndex).theName - ' End If - - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - '====== - - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - 'Dim flexDescIndexesAlreadyAdded As List(Of Integer) - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - 'flexDescIndexesAlreadyAdded = New List(Of Integer)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' 'If flexDescIndexesAlreadyAdded.Contains(aFlex.flexDescIndex) Then - ' ' aFlexTimeStruct = flexTimes(flexDescIndexesAlreadyAdded.IndexOf(aFlex.flexDescIndex)) - - ' ' 'If aFlex.flexDescPartnerIndex = 0 Then - ' ' aFlexTimeStruct.flexDescriptiveName += " and " - ' ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' ' 'End If - - ' ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' ' aFlexTimeStruct.flexes.Add(aFlex) - ' 'Else - ' aFlexTimeStruct = New FlexTimeStruct() - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' If aFlex.flexDescPartnerIndex > 0 Then - ' aFlexTimeStruct.flexDescriptiveName += "+" - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescPartnerIndex).theName - ' End If - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' flexTimes.Add(aFlexTimeStruct) - ' flexDescIndexesAlreadyAdded.Add(aFlex.flexDescIndex) - ' 'End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' timeIndex += 1 - 'Next - - ''For flexIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - '' line = "time " - '' line += flexIndex.ToString() - '' line += " # " - '' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(flexIndex).theName - '' Me.theOutputFileStreamWriter.WriteLine(line) - ''Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -247,26 +91,7 @@ Public Class SourceVtaFile44 Public Sub WriteVertexAnimationSection() Dim line As String = "" - 'Dim aVtxBodyPart As SourceVtxBodyPart - 'Dim aVtxModel As SourceVtxModel - 'Dim aVtxLod As SourceVtxModelLod - 'Dim aVtxMesh As SourceVtxMesh - 'Dim aVtxStripGroup As SourceVtxStripGroup - 'Dim cumulativeVertexCount As Integer - 'Dim maxIndexForMesh As Integer - 'Dim cumulativeMaxIndex As Integer - 'Dim meshVertexIndexStart As Integer - 'Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer - 'Dim aVertex As SourceVertex - 'Dim positionX As Double - 'Dim positionY As Double - 'Dim positionZ As Double - 'Dim normalX As Double - 'Dim normalY As Double - 'Dim normalZ As Double - - 'vertexanimation + line = "vertexanimation" Me.theOutputFileStreamWriter.WriteLine(line) @@ -277,70 +102,6 @@ Public Class SourceVtaFile44 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'Try - ' If Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts IsNot Nothing Then - ' vertexIndex = 0 - ' For vtxBodyPartIndex As Integer = 0 To Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts.Count - 1 - ' aVtxBodyPart = Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts(vtxBodyPartIndex) - - ' If aVtxBodyPart.theVtxModels IsNot Nothing Then - ' For vtxModelIndex As Integer = 0 To aVtxBodyPart.theVtxModels.Count - 1 - ' aVtxModel = aVtxBodyPart.theVtxModels(vtxModelIndex) - - ' If aVtxModel.theVtxModelLods IsNot Nothing Then - ' ''For lodIndex As Integer = 0 To aModel.theVtxModelLods.Count - 1 - ' Dim vtxLodIndex As Integer = 0 - ' aVtxLod = aVtxModel.theVtxModelLods(vtxLodIndex) - - ' If aVtxLod.theVtxMeshes IsNot Nothing Then - ' cumulativeVertexCount = 0 - ' maxIndexForMesh = 0 - ' cumulativeMaxIndex = 0 - ' For vtxMeshIndex As Integer = 0 To aVtxLod.theVtxMeshes.Count - 1 - ' aVtxMesh = aVtxLod.theVtxMeshes(vtxMeshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(vtxBodyPartIndex).theModels(vtxModelIndex).theMeshes(vtxMeshIndex).vertexIndexStart - - ' If aVtxMesh.theVtxStripGroups IsNot Nothing Then - ' For vtxStripGroupIndex As Integer = 0 To aVtxMesh.theVtxStripGroups.Count - 1 - ' aVtxStripGroup = aVtxMesh.theVtxStripGroups(vtxStripGroupIndex) - - ' If aVtxStripGroup.theVtxStrips IsNot Nothing AndAlso aVtxStripGroup.theVtxIndexes IsNot Nothing Then - ' For vtxIndexIndex As Integer = 0 To aVtxStripGroup.theVtxIndexes.Count - 3 Step 3 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 2, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 1, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Next - ' '====== - ' 'For stripIndex As Integer = 0 To aStripGroup.stripCount - 1 - ' ' Dim aStrip As SourceVtxStrip = aStripGroup.theVtxStrips(stripIndex) - - ' ' For aStripIndexIndex As Integer = 0 To aStrip.indexCount - 3 Step 3 - ' ' Me.theOutputFileStreamWriter.WriteLine(materialName) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 2) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 1) - ' ' Next - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - 'Catch - 'End Try - - '====== - Try Dim aVertex As SourceVertex For vertexIndex As Integer = 0 To Me.theVvdFileData.theVertexes.Count - 1 @@ -371,201 +132,6 @@ Public Class SourceVtaFile44 Catch End Try - '###### - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim aFlexPartnerIndex As Integer - - 'flexTimes = New List(Of FlexTimeStruct)() - 'For i As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - ' aFlexTimeStruct = New FlexTimeStruct() - ' 'aFlexTimeStruct.isValid = False - ' aFlexTimeStruct.meshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - ' flexTimes.Add(aFlexTimeStruct) - 'Next - - 'flexTimeIndex = 0 - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - ' 'Dim aVtxBodyPart As SourceVtxBodyPart - ' 'aVtxBodyPart = TheSourceEngineModel.theVtxFileHeader.theVtxBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - ' 'Dim aVtxModel As SourceVtxModel - ' 'aVtxModel = aVtxBodyPart.theVtxModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - ' 'Dim aVtxMesh As SourceVtxMesh - ' 'aVtxMesh = aVtxModel.theVtxModelLods(0).theVtxMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' aFlexPartnerIndex = aFlex.flexDescPartnerIndex - ' 'If Not aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: More than one flex can point to same flexDesc. - ' ' This might only occur for eyelids. - ' If aFlexPartnerIndex = 0 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' Else - ' 'aFlexTimeStruct.isValid = True - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' 'If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.isValid Then - ' If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: A partner flex should be added to same flexTimeStruct. - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' 'If aFlexTimeStruct.flexes.Count < 2 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexPartnerIndex).theName - ' 'End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - ' End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' 'If aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.meshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - ' End If - 'Next - - '====== - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = New FlexTimeStruct() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' aFlexTimeStruct.bodyAndMeshVertexIndexStart = meshVertexIndexStart - ' aFlexTimeStruct.flex = aFlex - - ' flexTimes.Add(aFlexTimeStruct) - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flex, aFlexTimeStruct.bodyAndMeshVertexIndexStart) - - ' timeIndex += 1 - 'Next - - '====== - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'Dim aFlexTimeStruct As FlexTimeStruct - - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.bodyAndMeshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - 'Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -604,52 +170,10 @@ Public Class SourceVtaFile44 #Region "Private Methods" - 'Private Sub WriteBasisVertexAnimLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal vertexIndex As Integer, ByVal meshVertexIndexStart As Integer) - ' Dim aVtxVertexIndex As UShort - ' Dim aVtxVertex As SourceVtxVertex - ' Dim aVertex As SourceVertex - ' Dim line As String - - ' Try - ' aVtxVertexIndex = aStripGroup.theVtxIndexes(aVtxIndexIndex) - ' aVtxVertex = aStripGroup.theVtxVertexes(aVtxVertexIndex) - ' If Me.theSourceEngineModel.theVvdFileHeader.fixupCount = 0 Then - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(vertexIndex) - ' Else - ' 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. - ' ' Maybe the listing by lodIndex is only needed internally by graphics engine. - ' 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(vertexIndex) - ' End If - - ' ''NOTE: Add the vertex to a list to be accessed by index for subsequent VTA anim writing. - ' 'Me.theVtaVertexes.Add(aVertex) - - ' line = vertexIndex.ToString() - ' line += " " - ' line += aVertex.positionX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Catch - ' End Try - 'End Sub - Private Sub WriteVertexAnimLines(ByVal aFlex As SourceMdlFlex, ByVal bodyAndMeshVertexIndexStart As Integer) Dim line As String Dim aVertex As SourceVertex Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer Dim positionX As Double Dim positionY As Double Dim positionZ As Double @@ -666,28 +190,14 @@ Public Class SourceVtaFile44 ' - Eyelids are combined, e.g. second shapekey from source vta is upper_lid_lowerer ' that contains both upper_right_lowerer and upper_left_lowerer. - 'NOTE: Figure out which list of vertexes to index. - 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'aVertex = Me.theVtaVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'NOTE: This list of vertexes works; it imports into Blender correctly. vertexIndex = aVertAnim.index + bodyAndMeshVertexIndexStart - 'vertexIndex = aVertAnim.index If Me.theVvdFileData.fixupCount = 0 Then aVertex = Me.theVvdFileData.theVertexes(vertexIndex) Else 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. ' Maybe the listing by lodIndex is only needed internally by graphics engine. - 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) aVertex = Me.theVvdFileData.theFixedVertexesByLod(0)(vertexIndex) End If - 'mappedVertexIndex = Me.theVtaVertexes.IndexOf(aVertex) - 'If mappedVertexIndex < 0 Then - ' mappedVertexIndex = 0 - 'End If positionX = aVertex.positionX + aVertAnim.flDelta(0).TheFloatValue positionY = aVertex.positionY + aVertAnim.flDelta(1).TheFloatValue @@ -695,11 +205,8 @@ Public Class SourceVtaFile44 normalX = aVertex.normalX + aVertAnim.flNDelta(0).TheFloatValue normalY = aVertex.normalY + aVertAnim.flNDelta(1).TheFloatValue normalZ = aVertex.normalZ + aVertAnim.flNDelta(2).TheFloatValue - 'NOTE: This matches values given by MDL Decompiler 0.5. - 'line = aVertAnim.index.ToString() line = " " line += vertexIndex.ToString(TheApp.InternalNumberFormat) - 'line = mappedVertexIndex.ToString() line += " " line += positionX.ToString("0.000000", TheApp.InternalNumberFormat) line += " " @@ -722,20 +229,6 @@ Public Class SourceVtaFile44 ' line += aVertAnim.flDelta(0).the16BitValue.ToString() 'End If - ' For debugging. - 'line += " // " - 'line += aVertAnim.flDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(2).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(2).the16BitValue.ToString() - Me.theOutputFileStreamWriter.WriteLine(line) Next End Sub diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceVtaFile45.vb b/Crowbar/Core/SourceModel/SourceModel45/SourceVtaFile45.vb index 66de7e5..cdd3b6b 100644 --- a/Crowbar/Core/SourceModel/SourceModel45/SourceVtaFile45.vb +++ b/Crowbar/Core/SourceModel/SourceModel45/SourceVtaFile45.vb @@ -52,19 +52,10 @@ Public Class SourceVtaFile45 Public Sub WriteSkeletonSectionForVertexAnimation() Dim line As String = "" - 'Dim timeIndex As Integer - 'Dim flexDescHasBeenWritten As List(Of Integer) - 'Dim meshVertexIndexStart As Integer - 'skeleton line = "skeleton" Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 0" - 'Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 1" - 'Me.theOutputFileStreamWriter.WriteLine(line) - '====== If TheApp.Settings.DecompileStricterFormatIsChecked Then line = "time 0 # basis shape key" Else @@ -72,152 +63,6 @@ Public Class SourceVtaFile45 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'timeIndex = 0 - 'flexDescHasBeenWritten = New List(Of Integer) - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If flexDescHasBeenWritten.Contains(aFlex.flexDescIndex) Then - ' Continue For - ' Else - ' flexDescHasBeenWritten.Add(aFlex.flexDescIndex) - ' End If - - ' timeIndex += 1 - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - - ' Dim aFlexDescPartnerIndex As Integer - ' aFlexDescPartnerIndex = aFlex.flexDescPartnerIndex - ' If aFlexDescPartnerIndex > 0 AndAlso Not flexDescHasBeenWritten.Contains(aFlexDescPartnerIndex) Then - ' flexDescHasBeenWritten.Add(aFlexDescPartnerIndex) - ' line += " and " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexDescPartnerIndex).theName - ' End If - - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - '====== - - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - 'Dim flexDescIndexesAlreadyAdded As List(Of Integer) - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - 'flexDescIndexesAlreadyAdded = New List(Of Integer)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' 'If flexDescIndexesAlreadyAdded.Contains(aFlex.flexDescIndex) Then - ' ' aFlexTimeStruct = flexTimes(flexDescIndexesAlreadyAdded.IndexOf(aFlex.flexDescIndex)) - - ' ' 'If aFlex.flexDescPartnerIndex = 0 Then - ' ' aFlexTimeStruct.flexDescriptiveName += " and " - ' ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' ' 'End If - - ' ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' ' aFlexTimeStruct.flexes.Add(aFlex) - ' 'Else - ' aFlexTimeStruct = New FlexTimeStruct() - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' If aFlex.flexDescPartnerIndex > 0 Then - ' aFlexTimeStruct.flexDescriptiveName += "+" - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescPartnerIndex).theName - ' End If - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' flexTimes.Add(aFlexTimeStruct) - ' flexDescIndexesAlreadyAdded.Add(aFlex.flexDescIndex) - ' 'End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' timeIndex += 1 - 'Next - - ''For flexIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - '' line = "time " - '' line += flexIndex.ToString() - '' line += " # " - '' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(flexIndex).theName - '' Me.theOutputFileStreamWriter.WriteLine(line) - ''Next - - '====== Dim timeIndex As Integer Dim flexTimeIndex As Integer @@ -247,26 +92,7 @@ Public Class SourceVtaFile45 Public Sub WriteVertexAnimationSection() Dim line As String = "" - 'Dim aVtxBodyPart As SourceVtxBodyPart - 'Dim aVtxModel As SourceVtxModel - 'Dim aVtxLod As SourceVtxModelLod - 'Dim aVtxMesh As SourceVtxMesh - 'Dim aVtxStripGroup As SourceVtxStripGroup - 'Dim cumulativeVertexCount As Integer - 'Dim maxIndexForMesh As Integer - 'Dim cumulativeMaxIndex As Integer - 'Dim meshVertexIndexStart As Integer - 'Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer - 'Dim aVertex As SourceVertex - 'Dim positionX As Double - 'Dim positionY As Double - 'Dim positionZ As Double - 'Dim normalX As Double - 'Dim normalY As Double - 'Dim normalZ As Double - - 'vertexanimation + line = "vertexanimation" Me.theOutputFileStreamWriter.WriteLine(line) @@ -277,70 +103,6 @@ Public Class SourceVtaFile45 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'Try - ' If Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts IsNot Nothing Then - ' vertexIndex = 0 - ' For vtxBodyPartIndex As Integer = 0 To Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts.Count - 1 - ' aVtxBodyPart = Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts(vtxBodyPartIndex) - - ' If aVtxBodyPart.theVtxModels IsNot Nothing Then - ' For vtxModelIndex As Integer = 0 To aVtxBodyPart.theVtxModels.Count - 1 - ' aVtxModel = aVtxBodyPart.theVtxModels(vtxModelIndex) - - ' If aVtxModel.theVtxModelLods IsNot Nothing Then - ' ''For lodIndex As Integer = 0 To aModel.theVtxModelLods.Count - 1 - ' Dim vtxLodIndex As Integer = 0 - ' aVtxLod = aVtxModel.theVtxModelLods(vtxLodIndex) - - ' If aVtxLod.theVtxMeshes IsNot Nothing Then - ' cumulativeVertexCount = 0 - ' maxIndexForMesh = 0 - ' cumulativeMaxIndex = 0 - ' For vtxMeshIndex As Integer = 0 To aVtxLod.theVtxMeshes.Count - 1 - ' aVtxMesh = aVtxLod.theVtxMeshes(vtxMeshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(vtxBodyPartIndex).theModels(vtxModelIndex).theMeshes(vtxMeshIndex).vertexIndexStart - - ' If aVtxMesh.theVtxStripGroups IsNot Nothing Then - ' For vtxStripGroupIndex As Integer = 0 To aVtxMesh.theVtxStripGroups.Count - 1 - ' aVtxStripGroup = aVtxMesh.theVtxStripGroups(vtxStripGroupIndex) - - ' If aVtxStripGroup.theVtxStrips IsNot Nothing AndAlso aVtxStripGroup.theVtxIndexes IsNot Nothing Then - ' For vtxIndexIndex As Integer = 0 To aVtxStripGroup.theVtxIndexes.Count - 3 Step 3 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 2, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 1, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Next - ' '====== - ' 'For stripIndex As Integer = 0 To aStripGroup.stripCount - 1 - ' ' Dim aStrip As SourceVtxStrip = aStripGroup.theVtxStrips(stripIndex) - - ' ' For aStripIndexIndex As Integer = 0 To aStrip.indexCount - 3 Step 3 - ' ' Me.theOutputFileStreamWriter.WriteLine(materialName) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 2) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 1) - ' ' Next - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - 'Catch - 'End Try - - '====== - Try Dim aVertex As SourceVertex For vertexIndex As Integer = 0 To Me.theVvdFileData.theVertexes.Count - 1 @@ -371,201 +133,6 @@ Public Class SourceVtaFile45 Catch End Try - '###### - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim aFlexPartnerIndex As Integer - - 'flexTimes = New List(Of FlexTimeStruct)() - 'For i As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - ' aFlexTimeStruct = New FlexTimeStruct() - ' 'aFlexTimeStruct.isValid = False - ' aFlexTimeStruct.meshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - ' flexTimes.Add(aFlexTimeStruct) - 'Next - - 'flexTimeIndex = 0 - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - ' 'Dim aVtxBodyPart As SourceVtxBodyPart - ' 'aVtxBodyPart = TheSourceEngineModel.theVtxFileHeader.theVtxBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - ' 'Dim aVtxModel As SourceVtxModel - ' 'aVtxModel = aVtxBodyPart.theVtxModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - ' 'Dim aVtxMesh As SourceVtxMesh - ' 'aVtxMesh = aVtxModel.theVtxModelLods(0).theVtxMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' aFlexPartnerIndex = aFlex.flexDescPartnerIndex - ' 'If Not aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: More than one flex can point to same flexDesc. - ' ' This might only occur for eyelids. - ' If aFlexPartnerIndex = 0 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' Else - ' 'aFlexTimeStruct.isValid = True - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' 'If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.isValid Then - ' If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: A partner flex should be added to same flexTimeStruct. - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' 'If aFlexTimeStruct.flexes.Count < 2 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexPartnerIndex).theName - ' 'End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - ' End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' 'If aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.meshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - ' End If - 'Next - - '====== - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = New FlexTimeStruct() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' aFlexTimeStruct.bodyAndMeshVertexIndexStart = meshVertexIndexStart - ' aFlexTimeStruct.flex = aFlex - - ' flexTimes.Add(aFlexTimeStruct) - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flex, aFlexTimeStruct.bodyAndMeshVertexIndexStart) - - ' timeIndex += 1 - 'Next - - '====== - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'Dim aFlexTimeStruct As FlexTimeStruct - - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.bodyAndMeshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - 'Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -604,52 +171,10 @@ Public Class SourceVtaFile45 #Region "Private Methods" - 'Private Sub WriteBasisVertexAnimLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal vertexIndex As Integer, ByVal meshVertexIndexStart As Integer) - ' Dim aVtxVertexIndex As UShort - ' Dim aVtxVertex As SourceVtxVertex - ' Dim aVertex As SourceVertex - ' Dim line As String - - ' Try - ' aVtxVertexIndex = aStripGroup.theVtxIndexes(aVtxIndexIndex) - ' aVtxVertex = aStripGroup.theVtxVertexes(aVtxVertexIndex) - ' If Me.theSourceEngineModel.theVvdFileHeader.fixupCount = 0 Then - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(vertexIndex) - ' Else - ' 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. - ' ' Maybe the listing by lodIndex is only needed internally by graphics engine. - ' 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(vertexIndex) - ' End If - - ' ''NOTE: Add the vertex to a list to be accessed by index for subsequent VTA anim writing. - ' 'Me.theVtaVertexes.Add(aVertex) - - ' line = vertexIndex.ToString() - ' line += " " - ' line += aVertex.positionX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Catch - ' End Try - 'End Sub - Private Sub WriteVertexAnimLines(ByVal aFlex As SourceMdlFlex, ByVal bodyAndMeshVertexIndexStart As Integer) Dim line As String Dim aVertex As SourceVertex Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer Dim positionX As Double Dim positionY As Double Dim positionZ As Double @@ -666,28 +191,14 @@ Public Class SourceVtaFile45 ' - Eyelids are combined, e.g. second shapekey from source vta is upper_lid_lowerer ' that contains both upper_right_lowerer and upper_left_lowerer. - 'NOTE: Figure out which list of vertexes to index. - 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'aVertex = Me.theVtaVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'NOTE: This list of vertexes works; it imports into Blender correctly. vertexIndex = aVertAnim.index + bodyAndMeshVertexIndexStart - 'vertexIndex = aVertAnim.index If Me.theVvdFileData.fixupCount = 0 Then aVertex = Me.theVvdFileData.theVertexes(vertexIndex) Else 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. ' Maybe the listing by lodIndex is only needed internally by graphics engine. - 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) aVertex = Me.theVvdFileData.theFixedVertexesByLod(0)(vertexIndex) End If - 'mappedVertexIndex = Me.theVtaVertexes.IndexOf(aVertex) - 'If mappedVertexIndex < 0 Then - ' mappedVertexIndex = 0 - 'End If positionX = aVertex.positionX + aVertAnim.flDelta(0).TheFloatValue positionY = aVertex.positionY + aVertAnim.flDelta(1).TheFloatValue @@ -695,11 +206,8 @@ Public Class SourceVtaFile45 normalX = aVertex.normalX + aVertAnim.flNDelta(0).TheFloatValue normalY = aVertex.normalY + aVertAnim.flNDelta(1).TheFloatValue normalZ = aVertex.normalZ + aVertAnim.flNDelta(2).TheFloatValue - 'NOTE: This matches values given by MDL Decompiler 0.5. - 'line = aVertAnim.index.ToString() line = " " line += vertexIndex.ToString(TheApp.InternalNumberFormat) - 'line = mappedVertexIndex.ToString() line += " " line += positionX.ToString("0.000000", TheApp.InternalNumberFormat) line += " " @@ -722,20 +230,6 @@ Public Class SourceVtaFile45 ' line += aVertAnim.flDelta(0).the16BitValue.ToString() 'End If - ' For debugging. - 'line += " // " - 'line += aVertAnim.flDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(2).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(2).the16BitValue.ToString() - Me.theOutputFileStreamWriter.WriteLine(line) Next End Sub diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceVtaFile46.vb b/Crowbar/Core/SourceModel/SourceModel46/SourceVtaFile46.vb index 06a0265..52cfd7f 100644 --- a/Crowbar/Core/SourceModel/SourceModel46/SourceVtaFile46.vb +++ b/Crowbar/Core/SourceModel/SourceModel46/SourceVtaFile46.vb @@ -52,19 +52,10 @@ Public Class SourceVtaFile46 Public Sub WriteSkeletonSectionForVertexAnimation() Dim line As String = "" - 'Dim timeIndex As Integer - 'Dim flexDescHasBeenWritten As List(Of Integer) - 'Dim meshVertexIndexStart As Integer - 'skeleton line = "skeleton" Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 0" - 'Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 1" - 'Me.theOutputFileStreamWriter.WriteLine(line) - '====== If TheApp.Settings.DecompileStricterFormatIsChecked Then line = "time 0 # basis shape key" Else @@ -72,153 +63,6 @@ Public Class SourceVtaFile46 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'timeIndex = 0 - 'flexDescHasBeenWritten = New List(Of Integer) - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If flexDescHasBeenWritten.Contains(aFlex.flexDescIndex) Then - ' Continue For - ' Else - ' flexDescHasBeenWritten.Add(aFlex.flexDescIndex) - ' End If - - ' timeIndex += 1 - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - - ' Dim aFlexDescPartnerIndex As Integer - ' aFlexDescPartnerIndex = aFlex.flexDescPartnerIndex - ' If aFlexDescPartnerIndex > 0 AndAlso Not flexDescHasBeenWritten.Contains(aFlexDescPartnerIndex) Then - ' flexDescHasBeenWritten.Add(aFlexDescPartnerIndex) - ' line += " and " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexDescPartnerIndex).theName - ' End If - - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - '====== - - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - 'Dim flexDescIndexesAlreadyAdded As List(Of Integer) - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - 'flexDescIndexesAlreadyAdded = New List(Of Integer)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' 'If flexDescIndexesAlreadyAdded.Contains(aFlex.flexDescIndex) Then - ' ' aFlexTimeStruct = flexTimes(flexDescIndexesAlreadyAdded.IndexOf(aFlex.flexDescIndex)) - - ' ' 'If aFlex.flexDescPartnerIndex = 0 Then - ' ' aFlexTimeStruct.flexDescriptiveName += " and " - ' ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' ' 'End If - - ' ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' ' aFlexTimeStruct.flexes.Add(aFlex) - ' 'Else - ' aFlexTimeStruct = New FlexTimeStruct() - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' If aFlex.flexDescPartnerIndex > 0 Then - ' aFlexTimeStruct.flexDescriptiveName += "+" - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescPartnerIndex).theName - ' End If - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' flexTimes.Add(aFlexTimeStruct) - ' flexDescIndexesAlreadyAdded.Add(aFlex.flexDescIndex) - ' 'End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' timeIndex += 1 - 'Next - - ''For flexIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - '' line = "time " - '' line += flexIndex.ToString() - '' line += " # " - '' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(flexIndex).theName - '' Me.theOutputFileStreamWriter.WriteLine(line) - ''Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -247,26 +91,7 @@ Public Class SourceVtaFile46 Public Sub WriteVertexAnimationSection() Dim line As String = "" - 'Dim aVtxBodyPart As SourceVtxBodyPart - 'Dim aVtxModel As SourceVtxModel - 'Dim aVtxLod As SourceVtxModelLod - 'Dim aVtxMesh As SourceVtxMesh - 'Dim aVtxStripGroup As SourceVtxStripGroup - 'Dim cumulativeVertexCount As Integer - 'Dim maxIndexForMesh As Integer - 'Dim cumulativeMaxIndex As Integer - 'Dim meshVertexIndexStart As Integer - 'Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer - 'Dim aVertex As SourceVertex - 'Dim positionX As Double - 'Dim positionY As Double - 'Dim positionZ As Double - 'Dim normalX As Double - 'Dim normalY As Double - 'Dim normalZ As Double - - 'vertexanimation + line = "vertexanimation" Me.theOutputFileStreamWriter.WriteLine(line) @@ -277,70 +102,6 @@ Public Class SourceVtaFile46 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'Try - ' If Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts IsNot Nothing Then - ' vertexIndex = 0 - ' For vtxBodyPartIndex As Integer = 0 To Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts.Count - 1 - ' aVtxBodyPart = Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts(vtxBodyPartIndex) - - ' If aVtxBodyPart.theVtxModels IsNot Nothing Then - ' For vtxModelIndex As Integer = 0 To aVtxBodyPart.theVtxModels.Count - 1 - ' aVtxModel = aVtxBodyPart.theVtxModels(vtxModelIndex) - - ' If aVtxModel.theVtxModelLods IsNot Nothing Then - ' ''For lodIndex As Integer = 0 To aModel.theVtxModelLods.Count - 1 - ' Dim vtxLodIndex As Integer = 0 - ' aVtxLod = aVtxModel.theVtxModelLods(vtxLodIndex) - - ' If aVtxLod.theVtxMeshes IsNot Nothing Then - ' cumulativeVertexCount = 0 - ' maxIndexForMesh = 0 - ' cumulativeMaxIndex = 0 - ' For vtxMeshIndex As Integer = 0 To aVtxLod.theVtxMeshes.Count - 1 - ' aVtxMesh = aVtxLod.theVtxMeshes(vtxMeshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(vtxBodyPartIndex).theModels(vtxModelIndex).theMeshes(vtxMeshIndex).vertexIndexStart - - ' If aVtxMesh.theVtxStripGroups IsNot Nothing Then - ' For vtxStripGroupIndex As Integer = 0 To aVtxMesh.theVtxStripGroups.Count - 1 - ' aVtxStripGroup = aVtxMesh.theVtxStripGroups(vtxStripGroupIndex) - - ' If aVtxStripGroup.theVtxStrips IsNot Nothing AndAlso aVtxStripGroup.theVtxIndexes IsNot Nothing Then - ' For vtxIndexIndex As Integer = 0 To aVtxStripGroup.theVtxIndexes.Count - 3 Step 3 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 2, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 1, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Next - ' '====== - ' 'For stripIndex As Integer = 0 To aStripGroup.stripCount - 1 - ' ' Dim aStrip As SourceVtxStrip = aStripGroup.theVtxStrips(stripIndex) - - ' ' For aStripIndexIndex As Integer = 0 To aStrip.indexCount - 3 Step 3 - ' ' Me.theOutputFileStreamWriter.WriteLine(materialName) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 2) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 1) - ' ' Next - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - 'Catch - 'End Try - - '====== - Try Dim aVertex As SourceVertex For vertexIndex As Integer = 0 To Me.theVvdFileData.theVertexes.Count - 1 @@ -371,201 +132,6 @@ Public Class SourceVtaFile46 Catch End Try - '###### - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim aFlexPartnerIndex As Integer - - 'flexTimes = New List(Of FlexTimeStruct)() - 'For i As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - ' aFlexTimeStruct = New FlexTimeStruct() - ' 'aFlexTimeStruct.isValid = False - ' aFlexTimeStruct.meshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - ' flexTimes.Add(aFlexTimeStruct) - 'Next - - 'flexTimeIndex = 0 - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - ' 'Dim aVtxBodyPart As SourceVtxBodyPart - ' 'aVtxBodyPart = TheSourceEngineModel.theVtxFileHeader.theVtxBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - ' 'Dim aVtxModel As SourceVtxModel - ' 'aVtxModel = aVtxBodyPart.theVtxModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - ' 'Dim aVtxMesh As SourceVtxMesh - ' 'aVtxMesh = aVtxModel.theVtxModelLods(0).theVtxMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' aFlexPartnerIndex = aFlex.flexDescPartnerIndex - ' 'If Not aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: More than one flex can point to same flexDesc. - ' ' This might only occur for eyelids. - ' If aFlexPartnerIndex = 0 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' Else - ' 'aFlexTimeStruct.isValid = True - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' 'If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.isValid Then - ' If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: A partner flex should be added to same flexTimeStruct. - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' 'If aFlexTimeStruct.flexes.Count < 2 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexPartnerIndex).theName - ' 'End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - ' End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' 'If aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.meshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - ' End If - 'Next - - '====== - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = New FlexTimeStruct() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' aFlexTimeStruct.bodyAndMeshVertexIndexStart = meshVertexIndexStart - ' aFlexTimeStruct.flex = aFlex - - ' flexTimes.Add(aFlexTimeStruct) - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flex, aFlexTimeStruct.bodyAndMeshVertexIndexStart) - - ' timeIndex += 1 - 'Next - - '====== - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'Dim aFlexTimeStruct As FlexTimeStruct - - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.bodyAndMeshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - 'Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -604,52 +170,10 @@ Public Class SourceVtaFile46 #Region "Private Methods" - 'Private Sub WriteBasisVertexAnimLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal vertexIndex As Integer, ByVal meshVertexIndexStart As Integer) - ' Dim aVtxVertexIndex As UShort - ' Dim aVtxVertex As SourceVtxVertex - ' Dim aVertex As SourceVertex - ' Dim line As String - - ' Try - ' aVtxVertexIndex = aStripGroup.theVtxIndexes(aVtxIndexIndex) - ' aVtxVertex = aStripGroup.theVtxVertexes(aVtxVertexIndex) - ' If Me.theSourceEngineModel.theVvdFileHeader.fixupCount = 0 Then - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(vertexIndex) - ' Else - ' 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. - ' ' Maybe the listing by lodIndex is only needed internally by graphics engine. - ' 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(vertexIndex) - ' End If - - ' ''NOTE: Add the vertex to a list to be accessed by index for subsequent VTA anim writing. - ' 'Me.theVtaVertexes.Add(aVertex) - - ' line = vertexIndex.ToString() - ' line += " " - ' line += aVertex.positionX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Catch - ' End Try - 'End Sub - Private Sub WriteVertexAnimLines(ByVal aFlex As SourceMdlFlex, ByVal bodyAndMeshVertexIndexStart As Integer) Dim line As String Dim aVertex As SourceVertex Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer Dim positionX As Double Dim positionY As Double Dim positionZ As Double @@ -666,28 +190,14 @@ Public Class SourceVtaFile46 ' - Eyelids are combined, e.g. second shapekey from source vta is upper_lid_lowerer ' that contains both upper_right_lowerer and upper_left_lowerer. - 'NOTE: Figure out which list of vertexes to index. - 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'aVertex = Me.theVtaVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'NOTE: This list of vertexes works; it imports into Blender correctly. vertexIndex = aVertAnim.index + bodyAndMeshVertexIndexStart - 'vertexIndex = aVertAnim.index If Me.theVvdFileData.fixupCount = 0 Then aVertex = Me.theVvdFileData.theVertexes(vertexIndex) Else 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. ' Maybe the listing by lodIndex is only needed internally by graphics engine. - 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) aVertex = Me.theVvdFileData.theFixedVertexesByLod(0)(vertexIndex) End If - 'mappedVertexIndex = Me.theVtaVertexes.IndexOf(aVertex) - 'If mappedVertexIndex < 0 Then - ' mappedVertexIndex = 0 - 'End If positionX = aVertex.positionX + aVertAnim.flDelta(0).TheFloatValue positionY = aVertex.positionY + aVertAnim.flDelta(1).TheFloatValue @@ -695,11 +205,8 @@ Public Class SourceVtaFile46 normalX = aVertex.normalX + aVertAnim.flNDelta(0).TheFloatValue normalY = aVertex.normalY + aVertAnim.flNDelta(1).TheFloatValue normalZ = aVertex.normalZ + aVertAnim.flNDelta(2).TheFloatValue - 'NOTE: This matches values given by MDL Decompiler 0.5. - 'line = aVertAnim.index.ToString() line = " " line += vertexIndex.ToString(TheApp.InternalNumberFormat) - 'line = mappedVertexIndex.ToString() line += " " line += positionX.ToString("0.000000", TheApp.InternalNumberFormat) line += " " @@ -722,20 +229,6 @@ Public Class SourceVtaFile46 ' line += aVertAnim.flDelta(0).the16BitValue.ToString() 'End If - ' For debugging. - 'line += " // " - 'line += aVertAnim.flDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(2).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(2).the16BitValue.ToString() - Me.theOutputFileStreamWriter.WriteLine(line) Next End Sub diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceVtaFile48.vb b/Crowbar/Core/SourceModel/SourceModel48/SourceVtaFile48.vb index d261201..13372ba 100644 --- a/Crowbar/Core/SourceModel/SourceModel48/SourceVtaFile48.vb +++ b/Crowbar/Core/SourceModel/SourceModel48/SourceVtaFile48.vb @@ -52,19 +52,10 @@ Public Class SourceVtaFile48 Public Sub WriteSkeletonSectionForVertexAnimation() Dim line As String = "" - 'Dim timeIndex As Integer - 'Dim flexDescHasBeenWritten As List(Of Integer) - 'Dim meshVertexIndexStart As Integer - 'skeleton line = "skeleton" Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 0" - 'Me.theOutputFileStreamWriter.WriteLine(line) - 'line = "time 1" - 'Me.theOutputFileStreamWriter.WriteLine(line) - '====== If TheApp.Settings.DecompileStricterFormatIsChecked Then line = "time 0 # basis shape key" Else @@ -72,153 +63,6 @@ Public Class SourceVtaFile48 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'timeIndex = 0 - 'flexDescHasBeenWritten = New List(Of Integer) - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If flexDescHasBeenWritten.Contains(aFlex.flexDescIndex) Then - ' Continue For - ' Else - ' flexDescHasBeenWritten.Add(aFlex.flexDescIndex) - ' End If - - ' timeIndex += 1 - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - - ' Dim aFlexDescPartnerIndex As Integer - ' aFlexDescPartnerIndex = aFlex.flexDescPartnerIndex - ' If aFlexDescPartnerIndex > 0 AndAlso Not flexDescHasBeenWritten.Contains(aFlexDescPartnerIndex) Then - ' flexDescHasBeenWritten.Add(aFlexDescPartnerIndex) - ' line += " and " - ' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexDescPartnerIndex).theName - ' End If - - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - '====== - - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - 'Dim flexDescIndexesAlreadyAdded As List(Of Integer) - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - 'flexDescIndexesAlreadyAdded = New List(Of Integer)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' 'If flexDescIndexesAlreadyAdded.Contains(aFlex.flexDescIndex) Then - ' ' aFlexTimeStruct = flexTimes(flexDescIndexesAlreadyAdded.IndexOf(aFlex.flexDescIndex)) - - ' ' 'If aFlex.flexDescPartnerIndex = 0 Then - ' ' aFlexTimeStruct.flexDescriptiveName += " and " - ' ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' ' 'End If - - ' ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' ' aFlexTimeStruct.flexes.Add(aFlex) - ' 'Else - ' aFlexTimeStruct = New FlexTimeStruct() - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' If aFlex.flexDescPartnerIndex > 0 Then - ' aFlexTimeStruct.flexDescriptiveName += "+" - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescPartnerIndex).theName - ' End If - ' aFlexTimeStruct.bodyAndMeshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' flexTimes.Add(aFlexTimeStruct) - ' flexDescIndexesAlreadyAdded.Add(aFlex.flexDescIndex) - ' 'End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' timeIndex += 1 - 'Next - - ''For flexIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - '' line = "time " - '' line += flexIndex.ToString() - '' line += " # " - '' line += theSourceEngineModel.theMdlFileHeader.theFlexDescs(flexIndex).theName - '' Me.theOutputFileStreamWriter.WriteLine(line) - ''Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -247,26 +91,7 @@ Public Class SourceVtaFile48 Public Sub WriteVertexAnimationSection() Dim line As String = "" - 'Dim aVtxBodyPart As SourceVtxBodyPart - 'Dim aVtxModel As SourceVtxModel - 'Dim aVtxLod As SourceVtxModelLod - 'Dim aVtxMesh As SourceVtxMesh - 'Dim aVtxStripGroup As SourceVtxStripGroup - 'Dim cumulativeVertexCount As Integer - 'Dim maxIndexForMesh As Integer - 'Dim cumulativeMaxIndex As Integer - 'Dim meshVertexIndexStart As Integer - 'Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer - 'Dim aVertex As SourceVertex - 'Dim positionX As Double - 'Dim positionY As Double - 'Dim positionZ As Double - 'Dim normalX As Double - 'Dim normalY As Double - 'Dim normalZ As Double - - 'vertexanimation + line = "vertexanimation" Me.theOutputFileStreamWriter.WriteLine(line) @@ -277,70 +102,6 @@ Public Class SourceVtaFile48 End If Me.theOutputFileStreamWriter.WriteLine(line) - 'Try - ' If Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts IsNot Nothing Then - ' vertexIndex = 0 - ' For vtxBodyPartIndex As Integer = 0 To Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts.Count - 1 - ' aVtxBodyPart = Me.theSourceEngineModel.theVtxFileHeader.theVtxBodyParts(vtxBodyPartIndex) - - ' If aVtxBodyPart.theVtxModels IsNot Nothing Then - ' For vtxModelIndex As Integer = 0 To aVtxBodyPart.theVtxModels.Count - 1 - ' aVtxModel = aVtxBodyPart.theVtxModels(vtxModelIndex) - - ' If aVtxModel.theVtxModelLods IsNot Nothing Then - ' ''For lodIndex As Integer = 0 To aModel.theVtxModelLods.Count - 1 - ' Dim vtxLodIndex As Integer = 0 - ' aVtxLod = aVtxModel.theVtxModelLods(vtxLodIndex) - - ' If aVtxLod.theVtxMeshes IsNot Nothing Then - ' cumulativeVertexCount = 0 - ' maxIndexForMesh = 0 - ' cumulativeMaxIndex = 0 - ' For vtxMeshIndex As Integer = 0 To aVtxLod.theVtxMeshes.Count - 1 - ' aVtxMesh = aVtxLod.theVtxMeshes(vtxMeshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(vtxBodyPartIndex).theModels(vtxModelIndex).theMeshes(vtxMeshIndex).vertexIndexStart - - ' If aVtxMesh.theVtxStripGroups IsNot Nothing Then - ' For vtxStripGroupIndex As Integer = 0 To aVtxMesh.theVtxStripGroups.Count - 1 - ' aVtxStripGroup = aVtxMesh.theVtxStripGroups(vtxStripGroupIndex) - - ' If aVtxStripGroup.theVtxStrips IsNot Nothing AndAlso aVtxStripGroup.theVtxIndexes IsNot Nothing Then - ' For vtxIndexIndex As Integer = 0 To aVtxStripGroup.theVtxIndexes.Count - 3 Step 3 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 2, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Me.WriteBasisVertexAnimLine(aVtxStripGroup, vtxIndexIndex + 1, vertexIndex, meshVertexIndexStart) - ' vertexIndex += 1 - ' Next - ' '====== - ' 'For stripIndex As Integer = 0 To aStripGroup.stripCount - 1 - ' ' Dim aStrip As SourceVtxStrip = aStripGroup.theVtxStrips(stripIndex) - - ' ' For aStripIndexIndex As Integer = 0 To aStrip.indexCount - 3 Step 3 - ' ' Me.theOutputFileStreamWriter.WriteLine(materialName) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 2) - ' ' Me.WriteVertexLine(aStripIndexIndex + aStrip.indexMeshIndex + 1) - ' ' Next - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' 'Next - ' End If - ' Next - ' End If - ' Next - ' End If - 'Catch - 'End Try - - '====== - Try Dim aVertex As SourceVertex For vertexIndex As Integer = 0 To Me.theVvdFileData.theVertexes.Count - 1 @@ -371,201 +132,6 @@ Public Class SourceVtaFile48 Catch End Try - '###### - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim aFlexPartnerIndex As Integer - - 'flexTimes = New List(Of FlexTimeStruct)() - 'For i As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theFlexDescs.Count - 1 - ' aFlexTimeStruct = New FlexTimeStruct() - ' 'aFlexTimeStruct.isValid = False - ' aFlexTimeStruct.meshVertexIndexStarts = New List(Of Integer)() - ' aFlexTimeStruct.flexes = New List(Of SourceMdlFlex)() - ' flexTimes.Add(aFlexTimeStruct) - 'Next - - 'flexTimeIndex = 0 - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - ' 'Dim aVtxBodyPart As SourceVtxBodyPart - ' 'aVtxBodyPart = TheSourceEngineModel.theVtxFileHeader.theVtxBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - ' 'Dim aVtxModel As SourceVtxModel - ' 'aVtxModel = aVtxBodyPart.theVtxModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - ' 'Dim aVtxMesh As SourceVtxMesh - ' 'aVtxMesh = aVtxModel.theVtxModelLods(0).theVtxMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' aFlexPartnerIndex = aFlex.flexDescPartnerIndex - ' 'If Not aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: More than one flex can point to same flexDesc. - ' ' This might only occur for eyelids. - ' If aFlexPartnerIndex = 0 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' Else - ' 'aFlexTimeStruct.isValid = True - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - - ' 'If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.isValid Then - ' If aFlexPartnerIndex > 0 AndAlso aFlexTimeStruct.flexes.Count > 0 Then - ' 'NOTE: A partner flex should be added to same flexTimeStruct. - ' aFlexTimeStruct = flexTimes(aFlex.flexDescIndex) - ' 'If aFlexTimeStruct.flexes.Count < 2 Then - ' aFlexTimeStruct.flexDescriptiveName += " and " - ' aFlexTimeStruct.flexDescriptiveName += theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlexPartnerIndex).theName - ' 'End If - ' aFlexTimeStruct.meshVertexIndexStarts.Add(meshVertexIndexStart) - ' aFlexTimeStruct.flexes.Add(aFlex) - ' End If - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' 'If aFlexTimeStruct.isValid Then - ' If aFlexTimeStruct.flexes.Count > 0 Then - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.meshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - ' End If - 'Next - - '====== - - 'Dim flexTimes As List(Of FlexTimeStruct) - 'Dim aFlexTimeStruct As FlexTimeStruct - 'Dim bodyPartVertexIndexStart As Integer - - 'bodyPartVertexIndexStart = 0 - 'flexTimes = New List(Of FlexTimeStruct)() - - 'If theSourceEngineModel.theMdlFileHeader.theBodyParts IsNot Nothing AndAlso theSourceEngineModel.theMdlFileHeader.theBodyParts.Count > 0 Then - ' For bodyPartIndex As Integer = 0 To theSourceEngineModel.theMdlFileHeader.theBodyParts.Count - 1 - ' Dim aBodyPart As SourceMdlBodyPart - ' aBodyPart = theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex) - - ' If aBodyPart.theModels IsNot Nothing AndAlso aBodyPart.theModels.Count > 0 Then - ' For modelIndex As Integer = 0 To aBodyPart.theModels.Count - 1 - ' Dim aModel As SourceMdlModel - ' aModel = aBodyPart.theModels(modelIndex) - - ' If aModel.theMeshes IsNot Nothing AndAlso aModel.theMeshes.Count > 0 Then - ' For meshIndex As Integer = 0 To aModel.theMeshes.Count - 1 - ' Dim aMesh As SourceMdlMesh - ' aMesh = aModel.theMeshes(meshIndex) - - ' meshVertexIndexStart = Me.theSourceEngineModel.theMdlFileHeader.theBodyParts(bodyPartIndex).theModels(modelIndex).theMeshes(meshIndex).vertexIndexStart - - ' If aMesh.theFlexes IsNot Nothing AndAlso aMesh.theFlexes.Count > 0 Then - ' For flexIndex As Integer = 0 To aMesh.theFlexes.Count - 1 - ' Dim aFlex As SourceMdlFlex - ' aFlex = aMesh.theFlexes(flexIndex) - - ' If aFlex.theVertAnims IsNot Nothing AndAlso aFlex.theVertAnims.Count > 0 Then - ' aFlexTimeStruct = New FlexTimeStruct() - - ' aFlexTimeStruct.flexDescriptiveName = theSourceEngineModel.theMdlFileHeader.theFlexDescs(aFlex.flexDescIndex).theName - ' aFlexTimeStruct.bodyAndMeshVertexIndexStart = meshVertexIndexStart - ' aFlexTimeStruct.flex = aFlex - - ' flexTimes.Add(aFlexTimeStruct) - ' End If - ' Next - ' End If - ' Next - ' End If - ' bodyPartVertexIndexStart += aModel.vertexCount - ' Next - ' End If - ' Next - 'End If - - 'Dim timeIndex As Integer - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = "time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flex, aFlexTimeStruct.bodyAndMeshVertexIndexStart) - - ' timeIndex += 1 - 'Next - - '====== - - 'Dim timeIndex As Integer - 'Dim flexTimeIndex As Integer - 'Dim aFlexTimeStruct As FlexTimeStruct - - 'timeIndex = 1 - 'For flexTimeIndex = 0 To flexTimes.Count - 1 - ' aFlexTimeStruct = flexTimes(flexTimeIndex) - - ' line = " time " - ' line += timeIndex.ToString() - ' line += " # " - ' line += aFlexTimeStruct.flexDescriptiveName - ' Me.theOutputFileStreamWriter.WriteLine(line) - - ' For x As Integer = 0 To aFlexTimeStruct.flexes.Count - 1 - ' Me.WriteVertexAnimLines(aFlexTimeStruct.flexes(x), aFlexTimeStruct.bodyAndMeshVertexIndexStarts(x)) - ' Next - - ' timeIndex += 1 - 'Next - - '====== - Dim timeIndex As Integer Dim flexTimeIndex As Integer Dim aFlexFrame As FlexFrame @@ -604,52 +170,10 @@ Public Class SourceVtaFile48 #Region "Private Methods" - 'Private Sub WriteBasisVertexAnimLine(ByVal aStripGroup As SourceVtxStripGroup, ByVal aVtxIndexIndex As Integer, ByVal vertexIndex As Integer, ByVal meshVertexIndexStart As Integer) - ' Dim aVtxVertexIndex As UShort - ' Dim aVtxVertex As SourceVtxVertex - ' Dim aVertex As SourceVertex - ' Dim line As String - - ' Try - ' aVtxVertexIndex = aStripGroup.theVtxIndexes(aVtxIndexIndex) - ' aVtxVertex = aStripGroup.theVtxVertexes(aVtxVertexIndex) - ' If Me.theSourceEngineModel.theVvdFileHeader.fixupCount = 0 Then - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(vertexIndex) - ' Else - ' 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. - ' ' Maybe the listing by lodIndex is only needed internally by graphics engine. - ' 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) - ' 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theFixedVertexesByLod(0)(vertexIndex) - ' End If - - ' ''NOTE: Add the vertex to a list to be accessed by index for subsequent VTA anim writing. - ' 'Me.theVtaVertexes.Add(aVertex) - - ' line = vertexIndex.ToString() - ' line += " " - ' line += aVertex.positionX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.positionZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalX.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalY.ToString("0.000000", TheApp.InternalNumberFormat) - ' line += " " - ' line += aVertex.normalZ.ToString("0.000000", TheApp.InternalNumberFormat) - ' Me.theOutputFileStreamWriter.WriteLine(line) - ' Catch - ' End Try - 'End Sub - Private Sub WriteVertexAnimLines(ByVal aFlex As SourceMdlFlex, ByVal bodyAndMeshVertexIndexStart As Integer) Dim line As String Dim aVertex As SourceVertex Dim vertexIndex As Integer - 'Dim mappedVertexIndex As Integer Dim positionX As Double Dim positionY As Double Dim positionZ As Double @@ -666,28 +190,14 @@ Public Class SourceVtaFile48 ' - Eyelids are combined, e.g. second shapekey from source vta is upper_lid_lowerer ' that contains both upper_right_lowerer and upper_left_lowerer. - 'NOTE: Figure out which list of vertexes to index. - 'aVertex = Me.theSourceEngineModel.theVvdFileHeader.theVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'aVertex = Me.theVtaVertexes(aVertAnim.index) - 'vertexIndex = aVertAnim.index - '====== - 'NOTE: This list of vertexes works; it imports into Blender correctly. vertexIndex = aVertAnim.index + bodyAndMeshVertexIndexStart - 'vertexIndex = aVertAnim.index If Me.theVvdFileData.fixupCount = 0 Then aVertex = Me.theVvdFileData.theVertexes(vertexIndex) Else 'NOTE: I don't know why lodIndex is not needed here, but using only lodIndex=0 matches what MDL Decompiler produces. ' Maybe the listing by lodIndex is only needed internally by graphics engine. - 'aVertex = Me.theSourceEngineModel.theVvdFileData.theFixedVertexesByLod(lodIndex)(aVtxVertex.originalMeshVertexIndex + meshVertexIndexStart) aVertex = Me.theVvdFileData.theFixedVertexesByLod(0)(vertexIndex) End If - 'mappedVertexIndex = Me.theVtaVertexes.IndexOf(aVertex) - 'If mappedVertexIndex < 0 Then - ' mappedVertexIndex = 0 - 'End If positionX = aVertex.positionX + aVertAnim.flDelta(0).TheFloatValue positionY = aVertex.positionY + aVertAnim.flDelta(1).TheFloatValue @@ -695,11 +205,8 @@ Public Class SourceVtaFile48 normalX = aVertex.normalX + aVertAnim.flNDelta(0).TheFloatValue normalY = aVertex.normalY + aVertAnim.flNDelta(1).TheFloatValue normalZ = aVertex.normalZ + aVertAnim.flNDelta(2).TheFloatValue - 'NOTE: This matches values given by MDL Decompiler 0.5. - 'line = aVertAnim.index.ToString() line = " " line += vertexIndex.ToString(TheApp.InternalNumberFormat) - 'line = mappedVertexIndex.ToString() line += " " line += positionX.ToString("0.000000", TheApp.InternalNumberFormat) line += " " @@ -722,20 +229,6 @@ Public Class SourceVtaFile48 ' line += aVertAnim.flDelta(0).the16BitValue.ToString() 'End If - ' For debugging. - 'line += " // " - 'line += aVertAnim.flDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flDelta(2).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(0).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(1).the16BitValue.ToString() - 'line += " " - 'line += aVertAnim.flNDelta(2).the16BitValue.ToString() - Me.theOutputFileStreamWriter.WriteLine(line) Next End Sub diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb b/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb index 00cd45a..8930301 100644 --- a/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb +++ b/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb @@ -195,7 +195,6 @@ Public Class SourceVtaFile49 ' - Eyelids are combined, e.g. second shapekey from source vta is upper_lid_lowerer ' that contains both upper_right_lowerer and upper_left_lowerer. - 'NOTE: This list of vertexes works; it imports into Blender correctly. vertexIndex = aVertAnim.index + bodyAndMeshVertexIndexStart If Me.theVvdFileData.fixupCount = 0 Then aVertex = Me.theVvdFileData.theVertexes(vertexIndex) From ebcfd64aae25e7b5d90a1edd04f2d70aa4ea2c0d Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Fri, 8 Nov 2019 06:42:56 -0500 Subject: [PATCH 07/65] FIXED: Bottoms of bottom-most textboxes in Publish extend past bottom of window. This seems like a glitch with Framework or VS, because Size = 62 is what I want. --- Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb b/Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb index 46488fb..89f3adc 100644 --- a/Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb +++ b/Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb @@ -710,7 +710,7 @@ Partial Class PublishUserControl Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.QueueListView.Location = New System.Drawing.Point(568, 0) Me.QueueListView.Name = "QueueListView" - Me.QueueListView.Size = New System.Drawing.Size(202, 62) + Me.QueueListView.Size = New System.Drawing.Size(202, 61) Me.QueueListView.TabIndex = 20 Me.QueueListView.UseCompatibleStateImageBehavior = False ' @@ -724,7 +724,7 @@ Partial Class PublishUserControl Me.LogTextBox.Location = New System.Drawing.Point(131, 0) Me.LogTextBox.Name = "LogTextBox" Me.LogTextBox.ReadOnly = True - Me.LogTextBox.Size = New System.Drawing.Size(434, 62) + Me.LogTextBox.Size = New System.Drawing.Size(434, 61) Me.LogTextBox.TabIndex = 19 Me.LogTextBox.Text = "" Me.LogTextBox.WordWrap = False From fedddab6d34c9867dd2a31b54fbbad6c17f2a8a0 Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Fri, 8 Nov 2019 08:51:01 -0500 Subject: [PATCH 08/65] Adjusted widgets. --- Crowbar/Widgets/- Application/MainForm.resx | 346 +++++++++++------- .../Main Tabs/DownloadUserControl.Designer.vb | 147 ++++---- .../Main Tabs/DownloadUserControl.resx | 6 + .../Widgets/Main Tabs/DownloadUserControl.vb | 2 +- .../Main Tabs/PublishUserControl.Designer.vb | 115 +++--- .../Widgets/Main Tabs/PublishUserControl.resx | 15 + .../Main Tabs/UnpackUserControl.Designer.vb | 23 +- .../Widgets/Main Tabs/UnpackUserControl.resx | 6 - .../BlackMesaTagsUserControl.Designer.vb | 8 +- .../GarrysModTagsUserControl.Designer.vb | 10 +- 10 files changed, 393 insertions(+), 285 deletions(-) diff --git a/Crowbar/Widgets/- Application/MainForm.resx b/Crowbar/Widgets/- Application/MainForm.resx index 29c34de..706828c 100644 --- a/Crowbar/Widgets/- Application/MainForm.resx +++ b/Crowbar/Widgets/- Application/MainForm.resx @@ -124,40 +124,23 @@ About Crowbar - - 155, 22 - - - About Crowbar - 40, 20 Help - - - Fill - - - Tahoma, 8.25pt - - - 0, 0 - - - 784, 546 + + 147, 22 - - - 0 + + About Crowbar SetUpGamesUserControl1 - Crowbar.SetUpGamesUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.SetUpGamesUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null SetUpGamesTabPage @@ -171,6 +154,7 @@ 784, 546 + 15 @@ -189,6 +173,7 @@ 0 + Fill @@ -196,10 +181,10 @@ Tahoma, 8.25pt - 3, 3 + 0, 0 - 778, 540 + 784, 546 0 @@ -208,7 +193,7 @@ DownloadUserControl1 - Crowbar.DownloadUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.DownloadUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null DownloadTabPage @@ -219,9 +204,6 @@ 4, 22 - - 3, 3, 3, 3 - 784, 546 @@ -243,26 +225,11 @@ 1 - - Fill - - - Tahoma, 8.25pt - - - 0, 0 - - - 784, 546 - - - 0 - UnpackUserControl1 - Crowbar.UnpackUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.UnpackUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null UnpackTabPage @@ -294,26 +261,11 @@ 2 - - Fill - - - Tahoma, 8.25pt - - - 0, 0 - - - 784, 546 - - - 1 - PreviewViewUserControl - Crowbar.ViewUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.ViewUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null PreviewTabPage @@ -345,26 +297,11 @@ 3 - - Fill - - - Tahoma, 8.25pt - - - 0, 0 - - - 784, 546 - - - 0 - DecompilerUserControl1 - Crowbar.DecompileUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.DecompileUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null DecompileTabPage @@ -396,26 +333,11 @@ 4 - - Fill - - - Tahoma, 8.25pt - - - 0, 0 - - - 784, 546 - - - 0 - CompilerUserControl1 - Crowbar.CompileUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.CompileUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null CompileTabPage @@ -447,26 +369,11 @@ 5 - - Fill - - - Tahoma, 8.25pt - - - 0, 0 - - - 784, 546 - - - 0 - ViewViewUserControl - Crowbar.ViewUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.ViewUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null ViewTabPage @@ -498,26 +405,11 @@ 6 - - Fill - - - Tahoma, 8.25pt - - - 0, 0 - - - 784, 546 - - - 0 - PackUserControl1 - Crowbar.PackUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.PackUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null PackTabPage @@ -556,10 +448,10 @@ Tahoma, 8.25pt - 3, 3 + 0, 0 - 778, 540 + 784, 546 0 @@ -568,7 +460,7 @@ PublishUserControl1 - Crowbar.PublishUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.PublishUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null PublishTabPage @@ -579,9 +471,6 @@ 4, 22 - - 3, 3, 3, 3 - 784, 546 @@ -622,7 +511,7 @@ OptionsUserControl1 - Crowbar.OptionsUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.OptionsUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null OptionsTabPage @@ -673,7 +562,7 @@ HelpUserControl1 - Crowbar.HelpUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.HelpUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null HelpTabPage @@ -724,7 +613,7 @@ AboutUserControl1 - Crowbar.AboutUserControl, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.AboutUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null AboutTabPage @@ -780,6 +669,195 @@ 0 + + Fill + + + Tahoma, 8.25pt + + + 0, 0 + + + 784, 546 + + + 0 + + + SetUpGamesUserControl1 + + + Crowbar.SetUpGamesUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null + + + SetUpGamesTabPage + + + 0 + + + Fill + + + Tahoma, 8.25pt + + + 0, 0 + + + 784, 546 + + + 0 + + + UnpackUserControl1 + + + Crowbar.UnpackUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null + + + UnpackTabPage + + + 0 + + + Fill + + + Tahoma, 8.25pt + + + 0, 0 + + + 784, 546 + + + 1 + + + PreviewViewUserControl + + + Crowbar.ViewUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null + + + PreviewTabPage + + + 0 + + + Fill + + + Tahoma, 8.25pt + + + 0, 0 + + + 784, 546 + + + 0 + + + DecompilerUserControl1 + + + Crowbar.DecompileUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null + + + DecompileTabPage + + + 0 + + + Fill + + + Tahoma, 8.25pt + + + 0, 0 + + + 784, 546 + + + 0 + + + CompilerUserControl1 + + + Crowbar.CompileUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null + + + CompileTabPage + + + 0 + + + Fill + + + Tahoma, 8.25pt + + + 0, 0 + + + 784, 546 + + + 0 + + + ViewViewUserControl + + + Crowbar.ViewUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null + + + ViewTabPage + + + 0 + + + Fill + + + Tahoma, 8.25pt + + + 0, 0 + + + 784, 546 + + + 0 + + + PackUserControl1 + + + Crowbar.PackUserControl, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null + + + PackTabPage + + + 0 + 40, 20 @@ -3381,6 +3459,6 @@ MainForm - Crowbar.BaseForm, Crowbar, Version=0.60.0.0, Culture=neutral, PublicKeyToken=null + Crowbar.BaseForm, Crowbar, Version=0.64.0.0, Culture=neutral, PublicKeyToken=null \ No newline at end of file diff --git a/Crowbar/Widgets/Main Tabs/DownloadUserControl.Designer.vb b/Crowbar/Widgets/Main Tabs/DownloadUserControl.Designer.vb index 711ec2c..76620d9 100644 --- a/Crowbar/Widgets/Main Tabs/DownloadUserControl.Designer.vb +++ b/Crowbar/Widgets/Main Tabs/DownloadUserControl.Designer.vb @@ -43,10 +43,12 @@ Partial Class DownloadUserControl Me.OpenWorkshopPageButton = New System.Windows.Forms.Button() Me.DocumentsOutputPathTextBox = New Crowbar.TextBoxEx() Me.DownloadedItemTextBox = New Crowbar.TextBoxEx() - Me.Label1 = New System.Windows.Forms.Label() - Me.DownloadedItemButton = New System.Windows.Forms.Button() + Me.DownloadedLabel = New System.Windows.Forms.Label() + Me.GotoDownloadedItemButton = New System.Windows.Forms.Button() Me.ToolTip1 = New System.Windows.Forms.ToolTip(Me.components) + Me.Panel1 = New System.Windows.Forms.Panel() Me.OptionsGroupBox.SuspendLayout() + Me.Panel1.SuspendLayout() Me.SuspendLayout() ' 'ItemIdTextBox @@ -54,9 +56,9 @@ Partial Class DownloadUserControl Me.ItemIdTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.ItemIdTextBox.CueBannerText = "" - Me.ItemIdTextBox.Location = New System.Drawing.Point(87, 3) + Me.ItemIdTextBox.Location = New System.Drawing.Point(87, 5) Me.ItemIdTextBox.Name = "ItemIdTextBox" - Me.ItemIdTextBox.Size = New System.Drawing.Size(643, 21) + Me.ItemIdTextBox.Size = New System.Drawing.Size(645, 21) Me.ItemIdTextBox.TabIndex = 1 ' 'DownloadButton @@ -78,14 +80,14 @@ Partial Class DownloadUserControl Me.LogTextBox.Location = New System.Drawing.Point(3, 290) Me.LogTextBox.Name = "LogTextBox" Me.LogTextBox.ReadOnly = True - Me.LogTextBox.Size = New System.Drawing.Size(776, 229) + Me.LogTextBox.Size = New System.Drawing.Size(778, 224) Me.LogTextBox.TabIndex = 13 Me.LogTextBox.Text = "" ' 'ItemIdOrLinkLabel ' Me.ItemIdOrLinkLabel.AutoSize = True - Me.ItemIdOrLinkLabel.Location = New System.Drawing.Point(3, 6) + Me.ItemIdOrLinkLabel.Location = New System.Drawing.Point(3, 8) Me.ItemIdOrLinkLabel.Name = "ItemIdOrLinkLabel" Me.ItemIdOrLinkLabel.Size = New System.Drawing.Size(78, 13) Me.ItemIdOrLinkLabel.TabIndex = 0 @@ -94,7 +96,7 @@ Partial Class DownloadUserControl 'OuputToLabel ' Me.OuputToLabel.AutoSize = True - Me.OuputToLabel.Location = New System.Drawing.Point(3, 33) + Me.OuputToLabel.Location = New System.Drawing.Point(3, 37) Me.OuputToLabel.Name = "OuputToLabel" Me.OuputToLabel.Size = New System.Drawing.Size(58, 13) Me.OuputToLabel.TabIndex = 3 @@ -104,7 +106,7 @@ Partial Class DownloadUserControl ' Me.OutputPathComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.OutputPathComboBox.FormattingEnabled = True - Me.OutputPathComboBox.Location = New System.Drawing.Point(87, 30) + Me.OutputPathComboBox.Location = New System.Drawing.Point(87, 33) Me.OutputPathComboBox.Name = "OutputPathComboBox" Me.OutputPathComboBox.Size = New System.Drawing.Size(140, 21) Me.OutputPathComboBox.TabIndex = 4 @@ -114,15 +116,15 @@ Partial Class DownloadUserControl Me.OutputPathTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.OutputPathTextBox.CueBannerText = "" - Me.OutputPathTextBox.Location = New System.Drawing.Point(233, 30) + Me.OutputPathTextBox.Location = New System.Drawing.Point(233, 34) Me.OutputPathTextBox.Name = "OutputPathTextBox" - Me.OutputPathTextBox.Size = New System.Drawing.Size(427, 21) + Me.OutputPathTextBox.Size = New System.Drawing.Size(429, 21) Me.OutputPathTextBox.TabIndex = 5 ' 'GotoOutputPathButton ' Me.GotoOutputPathButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.GotoOutputPathButton.Location = New System.Drawing.Point(736, 30) + Me.GotoOutputPathButton.Location = New System.Drawing.Point(738, 32) Me.GotoOutputPathButton.Name = "GotoOutputPathButton" Me.GotoOutputPathButton.Size = New System.Drawing.Size(43, 23) Me.GotoOutputPathButton.TabIndex = 8 @@ -132,7 +134,7 @@ Partial Class DownloadUserControl 'BrowseForOutputPathButton ' Me.BrowseForOutputPathButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.BrowseForOutputPathButton.Location = New System.Drawing.Point(666, 30) + Me.BrowseForOutputPathButton.Location = New System.Drawing.Point(668, 32) Me.BrowseForOutputPathButton.Name = "BrowseForOutputPathButton" Me.BrowseForOutputPathButton.Size = New System.Drawing.Size(64, 23) Me.BrowseForOutputPathButton.TabIndex = 7 @@ -143,19 +145,19 @@ Partial Class DownloadUserControl ' Me.OptionsGroupBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.OptionsGroupBox.Controls.Add(Me.ConvertToExpectedFileOrFolderCheckBox) - Me.OptionsGroupBox.Controls.Add(Me.OptionsUseDefaultsButton) - Me.OptionsGroupBox.Controls.Add(Me.ReplaceSpacesWithUnderscoresCheckBox) - Me.OptionsGroupBox.Controls.Add(Me.AppendDateTimeCheckBox) - Me.OptionsGroupBox.Controls.Add(Me.PrependTitleCheckBox) Me.OptionsGroupBox.Controls.Add(Me.UseIdCheckBox) + Me.OptionsGroupBox.Controls.Add(Me.PrependTitleCheckBox) + Me.OptionsGroupBox.Controls.Add(Me.AppendDateTimeCheckBox) + Me.OptionsGroupBox.Controls.Add(Me.ReplaceSpacesWithUnderscoresCheckBox) + Me.OptionsGroupBox.Controls.Add(Me.OptionsUseDefaultsButton) + Me.OptionsGroupBox.Controls.Add(Me.ConvertToExpectedFileOrFolderCheckBox) Me.OptionsGroupBox.Controls.Add(Me.ExampleOutputFileNameLabel) Me.OptionsGroupBox.Controls.Add(Me.ExampleOutputFileNameTextBox) Me.OptionsGroupBox.IsReadOnly = False - Me.OptionsGroupBox.Location = New System.Drawing.Point(3, 57) + Me.OptionsGroupBox.Location = New System.Drawing.Point(3, 61) Me.OptionsGroupBox.Name = "OptionsGroupBox" Me.OptionsGroupBox.SelectedValue = Nothing - Me.OptionsGroupBox.Size = New System.Drawing.Size(776, 198) + Me.OptionsGroupBox.Size = New System.Drawing.Size(778, 194) Me.OptionsGroupBox.TabIndex = 9 Me.OptionsGroupBox.TabStop = False Me.OptionsGroupBox.Text = "Output File Name Options" @@ -229,7 +231,7 @@ Partial Class DownloadUserControl ' Me.ExampleOutputFileNameLabel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.ExampleOutputFileNameLabel.AutoSize = True - Me.ExampleOutputFileNameLabel.Location = New System.Drawing.Point(6, 155) + Me.ExampleOutputFileNameLabel.Location = New System.Drawing.Point(6, 151) Me.ExampleOutputFileNameLabel.Name = "ExampleOutputFileNameLabel" Me.ExampleOutputFileNameLabel.Size = New System.Drawing.Size(132, 13) Me.ExampleOutputFileNameLabel.TabIndex = 5 @@ -240,10 +242,10 @@ Partial Class DownloadUserControl Me.ExampleOutputFileNameTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.ExampleOutputFileNameTextBox.CueBannerText = "" - Me.ExampleOutputFileNameTextBox.Location = New System.Drawing.Point(6, 171) + Me.ExampleOutputFileNameTextBox.Location = New System.Drawing.Point(6, 167) Me.ExampleOutputFileNameTextBox.Name = "ExampleOutputFileNameTextBox" Me.ExampleOutputFileNameTextBox.ReadOnly = True - Me.ExampleOutputFileNameTextBox.Size = New System.Drawing.Size(761, 21) + Me.ExampleOutputFileNameTextBox.Size = New System.Drawing.Size(763, 21) Me.ExampleOutputFileNameTextBox.TabIndex = 6 ' 'CancelDownloadButton @@ -263,13 +265,13 @@ Partial Class DownloadUserControl Me.DownloadProgressBar.ForeColor = System.Drawing.SystemColors.ControlText Me.DownloadProgressBar.Location = New System.Drawing.Point(255, 261) Me.DownloadProgressBar.Name = "DownloadProgressBar" - Me.DownloadProgressBar.Size = New System.Drawing.Size(524, 23) + Me.DownloadProgressBar.Size = New System.Drawing.Size(526, 23) Me.DownloadProgressBar.TabIndex = 12 ' 'OpenWorkshopPageButton ' Me.OpenWorkshopPageButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.OpenWorkshopPageButton.Location = New System.Drawing.Point(736, 1) + Me.OpenWorkshopPageButton.Location = New System.Drawing.Point(738, 3) Me.OpenWorkshopPageButton.Name = "OpenWorkshopPageButton" Me.OpenWorkshopPageButton.Size = New System.Drawing.Size(43, 23) Me.OpenWorkshopPageButton.TabIndex = 2 @@ -281,10 +283,10 @@ Partial Class DownloadUserControl Me.DocumentsOutputPathTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.DocumentsOutputPathTextBox.CueBannerText = "" - Me.DocumentsOutputPathTextBox.Location = New System.Drawing.Point(233, 30) + Me.DocumentsOutputPathTextBox.Location = New System.Drawing.Point(233, 34) Me.DocumentsOutputPathTextBox.Name = "DocumentsOutputPathTextBox" Me.DocumentsOutputPathTextBox.ReadOnly = True - Me.DocumentsOutputPathTextBox.Size = New System.Drawing.Size(427, 21) + Me.DocumentsOutputPathTextBox.Size = New System.Drawing.Size(429, 21) Me.DocumentsOutputPathTextBox.TabIndex = 6 ' 'DownloadedItemTextBox @@ -292,59 +294,69 @@ Partial Class DownloadUserControl Me.DownloadedItemTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.DownloadedItemTextBox.CueBannerText = "" - Me.DownloadedItemTextBox.Location = New System.Drawing.Point(79, 525) + Me.DownloadedItemTextBox.Location = New System.Drawing.Point(79, 522) Me.DownloadedItemTextBox.Name = "DownloadedItemTextBox" Me.DownloadedItemTextBox.ReadOnly = True - Me.DownloadedItemTextBox.Size = New System.Drawing.Size(651, 21) + Me.DownloadedItemTextBox.Size = New System.Drawing.Size(653, 21) Me.DownloadedItemTextBox.TabIndex = 15 ' - 'Label1 - ' - Me.Label1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.Label1.AutoSize = True - Me.Label1.Location = New System.Drawing.Point(3, 528) - Me.Label1.Name = "Label1" - Me.Label1.Size = New System.Drawing.Size(70, 13) - Me.Label1.TabIndex = 14 - Me.Label1.Text = "Downloaded:" - ' - 'DownloadedItemButton - ' - Me.DownloadedItemButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.DownloadedItemButton.Location = New System.Drawing.Point(736, 523) - Me.DownloadedItemButton.Name = "DownloadedItemButton" - Me.DownloadedItemButton.Size = New System.Drawing.Size(43, 23) - Me.DownloadedItemButton.TabIndex = 16 - Me.DownloadedItemButton.Text = "Goto" - Me.DownloadedItemButton.UseVisualStyleBackColor = True + 'DownloadedLabel + ' + Me.DownloadedLabel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) + Me.DownloadedLabel.AutoSize = True + Me.DownloadedLabel.Location = New System.Drawing.Point(3, 525) + Me.DownloadedLabel.Name = "DownloadedLabel" + Me.DownloadedLabel.Size = New System.Drawing.Size(70, 13) + Me.DownloadedLabel.TabIndex = 14 + Me.DownloadedLabel.Text = "Downloaded:" + ' + 'GotoDownloadedItemButton + ' + Me.GotoDownloadedItemButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.GotoDownloadedItemButton.Location = New System.Drawing.Point(738, 520) + Me.GotoDownloadedItemButton.Name = "GotoDownloadedItemButton" + Me.GotoDownloadedItemButton.Size = New System.Drawing.Size(43, 23) + Me.GotoDownloadedItemButton.TabIndex = 16 + Me.GotoDownloadedItemButton.Text = "Goto" + Me.GotoDownloadedItemButton.UseVisualStyleBackColor = True + ' + 'Panel1 + ' + Me.Panel1.Controls.Add(Me.ItemIdOrLinkLabel) + Me.Panel1.Controls.Add(Me.ItemIdTextBox) + Me.Panel1.Controls.Add(Me.OpenWorkshopPageButton) + Me.Panel1.Controls.Add(Me.OuputToLabel) + Me.Panel1.Controls.Add(Me.OutputPathComboBox) + Me.Panel1.Controls.Add(Me.OutputPathTextBox) + Me.Panel1.Controls.Add(Me.DocumentsOutputPathTextBox) + Me.Panel1.Controls.Add(Me.BrowseForOutputPathButton) + Me.Panel1.Controls.Add(Me.GotoOutputPathButton) + Me.Panel1.Controls.Add(Me.OptionsGroupBox) + Me.Panel1.Controls.Add(Me.DownloadButton) + Me.Panel1.Controls.Add(Me.CancelDownloadButton) + Me.Panel1.Controls.Add(Me.DownloadProgressBar) + Me.Panel1.Controls.Add(Me.LogTextBox) + Me.Panel1.Controls.Add(Me.DownloadedLabel) + Me.Panel1.Controls.Add(Me.DownloadedItemTextBox) + Me.Panel1.Controls.Add(Me.GotoDownloadedItemButton) + Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill + Me.Panel1.Location = New System.Drawing.Point(0, 0) + Me.Panel1.Name = "Panel1" + Me.Panel1.Size = New System.Drawing.Size(784, 546) + Me.Panel1.TabIndex = 17 ' 'DownloadUserControl ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font - Me.Controls.Add(Me.DownloadedItemButton) - Me.Controls.Add(Me.Label1) - Me.Controls.Add(Me.DownloadedItemTextBox) - Me.Controls.Add(Me.ItemIdOrLinkLabel) - Me.Controls.Add(Me.OpenWorkshopPageButton) - Me.Controls.Add(Me.BrowseForOutputPathButton) - Me.Controls.Add(Me.GotoOutputPathButton) - Me.Controls.Add(Me.OutputPathTextBox) - Me.Controls.Add(Me.DocumentsOutputPathTextBox) - Me.Controls.Add(Me.OutputPathComboBox) - Me.Controls.Add(Me.OuputToLabel) - Me.Controls.Add(Me.ItemIdTextBox) - Me.Controls.Add(Me.OptionsGroupBox) - Me.Controls.Add(Me.DownloadButton) - Me.Controls.Add(Me.CancelDownloadButton) - Me.Controls.Add(Me.DownloadProgressBar) - Me.Controls.Add(Me.LogTextBox) + Me.Controls.Add(Me.Panel1) Me.Name = "DownloadUserControl" Me.Size = New System.Drawing.Size(784, 546) Me.OptionsGroupBox.ResumeLayout(False) Me.OptionsGroupBox.PerformLayout() + Me.Panel1.ResumeLayout(False) + Me.Panel1.PerformLayout() Me.ResumeLayout(False) - Me.PerformLayout() End Sub @@ -369,9 +381,10 @@ Partial Class DownloadUserControl Friend WithEvents OpenWorkshopPageButton As Button Friend WithEvents DocumentsOutputPathTextBox As TextBoxEx Friend WithEvents DownloadedItemTextBox As TextBoxEx - Friend WithEvents Label1 As Label - Friend WithEvents DownloadedItemButton As Button + Friend WithEvents DownloadedLabel As Label + Friend WithEvents GotoDownloadedItemButton As Button Friend WithEvents ExampleOutputFileNameTextBox As TextBoxEx Friend WithEvents ConvertToExpectedFileOrFolderCheckBox As CheckBoxEx Friend WithEvents ToolTip1 As ToolTip + Friend WithEvents Panel1 As Panel End Class diff --git a/Crowbar/Widgets/Main Tabs/DownloadUserControl.resx b/Crowbar/Widgets/Main Tabs/DownloadUserControl.resx index beae4c1..e83d30a 100644 --- a/Crowbar/Widgets/Main Tabs/DownloadUserControl.resx +++ b/Crowbar/Widgets/Main Tabs/DownloadUserControl.resx @@ -120,4 +120,10 @@ 17, 17 + + 17, 17 + + + 34 + \ No newline at end of file diff --git a/Crowbar/Widgets/Main Tabs/DownloadUserControl.vb b/Crowbar/Widgets/Main Tabs/DownloadUserControl.vb index e92bd20..74e454b 100644 --- a/Crowbar/Widgets/Main Tabs/DownloadUserControl.vb +++ b/Crowbar/Widgets/Main Tabs/DownloadUserControl.vb @@ -153,7 +153,7 @@ Public Class DownloadUserControl Me.CancelDownload() End Sub - Private Sub DownloadedItemButton_Click(sender As Object, e As EventArgs) Handles DownloadedItemButton.Click + Private Sub DownloadedItemButton_Click(sender As Object, e As EventArgs) Handles GotoDownloadedItemButton.Click Me.GotoDownloadedItem() End Sub diff --git a/Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb b/Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb index 89f3adc..a7c5d8e 100644 --- a/Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb +++ b/Crowbar/Widgets/Main Tabs/PublishUserControl.Designer.vb @@ -95,6 +95,7 @@ Partial Class PublishUserControl ' Me.TopMiddleSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill Me.TopMiddleSplitContainer.Location = New System.Drawing.Point(0, 0) + Me.TopMiddleSplitContainer.Margin = New System.Windows.Forms.Padding(2) Me.TopMiddleSplitContainer.Name = "TopMiddleSplitContainer" Me.TopMiddleSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal ' @@ -122,7 +123,7 @@ Partial Class PublishUserControl Me.RefreshGameItemsButton.BackgroundImage = Global.Crowbar.My.Resources.Resources.Refresh Me.RefreshGameItemsButton.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center Me.RefreshGameItemsButton.FlatStyle = System.Windows.Forms.FlatStyle.Popup - Me.RefreshGameItemsButton.Location = New System.Drawing.Point(399, 0) + Me.RefreshGameItemsButton.Location = New System.Drawing.Point(396, 3) Me.RefreshGameItemsButton.Name = "RefreshGameItemsButton" Me.RefreshGameItemsButton.Size = New System.Drawing.Size(23, 23) Me.RefreshGameItemsButton.TabIndex = 36 @@ -133,7 +134,7 @@ Partial Class PublishUserControl ' Me.TextBox1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.TextBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.TextBox1.Location = New System.Drawing.Point(428, 0) + Me.TextBox1.Location = New System.Drawing.Point(425, 3) Me.TextBox1.Name = "TextBox1" Me.TextBox1.Size = New System.Drawing.Size(136, 23) Me.TextBox1.TabIndex = 1 @@ -143,7 +144,7 @@ Partial Class PublishUserControl 'OpenSteamSubscriberAgreementButton ' Me.OpenSteamSubscriberAgreementButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.OpenSteamSubscriberAgreementButton.Location = New System.Drawing.Point(570, 0) + Me.OpenSteamSubscriberAgreementButton.Location = New System.Drawing.Point(567, 3) Me.OpenSteamSubscriberAgreementButton.Name = "OpenSteamSubscriberAgreementButton" Me.OpenSteamSubscriberAgreementButton.Size = New System.Drawing.Size(200, 23) Me.OpenSteamSubscriberAgreementButton.TabIndex = 2 @@ -156,14 +157,14 @@ Partial Class PublishUserControl Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.AppIdComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList Me.AppIdComboBox.FormattingEnabled = True - Me.AppIdComboBox.Location = New System.Drawing.Point(44, 2) + Me.AppIdComboBox.Location = New System.Drawing.Point(47, 4) Me.AppIdComboBox.Name = "AppIdComboBox" - Me.AppIdComboBox.Size = New System.Drawing.Size(349, 21) + Me.AppIdComboBox.Size = New System.Drawing.Size(346, 21) Me.AppIdComboBox.TabIndex = 0 ' 'Label8 ' - Me.Label8.Location = New System.Drawing.Point(0, 5) + Me.Label8.Location = New System.Drawing.Point(3, 8) Me.Label8.Name = "Label8" Me.Label8.Size = New System.Drawing.Size(38, 13) Me.Label8.TabIndex = 22 @@ -177,9 +178,9 @@ Partial Class PublishUserControl Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D Me.Panel1.Controls.Add(Me.ItemsDataGridView) Me.Panel1.Controls.Add(Me.ToolStrip1) - Me.Panel1.Location = New System.Drawing.Point(0, 29) + Me.Panel1.Location = New System.Drawing.Point(3, 32) Me.Panel1.Name = "Panel1" - Me.Panel1.Size = New System.Drawing.Size(770, 114) + Me.Panel1.Size = New System.Drawing.Size(764, 111) Me.Panel1.TabIndex = 31 ' 'ItemsDataGridView @@ -201,7 +202,7 @@ Partial Class PublishUserControl Me.ItemsDataGridView.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect Me.ItemsDataGridView.ShowCellErrors = False Me.ItemsDataGridView.ShowRowErrors = False - Me.ItemsDataGridView.Size = New System.Drawing.Size(765, 85) + Me.ItemsDataGridView.Size = New System.Drawing.Size(759, 82) Me.ItemsDataGridView.TabIndex = 3 ' 'ToolStrip1 @@ -210,9 +211,9 @@ Partial Class PublishUserControl Me.ToolStrip1.Dock = System.Windows.Forms.DockStyle.Bottom Me.ToolStrip1.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.AddItemToolStripButton, Me.ToolStripSeparator1, Me.SearchItemsToolStripComboBox, Me.SearchItemsToolStripTextBox, Me.SearchItemsToolStripButton, Me.ToolStripSeparator2, Me.ItemCountsToolStripLabel, Me.FindItemToolStripTextBox}) - Me.ToolStrip1.Location = New System.Drawing.Point(0, 85) + Me.ToolStrip1.Location = New System.Drawing.Point(0, 82) Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New System.Drawing.Size(766, 25) + Me.ToolStrip1.Size = New System.Drawing.Size(760, 25) Me.ToolStrip1.Stretch = True Me.ToolStrip1.TabIndex = 30 Me.ToolStrip1.Text = "ToolStrip1" @@ -284,6 +285,7 @@ Partial Class PublishUserControl 'MiddleBottomSplitContainer.Panel1 ' Me.MiddleBottomSplitContainer.Panel1.Controls.Add(Me.ItemGroupBox) + Me.MiddleBottomSplitContainer.Panel1.Padding = New System.Windows.Forms.Padding(3) ' 'MiddleBottomSplitContainer.Panel2 ' @@ -302,10 +304,10 @@ Partial Class PublishUserControl Me.ItemGroupBox.Controls.Add(Me.ItemTagsSplitContainer) Me.ItemGroupBox.Dock = System.Windows.Forms.DockStyle.Fill Me.ItemGroupBox.IsReadOnly = False - Me.ItemGroupBox.Location = New System.Drawing.Point(0, 0) + Me.ItemGroupBox.Location = New System.Drawing.Point(3, 3) Me.ItemGroupBox.Name = "ItemGroupBox" Me.ItemGroupBox.SelectedValue = Nothing - Me.ItemGroupBox.Size = New System.Drawing.Size(770, 326) + Me.ItemGroupBox.Size = New System.Drawing.Size(764, 320) Me.ItemGroupBox.TabIndex = 31 Me.ItemGroupBox.TabStop = False Me.ItemGroupBox.Text = "Item" @@ -319,6 +321,7 @@ Partial Class PublishUserControl 'ItemTagsSplitContainer.Panel1 ' Me.ItemTagsSplitContainer.Panel1.AutoScroll = True + Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.ItemIDLabel) Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.SaveTemplateButton) Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.ItemOwnerTextBox) Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.ItemOwnerLabel) @@ -341,21 +344,21 @@ Partial Class PublishUserControl Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.ItemContentFolderOrFileLabel) Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.DescriptionChangeNoteSplitContainer) Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.ItemPreviewImagePictureBox) - Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.ItemIDLabel) Me.ItemTagsSplitContainer.Panel1.Controls.Add(Me.MinSizeLabel) ' 'ItemTagsSplitContainer.Panel2 ' Me.ItemTagsSplitContainer.Panel2.Controls.Add(Me.ItemTagsGroupBox) - Me.ItemTagsSplitContainer.Size = New System.Drawing.Size(764, 306) - Me.ItemTagsSplitContainer.SplitterDistance = 585 + Me.ItemTagsSplitContainer.Panel2.Padding = New System.Windows.Forms.Padding(0, 0, 3, 3) + Me.ItemTagsSplitContainer.Size = New System.Drawing.Size(758, 300) + Me.ItemTagsSplitContainer.SplitterDistance = 580 Me.ItemTagsSplitContainer.SplitterWidth = 3 Me.ItemTagsSplitContainer.TabIndex = 25 ' 'SaveTemplateButton ' Me.SaveTemplateButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.SaveTemplateButton.Location = New System.Drawing.Point(363, 278) + Me.SaveTemplateButton.Location = New System.Drawing.Point(364, 272) Me.SaveTemplateButton.Name = "SaveTemplateButton" Me.SaveTemplateButton.Size = New System.Drawing.Size(75, 23) Me.SaveTemplateButton.TabIndex = 14 @@ -365,7 +368,7 @@ Partial Class PublishUserControl 'ItemOwnerTextBox ' Me.ItemOwnerTextBox.CueBannerText = "" - Me.ItemOwnerTextBox.Location = New System.Drawing.Point(192, 3) + Me.ItemOwnerTextBox.Location = New System.Drawing.Point(199, 0) Me.ItemOwnerTextBox.Name = "ItemOwnerTextBox" Me.ItemOwnerTextBox.ReadOnly = True Me.ItemOwnerTextBox.Size = New System.Drawing.Size(120, 21) @@ -373,7 +376,7 @@ Partial Class PublishUserControl ' 'ItemOwnerLabel ' - Me.ItemOwnerLabel.Location = New System.Drawing.Point(143, 6) + Me.ItemOwnerLabel.Location = New System.Drawing.Point(150, 3) Me.ItemOwnerLabel.Name = "ItemOwnerLabel" Me.ItemOwnerLabel.Size = New System.Drawing.Size(43, 13) Me.ItemOwnerLabel.TabIndex = 35 @@ -383,7 +386,7 @@ Partial Class PublishUserControl 'SaveAsTemplateOrDraftItemButton ' Me.SaveAsTemplateOrDraftItemButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.SaveAsTemplateOrDraftItemButton.Location = New System.Drawing.Point(165, 278) + Me.SaveAsTemplateOrDraftItemButton.Location = New System.Drawing.Point(166, 272) Me.SaveAsTemplateOrDraftItemButton.Name = "SaveAsTemplateOrDraftItemButton" Me.SaveAsTemplateOrDraftItemButton.Size = New System.Drawing.Size(111, 23) Me.SaveAsTemplateOrDraftItemButton.TabIndex = 12 @@ -393,7 +396,7 @@ Partial Class PublishUserControl 'RefreshOrRevertItemButton ' Me.RefreshOrRevertItemButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.RefreshOrRevertItemButton.Location = New System.Drawing.Point(282, 278) + Me.RefreshOrRevertItemButton.Location = New System.Drawing.Point(283, 272) Me.RefreshOrRevertItemButton.Name = "RefreshOrRevertItemButton" Me.RefreshOrRevertItemButton.Size = New System.Drawing.Size(75, 23) Me.RefreshOrRevertItemButton.TabIndex = 13 @@ -404,7 +407,7 @@ Partial Class PublishUserControl ' Me.OpenWorkshopPageButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.OpenWorkshopPageButton.Enabled = False - Me.OpenWorkshopPageButton.Location = New System.Drawing.Point(363, 278) + Me.OpenWorkshopPageButton.Location = New System.Drawing.Point(364, 272) Me.OpenWorkshopPageButton.Name = "OpenWorkshopPageButton" Me.OpenWorkshopPageButton.Size = New System.Drawing.Size(137, 23) Me.OpenWorkshopPageButton.TabIndex = 15 @@ -415,16 +418,16 @@ Partial Class PublishUserControl ' Me.ItemTitleLabel.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ItemTitleLabel.Location = New System.Drawing.Point(0, 28) + Me.ItemTitleLabel.Location = New System.Drawing.Point(3, 28) Me.ItemTitleLabel.Name = "ItemTitleLabel" - Me.ItemTitleLabel.Size = New System.Drawing.Size(585, 13) + Me.ItemTitleLabel.Size = New System.Drawing.Size(580, 13) Me.ItemTitleLabel.TabIndex = 8 Me.ItemTitleLabel.Text = "Title (### / ### characters max):" ' 'DeleteItemButton ' Me.DeleteItemButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.DeleteItemButton.Location = New System.Drawing.Point(506, 278) + Me.DeleteItemButton.Location = New System.Drawing.Point(505, 273) Me.DeleteItemButton.Name = "DeleteItemButton" Me.DeleteItemButton.Size = New System.Drawing.Size(75, 23) Me.DeleteItemButton.TabIndex = 16 @@ -435,7 +438,7 @@ Partial Class PublishUserControl ' Me.ItemVisibilityComboBox.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) Me.ItemVisibilityComboBox.FormattingEnabled = True - Me.ItemVisibilityComboBox.Location = New System.Drawing.Point(59, 280) + Me.ItemVisibilityComboBox.Location = New System.Drawing.Point(60, 273) Me.ItemVisibilityComboBox.Name = "ItemVisibilityComboBox" Me.ItemVisibilityComboBox.Size = New System.Drawing.Size(100, 21) Me.ItemVisibilityComboBox.TabIndex = 11 @@ -443,7 +446,7 @@ Partial Class PublishUserControl 'BrowseItemPreviewImagePathFileNameButton ' Me.BrowseItemPreviewImagePathFileNameButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.BrowseItemPreviewImagePathFileNameButton.Location = New System.Drawing.Point(425, 249) + Me.BrowseItemPreviewImagePathFileNameButton.Location = New System.Drawing.Point(424, 243) Me.BrowseItemPreviewImagePathFileNameButton.Name = "BrowseItemPreviewImagePathFileNameButton" Me.BrowseItemPreviewImagePathFileNameButton.Size = New System.Drawing.Size(75, 23) Me.BrowseItemPreviewImagePathFileNameButton.TabIndex = 10 @@ -457,14 +460,14 @@ Partial Class PublishUserControl Me.ItemTitleTextBox.CueBannerText = "required" Me.ItemTitleTextBox.Location = New System.Drawing.Point(3, 44) Me.ItemTitleTextBox.Name = "ItemTitleTextBox" - Me.ItemTitleTextBox.Size = New System.Drawing.Size(578, 21) + Me.ItemTitleTextBox.Size = New System.Drawing.Size(577, 21) Me.ItemTitleTextBox.TabIndex = 4 Me.ItemTitleTextBox.WordWrap = False ' 'ItemPreviewImageLabel ' Me.ItemPreviewImageLabel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.ItemPreviewImageLabel.Location = New System.Drawing.Point(-1, 235) + Me.ItemPreviewImageLabel.Location = New System.Drawing.Point(3, 229) Me.ItemPreviewImageLabel.Name = "ItemPreviewImageLabel" Me.ItemPreviewImageLabel.Size = New System.Drawing.Size(408, 13) Me.ItemPreviewImageLabel.TabIndex = 13 @@ -473,7 +476,7 @@ Partial Class PublishUserControl 'ItemIDTextBox ' Me.ItemIDTextBox.CueBannerText = "" - Me.ItemIDTextBox.Location = New System.Drawing.Point(27, 3) + Me.ItemIDTextBox.Location = New System.Drawing.Point(34, 0) Me.ItemIDTextBox.Name = "ItemIDTextBox" Me.ItemIDTextBox.ReadOnly = True Me.ItemIDTextBox.Size = New System.Drawing.Size(110, 21) @@ -484,16 +487,16 @@ Partial Class PublishUserControl Me.ItemPreviewImagePathFileNameTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.ItemPreviewImagePathFileNameTextBox.CueBannerText = "required" - Me.ItemPreviewImagePathFileNameTextBox.Location = New System.Drawing.Point(2, 251) + Me.ItemPreviewImagePathFileNameTextBox.Location = New System.Drawing.Point(3, 245) Me.ItemPreviewImagePathFileNameTextBox.Name = "ItemPreviewImagePathFileNameTextBox" - Me.ItemPreviewImagePathFileNameTextBox.Size = New System.Drawing.Size(417, 21) + Me.ItemPreviewImagePathFileNameTextBox.Size = New System.Drawing.Size(415, 21) Me.ItemPreviewImagePathFileNameTextBox.TabIndex = 9 Me.ItemPreviewImagePathFileNameTextBox.WordWrap = False ' 'ItemVisibilityLabel ' Me.ItemVisibilityLabel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.ItemVisibilityLabel.Location = New System.Drawing.Point(-1, 283) + Me.ItemVisibilityLabel.Location = New System.Drawing.Point(0, 277) Me.ItemVisibilityLabel.Name = "ItemVisibilityLabel" Me.ItemVisibilityLabel.Size = New System.Drawing.Size(54, 13) Me.ItemVisibilityLabel.TabIndex = 10 @@ -502,7 +505,7 @@ Partial Class PublishUserControl 'ItemPostedTextBox ' Me.ItemPostedTextBox.CueBannerText = "" - Me.ItemPostedTextBox.Location = New System.Drawing.Point(335, 3) + Me.ItemPostedTextBox.Location = New System.Drawing.Point(334, 0) Me.ItemPostedTextBox.Name = "ItemPostedTextBox" Me.ItemPostedTextBox.ReadOnly = True Me.ItemPostedTextBox.Size = New System.Drawing.Size(120, 21) @@ -512,7 +515,7 @@ Partial Class PublishUserControl 'BrowseItemContentPathFileNameButton ' Me.BrowseItemContentPathFileNameButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.BrowseItemContentPathFileNameButton.Location = New System.Drawing.Point(425, 208) + Me.BrowseItemContentPathFileNameButton.Location = New System.Drawing.Point(424, 202) Me.BrowseItemContentPathFileNameButton.Name = "BrowseItemContentPathFileNameButton" Me.BrowseItemContentPathFileNameButton.Size = New System.Drawing.Size(75, 23) Me.BrowseItemContentPathFileNameButton.TabIndex = 8 @@ -522,7 +525,7 @@ Partial Class PublishUserControl 'ItemUpdatedTextBox ' Me.ItemUpdatedTextBox.CueBannerText = "" - Me.ItemUpdatedTextBox.Location = New System.Drawing.Point(461, 3) + Me.ItemUpdatedTextBox.Location = New System.Drawing.Point(460, 0) Me.ItemUpdatedTextBox.Name = "ItemUpdatedTextBox" Me.ItemUpdatedTextBox.ReadOnly = True Me.ItemUpdatedTextBox.Size = New System.Drawing.Size(120, 21) @@ -534,16 +537,16 @@ Partial Class PublishUserControl Me.ItemContentPathFileNameTextBox.Anchor = CType(((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.ItemContentPathFileNameTextBox.CueBannerText = "required" - Me.ItemContentPathFileNameTextBox.Location = New System.Drawing.Point(2, 210) + Me.ItemContentPathFileNameTextBox.Location = New System.Drawing.Point(3, 204) Me.ItemContentPathFileNameTextBox.Name = "ItemContentPathFileNameTextBox" - Me.ItemContentPathFileNameTextBox.Size = New System.Drawing.Size(417, 21) + Me.ItemContentPathFileNameTextBox.Size = New System.Drawing.Size(415, 21) Me.ItemContentPathFileNameTextBox.TabIndex = 7 Me.ItemContentPathFileNameTextBox.WordWrap = False ' 'ItemContentFolderOrFileLabel ' Me.ItemContentFolderOrFileLabel.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles) - Me.ItemContentFolderOrFileLabel.Location = New System.Drawing.Point(-1, 194) + Me.ItemContentFolderOrFileLabel.Location = New System.Drawing.Point(3, 188) Me.ItemContentFolderOrFileLabel.Name = "ItemContentFolderOrFileLabel" Me.ItemContentFolderOrFileLabel.Size = New System.Drawing.Size(408, 13) Me.ItemContentFolderOrFileLabel.TabIndex = 18 @@ -568,8 +571,8 @@ Partial Class PublishUserControl Me.DescriptionChangeNoteSplitContainer.Panel2.Controls.Add(Me.ToggleWordWrapForChangeNoteCheckBox) Me.DescriptionChangeNoteSplitContainer.Panel2.Controls.Add(Me.ItemChangeNoteLabel) Me.DescriptionChangeNoteSplitContainer.Panel2.Controls.Add(Me.ItemChangeNoteTextBox) - Me.DescriptionChangeNoteSplitContainer.Size = New System.Drawing.Size(578, 121) - Me.DescriptionChangeNoteSplitContainer.SplitterDistance = 295 + Me.DescriptionChangeNoteSplitContainer.Size = New System.Drawing.Size(577, 115) + Me.DescriptionChangeNoteSplitContainer.SplitterDistance = 294 Me.DescriptionChangeNoteSplitContainer.TabIndex = 5 ' 'ToggleWordWrapForDescriptionCheckBox @@ -579,7 +582,7 @@ Partial Class PublishUserControl Me.ToggleWordWrapForDescriptionCheckBox.BackgroundImage = Global.Crowbar.My.Resources.Resources.WordWrapOff Me.ToggleWordWrapForDescriptionCheckBox.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center Me.ToggleWordWrapForDescriptionCheckBox.FlatStyle = System.Windows.Forms.FlatStyle.Popup - Me.ToggleWordWrapForDescriptionCheckBox.Location = New System.Drawing.Point(280, 3) + Me.ToggleWordWrapForDescriptionCheckBox.Location = New System.Drawing.Point(279, 3) Me.ToggleWordWrapForDescriptionCheckBox.Name = "ToggleWordWrapForDescriptionCheckBox" Me.ToggleWordWrapForDescriptionCheckBox.Size = New System.Drawing.Size(13, 13) Me.ToggleWordWrapForDescriptionCheckBox.TabIndex = 16 @@ -589,9 +592,9 @@ Partial Class PublishUserControl ' Me.ItemDescriptionLabel.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ItemDescriptionLabel.Location = New System.Drawing.Point(-3, 3) + Me.ItemDescriptionLabel.Location = New System.Drawing.Point(0, 3) Me.ItemDescriptionLabel.Name = "ItemDescriptionLabel" - Me.ItemDescriptionLabel.Size = New System.Drawing.Size(277, 13) + Me.ItemDescriptionLabel.Size = New System.Drawing.Size(276, 13) Me.ItemDescriptionLabel.TabIndex = 9 Me.ItemDescriptionLabel.Text = "Description (### / ### characters max):" ' @@ -604,7 +607,7 @@ Partial Class PublishUserControl Me.ItemDescriptionTextBox.CueBannerText = "required" Me.ItemDescriptionTextBox.Location = New System.Drawing.Point(0, 19) Me.ItemDescriptionTextBox.Name = "ItemDescriptionTextBox" - Me.ItemDescriptionTextBox.Size = New System.Drawing.Size(293, 102) + Me.ItemDescriptionTextBox.Size = New System.Drawing.Size(292, 96) Me.ItemDescriptionTextBox.TabIndex = 5 Me.ItemDescriptionTextBox.Text = "" Me.ItemDescriptionTextBox.WordWrap = False @@ -626,7 +629,7 @@ Partial Class PublishUserControl ' Me.ItemChangeNoteLabel.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left) _ Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.ItemChangeNoteLabel.Location = New System.Drawing.Point(-3, 3) + Me.ItemChangeNoteLabel.Location = New System.Drawing.Point(0, 3) Me.ItemChangeNoteLabel.Name = "ItemChangeNoteLabel" Me.ItemChangeNoteLabel.Size = New System.Drawing.Size(263, 13) Me.ItemChangeNoteLabel.TabIndex = 11 @@ -641,7 +644,7 @@ Partial Class PublishUserControl Me.ItemChangeNoteTextBox.CueBannerText = "" Me.ItemChangeNoteTextBox.Location = New System.Drawing.Point(0, 19) Me.ItemChangeNoteTextBox.Name = "ItemChangeNoteTextBox" - Me.ItemChangeNoteTextBox.Size = New System.Drawing.Size(279, 102) + Me.ItemChangeNoteTextBox.Size = New System.Drawing.Size(279, 96) Me.ItemChangeNoteTextBox.TabIndex = 6 Me.ItemChangeNoteTextBox.Text = "" Me.ItemChangeNoteTextBox.WordWrap = False @@ -650,7 +653,7 @@ Partial Class PublishUserControl ' Me.ItemPreviewImagePictureBox.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.ItemPreviewImagePictureBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.ItemPreviewImagePictureBox.Location = New System.Drawing.Point(506, 197) + Me.ItemPreviewImagePictureBox.Location = New System.Drawing.Point(505, 191) Me.ItemPreviewImagePictureBox.Name = "ItemPreviewImagePictureBox" Me.ItemPreviewImagePictureBox.Size = New System.Drawing.Size(75, 75) Me.ItemPreviewImagePictureBox.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom @@ -659,7 +662,7 @@ Partial Class PublishUserControl ' 'ItemIDLabel ' - Me.ItemIDLabel.Location = New System.Drawing.Point(0, 6) + Me.ItemIDLabel.Location = New System.Drawing.Point(3, 3) Me.ItemIDLabel.Name = "ItemIDLabel" Me.ItemIDLabel.Size = New System.Drawing.Size(25, 13) Me.ItemIDLabel.TabIndex = 4 @@ -670,7 +673,7 @@ Partial Class PublishUserControl Me.MinSizeLabel.Enabled = False Me.MinSizeLabel.Location = New System.Drawing.Point(0, 0) Me.MinSizeLabel.Name = "MinSizeLabel" - Me.MinSizeLabel.Size = New System.Drawing.Size(585, 300) + Me.MinSizeLabel.Size = New System.Drawing.Size(580, 297) Me.MinSizeLabel.TabIndex = 30 ' 'ItemTagsGroupBox @@ -681,7 +684,7 @@ Partial Class PublishUserControl Me.ItemTagsGroupBox.Margin = New System.Windows.Forms.Padding(0) Me.ItemTagsGroupBox.Name = "ItemTagsGroupBox" Me.ItemTagsGroupBox.SelectedValue = Nothing - Me.ItemTagsGroupBox.Size = New System.Drawing.Size(176, 306) + Me.ItemTagsGroupBox.Size = New System.Drawing.Size(172, 297) Me.ItemTagsGroupBox.TabIndex = 17 Me.ItemTagsGroupBox.TabStop = False Me.ItemTagsGroupBox.Text = "Tags" @@ -689,7 +692,7 @@ Partial Class PublishUserControl 'QuotaProgressBar ' Me.QuotaProgressBar.ForeColor = System.Drawing.SystemColors.ControlText - Me.QuotaProgressBar.Location = New System.Drawing.Point(0, 31) + Me.QuotaProgressBar.Location = New System.Drawing.Point(3, 31) Me.QuotaProgressBar.Name = "QuotaProgressBar" Me.QuotaProgressBar.Size = New System.Drawing.Size(125, 23) Me.QuotaProgressBar.TabIndex = 37 @@ -697,7 +700,7 @@ Partial Class PublishUserControl ' 'PublishItemButton ' - Me.PublishItemButton.Location = New System.Drawing.Point(0, 0) + Me.PublishItemButton.Location = New System.Drawing.Point(3, 0) Me.PublishItemButton.Name = "PublishItemButton" Me.PublishItemButton.Size = New System.Drawing.Size(125, 23) Me.PublishItemButton.TabIndex = 18 @@ -710,7 +713,7 @@ Partial Class PublishUserControl Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.QueueListView.Location = New System.Drawing.Point(568, 0) Me.QueueListView.Name = "QueueListView" - Me.QueueListView.Size = New System.Drawing.Size(202, 61) + Me.QueueListView.Size = New System.Drawing.Size(199, 59) Me.QueueListView.TabIndex = 20 Me.QueueListView.UseCompatibleStateImageBehavior = False ' @@ -721,10 +724,10 @@ Partial Class PublishUserControl Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) Me.LogTextBox.CueBannerText = "" Me.LogTextBox.HideSelection = False - Me.LogTextBox.Location = New System.Drawing.Point(131, 0) + Me.LogTextBox.Location = New System.Drawing.Point(134, 0) Me.LogTextBox.Name = "LogTextBox" Me.LogTextBox.ReadOnly = True - Me.LogTextBox.Size = New System.Drawing.Size(434, 61) + Me.LogTextBox.Size = New System.Drawing.Size(431, 59) Me.LogTextBox.TabIndex = 19 Me.LogTextBox.Text = "" Me.LogTextBox.WordWrap = False diff --git a/Crowbar/Widgets/Main Tabs/PublishUserControl.resx b/Crowbar/Widgets/Main Tabs/PublishUserControl.resx index 34780c6..87bd22f 100644 --- a/Crowbar/Widgets/Main Tabs/PublishUserControl.resx +++ b/Crowbar/Widgets/Main Tabs/PublishUserControl.resx @@ -123,6 +123,18 @@ 17, 17 + + 119, 17 + + + 119, 17 + + + 119, 17 + + + 17, 17 + @@ -139,6 +151,9 @@ KlSA8/zRh9ABIDUG+1JpAAAAAElFTkSuQmCC + + 119, 17 + 25 diff --git a/Crowbar/Widgets/Main Tabs/UnpackUserControl.Designer.vb b/Crowbar/Widgets/Main Tabs/UnpackUserControl.Designer.vb index c455c5f..bac4fcf 100644 --- a/Crowbar/Widgets/Main Tabs/UnpackUserControl.Designer.vb +++ b/Crowbar/Widgets/Main Tabs/UnpackUserControl.Designer.vb @@ -110,7 +110,6 @@ Partial Class UnpackUserControl Me.Panel2.Controls.Add(Me.SplitContainer1) Me.Panel2.Dock = System.Windows.Forms.DockStyle.Fill Me.Panel2.Location = New System.Drawing.Point(0, 0) - Me.Panel2.Margin = New System.Windows.Forms.Padding(2) Me.Panel2.Name = "Panel2" Me.Panel2.Size = New System.Drawing.Size(776, 536) Me.Panel2.TabIndex = 0 @@ -302,7 +301,7 @@ Partial Class UnpackUserControl ' Me.SplitContainer2.Panel2.Controls.Add(Me.OptionsGroupBox) Me.SplitContainer2.Size = New System.Drawing.Size(770, 335) - Me.SplitContainer2.SplitterDistance = 572 + Me.SplitContainer2.SplitterDistance = 570 Me.SplitContainer2.SplitterWidth = 6 Me.SplitContainer2.TabIndex = 0 ' @@ -314,7 +313,7 @@ Partial Class UnpackUserControl Me.SelectionGroupBox.Dock = System.Windows.Forms.DockStyle.Fill Me.SelectionGroupBox.Location = New System.Drawing.Point(0, 0) Me.SelectionGroupBox.Name = "SelectionGroupBox" - Me.SelectionGroupBox.Size = New System.Drawing.Size(572, 335) + Me.SelectionGroupBox.Size = New System.Drawing.Size(570, 335) Me.SelectionGroupBox.TabIndex = 0 Me.SelectionGroupBox.TabStop = False Me.SelectionGroupBox.Text = "Selection in package files" @@ -327,7 +326,7 @@ Partial Class UnpackUserControl Me.ToolStrip1.Items.AddRange(New System.Windows.Forms.ToolStripItem() {Me.FindToolStripTextBox, Me.FindToolStripButton, Me.ToolStripSeparator1, Me.FilesSelectedCountToolStripLabel, Me.SizeSelectedTotalToolStripLabel, Me.RefreshListingToolStripButton}) Me.ToolStrip1.Location = New System.Drawing.Point(3, 307) Me.ToolStrip1.Name = "ToolStrip1" - Me.ToolStrip1.Size = New System.Drawing.Size(566, 25) + Me.ToolStrip1.Size = New System.Drawing.Size(564, 25) Me.ToolStrip1.Stretch = True Me.ToolStrip1.TabIndex = 10 Me.ToolStrip1.Text = "ToolStrip1" @@ -336,7 +335,7 @@ Partial Class UnpackUserControl ' Me.FindToolStripTextBox.Font = New System.Drawing.Font("Segoe UI", 9.0!) Me.FindToolStripTextBox.Name = "FindToolStripTextBox" - Me.FindToolStripTextBox.Size = New System.Drawing.Size(444, 25) + Me.FindToolStripTextBox.Size = New System.Drawing.Size(442, 25) Me.FindToolStripTextBox.ToolTipText = "Text to find" ' 'FindToolStripButton @@ -385,7 +384,7 @@ Partial Class UnpackUserControl Me.SelectionPathTextBox.Location = New System.Drawing.Point(6, 19) Me.SelectionPathTextBox.Name = "SelectionPathTextBox" Me.SelectionPathTextBox.ReadOnly = True - Me.SelectionPathTextBox.Size = New System.Drawing.Size(560, 21) + Me.SelectionPathTextBox.Size = New System.Drawing.Size(558, 21) Me.SelectionPathTextBox.TabIndex = 1 ' 'SplitContainer3 @@ -404,7 +403,7 @@ Partial Class UnpackUserControl 'SplitContainer3.Panel2 ' Me.SplitContainer3.Panel2.Controls.Add(Me.PackageListView) - Me.SplitContainer3.Size = New System.Drawing.Size(560, 258) + Me.SplitContainer3.Size = New System.Drawing.Size(558, 258) Me.SplitContainer3.SplitterDistance = 250 Me.SplitContainer3.TabIndex = 6 ' @@ -436,7 +435,7 @@ Partial Class UnpackUserControl Me.PackageListView.Location = New System.Drawing.Point(0, 0) Me.PackageListView.Name = "PackageListView" Me.PackageListView.ShowGroups = False - Me.PackageListView.Size = New System.Drawing.Size(306, 258) + Me.PackageListView.Size = New System.Drawing.Size(304, 258) Me.PackageListView.SmallImageList = Me.ImageList1 Me.PackageListView.Sorting = System.Windows.Forms.SortOrder.Ascending Me.PackageListView.TabIndex = 1 @@ -449,7 +448,7 @@ Partial Class UnpackUserControl Me.OptionsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill Me.OptionsGroupBox.Location = New System.Drawing.Point(0, 0) Me.OptionsGroupBox.Name = "OptionsGroupBox" - Me.OptionsGroupBox.Size = New System.Drawing.Size(192, 335) + Me.OptionsGroupBox.Size = New System.Drawing.Size(194, 335) Me.OptionsGroupBox.TabIndex = 0 Me.OptionsGroupBox.TabStop = False Me.OptionsGroupBox.Text = "Options" @@ -467,7 +466,7 @@ Partial Class UnpackUserControl Me.Panel1.Dock = System.Windows.Forms.DockStyle.Fill Me.Panel1.Location = New System.Drawing.Point(3, 17) Me.Panel1.Name = "Panel1" - Me.Panel1.Size = New System.Drawing.Size(186, 315) + Me.Panel1.Size = New System.Drawing.Size(188, 315) Me.Panel1.TabIndex = 0 ' 'FolderForEachPackageCheckBox @@ -493,7 +492,7 @@ Partial Class UnpackUserControl 'EditGameSetupButton ' Me.EditGameSetupButton.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) - Me.EditGameSetupButton.Location = New System.Drawing.Point(4935, 229) + Me.EditGameSetupButton.Location = New System.Drawing.Point(5005, 229) Me.EditGameSetupButton.Name = "EditGameSetupButton" Me.EditGameSetupButton.Size = New System.Drawing.Size(90, 23) Me.EditGameSetupButton.TabIndex = 1 @@ -509,7 +508,7 @@ Partial Class UnpackUserControl Me.GameSetupComboBox.FormattingEnabled = True Me.GameSetupComboBox.Location = New System.Drawing.Point(3, 255) Me.GameSetupComboBox.Name = "GameSetupComboBox" - Me.GameSetupComboBox.Size = New System.Drawing.Size(5022, 21) + Me.GameSetupComboBox.Size = New System.Drawing.Size(5092, 21) Me.GameSetupComboBox.TabIndex = 2 Me.GameSetupComboBox.Visible = False ' diff --git a/Crowbar/Widgets/Main Tabs/UnpackUserControl.resx b/Crowbar/Widgets/Main Tabs/UnpackUserControl.resx index 9c3b333..8116c59 100644 --- a/Crowbar/Widgets/Main Tabs/UnpackUserControl.resx +++ b/Crowbar/Widgets/Main Tabs/UnpackUserControl.resx @@ -120,12 +120,6 @@ 111, 17 - - 17, 17 - - - 111, 17 - 213, 17 diff --git a/Crowbar/Widgets/Publish SteamApp Tags/BlackMesaTagsUserControl.Designer.vb b/Crowbar/Widgets/Publish SteamApp Tags/BlackMesaTagsUserControl.Designer.vb index aa1ec1f..9a394b2 100644 --- a/Crowbar/Widgets/Publish SteamApp Tags/BlackMesaTagsUserControl.Designer.vb +++ b/Crowbar/Widgets/Publish SteamApp Tags/BlackMesaTagsUserControl.Designer.vb @@ -50,7 +50,7 @@ Partial Class BlackMesaTagsUserControl ' Me.MapTagsGroupBox.Controls.Add(Me.MultiplayerTagCheckBox) Me.MapTagsGroupBox.Controls.Add(Me.SingleplayerTagCheckBox) - Me.MapTagsGroupBox.Location = New System.Drawing.Point(0, 0) + Me.MapTagsGroupBox.Location = New System.Drawing.Point(3, 0) Me.MapTagsGroupBox.Name = "MapTagsGroupBox" Me.MapTagsGroupBox.Size = New System.Drawing.Size(114, 77) Me.MapTagsGroupBox.TabIndex = 0 @@ -87,7 +87,7 @@ Partial Class BlackMesaTagsUserControl Me.ModelTagsGroupBox.Controls.Add(Me.NPCTagCheckBox) Me.ModelTagsGroupBox.Controls.Add(Me.EnvironmentTagCheckBox) Me.ModelTagsGroupBox.Controls.Add(Me.CreatureTagCheckBox) - Me.ModelTagsGroupBox.Location = New System.Drawing.Point(0, 83) + Me.ModelTagsGroupBox.Location = New System.Drawing.Point(3, 83) Me.ModelTagsGroupBox.Name = "ModelTagsGroupBox" Me.ModelTagsGroupBox.Size = New System.Drawing.Size(114, 123) Me.ModelTagsGroupBox.TabIndex = 1 @@ -154,9 +154,9 @@ Partial Class BlackMesaTagsUserControl Me.GroupBox1.Controls.Add(Me.Label3) Me.GroupBox1.Controls.Add(Me.Label2) Me.GroupBox1.Controls.Add(Me.Label1) - Me.GroupBox1.Location = New System.Drawing.Point(120, 0) + Me.GroupBox1.Location = New System.Drawing.Point(123, 0) Me.GroupBox1.Name = "GroupBox1" - Me.GroupBox1.Size = New System.Drawing.Size(191, 206) + Me.GroupBox1.Size = New System.Drawing.Size(167, 206) Me.GroupBox1.TabIndex = 1 Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "Extras" diff --git a/Crowbar/Widgets/Publish SteamApp Tags/GarrysModTagsUserControl.Designer.vb b/Crowbar/Widgets/Publish SteamApp Tags/GarrysModTagsUserControl.Designer.vb index 761cf22..3b7bea5 100644 --- a/Crowbar/Widgets/Publish SteamApp Tags/GarrysModTagsUserControl.Designer.vb +++ b/Crowbar/Widgets/Publish SteamApp Tags/GarrysModTagsUserControl.Designer.vb @@ -45,7 +45,7 @@ Partial Class GarrysModTagsUserControl Me.ComboBox1.FormattingEnabled = True Me.ComboBox1.Location = New System.Drawing.Point(44, 0) Me.ComboBox1.Name = "ComboBox1" - Me.ComboBox1.Size = New System.Drawing.Size(120, 21) + Me.ComboBox1.Size = New System.Drawing.Size(110, 21) Me.ComboBox1.TabIndex = 1 Me.ComboBox1.Tag = "TagsEnabled" ' @@ -181,7 +181,7 @@ Partial Class GarrysModTagsUserControl Me.GroupBox1.Location = New System.Drawing.Point(3, 27) Me.GroupBox1.Name = "GroupBox1" Me.GroupBox1.SelectedValue = Nothing - Me.GroupBox1.Size = New System.Drawing.Size(161, 235) + Me.GroupBox1.Size = New System.Drawing.Size(151, 228) Me.GroupBox1.TabIndex = 2 Me.GroupBox1.TabStop = False Me.GroupBox1.Text = "Choose up to two" @@ -191,7 +191,7 @@ Partial Class GarrysModTagsUserControl Me.AddonTagCheckBox.AutoSize = True Me.AddonTagCheckBox.Enabled = False Me.AddonTagCheckBox.IsReadOnly = False - Me.AddonTagCheckBox.Location = New System.Drawing.Point(72, 268) + Me.AddonTagCheckBox.Location = New System.Drawing.Point(72, 261) Me.AddonTagCheckBox.Name = "AddonTagCheckBox" Me.AddonTagCheckBox.Size = New System.Drawing.Size(57, 17) Me.AddonTagCheckBox.TabIndex = 9 @@ -202,7 +202,7 @@ Partial Class GarrysModTagsUserControl 'Label2 ' Me.Label2.AutoSize = True - Me.Label2.Location = New System.Drawing.Point(3, 269) + Me.Label2.Location = New System.Drawing.Point(3, 262) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(63, 13) Me.Label2.TabIndex = 10 @@ -218,7 +218,7 @@ Partial Class GarrysModTagsUserControl Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.ComboBox1) Me.Name = "GarrysModTagsUserControl" - Me.Size = New System.Drawing.Size(184, 299) + Me.Size = New System.Drawing.Size(168, 299) Me.GroupBox1.ResumeLayout(False) Me.GroupBox1.PerformLayout() Me.ResumeLayout(False) From c38c06d81cd641cf8497011efe1045e55ef95196 Mon Sep 17 00:00:00 2001 From: ZeqMacaw Date: Wed, 20 Nov 2019 09:13:33 -0500 Subject: [PATCH 09/65] Rename folders. SourceModel to GameModel SourcePackage to GamePackage HfsFormat to HfsFile GmaFormat to GmaFile Add BinaryFiles and TextFiles --- .../- Base/Common.vb | 0 .../- Base/SourceFileData.vb | 0 .../- Base/SourceFileNamesModule.vb | 0 .../- Base/SourceMdlAnimationDescBase.vb | 0 .../- Base/SourceMdlFile.vb | 0 .../- Base/SourceMdlFileDataBase.vb | 0 .../- Base/SourceMdlSequenceDescBase.vb | 0 .../- Base/SourceModel.vb | 0 .../- Base/SourceModelProgressEventArgs.vb | 0 .../- Base/SourceModelProgressEventHandler.vb | 0 .../- Base/SourceQcFile.vb | 0 .../AniFile/AniFile44/SourceAniFile44.vb | 179 ++++ .../AniFile/AniFile44/SourceAniFile44.vb.bak} | 0 .../AniFile/AniFile44}/SourceAniFileData44.vb | 0 .../AniFile/AniFile49/BoneConstantInfo49.vb} | 2 +- .../AniFile/AniFile49/BoneFrameDataInfo49.vb} | 2 +- .../AniFile/AniFile49}/SourceAniFile49.vb | 0 .../AniFile/AniFile49}/SourceAniFileData49.vb | 0 .../AniFile49/SourceAniFrameAnim49.vb} | 6 +- .../PhyFile}/SourcePhyCollisionData.vb | 0 .../PhyFile}/SourcePhyCollisionPair.vb | 0 .../PhyFile}/SourcePhyEditParamsSection.vb | 0 .../BinaryFiles/PhyFile}/SourcePhyFace.vb | 0 .../PhyFile}/SourcePhyFaceSection.vb | 0 .../BinaryFiles/PhyFile}/SourcePhyFile.vb | 0 .../BinaryFiles/PhyFile}/SourcePhyFileData.vb | 0 .../PhyFile}/SourcePhyRagdollConstraint.vb | 0 .../BinaryFiles/PhyFile}/SourcePhyVertex.vb | 0 .../PhyFile}/SourcePhysCollisionModel.vb | 0 .../VtxFile/VtxFile06}/SourceVtxBodyPart06.vb | 0 .../VtxFile06}/SourceVtxBoneStateChange06.vb | 0 .../VtxFile/VtxFile06}/SourceVtxFile06.vb | 0 .../VtxFile/VtxFile06}/SourceVtxFileData06.vb | 0 .../SourceVtxMaterialReplacement06.vb | 0 .../SourceVtxMaterialReplacementList06.vb | 0 .../VtxFile/VtxFile06}/SourceVtxMesh06.vb | 0 .../VtxFile/VtxFile06}/SourceVtxModel06.vb | 0 .../VtxFile/VtxFile06}/SourceVtxModelLod06.vb | 0 .../VtxFile/VtxFile06}/SourceVtxStrip06.vb | 0 .../VtxFile06}/SourceVtxStripGroup06.vb | 0 .../VtxFile/VtxFile06}/SourceVtxVertex06.vb | 0 .../VtxFile/VtxFile07}/SourceVtxBodyPart07.vb | 0 .../VtxFile07}/SourceVtxBoneStateChange07.vb | 0 .../VtxFile/VtxFile07}/SourceVtxFile07.vb | 0 .../VtxFile/VtxFile07}/SourceVtxFileData07.vb | 0 .../SourceVtxMaterialReplacement07.vb | 0 .../SourceVtxMaterialReplacementList07.vb | 0 .../VtxFile/VtxFile07}/SourceVtxMesh07.vb | 0 .../VtxFile/VtxFile07}/SourceVtxModel07.vb | 0 .../VtxFile/VtxFile07}/SourceVtxModelLod07.vb | 0 .../VtxFile/VtxFile07}/SourceVtxStrip07.vb | 0 .../VtxFile07}/SourceVtxStripGroup07.vb | 0 .../VtxFile/VtxFile07}/SourceVtxVertex07.vb | 0 .../VtxFile107}/SourceVtxBodyPart107.vb | 0 .../SourceVtxBoneStateChange107.vb | 0 .../VtxFile/VtxFile107}/SourceVtxFile107.vb | 0 .../VtxFile107}/SourceVtxFileData107.vb | 0 .../VtxFile/VtxFile107}/SourceVtxMesh107.vb | 0 .../VtxFile/VtxFile107}/SourceVtxModel107.vb | 0 .../VtxFile107}/SourceVtxModelLod107.vb | 0 .../VtxFile/VtxFile107}/SourceVtxStrip107.vb | 0 .../VtxFile107}/SourceVtxStripGroup107.vb | 0 .../VtxFile/VtxFile107}/SourceVtxVertex107.vb | 0 .../VvdFile/VvdFile04}/SourceVvdFile04.vb | 0 .../VvdFile/VvdFile04}/SourceVvdFileData04.vb | 0 .../VvdFile/VvdFile04}/SourceVvdFixup04.vb | 0 .../SourceMdlFileData/AnimationFrameLine.vb | 0 .../SourceMdlFileData/FlexFrame.vb | 0 .../SourceMdlFileData/LodQcInfo.vb | 0 .../SourceMdlActivityModifier.vb | 0 .../SourceMdlFileData/SourceMdlAnimBlock.vb | 0 .../SourceMdlFileData/SourceMdlAnimation.vb | 0 .../SourceMdlAnimationDesc.vb | 2 +- .../SourceMdlAnimationSection.vb | 0 .../SourceMdlAnimationValue.vb | 0 .../SourceMdlAnimationValuePointer.vb | 0 .../SourceMdlFileData/SourceMdlAttachment.vb | 0 .../SourceMdlFileData/SourceMdlAutoLayer.vb | 0 .../SourceMdlAxisInterpBone.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart.vb | 0 .../SourceMdlFileData/SourceMdlBone.vb | 0 .../SourceMdlBoneController.vb | 0 .../SourceMdlBoneTransform.vb | 0 .../SourceMdlCompressedIkError.vb | 0 .../SourceMdlFileData/SourceMdlEvent.vb | 0 .../SourceMdlFileData/SourceMdlEyeball.vb | 0 .../SourceMdlFileData/SourceMdlFileData.vb | 0 .../SourceMdlFileData/SourceMdlFlex.vb | 0 .../SourceMdlFlexController.vb | 0 .../SourceMdlFlexControllerUi.vb | 0 .../SourceMdlFileData/SourceMdlFlexDesc.vb | 0 .../SourceMdlFileData/SourceMdlFlexOp.vb | 0 .../SourceMdlFileData/SourceMdlFlexRule.vb | 0 .../SourceMdlFileData/SourceMdlHitbox.vb | 0 .../SourceMdlFileData/SourceMdlHitboxSet.vb | 0 .../SourceMdlFileData/SourceMdlIkChain.vb | 0 .../SourceMdlFileData/SourceMdlIkLink.vb | 0 .../SourceMdlFileData/SourceMdlIkLock.vb | 0 .../SourceMdlFileData/SourceMdlIkRule.vb | 0 .../SourceMdlFileData/SourceMdlJiggleBone.vb | 0 .../SourceMdlFileData/SourceMdlLinearBone.vb | 0 .../SourceMdlLocalHierarchy.vb | 0 .../SourceMdlFileData/SourceMdlMesh.vb | 0 .../SourceMdlMeshVertexData.vb | 0 .../SourceMdlFileData/SourceMdlModel.vb | 0 .../SourceMdlFileData/SourceMdlModelGroup.vb | 0 .../SourceMdlModelVertexData.vb | 0 .../SourceMdlFileData/SourceMdlMouth.vb | 0 .../SourceMdlFileData/SourceMdlMovement.vb | 0 .../SourceMdlPoseParamDesc.vb | 0 .../SourceMdlQuatInterpBone.vb | 0 .../SourceMdlQuatInterpBoneInfo.vb | 0 .../SourceMdlSequenceDesc.vb | 0 .../SourceMdlFileData/SourceMdlSkinFamily.vb | 0 .../SourceMdlFileData/SourceMdlTexture.vb | 0 .../SourceMdlFileData/SourceMdlVertAnim.vb | 0 .../SourceMdlVertAnimWrinkle.vb | 0 .../SourceMdlFileData/SourceMdlWeightList.vb | 0 .../SourceGlobal/SourceBoneWeight.vb | 0 .../SourceGlobal/SourceConstants.vb | 0 .../SourceGlobal/SourceFloat16bits.vb | 0 .../SourceGlobal/SourceFloat8bits.vb | 0 .../SourceGlobal/SourceQuaternion.vb | 0 .../SourceGlobal/SourceQuaternion48bits.vb | 0 .../SourceQuaternion48bitsAssumedW.vb | 0 .../SourceQuaternion48bitsSmallest3.vb | 0 .../SourceQuaternion48bitsViaBytes.vb | 0 .../SourceGlobal/SourceQuaternion64bits.vb | 0 .../SourceGlobal/SourceVector.vb | 0 .../SourceGlobal/SourceVector48bits.vb | 0 .../SourceGlobal/SourceVector4D.vb | 0 .../SourceGlobal/SourceVectorSingle.vb | 0 .../SourceGlobal/SourceVertex.vb | 0 .../SourceModel04/SourceMdlFile04.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart04.vb | 0 .../SourceMdlFileData/SourceMdlBone04.vb | 0 .../SourceMdlFileData/SourceMdlFace04.vb | 0 .../SourceMdlFaceVertexInfo04.vb | 0 .../SourceMdlFileData/SourceMdlFileData04.vb | 0 .../SourceMdlFileData/SourceMdlMesh04.vb | 0 .../SourceMdlFileData/SourceMdlModel04.vb | 0 .../SourceMdlFileData/SourceMdlNormal04.vb | 0 .../SourceMdlFileData/SourceMdlSequence04.vb | 0 .../SourceMdlSequenceDesc04.vb | 0 .../SourceMdlSequenceValue04.vb | 0 .../SourceMdlFileData/SourceMdlVertex04.vb | 0 .../SourceModel04/SourceModel04.vb | 0 .../SourceModel04/SourceSmdFile04.vb | 0 .../SourceModel06/SourceMdlFile06.vb | 0 .../SourceBonePostionAndRotation06.vb | 0 .../SourceBoneTransform06.vb | 0 .../SourceMdlFileData/SourceMdlAnimation06.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart06.vb | 0 .../SourceMdlFileData/SourceMdlBone06.vb | 0 .../SourceMdlBoneController06.vb | 0 .../SourceMdlBonePosition06.vb | 0 .../SourceMdlBoneRotation06.vb | 0 .../SourceMdlFileData/SourceMdlEvent06.vb | 0 .../SourceMdlFileData/SourceMdlFileData06.vb | 0 .../SourceMdlFileData/SourceMdlMesh06.vb | 0 .../SourceMdlFileData/SourceMdlModel06.vb | 0 .../SourceMdlFileData/SourceMdlModelData06.vb | 0 .../SourceMdlFileData/SourceMdlPivot06.vb | 0 .../SourceMdlSequenceDesc06.vb | 0 .../SourceMdlFileData/SourceMdlTexture06.vb | 0 .../SourceMdlTriangleVertex06.vb | 0 .../SourceModel06/SourceModel06.vb | 0 .../SourceModel06/SourceModule06.vb | 0 .../SourceModel06/SourceQcFile06.vb | 0 .../SourceModel06/SourceSmdFile06.vb | 0 .../SourceModel10/SourceMdlFile10.vb | 0 .../SourceBoneTransform10.vb | 0 .../SourceBoneTransform10Single.vb | 0 .../SourceMdlFileData/SourceMdlAnimation10.vb | 0 .../SourceMdlAnimationValue10.vb | 0 .../SourceMdlAttachment10.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart10.vb | 0 .../SourceMdlFileData/SourceMdlBone10.vb | 0 .../SourceMdlBone10Single.vb | 0 .../SourceMdlBoneController10.vb | 0 .../SourceMdlFileData/SourceMdlEvent10.vb | 0 .../SourceMdlFileData/SourceMdlFileData10.vb | 0 .../SourceMdlFileData/SourceMdlHitbox10.vb | 0 .../SourceMdlFileData/SourceMdlMesh10.vb | 0 .../SourceMdlFileData/SourceMdlModel10.vb | 0 .../SourceMdlFileData/SourceMdlPivot10.vb | 0 .../SourceMdlSequenceDesc10.vb | 0 .../SourceMdlSequenceGroup10.vb | 0 .../SourceMdlSequenceGroupFileHeader10.vb | 0 .../SourceMdlFileData/SourceMdlTexture10.vb | 0 .../SourceMdlVertexInfo10.vb | 0 .../SourceMeshTriangleStripOrFan10.vb | 0 .../SourceModel10/SourceModel10.vb | 0 .../SourceModel10/SourceModule10.vb | 0 .../SourceModel10/SourceQcFile10.vb | 0 .../SourceModel10/SourceSmdFile10.vb | 0 .../SourceModel14/SourceMdlFile14.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart14.vb | 0 .../SourceMdlFileData/SourceMdlFileData14.vb | 0 .../SourceMdlFileData/SourceMdlMesh14.vb | 0 .../SourceMdlFileData/SourceMdlModel14.vb | 0 .../SourceMdlFileData/SourceMdlTexture14.vb | 0 .../SourceMdlFileData/SourceMdlWeighting14.vb | 0 .../SourceMdlWeightingBoneData14.vb | 0 .../SourceMdlWeightingHeader14.vb | 0 .../SourceModel14/SourceModel14.vb | 0 .../SourceModel14/SourceQcFile14.vb | 0 .../SourceModel14/SourceSmdFile14.vb | 0 .../SourceModel2531/SourceMdlFile2531.vb | 0 .../SourceMdlFileData/FlexFrame2531.vb | 0 .../SourceMdlAnimation2531.vb | 0 .../SourceMdlAnimationDesc2531.vb | 0 .../SourceMdlAnimationValue2531.vb | 0 .../SourceMdlAttachment2531.vb | 0 .../SourceMdlAxisInterpBone2531.vb | 0 .../SourceMdlBodyPart2531.vb | 0 .../SourceMdlFileData/SourceMdlBone2531.vb | 0 .../SourceMdlBoneController2531.vb | 0 .../SourceMdlFileData/SourceMdlEyeball2531.vb | 0 .../SourceMdlFileData2531.vb | 0 .../SourceMdlFileData/SourceMdlFlex2531.vb | 0 .../SourceMdlFileData/SourceMdlHitbox2531.vb | 0 .../SourceMdlHitboxSet2531.vb | 0 .../SourceMdlIncludeModel2531.vb | 0 .../SourceMdlFileData/SourceMdlMesh2531.vb | 0 .../SourceMdlFileData/SourceMdlModel2531.vb | 0 .../SourceMdlPoseParamDesc2531.vb | 0 .../SourceMdlQuatInterpBone2531.vb | 0 .../SourceMdlQuatInterpInfo2531.vb | 0 .../SourceMdlSequenceDesc2531.vb | 0 .../SourceMdlSequenceGroup2531.vb | 0 .../SourceMdlFileData/SourceMdlTangent2531.vb | 0 .../SourceMdlFileData/SourceMdlTexture2531.vb | 0 .../SourceMdlType0Vertex2531.vb | 0 .../SourceMdlType1Vertex2531.vb | 0 .../SourceMdlType2Vertex2531.vb | 0 .../SourceMdlVertAnim2531.vb | 0 .../SourceModel2531/SourceModel2531.vb | 0 .../SourceModel2531/SourceModule2531.vb | 0 .../SourceModel2531/SourcePhyFile2531.vb | 0 .../SourceModel2531/SourceQcFile2531.vb | 0 .../SourceModel2531/SourceSmdFile2531.vb | 0 .../SourceModel2531/SourceVtaFile2531.vb | 0 .../SourceModel27/SourceMdlFile27.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart27.vb | 0 .../SourceMdlBoneWeight27.vb | 0 .../SourceMdlFileData/SourceMdlFileData27.vb | 0 .../SourceMdlFileData/SourceMdlMesh27.vb | 0 .../SourceMdlFileData/SourceMdlModel27.vb | 0 .../SourceModel27/SourceModel27.vb | 0 .../SourceModel27/SourceQcFile27.vb | 0 .../SourceModel27/SourceSmdFile27.vb | 0 .../SourceModel28/SourceMdlFile28.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart28.vb | 0 .../SourceMdlBoneWeight28.vb | 0 .../SourceMdlFileData/SourceMdlFileData28.vb | 0 .../SourceMdlFileData/SourceMdlMesh28.vb | 0 .../SourceMdlFileData/SourceMdlModel28.vb | 0 .../SourceModel28/SourceModel28.vb | 0 .../SourceModel28/SourceQcFile28.vb | 0 .../SourceModel28/SourceSmdFile28.vb | 0 .../SourceModel29/SourceModel29.vb | 0 .../SourceModel30/SourceModel30.vb | 0 .../SourceModel31/SourceMdlFile31.vb | 0 .../SourceMdlFileData/SourceMdlAnimGroup31.vb | 0 .../SourceMdlFileData/SourceMdlAnimation31.vb | 0 .../SourceMdlAnimationDesc31.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart31.vb | 0 .../SourceMdlFileData/SourceMdlBone31.vb | 0 .../SourceMdlBoneWeight31.vb | 0 .../SourceMdlFileData/SourceMdlFileData31.vb | 0 .../SourceMdlFileData/SourceMdlHitbox31.vb | 0 .../SourceMdlFileData/SourceMdlHitboxSet31.vb | 0 .../SourceMdlFileData/SourceMdlMesh31.vb | 0 .../SourceMdlFileData/SourceMdlModel31.vb | 0 .../SourceMdlSequenceDesc31.vb | 0 .../SourceMdlSequenceGroup31.vb | 0 .../SourceMdlFileData/SourceMdlTexture31.vb | 0 .../SourceMdlFileData/SourceMdlVertex31.vb | 0 .../SourceModel31/SourceModel31.vb | 0 .../SourceModel31/SourceModule31.vb | 0 .../SourceModel31/SourceQcFile31.vb | 0 .../SourceModel31/SourceSmdFile31.vb | 0 .../SourceModel32/SourceMdlFile32.vb | 0 .../SourceMdlAnimationDesc32.vb | 0 .../SourceMdlBoneController32.vb | 0 .../SourceMdlFileData/SourceMdlFileData32.vb | 0 .../SourceMdlFileData/SourceMdlHitbox32.vb | 0 .../SourceMdlFileData/SourceMdlHitboxSet32.vb | 0 .../SourceMdlSequenceDesc32.vb | 0 .../SourceModel32/SourceModel32.vb | 0 .../SourceModel32/SourceQcFile32.vb | 0 .../SourceModel32/SourceSmdFile32.vb | 0 .../SourceModel35/SourceMdlFile35.vb | 0 .../SourceMdlAnimationDesc35.vb | 0 .../SourceMdlFileData/SourceMdlFileData35.vb | 0 .../SourceMdlSequenceDesc35.vb | 0 .../SourceModel35/SourceModel35.vb | 0 .../SourceModel35/SourceQcFile35.vb | 0 .../SourceModel35/SourceSmdFile35.vb | 0 .../SourceModel35/SourceVtaFile35.vb | 0 .../SourceModel36/SourceMdlFile36.vb | 0 .../SourceMdlAnimationDesc36.vb | 0 .../SourceMdlFileData/SourceMdlFileData36.vb | 0 .../SourceMdlSequenceDesc36.vb | 0 .../SourceModel36/SourceModel36.vb | 0 .../SourceModel36/SourceQcFile36.vb | 0 .../SourceModel36/SourceSmdFile36.vb | 0 .../SourceModel37/SourceMdlFile37.vb | 0 .../SourceMdlFileData/FlexFrame37.vb | 0 .../SourceMdlFileData/SourceMdlAnimGroup37.vb | 0 .../SourceMdlFileData/SourceMdlAnimation37.vb | 0 .../SourceMdlAnimationDesc37.vb | 0 .../SourceMdlAttachment37.vb | 0 .../SourceMdlFileData/SourceMdlAutoLayer37.vb | 0 .../SourceMdlFileData/SourceMdlBodyPart37.vb | 0 .../SourceMdlFileData/SourceMdlBone37.vb | 0 .../SourceMdlBoneController37.vb | 0 .../SourceMdlFileData/SourceMdlBoneDesc37.vb | 0 .../SourceMdlBoneWeight37.vb | 0 .../SourceMdlFileData/SourceMdlEvent37.vb | 0 .../SourceMdlFileData/SourceMdlEyeball37.vb | 0 .../SourceMdlFileData/SourceMdlFileData37.vb | 0 .../SourceMdlFileData/SourceMdlFlex37.vb | 0 .../SourceMdlFileData/SourceMdlHitbox37.vb | 0 .../SourceMdlFileData/SourceMdlHitboxSet37.vb | 0 .../SourceMdlFileData/SourceMdlIkChain37.vb | 0 .../SourceMdlFileData/SourceMdlIkError37.vb | 0 .../SourceMdlFileData/SourceMdlIkLink37.vb | 0 .../SourceMdlFileData/SourceMdlIkLock37.vb | 0 .../SourceMdlFileData/SourceMdlIkRule37.vb | 0 .../SourceMdlFileData/SourceMdlMesh37.vb | 0 .../SourceMdlFileData/SourceMdlModel37.vb | 0 .../SourceMdlSequenceDesc37.vb | 0 .../SourceMdlSequenceGroup37.vb | 0 .../SourceMdlFileData/SourceMdlTexture37.vb | 0 .../SourceMdlFileData/SourceMdlVertAnim37.vb | 0 .../SourceMdlFileData/SourceMdlVertex37.vb | 0 .../SourceModel37/SourceModel37.vb | 0 .../SourceModel37/SourcePhyFile37.vb | 0 .../SourceModel37/SourceQcFile37.vb | 0 .../SourceModel37/SourceSmdFile37.vb | 0 .../SourceModel37/SourceVrdFile37.vb | 0 .../SourceModel37/SourceVtaFile37.vb | 0 .../SourceMdlFileData/SourceMdlFileData38.vb | 0 .../SourceModel38/SourceModel38.vb | 4 +- .../SourceModel44/SourceMdlFile44.vb | 0 .../SourceMdlAnimationDesc44.vb | 2 +- .../SourceMdlFileData/SourceMdlFileData44.vb | 0 .../SourceModel44/SourceModel44.vb | 0 .../SourceModel44/SourceQcFile44.vb | 0 .../SourceModel44/SourceSmdFile44.vb | 0 .../SourceModel44/SourceVrdFile44.vb | 0 .../SourceModel44/SourceVtaFile44.vb | 0 .../SourceModel45/SourceAniFile45.vb | 0 .../SourceAniFileData/SourceAniFileData45.vb | 0 .../SourceModel45/SourceMdlFile45.vb | 0 .../SourceMdlAnimationDesc45.vb | 2 +- .../SourceMdlFileData/SourceMdlFileData45.vb | 0 .../SourceModel45/SourceModel45.vb | 0 .../SourceModel45/SourceQcFile45.vb | 0 .../SourceModel45/SourceSmdFile45.vb | 0 .../SourceModel45/SourceVrdFile45.vb | 0 .../SourceModel45/SourceVtaFile45.vb | 0 .../SourceModel46/SourceAniFile46.vb | 0 .../SourceAniFileData/SourceAniFileData46.vb | 0 .../SourceModel46/SourceMdlFile46.vb | 0 .../SourceMdlAnimationDesc46.vb | 2 +- .../SourceMdlFileData/SourceMdlFileData46.vb | 0 .../SourceModel46/SourceModel46.vb | 0 .../SourceModel46/SourceQcFile46.vb | 0 .../SourceModel46/SourceSmdFile46.vb | 0 .../SourceModel46/SourceVrdFile46.vb | 0 .../SourceModel46/SourceVtaFile46.vb | 0 .../SourceModel48/SourceAniFile48.vb | 11 +- .../SourceModel48/SourceAniFile48.vb.bak | 180 ++++ .../SourceAniFileData/SourceAniFileData48.vb | 0 .../SourceModel48/SourceMdlFile48.vb | 0 .../SourceMdlAnimationDesc48.vb | 2 +- .../SourceMdlFileData/SourceMdlFileData48.vb | 0 .../SourceModel48/SourceModel48.vb | 0 .../SourceModel48/SourceQcFile48.vb | 0 .../SourceModel48/SourceSmdFile48.vb | 0 .../SourceModel48/SourceVrdFile48.vb | 0 .../SourceModel48/SourceVtaFile48.vb | 0 .../SourceModel49/SourceMdlFile49.vb | 42 +- .../SourceMdlAnimationDesc49.vb | 2 +- .../SourceMdlFileData/SourceMdlFileData49.vb | 0 .../SourceModel49/SourceModel49.vb | 0 .../SourceModel49/SourceQcFile49.vb | 0 .../SourceModel49/SourceSmdFile49.vb | 20 +- .../SourceModel49/SourceVrdFile49.vb | 0 .../SourceModel49/SourceVtaFile49.vb | 0 .../SourceModel52/SourceAniFile52.vb | 0 .../SourceAniFileData/SourceAniFileData52.vb | 0 .../SourceAniFileData/SourceAniFrameAnim52.vb | 4 +- .../SourceModel52/SourceMdlFile52.vb | 30 +- .../SourceMdlAnimationDesc52.vb | 0 .../SourceMdlFileData/SourceMdlFileData52.vb | 0 .../SourceModel52/SourceModel52.vb | 0 .../SourceModel52/SourceQcFile52.vb | 0 .../SourceModel52/SourceSmdFile52.vb | 18 +- .../SourceModel52/SourceVrdFile52.vb | 0 .../SourceModel52/SourceVtaFile52.vb | 0 .../SourceModel53/SourceMdlFile53.vb | 30 +- .../SourceMdlFileData/SourceMdlFileData53.vb | 0 .../SourceModel53/SourceModel53.vb | 0 .../SourceModel53/SourceQcFile53.vb | 0 .../SourceModel53/SourceSmdFile53.vb | 18 +- .../SourceModel53/SourceVrdFile53.vb | 0 .../SourceModel53/SourceVtaFile53.vb | 0 .../- Base/BasePackageDirectoryEntry.vb | 0 .../- Base/BasePackageFile.vb | 0 .../- Base/BasePackageFileData.vb | 0 .../GmaFile}/GmaDirectoryEntry.vb | 0 .../GmaFile}/GmaFile.vb | 0 .../GmaFile}/GmaFileData.vb | 0 .../HfsFile}/HfsDirectoryEntry.vb | 0 .../HfsFile}/HfsFile.vb | 0 .../HfsFile}/HfsFileData.vb | 0 .../HfsFile}/HfsMainDirectoryEntry.vb | 0 .../SourcePackageEventArgs.vb | 0 .../VpkFile}/VpkDirectoryEntry.vb | 0 .../VpkFile}/VpkFile.vb | 0 .../VpkFile}/VpkFileData.vb | 0 .../SourceAniFileData/SourceAniFileData.vb | 10 - .../SourceAniFileData/SourceAniFileData38.vb | 4 - .../SourceVvdFileData/SourceVvdFileData38.vb | 4 - Crowbar/Crowbar.vbproj | 853 +++++++++--------- 429 files changed, 883 insertions(+), 546 deletions(-) rename Crowbar/Core/{SourceModel => GameModel}/- Base/Common.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceFileData.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceFileNamesModule.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceMdlAnimationDescBase.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceMdlFile.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceMdlFileDataBase.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceMdlSequenceDescBase.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceModel.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceModelProgressEventArgs.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceModelProgressEventHandler.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/- Base/SourceQcFile.vb (100%) create mode 100644 Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFile44.vb rename Crowbar/Core/{SourceModel/SourceModel44/SourceAniFile44.vb => GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFile44.vb.bak} (100%) rename Crowbar/Core/{SourceModel/SourceModel44/SourceAniFileData => GameModel/BinaryFiles/AniFile/AniFile44}/SourceAniFileData44.vb (100%) rename Crowbar/Core/{SourceModel/SourceCommon/SourceAniFileData/BoneConstantInfo.vb => GameModel/BinaryFiles/AniFile/AniFile49/BoneConstantInfo49.vb} (84%) rename Crowbar/Core/{SourceModel/SourceCommon/SourceAniFileData/BoneFrameDataInfo.vb => GameModel/BinaryFiles/AniFile/AniFile49/BoneFrameDataInfo49.vb} (95%) rename Crowbar/Core/{SourceModel/SourceModel49 => GameModel/BinaryFiles/AniFile/AniFile49}/SourceAniFile49.vb (100%) rename Crowbar/Core/{SourceModel/SourceModel49/SourceAniFileData => GameModel/BinaryFiles/AniFile/AniFile49}/SourceAniFileData49.vb (100%) rename Crowbar/Core/{SourceModel/SourceCommon/SourceAniFileData/SourceAniFrameAnim.vb => GameModel/BinaryFiles/AniFile/AniFile49/SourceAniFrameAnim49.vb} (95%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyCollisionData.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyCollisionPair.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyEditParamsSection.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyFace.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyFaceSection.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyFile.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyFileData.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyRagdollConstraint.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhyVertex.vb (100%) rename Crowbar/Core/{SourceModel/SourcePhyFile => GameModel/BinaryFiles/PhyFile}/SourcePhysCollisionModel.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxBodyPart06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxBoneStateChange06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxFile06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxFileData06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxMaterialReplacement06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxMaterialReplacementList06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxMesh06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxModel06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxModelLod06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxStrip06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxStripGroup06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile06 => GameModel/BinaryFiles/VtxFile/VtxFile06}/SourceVtxVertex06.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxBodyPart07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxBoneStateChange07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxFile07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxFileData07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxMaterialReplacement07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxMaterialReplacementList07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxMesh07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxModel07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxModelLod07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxStrip07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxStripGroup07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile07 => GameModel/BinaryFiles/VtxFile/VtxFile07}/SourceVtxVertex07.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxBodyPart107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxBoneStateChange107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxFile107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxFileData107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxMesh107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxModel107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxModelLod107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxStrip107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxStripGroup107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVtxFile/SourceVtxFile107 => GameModel/BinaryFiles/VtxFile/VtxFile107}/SourceVtxVertex107.vb (100%) rename Crowbar/Core/{SourceModel/SourceVvdFile/SourceVvdFile04 => GameModel/BinaryFiles/VvdFile/VvdFile04}/SourceVvdFile04.vb (100%) rename Crowbar/Core/{SourceModel/SourceVvdFile/SourceVvdFile04 => GameModel/BinaryFiles/VvdFile/VvdFile04}/SourceVvdFileData04.vb (100%) rename Crowbar/Core/{SourceModel/SourceVvdFile/SourceVvdFile04 => GameModel/BinaryFiles/VvdFile/VvdFile04}/SourceVvdFixup04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/AnimationFrameLine.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/FlexFrame.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/LodQcInfo.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlActivityModifier.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAnimBlock.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAnimation.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAnimationDesc.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAnimationSection.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAnimationValue.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAnimationValuePointer.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAttachment.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAutoLayer.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlAxisInterpBone.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlBodyPart.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlBone.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlBoneController.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlBoneTransform.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlCompressedIkError.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlEvent.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlEyeball.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlFileData.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlFlex.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlFlexController.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlFlexControllerUi.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlFlexDesc.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlFlexOp.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlFlexRule.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlHitbox.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlHitboxSet.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlIkChain.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlIkLink.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlIkLock.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlIkRule.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlJiggleBone.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlLinearBone.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlLocalHierarchy.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlMesh.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlMeshVertexData.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlModel.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlModelGroup.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlModelVertexData.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlMouth.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlMovement.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlPoseParamDesc.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBone.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBoneInfo.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlSequenceDesc.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlSkinFamily.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlTexture.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlVertAnim.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlVertAnimWrinkle.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceCommon/SourceMdlFileData/SourceMdlWeightList.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceBoneWeight.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceConstants.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceFloat16bits.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceFloat8bits.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceQuaternion.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceQuaternion48bits.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceQuaternion48bitsAssumedW.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceQuaternion48bitsSmallest3.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceQuaternion48bitsViaBytes.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceQuaternion64bits.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceVector.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceVector48bits.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceVector4D.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceVectorSingle.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceGlobal/SourceVertex.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFile04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlBodyPart04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlBone04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlFace04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlFaceVertexInfo04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlFileData04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlMesh04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlModel04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlNormal04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlSequence04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlSequenceDesc04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlSequenceValue04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceMdlFileData/SourceMdlVertex04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceModel04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel04/SourceSmdFile04.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFile06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceBonePostionAndRotation06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceBoneTransform06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlAnimation06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlBodyPart06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlBone06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlBoneController06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlBonePosition06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlBoneRotation06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlEvent06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlFileData06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlMesh06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlModel06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlModelData06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlPivot06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlSequenceDesc06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlTexture06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceMdlFileData/SourceMdlTriangleVertex06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceModel06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceModule06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceQcFile06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel06/SourceSmdFile06.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFile10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceBoneTransform10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceBoneTransform10Single.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlAnimation10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlAnimationValue10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlAttachment10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlBodyPart10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlBone10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlBone10Single.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlBoneController10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlEvent10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlFileData10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlHitbox10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlMesh10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlModel10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlPivot10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlSequenceDesc10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroup10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroupFileHeader10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlTexture10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMdlVertexInfo10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceMdlFileData/SourceMeshTriangleStripOrFan10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceModel10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceModule10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceQcFile10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel10/SourceSmdFile10.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFile14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFileData/SourceMdlBodyPart14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFileData/SourceMdlFileData14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFileData/SourceMdlMesh14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFileData/SourceMdlModel14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFileData/SourceMdlTexture14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFileData/SourceMdlWeighting14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFileData/SourceMdlWeightingBoneData14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceMdlFileData/SourceMdlWeightingHeader14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceModel14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceQcFile14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel14/SourceSmdFile14.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFile2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/FlexFrame2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlAnimation2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlAnimationDesc2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlAnimationValue2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlAttachment2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlAxisInterpBone2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlBodyPart2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlBone2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlBoneController2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlEyeball2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlFileData2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlFlex2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlHitbox2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlHitboxSet2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlIncludeModel2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlMesh2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlModel2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlPoseParamDesc2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpBone2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpInfo2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlSequenceDesc2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlSequenceGroup2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlTangent2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlTexture2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlType0Vertex2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlType1Vertex2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlType2Vertex2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceMdlFileData/SourceMdlVertAnim2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceModel2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceModule2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourcePhyFile2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceQcFile2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceSmdFile2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel2531/SourceVtaFile2531.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceMdlFile27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceMdlFileData/SourceMdlBodyPart27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceMdlFileData/SourceMdlBoneWeight27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceMdlFileData/SourceMdlFileData27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceMdlFileData/SourceMdlMesh27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceMdlFileData/SourceMdlModel27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceModel27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceQcFile27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel27/SourceSmdFile27.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceMdlFile28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceMdlFileData/SourceMdlBodyPart28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceMdlFileData/SourceMdlBoneWeight28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceMdlFileData/SourceMdlFileData28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceMdlFileData/SourceMdlMesh28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceMdlFileData/SourceMdlModel28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceModel28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceQcFile28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel28/SourceSmdFile28.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel29/SourceModel29.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel30/SourceModel30.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFile31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlAnimGroup31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlAnimation31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlAnimationDesc31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlBodyPart31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlBone31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlBoneWeight31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlFileData31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlHitbox31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlHitboxSet31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlMesh31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlModel31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlSequenceDesc31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlSequenceGroup31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlTexture31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceMdlFileData/SourceMdlVertex31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceModel31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceModule31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceQcFile31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel31/SourceSmdFile31.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceMdlFile32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceMdlFileData/SourceMdlAnimationDesc32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceMdlFileData/SourceMdlBoneController32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceMdlFileData/SourceMdlFileData32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceMdlFileData/SourceMdlHitbox32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceMdlFileData/SourceMdlHitboxSet32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceMdlFileData/SourceMdlSequenceDesc32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceModel32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceQcFile32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel32/SourceSmdFile32.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel35/SourceMdlFile35.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel35/SourceMdlFileData/SourceMdlAnimationDesc35.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel35/SourceMdlFileData/SourceMdlFileData35.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel35/SourceMdlFileData/SourceMdlSequenceDesc35.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel35/SourceModel35.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel35/SourceQcFile35.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel35/SourceSmdFile35.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel35/SourceVtaFile35.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel36/SourceMdlFile36.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel36/SourceMdlFileData/SourceMdlAnimationDesc36.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel36/SourceMdlFileData/SourceMdlFileData36.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel36/SourceMdlFileData/SourceMdlSequenceDesc36.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel36/SourceModel36.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel36/SourceQcFile36.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel36/SourceSmdFile36.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFile37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/FlexFrame37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlAnimGroup37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlAnimation37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlAnimationDesc37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlAttachment37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlAutoLayer37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlBodyPart37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlBone37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlBoneController37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlBoneDesc37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlBoneWeight37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlEvent37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlEyeball37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlFileData37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlFlex37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlHitbox37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlHitboxSet37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlIkChain37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlIkError37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlIkLink37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlIkLock37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlIkRule37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlMesh37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlModel37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlSequenceDesc37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlSequenceGroup37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlTexture37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlVertAnim37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceMdlFileData/SourceMdlVertex37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceModel37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourcePhyFile37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceQcFile37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceSmdFile37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceVrdFile37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel37/SourceVtaFile37.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel38/SourceMdlFileData/SourceMdlFileData38.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel38/SourceModel38.vb (95%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel44/SourceMdlFile44.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel44/SourceMdlFileData/SourceMdlAnimationDesc44.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel44/SourceMdlFileData/SourceMdlFileData44.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel44/SourceModel44.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel44/SourceQcFile44.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel44/SourceSmdFile44.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel44/SourceVrdFile44.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel44/SourceVtaFile44.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceAniFile45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceAniFileData/SourceAniFileData45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceMdlFile45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceMdlFileData/SourceMdlAnimationDesc45.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceMdlFileData/SourceMdlFileData45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceModel45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceQcFile45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceSmdFile45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceVrdFile45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel45/SourceVtaFile45.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceAniFile46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceAniFileData/SourceAniFileData46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceMdlFile46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceMdlFileData/SourceMdlAnimationDesc46.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceMdlFileData/SourceMdlFileData46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceModel46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceQcFile46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceSmdFile46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceVrdFile46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel46/SourceVtaFile46.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceAniFile48.vb (92%) create mode 100644 Crowbar/Core/GameModel/SourceModel48/SourceAniFile48.vb.bak rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceAniFileData/SourceAniFileData48.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceMdlFile48.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceMdlFileData/SourceMdlAnimationDesc48.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceMdlFileData/SourceMdlFileData48.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceModel48.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceQcFile48.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceSmdFile48.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceVrdFile48.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel48/SourceVtaFile48.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel49/SourceMdlFile49.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel49/SourceMdlFileData/SourceMdlAnimationDesc49.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel49/SourceMdlFileData/SourceMdlFileData49.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel49/SourceModel49.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel49/SourceQcFile49.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel49/SourceSmdFile49.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel49/SourceVrdFile49.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel49/SourceVtaFile49.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceAniFile52.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceAniFileData/SourceAniFileData52.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceAniFileData/SourceAniFrameAnim52.vb (97%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceMdlFile52.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceMdlFileData/SourceMdlAnimationDesc52.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceMdlFileData/SourceMdlFileData52.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceModel52.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceQcFile52.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceSmdFile52.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceVrdFile52.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel52/SourceVtaFile52.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel53/SourceMdlFile53.vb (99%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel53/SourceMdlFileData/SourceMdlFileData53.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel53/SourceModel53.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel53/SourceQcFile53.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel53/SourceSmdFile53.vb (98%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel53/SourceVrdFile53.vb (100%) rename Crowbar/Core/{SourceModel => GameModel}/SourceModel53/SourceVtaFile53.vb (100%) rename Crowbar/Core/{SourcePackage => GamePackage}/- Base/BasePackageDirectoryEntry.vb (100%) rename Crowbar/Core/{SourcePackage => GamePackage}/- Base/BasePackageFile.vb (100%) rename Crowbar/Core/{SourcePackage => GamePackage}/- Base/BasePackageFileData.vb (100%) rename Crowbar/Core/{SourcePackage/GmaFormat => GamePackage/GmaFile}/GmaDirectoryEntry.vb (100%) rename Crowbar/Core/{SourcePackage/GmaFormat => GamePackage/GmaFile}/GmaFile.vb (100%) rename Crowbar/Core/{SourcePackage/GmaFormat => GamePackage/GmaFile}/GmaFileData.vb (100%) rename Crowbar/Core/{SourcePackage/HfsFormat => GamePackage/HfsFile}/HfsDirectoryEntry.vb (100%) rename Crowbar/Core/{SourcePackage/HfsFormat => GamePackage/HfsFile}/HfsFile.vb (100%) rename Crowbar/Core/{SourcePackage/HfsFormat => GamePackage/HfsFile}/HfsFileData.vb (100%) rename Crowbar/Core/{SourcePackage/HfsFormat => GamePackage/HfsFile}/HfsMainDirectoryEntry.vb (100%) rename Crowbar/Core/{SourcePackage => GamePackage}/SourcePackageEventArgs.vb (100%) rename Crowbar/Core/{SourcePackage/VpkFormat => GamePackage/VpkFile}/VpkDirectoryEntry.vb (100%) rename Crowbar/Core/{SourcePackage/VpkFormat => GamePackage/VpkFile}/VpkFile.vb (100%) rename Crowbar/Core/{SourcePackage/VpkFormat => GamePackage/VpkFile}/VpkFileData.vb (100%) delete mode 100644 Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/SourceAniFileData.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel38/SourceAniFileData/SourceAniFileData38.vb delete mode 100644 Crowbar/Core/SourceModel/SourceModel38/SourceVvdFileData/SourceVvdFileData38.vb diff --git a/Crowbar/Core/SourceModel/- Base/Common.vb b/Crowbar/Core/GameModel/- Base/Common.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/Common.vb rename to Crowbar/Core/GameModel/- Base/Common.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceFileData.vb b/Crowbar/Core/GameModel/- Base/SourceFileData.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceFileData.vb rename to Crowbar/Core/GameModel/- Base/SourceFileData.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceFileNamesModule.vb b/Crowbar/Core/GameModel/- Base/SourceFileNamesModule.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceFileNamesModule.vb rename to Crowbar/Core/GameModel/- Base/SourceFileNamesModule.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceMdlAnimationDescBase.vb b/Crowbar/Core/GameModel/- Base/SourceMdlAnimationDescBase.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceMdlAnimationDescBase.vb rename to Crowbar/Core/GameModel/- Base/SourceMdlAnimationDescBase.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceMdlFile.vb b/Crowbar/Core/GameModel/- Base/SourceMdlFile.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceMdlFile.vb rename to Crowbar/Core/GameModel/- Base/SourceMdlFile.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceMdlFileDataBase.vb b/Crowbar/Core/GameModel/- Base/SourceMdlFileDataBase.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceMdlFileDataBase.vb rename to Crowbar/Core/GameModel/- Base/SourceMdlFileDataBase.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceMdlSequenceDescBase.vb b/Crowbar/Core/GameModel/- Base/SourceMdlSequenceDescBase.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceMdlSequenceDescBase.vb rename to Crowbar/Core/GameModel/- Base/SourceMdlSequenceDescBase.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceModel.vb b/Crowbar/Core/GameModel/- Base/SourceModel.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceModel.vb rename to Crowbar/Core/GameModel/- Base/SourceModel.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceModelProgressEventArgs.vb b/Crowbar/Core/GameModel/- Base/SourceModelProgressEventArgs.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceModelProgressEventArgs.vb rename to Crowbar/Core/GameModel/- Base/SourceModelProgressEventArgs.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceModelProgressEventHandler.vb b/Crowbar/Core/GameModel/- Base/SourceModelProgressEventHandler.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceModelProgressEventHandler.vb rename to Crowbar/Core/GameModel/- Base/SourceModelProgressEventHandler.vb diff --git a/Crowbar/Core/SourceModel/- Base/SourceQcFile.vb b/Crowbar/Core/GameModel/- Base/SourceQcFile.vb similarity index 100% rename from Crowbar/Core/SourceModel/- Base/SourceQcFile.vb rename to Crowbar/Core/GameModel/- Base/SourceQcFile.vb diff --git a/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFile44.vb b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFile44.vb new file mode 100644 index 0000000..b85ac57 --- /dev/null +++ b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFile44.vb @@ -0,0 +1,179 @@ +Imports System.IO +Imports System.Text + +Public Class SourceAniFile44 + Inherits SourceMdlFile44 + +#Region "Creation and Destruction" + + Public Sub New(ByVal aniFileReader As BinaryReader, ByVal aniFileData As SourceFileData, ByVal mdlFileData As SourceFileData) + Me.theInputFileReader = aniFileReader + Me.theMdlFileData = CType(aniFileData, SourceMdlFileData44) + Me.theRealMdlFileData = CType(mdlFileData, SourceMdlFileData44) + + Me.theMdlFileData.theFileSeekLog.FileSize = Me.theInputFileReader.BaseStream.Length + + 'NOTE: Need the bone data from the real MDL file because SourceAniFile inherits SourceMdlFile.ReadMdlAnimation() that uses the data. + Me.theMdlFileData.theBones = Me.theRealMdlFileData.theBones + End Sub + +#End Region + +#Region "Delegates" + + 'Public Delegate Sub ReadAniAnimationDelegate(ByVal aniFileInputFileStreamPosition As Long, ByVal aniFileStreamEndPosition As Long, ByVal anAnimationDesc As SourceMdlAnimationDesc, ByVal sectionFrameCount As Integer, ByVal sectionIndex As Integer) + +#End Region + +#Region "Methods" + + 'FROM: SourceEngine2006_source\public\write.cpp + ' WriteAnimations() + '============================================== + 'for (i = 0; i < animcount; i++) + '{ + ' { + ' //ZM: This is for animations found in separate MDL files, i.e. $includemodel. + + ' static int iCurAnim = 0; + + ' // align all animation data to cache line boundaries + ' ALIGN16( pBlockData ); + + ' byte *pIkData = WriteAnimationData( srcanim, pBlockData ); + ' byte *pBlockEnd = WriteIkErrors( srcanim, pIkData ); + + ' if (g_numanimblocks == 0) + ' { + ' g_numanimblocks = 1; + ' // XBox, align each anim block to 512 for fast io + ' byte *pBlockData2 = pBlockData; + ' ALIGN512( pBlockData2 ); + + ' int size = pBlockEnd - pBlockData; + ' int shift = pBlockData2 - pBlockData; + + ' memmove( pBlockData2, pBlockData, size ); + ' memset( pBlockData, 0, shift ); + + ' pBlockData = pBlockData2; + ' pIkData = pIkData + shift; + ' pBlockEnd = pBlockEnd + shift; + + ' g_animblock[g_numanimblocks].start = pBlockData; + ' g_numanimblocks++; + ' } + ' else if (pBlockEnd - g_animblock[g_numanimblocks-1].start > g_animblocksize) + ' { + ' // the data we just wrote went over the boundry + ' // XBox, align each anim block to 512 for fast io + ' byte *pBlockData2 = pBlockData; + ' ALIGN512( pBlockData2 ); + + ' int size = pBlockEnd - pBlockData; + ' int shift = pBlockData2 - pBlockData; + + ' memmove( pBlockData2, pBlockData, size ); + ' memset( pBlockData, 0, shift ); + + ' pBlockData = pBlockData2; + ' pIkData = pIkData + shift; + ' pBlockEnd = pBlockEnd + shift; + + ' g_animblock[g_numanimblocks-1].end = pBlockData; + ' g_animblock[g_numanimblocks].start = pBlockData; + ' g_animblock[g_numanimblocks].iStartAnim = i; + + ' g_numanimblocks++; + ' If (g_numanimblocks > MAXSTUDIOANIMBLOCKS) Then + ' { + ' MdlError( "Too many animation blocks\n"); + ' } + ' } + + ' if ( i == animcount - 1 ) + ' { + ' // fixup size for last block + ' // XBox, align each anim block to 512 for fast io + ' ALIGN512( pBlockEnd ); + ' } + ' g_animblock[g_numanimblocks-1].iEndAnim = i; + ' g_animblock[g_numanimblocks-1].end = pBlockEnd; + + ' panimdesc[i].animblock = IsChar( g_numanimblocks-1 ); + ' panimdesc[i].animindex = IsInt24( pBlockData - g_animblock[panimdesc[i].animblock].start ); + ' panimdesc[i].numikrules = IsChar( srcanim->numikrules ); + ' panimdesc[i].animblockikruleindex = IsInt24( pIkData - g_animblock[panimdesc[i].animblock].start ); + ' pBlockData = pBlockEnd; + ' } + '} + Public Sub ReadAnimationAniBlocks() + If Me.theRealMdlFileData.theAnimationDescs IsNot Nothing Then + Dim animBlockInputFileStreamPosition As Long + Dim animBlockInputFileStreamEndPosition As Long + Dim anAnimationDesc As SourceMdlAnimationDesc44 + + For anAnimDescIndex As Integer = 0 To Me.theRealMdlFileData.theAnimationDescs.Count - 1 + anAnimationDesc = Me.theRealMdlFileData.theAnimationDescs(anAnimDescIndex) + + animBlockInputFileStreamPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.animBlock).dataStart + animBlockInputFileStreamEndPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.animBlock).dataEnd + + Try + Dim sectionIndex As Integer + If anAnimationDesc.theSections IsNot Nothing AndAlso anAnimationDesc.theSections.Count > 0 Then + Dim sectionFrameCount As Integer + Dim sectionCount As Integer + + sectionCount = anAnimationDesc.theSections.Count + For sectionIndex = 0 To sectionCount - 1 + If anAnimationDesc.theSections(sectionIndex).animBlock > 0 Then + If sectionIndex < sectionCount - 2 Then + sectionFrameCount = anAnimationDesc.sectionFrameCount + Else + 'NOTE: Due to the weird calculation of sectionCount in studiomdl, this line is called twice, which means there are two "last" sections. + ' This also likely means that the last section is bogus unused data. + sectionFrameCount = anAnimationDesc.frameCount - ((sectionCount - 2) * anAnimationDesc.sectionFrameCount) + End If + + animBlockInputFileStreamPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.theSections(sectionIndex).animBlock).dataStart + animBlockInputFileStreamEndPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.theSections(sectionIndex).animBlock).dataEnd + Me.ReadAniAnimation(animBlockInputFileStreamPosition + anAnimationDesc.theSections(sectionIndex).animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.theSections(sectionIndex).animOffset, anAnimationDesc, sectionFrameCount, sectionIndex, (sectionIndex >= sectionCount - 2) Or (anAnimationDesc.frameCount = (sectionIndex + 1) * anAnimationDesc.sectionFrameCount)) + End If + Next + ElseIf anAnimationDesc.animBlock > 0 Then + sectionIndex = 0 + Me.ReadAniAnimation(animBlockInputFileStreamPosition + anAnimationDesc.animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.animOffset, anAnimationDesc, anAnimationDesc.frameCount, sectionIndex, True) + End If + + 'NOTE: These seem to always be stored in the MDL file. + 'If anAnimationDesc.animBlock > 0 Then + ' Me.ReadMdlIkRules(animBlockInputFileStreamPosition + anAnimationDesc.animblockIkRuleOffset, anAnimationDesc) + ' Me.ReadLocalHierarchies(animBlockInputFileStreamPosition, anAnimationDesc) + 'End If + Catch ex As Exception + Dim debug As Integer = 4242 + End Try + Next + End If + End Sub + + Public Overridable Sub ReadAniAnimation(ByVal aniFileInputFileStreamPosition As Long, ByVal aniFileStreamEndPosition As Long, ByVal anAnimationDesc As SourceMdlAnimationDesc44, ByVal sectionFrameCount As Integer, ByVal sectionIndex As Integer, ByVal lastSectionIsBeingRead As Boolean) + Dim aSectionOfAnimation As List(Of SourceMdlAnimation) + aSectionOfAnimation = anAnimationDesc.theSectionsOfAnimations(sectionIndex) + Me.ReadMdlAnimation(aniFileInputFileStreamPosition, anAnimationDesc, sectionFrameCount, aSectionOfAnimation, lastSectionIsBeingRead) + End Sub + +#End Region + +#Region "Private Methods" + +#End Region + +#Region "Data" + + Protected theRealMdlFileData As SourceMdlFileData44 + +#End Region + +End Class diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceAniFile44.vb b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFile44.vb.bak similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceAniFile44.vb rename to Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFile44.vb.bak diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceAniFileData/SourceAniFileData44.vb b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFileData44.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceAniFileData/SourceAniFileData44.vb rename to Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile44/SourceAniFileData44.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/BoneConstantInfo.vb b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/BoneConstantInfo49.vb similarity index 84% rename from Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/BoneConstantInfo.vb rename to Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/BoneConstantInfo49.vb index da2f204..940e473 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/BoneConstantInfo.vb +++ b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/BoneConstantInfo49.vb @@ -1,4 +1,4 @@ -Public Class BoneConstantInfo +Public Class BoneConstantInfo49 Public theConstantRawPos As SourceVector48bits Public theConstantRawRot As SourceQuaternion48bits diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/BoneFrameDataInfo.vb b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/BoneFrameDataInfo49.vb similarity index 95% rename from Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/BoneFrameDataInfo.vb rename to Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/BoneFrameDataInfo49.vb index 17129be..d22db3f 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/BoneFrameDataInfo.vb +++ b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/BoneFrameDataInfo49.vb @@ -1,4 +1,4 @@ -Public Class BoneFrameDataInfo +Public Class BoneFrameDataInfo49 'Public theConstantRawPos As SourceVector48bits 'Public theConstantRawRot As SourceQuaternion48bits diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceAniFile49.vb b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/SourceAniFile49.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel49/SourceAniFile49.vb rename to Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/SourceAniFile49.vb diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceAniFileData/SourceAniFileData49.vb b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/SourceAniFileData49.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel49/SourceAniFileData/SourceAniFileData49.vb rename to Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/SourceAniFileData49.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/SourceAniFrameAnim.vb b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/SourceAniFrameAnim49.vb similarity index 95% rename from Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/SourceAniFrameAnim.vb rename to Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/SourceAniFrameAnim49.vb index 92e87e7..440a0c7 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/SourceAniFrameAnim.vb +++ b/Crowbar/Core/GameModel/BinaryFiles/AniFile/AniFile49/SourceAniFrameAnim49.vb @@ -1,4 +1,4 @@ -Public Class SourceAniFrameAnim +Public Class SourceAniFrameAnim49 'FROM: AlienSwarm_source\src\public\studio.h 'struct mstudio_frame_anim_t @@ -26,9 +26,9 @@ Public Class SourceAniFrameAnim 'NOTE: These are indexed by global bone index. Public theBoneFlags As List(Of Byte) - Public theBoneConstantInfos As List(Of BoneConstantInfo) + Public theBoneConstantInfos As List(Of BoneConstantInfo49) 'NOTE: This is indexed by frame index and global bone index. - Public theBoneFrameDataInfos As List(Of List(Of BoneFrameDataInfo)) + Public theBoneFrameDataInfos As List(Of List(Of BoneFrameDataInfo49)) 'FROM: AlienSwarm_source\src\public\studio.h ' Values for the field, theBoneFlags: diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyCollisionData.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyCollisionData.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyCollisionData.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyCollisionData.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyCollisionPair.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyCollisionPair.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyCollisionPair.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyCollisionPair.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyEditParamsSection.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyEditParamsSection.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyEditParamsSection.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyEditParamsSection.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFace.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyFace.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFace.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyFace.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFaceSection.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyFaceSection.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFaceSection.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyFaceSection.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFile.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyFile.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFile.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyFile.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyFileData.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyFileData.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyRagdollConstraint.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyRagdollConstraint.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyRagdollConstraint.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyRagdollConstraint.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyVertex.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyVertex.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyVertex.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhyVertex.vb diff --git a/Crowbar/Core/SourceModel/SourcePhyFile/SourcePhysCollisionModel.vb b/Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhysCollisionModel.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourcePhyFile/SourcePhysCollisionModel.vb rename to Crowbar/Core/GameModel/BinaryFiles/PhyFile/SourcePhysCollisionModel.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxBodyPart06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxBodyPart06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxBodyPart06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxBodyPart06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxBoneStateChange06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxBoneStateChange06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxBoneStateChange06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxBoneStateChange06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxFile06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxFile06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxFile06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxFile06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxFileData06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxFileData06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxFileData06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxFileData06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxMaterialReplacement06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxMaterialReplacement06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxMaterialReplacement06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxMaterialReplacement06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxMaterialReplacementList06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxMaterialReplacementList06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxMaterialReplacementList06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxMaterialReplacementList06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxMesh06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxMesh06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxMesh06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxMesh06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxModel06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxModel06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxModel06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxModel06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxModelLod06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxModelLod06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxModelLod06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxModelLod06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxStrip06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxStrip06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxStrip06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxStrip06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxStripGroup06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxStripGroup06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxStripGroup06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxStripGroup06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxVertex06.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxVertex06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxVertex06.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile06/SourceVtxVertex06.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBodyPart07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxBodyPart07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBodyPart07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxBodyPart07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBoneStateChange07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxBoneStateChange07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxBoneStateChange07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxBoneStateChange07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFile07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxFile07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFile07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxFile07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFileData07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxFileData07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxFileData07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxFileData07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMaterialReplacement07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxMaterialReplacement07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMaterialReplacement07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxMaterialReplacement07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMaterialReplacementList07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxMaterialReplacementList07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMaterialReplacementList07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxMaterialReplacementList07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMesh07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxMesh07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMesh07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxMesh07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModel07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxModel07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModel07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxModel07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModelLod07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxModelLod07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxModelLod07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxModelLod07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStrip07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxStrip07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStrip07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxStrip07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStripGroup07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxStripGroup07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxStripGroup07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxStripGroup07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxVertex07.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxVertex07.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxVertex07.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile07/SourceVtxVertex07.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxBodyPart107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxBodyPart107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxBodyPart107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxBodyPart107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxBoneStateChange107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxBoneStateChange107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxBoneStateChange107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxBoneStateChange107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxFile107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxFile107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxFile107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxFile107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxFileData107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxFileData107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxFileData107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxFileData107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxMesh107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxMesh107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxMesh107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxMesh107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxModel107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxModel107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxModel107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxModel107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxModelLod107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxModelLod107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxModelLod107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxModelLod107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxStrip107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxStrip107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxStrip107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxStrip107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxStripGroup107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxStripGroup107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxStripGroup107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxStripGroup107.vb diff --git a/Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxVertex107.vb b/Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxVertex107.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxVertex107.vb rename to Crowbar/Core/GameModel/BinaryFiles/VtxFile/VtxFile107/SourceVtxVertex107.vb diff --git a/Crowbar/Core/SourceModel/SourceVvdFile/SourceVvdFile04/SourceVvdFile04.vb b/Crowbar/Core/GameModel/BinaryFiles/VvdFile/VvdFile04/SourceVvdFile04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVvdFile/SourceVvdFile04/SourceVvdFile04.vb rename to Crowbar/Core/GameModel/BinaryFiles/VvdFile/VvdFile04/SourceVvdFile04.vb diff --git a/Crowbar/Core/SourceModel/SourceVvdFile/SourceVvdFile04/SourceVvdFileData04.vb b/Crowbar/Core/GameModel/BinaryFiles/VvdFile/VvdFile04/SourceVvdFileData04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVvdFile/SourceVvdFile04/SourceVvdFileData04.vb rename to Crowbar/Core/GameModel/BinaryFiles/VvdFile/VvdFile04/SourceVvdFileData04.vb diff --git a/Crowbar/Core/SourceModel/SourceVvdFile/SourceVvdFile04/SourceVvdFixup04.vb b/Crowbar/Core/GameModel/BinaryFiles/VvdFile/VvdFile04/SourceVvdFixup04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceVvdFile/SourceVvdFile04/SourceVvdFixup04.vb rename to Crowbar/Core/GameModel/BinaryFiles/VvdFile/VvdFile04/SourceVvdFixup04.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/AnimationFrameLine.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/AnimationFrameLine.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/AnimationFrameLine.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/AnimationFrameLine.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/FlexFrame.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/FlexFrame.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/FlexFrame.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/FlexFrame.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/LodQcInfo.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/LodQcInfo.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/LodQcInfo.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/LodQcInfo.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlActivityModifier.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlActivityModifier.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlActivityModifier.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlActivityModifier.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimBlock.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimBlock.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimBlock.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimBlock.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimation.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimation.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimation.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimation.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationDesc.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationDesc.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationDesc.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationDesc.vb index 207f4f5..58d92dd 100644 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationDesc.vb +++ b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationDesc.vb @@ -136,7 +136,7 @@ Public Class SourceMdlAnimationDesc 'Public theAnimations As List(Of SourceMdlAnimation) Public theSectionsOfAnimations As List(Of List(Of SourceMdlAnimation)) 'Public theAniFrameAnims As List(Of SourceAniFrameAnim) - Public theAniFrameAnim As SourceAniFrameAnim + Public theAniFrameAnim As SourceAniFrameAnim49 Public theIkRules As List(Of SourceMdlIkRule) Public theSections As List(Of SourceMdlAnimationSection) Public theMovements As List(Of SourceMdlMovement) diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationSection.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationSection.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationSection.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationSection.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValue.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValue.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValue.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValue.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValuePointer.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValuePointer.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValuePointer.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValuePointer.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAttachment.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAttachment.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAttachment.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAttachment.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAutoLayer.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAutoLayer.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAutoLayer.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAutoLayer.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAxisInterpBone.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAxisInterpBone.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAxisInterpBone.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAxisInterpBone.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlBodyPart.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlBodyPart.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlBodyPart.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlBodyPart.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlBone.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlBone.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlBone.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlBone.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlBoneController.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlBoneController.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlBoneController.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlBoneController.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlBoneTransform.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlBoneTransform.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlBoneTransform.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlBoneTransform.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlCompressedIkError.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlCompressedIkError.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlCompressedIkError.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlCompressedIkError.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlEvent.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlEvent.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlEvent.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlEvent.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlEyeball.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlEyeball.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlEyeball.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlEyeball.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFileData.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFileData.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFileData.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFileData.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlex.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlex.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlex.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlex.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexController.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexController.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexController.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexController.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexControllerUi.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexControllerUi.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexControllerUi.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexControllerUi.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexDesc.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexDesc.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexDesc.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexDesc.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexOp.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexOp.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexOp.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexOp.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexRule.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexRule.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexRule.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexRule.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlHitbox.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlHitbox.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlHitbox.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlHitbox.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlHitboxSet.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlHitboxSet.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlHitboxSet.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlHitboxSet.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkChain.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkChain.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkChain.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkChain.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkLink.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkLink.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkLink.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkLink.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkLock.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkLock.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkLock.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkLock.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkRule.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkRule.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkRule.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkRule.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlJiggleBone.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlJiggleBone.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlJiggleBone.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlJiggleBone.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlLinearBone.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlLinearBone.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlLinearBone.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlLinearBone.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlLocalHierarchy.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlLocalHierarchy.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlLocalHierarchy.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlLocalHierarchy.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMesh.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMesh.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMesh.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMesh.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMeshVertexData.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMeshVertexData.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMeshVertexData.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMeshVertexData.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlModel.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlModel.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlModel.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlModel.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlModelGroup.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlModelGroup.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlModelGroup.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlModelGroup.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlModelVertexData.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlModelVertexData.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlModelVertexData.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlModelVertexData.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMouth.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMouth.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMouth.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMouth.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMovement.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMovement.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMovement.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMovement.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlPoseParamDesc.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlPoseParamDesc.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlPoseParamDesc.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlPoseParamDesc.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBone.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBone.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBone.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBone.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBoneInfo.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBoneInfo.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBoneInfo.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBoneInfo.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlSequenceDesc.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlSequenceDesc.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlSequenceDesc.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlSequenceDesc.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlSkinFamily.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlSkinFamily.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlSkinFamily.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlSkinFamily.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlTexture.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlTexture.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlTexture.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlTexture.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlVertAnim.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlVertAnim.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlVertAnim.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlVertAnim.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlVertAnimWrinkle.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlVertAnimWrinkle.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlVertAnimWrinkle.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlVertAnimWrinkle.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlWeightList.vb b/Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlWeightList.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlWeightList.vb rename to Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlWeightList.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceBoneWeight.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceBoneWeight.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceBoneWeight.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceBoneWeight.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceConstants.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceConstants.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceConstants.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceConstants.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceFloat16bits.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceFloat16bits.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceFloat16bits.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceFloat16bits.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceFloat8bits.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceFloat8bits.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceFloat8bits.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceFloat8bits.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion48bits.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion48bits.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion48bits.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion48bits.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion48bitsAssumedW.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion48bitsAssumedW.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion48bitsAssumedW.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion48bitsAssumedW.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion48bitsSmallest3.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion48bitsSmallest3.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion48bitsSmallest3.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion48bitsSmallest3.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion48bitsViaBytes.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion48bitsViaBytes.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion48bitsViaBytes.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion48bitsViaBytes.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion64bits.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion64bits.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceQuaternion64bits.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceQuaternion64bits.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceVector.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceVector.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceVector.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceVector.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceVector48bits.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceVector48bits.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceVector48bits.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceVector48bits.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceVector4D.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceVector4D.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceVector4D.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceVector4D.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceVectorSingle.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceVectorSingle.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceVectorSingle.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceVectorSingle.vb diff --git a/Crowbar/Core/SourceModel/SourceGlobal/SourceVertex.vb b/Crowbar/Core/GameModel/SourceGlobal/SourceVertex.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceGlobal/SourceVertex.vb rename to Crowbar/Core/GameModel/SourceGlobal/SourceVertex.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFile04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFile04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFile04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFile04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlBodyPart04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlBodyPart04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlBodyPart04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlBodyPart04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlBone04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlBone04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlBone04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlBone04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlFace04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlFace04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlFace04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlFace04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlFaceVertexInfo04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlFaceVertexInfo04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlFaceVertexInfo04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlFaceVertexInfo04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlFileData04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlFileData04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlFileData04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlFileData04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlMesh04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlMesh04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlMesh04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlMesh04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlModel04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlModel04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlModel04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlModel04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlNormal04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlNormal04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlNormal04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlNormal04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequence04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequence04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequence04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequence04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceDesc04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceDesc04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceDesc04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceDesc04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceValue04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceValue04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceValue04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceValue04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlVertex04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlVertex04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlVertex04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlVertex04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceModel04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceModel04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceModel04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceModel04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel04/SourceSmdFile04.vb b/Crowbar/Core/GameModel/SourceModel04/SourceSmdFile04.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel04/SourceSmdFile04.vb rename to Crowbar/Core/GameModel/SourceModel04/SourceSmdFile04.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFile06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFile06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFile06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFile06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceBonePostionAndRotation06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceBonePostionAndRotation06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceBonePostionAndRotation06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceBonePostionAndRotation06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceBoneTransform06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceBoneTransform06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceBoneTransform06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceBoneTransform06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlAnimation06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlAnimation06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlAnimation06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlAnimation06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBodyPart06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBodyPart06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBodyPart06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBodyPart06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBone06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBone06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBone06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBone06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBoneController06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBoneController06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBoneController06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBoneController06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBonePosition06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBonePosition06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBonePosition06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBonePosition06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBoneRotation06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBoneRotation06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBoneRotation06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBoneRotation06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlEvent06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlEvent06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlEvent06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlEvent06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlFileData06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlFileData06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlFileData06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlFileData06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlMesh06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlMesh06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlMesh06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlMesh06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlModel06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlModel06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlModel06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlModel06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlModelData06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlModelData06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlModelData06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlModelData06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlPivot06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlPivot06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlPivot06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlPivot06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlSequenceDesc06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlSequenceDesc06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlSequenceDesc06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlSequenceDesc06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlTexture06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlTexture06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlTexture06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlTexture06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlTriangleVertex06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlTriangleVertex06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlTriangleVertex06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlTriangleVertex06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceModel06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceModel06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceModel06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceModel06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceModule06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceModule06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceModule06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceModule06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceQcFile06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceQcFile06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceQcFile06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceQcFile06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel06/SourceSmdFile06.vb b/Crowbar/Core/GameModel/SourceModel06/SourceSmdFile06.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel06/SourceSmdFile06.vb rename to Crowbar/Core/GameModel/SourceModel06/SourceSmdFile06.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFile10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFile10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFile10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFile10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10Single.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10Single.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10Single.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10Single.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAnimation10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAnimation10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAnimation10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAnimation10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAnimationValue10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAnimationValue10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAnimationValue10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAnimationValue10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAttachment10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAttachment10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAttachment10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAttachment10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBodyPart10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBodyPart10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBodyPart10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBodyPart10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBone10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBone10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBone10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBone10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBone10Single.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBone10Single.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBone10Single.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBone10Single.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBoneController10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBoneController10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBoneController10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBoneController10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlEvent10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlEvent10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlEvent10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlEvent10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlFileData10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlFileData10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlFileData10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlFileData10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlHitbox10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlHitbox10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlHitbox10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlHitbox10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlMesh10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlMesh10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlMesh10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlMesh10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlModel10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlModel10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlModel10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlModel10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlPivot10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlPivot10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlPivot10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlPivot10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceDesc10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceDesc10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceDesc10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceDesc10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroup10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroup10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroup10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroup10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroupFileHeader10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroupFileHeader10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroupFileHeader10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroupFileHeader10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlTexture10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlTexture10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlTexture10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlTexture10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlVertexInfo10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlVertexInfo10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlVertexInfo10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlVertexInfo10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMeshTriangleStripOrFan10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMeshTriangleStripOrFan10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMeshTriangleStripOrFan10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMeshTriangleStripOrFan10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceModel10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceModel10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceModel10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceModel10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceModule10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceModule10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceModule10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceModule10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceQcFile10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceQcFile10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceQcFile10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceQcFile10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel10/SourceSmdFile10.vb b/Crowbar/Core/GameModel/SourceModel10/SourceSmdFile10.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel10/SourceSmdFile10.vb rename to Crowbar/Core/GameModel/SourceModel10/SourceSmdFile10.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFile14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFile14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFile14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFile14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlBodyPart14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlBodyPart14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlBodyPart14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlBodyPart14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlFileData14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlFileData14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlFileData14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlFileData14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlMesh14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlMesh14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlMesh14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlMesh14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlModel14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlModel14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlModel14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlModel14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlTexture14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlTexture14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlTexture14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlTexture14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeighting14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeighting14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeighting14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeighting14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingBoneData14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingBoneData14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingBoneData14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingBoneData14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingHeader14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingHeader14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingHeader14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingHeader14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceModel14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceModel14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceModel14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceModel14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceQcFile14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceQcFile14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceQcFile14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceQcFile14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel14/SourceSmdFile14.vb b/Crowbar/Core/GameModel/SourceModel14/SourceSmdFile14.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel14/SourceSmdFile14.vb rename to Crowbar/Core/GameModel/SourceModel14/SourceSmdFile14.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFile2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFile2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFile2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFile2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/FlexFrame2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/FlexFrame2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/FlexFrame2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/FlexFrame2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimation2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimation2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimation2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimation2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationDesc2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationDesc2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationDesc2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationDesc2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationValue2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationValue2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationValue2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationValue2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAttachment2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAttachment2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAttachment2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAttachment2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAxisInterpBone2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAxisInterpBone2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAxisInterpBone2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAxisInterpBone2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlBodyPart2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlBodyPart2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlBodyPart2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlBodyPart2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlBone2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlBone2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlBone2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlBone2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlBoneController2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlBoneController2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlBoneController2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlBoneController2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlEyeball2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlEyeball2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlEyeball2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlEyeball2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlFileData2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlFileData2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlFileData2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlFileData2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlFlex2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlFlex2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlFlex2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlFlex2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlHitbox2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlHitbox2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlHitbox2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlHitbox2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlHitboxSet2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlHitboxSet2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlHitboxSet2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlHitboxSet2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlIncludeModel2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlIncludeModel2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlIncludeModel2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlIncludeModel2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlMesh2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlMesh2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlMesh2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlMesh2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlModel2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlModel2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlModel2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlModel2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlPoseParamDesc2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlPoseParamDesc2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlPoseParamDesc2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlPoseParamDesc2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpBone2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpBone2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpBone2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpBone2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpInfo2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpInfo2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpInfo2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpInfo2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlSequenceDesc2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlSequenceDesc2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlSequenceDesc2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlSequenceDesc2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlSequenceGroup2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlSequenceGroup2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlSequenceGroup2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlSequenceGroup2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlTangent2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlTangent2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlTangent2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlTangent2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlTexture2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlTexture2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlTexture2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlTexture2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlType0Vertex2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlType0Vertex2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlType0Vertex2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlType0Vertex2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlType1Vertex2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlType1Vertex2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlType1Vertex2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlType1Vertex2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlType2Vertex2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlType2Vertex2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlType2Vertex2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlType2Vertex2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlVertAnim2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlVertAnim2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlVertAnim2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlVertAnim2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceModel2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceModel2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceModel2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceModel2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceModule2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceModule2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceModule2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceModule2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourcePhyFile2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourcePhyFile2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourcePhyFile2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourcePhyFile2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceQcFile2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceQcFile2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceQcFile2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceQcFile2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceSmdFile2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceSmdFile2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceSmdFile2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceSmdFile2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel2531/SourceVtaFile2531.vb b/Crowbar/Core/GameModel/SourceModel2531/SourceVtaFile2531.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel2531/SourceVtaFile2531.vb rename to Crowbar/Core/GameModel/SourceModel2531/SourceVtaFile2531.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceMdlFile27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceMdlFile27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceMdlFile27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceMdlFile27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlBodyPart27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlBodyPart27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlBodyPart27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlBodyPart27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlBoneWeight27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlBoneWeight27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlBoneWeight27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlBoneWeight27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlFileData27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlFileData27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlFileData27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlFileData27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlMesh27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlMesh27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlMesh27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlMesh27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlModel27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlModel27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlModel27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceMdlFileData/SourceMdlModel27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceModel27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceModel27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceModel27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceModel27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceQcFile27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceQcFile27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceQcFile27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceQcFile27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel27/SourceSmdFile27.vb b/Crowbar/Core/GameModel/SourceModel27/SourceSmdFile27.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel27/SourceSmdFile27.vb rename to Crowbar/Core/GameModel/SourceModel27/SourceSmdFile27.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceMdlFile28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceMdlFile28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceMdlFile28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceMdlFile28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlBodyPart28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlBodyPart28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlBodyPart28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlBodyPart28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlBoneWeight28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlBoneWeight28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlBoneWeight28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlBoneWeight28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlFileData28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlFileData28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlFileData28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlFileData28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlMesh28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlMesh28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlMesh28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlMesh28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlModel28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlModel28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlModel28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceMdlFileData/SourceMdlModel28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceModel28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceModel28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceModel28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceModel28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceQcFile28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceQcFile28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceQcFile28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceQcFile28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel28/SourceSmdFile28.vb b/Crowbar/Core/GameModel/SourceModel28/SourceSmdFile28.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel28/SourceSmdFile28.vb rename to Crowbar/Core/GameModel/SourceModel28/SourceSmdFile28.vb diff --git a/Crowbar/Core/SourceModel/SourceModel29/SourceModel29.vb b/Crowbar/Core/GameModel/SourceModel29/SourceModel29.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel29/SourceModel29.vb rename to Crowbar/Core/GameModel/SourceModel29/SourceModel29.vb diff --git a/Crowbar/Core/SourceModel/SourceModel30/SourceModel30.vb b/Crowbar/Core/GameModel/SourceModel30/SourceModel30.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel30/SourceModel30.vb rename to Crowbar/Core/GameModel/SourceModel30/SourceModel30.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFile31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFile31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFile31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFile31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlAnimGroup31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlAnimGroup31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlAnimGroup31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlAnimGroup31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlAnimation31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlAnimation31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlAnimation31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlAnimation31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlAnimationDesc31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlAnimationDesc31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlAnimationDesc31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlAnimationDesc31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlBodyPart31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlBodyPart31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlBodyPart31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlBodyPart31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlBone31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlBone31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlBone31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlBone31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlBoneWeight31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlBoneWeight31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlBoneWeight31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlBoneWeight31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlFileData31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlFileData31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlFileData31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlFileData31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlHitbox31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlHitbox31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlHitbox31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlHitbox31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlHitboxSet31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlHitboxSet31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlHitboxSet31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlHitboxSet31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlMesh31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlMesh31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlMesh31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlMesh31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlModel31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlModel31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlModel31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlModel31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceDesc31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceDesc31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceDesc31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceDesc31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceGroup31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceGroup31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceGroup31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceGroup31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlTexture31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlTexture31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlTexture31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlTexture31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlVertex31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlVertex31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlVertex31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlVertex31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceModel31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceModel31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceModel31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceModel31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceModule31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceModule31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceModule31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceModule31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceQcFile31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceQcFile31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceQcFile31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceQcFile31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel31/SourceSmdFile31.vb b/Crowbar/Core/GameModel/SourceModel31/SourceSmdFile31.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel31/SourceSmdFile31.vb rename to Crowbar/Core/GameModel/SourceModel31/SourceSmdFile31.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceMdlFile32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceMdlFile32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceMdlFile32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceMdlFile32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlAnimationDesc32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlAnimationDesc32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlAnimationDesc32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlAnimationDesc32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlBoneController32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlBoneController32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlBoneController32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlBoneController32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlFileData32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlFileData32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlFileData32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlFileData32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlHitbox32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlHitbox32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlHitbox32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlHitbox32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlHitboxSet32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlHitboxSet32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlHitboxSet32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlHitboxSet32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlSequenceDesc32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlSequenceDesc32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlSequenceDesc32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlSequenceDesc32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceModel32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceModel32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceModel32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceModel32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceQcFile32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceQcFile32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceQcFile32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceQcFile32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel32/SourceSmdFile32.vb b/Crowbar/Core/GameModel/SourceModel32/SourceSmdFile32.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel32/SourceSmdFile32.vb rename to Crowbar/Core/GameModel/SourceModel32/SourceSmdFile32.vb diff --git a/Crowbar/Core/SourceModel/SourceModel35/SourceMdlFile35.vb b/Crowbar/Core/GameModel/SourceModel35/SourceMdlFile35.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel35/SourceMdlFile35.vb rename to Crowbar/Core/GameModel/SourceModel35/SourceMdlFile35.vb diff --git a/Crowbar/Core/SourceModel/SourceModel35/SourceMdlFileData/SourceMdlAnimationDesc35.vb b/Crowbar/Core/GameModel/SourceModel35/SourceMdlFileData/SourceMdlAnimationDesc35.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel35/SourceMdlFileData/SourceMdlAnimationDesc35.vb rename to Crowbar/Core/GameModel/SourceModel35/SourceMdlFileData/SourceMdlAnimationDesc35.vb diff --git a/Crowbar/Core/SourceModel/SourceModel35/SourceMdlFileData/SourceMdlFileData35.vb b/Crowbar/Core/GameModel/SourceModel35/SourceMdlFileData/SourceMdlFileData35.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel35/SourceMdlFileData/SourceMdlFileData35.vb rename to Crowbar/Core/GameModel/SourceModel35/SourceMdlFileData/SourceMdlFileData35.vb diff --git a/Crowbar/Core/SourceModel/SourceModel35/SourceMdlFileData/SourceMdlSequenceDesc35.vb b/Crowbar/Core/GameModel/SourceModel35/SourceMdlFileData/SourceMdlSequenceDesc35.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel35/SourceMdlFileData/SourceMdlSequenceDesc35.vb rename to Crowbar/Core/GameModel/SourceModel35/SourceMdlFileData/SourceMdlSequenceDesc35.vb diff --git a/Crowbar/Core/SourceModel/SourceModel35/SourceModel35.vb b/Crowbar/Core/GameModel/SourceModel35/SourceModel35.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel35/SourceModel35.vb rename to Crowbar/Core/GameModel/SourceModel35/SourceModel35.vb diff --git a/Crowbar/Core/SourceModel/SourceModel35/SourceQcFile35.vb b/Crowbar/Core/GameModel/SourceModel35/SourceQcFile35.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel35/SourceQcFile35.vb rename to Crowbar/Core/GameModel/SourceModel35/SourceQcFile35.vb diff --git a/Crowbar/Core/SourceModel/SourceModel35/SourceSmdFile35.vb b/Crowbar/Core/GameModel/SourceModel35/SourceSmdFile35.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel35/SourceSmdFile35.vb rename to Crowbar/Core/GameModel/SourceModel35/SourceSmdFile35.vb diff --git a/Crowbar/Core/SourceModel/SourceModel35/SourceVtaFile35.vb b/Crowbar/Core/GameModel/SourceModel35/SourceVtaFile35.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel35/SourceVtaFile35.vb rename to Crowbar/Core/GameModel/SourceModel35/SourceVtaFile35.vb diff --git a/Crowbar/Core/SourceModel/SourceModel36/SourceMdlFile36.vb b/Crowbar/Core/GameModel/SourceModel36/SourceMdlFile36.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel36/SourceMdlFile36.vb rename to Crowbar/Core/GameModel/SourceModel36/SourceMdlFile36.vb diff --git a/Crowbar/Core/SourceModel/SourceModel36/SourceMdlFileData/SourceMdlAnimationDesc36.vb b/Crowbar/Core/GameModel/SourceModel36/SourceMdlFileData/SourceMdlAnimationDesc36.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel36/SourceMdlFileData/SourceMdlAnimationDesc36.vb rename to Crowbar/Core/GameModel/SourceModel36/SourceMdlFileData/SourceMdlAnimationDesc36.vb diff --git a/Crowbar/Core/SourceModel/SourceModel36/SourceMdlFileData/SourceMdlFileData36.vb b/Crowbar/Core/GameModel/SourceModel36/SourceMdlFileData/SourceMdlFileData36.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel36/SourceMdlFileData/SourceMdlFileData36.vb rename to Crowbar/Core/GameModel/SourceModel36/SourceMdlFileData/SourceMdlFileData36.vb diff --git a/Crowbar/Core/SourceModel/SourceModel36/SourceMdlFileData/SourceMdlSequenceDesc36.vb b/Crowbar/Core/GameModel/SourceModel36/SourceMdlFileData/SourceMdlSequenceDesc36.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel36/SourceMdlFileData/SourceMdlSequenceDesc36.vb rename to Crowbar/Core/GameModel/SourceModel36/SourceMdlFileData/SourceMdlSequenceDesc36.vb diff --git a/Crowbar/Core/SourceModel/SourceModel36/SourceModel36.vb b/Crowbar/Core/GameModel/SourceModel36/SourceModel36.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel36/SourceModel36.vb rename to Crowbar/Core/GameModel/SourceModel36/SourceModel36.vb diff --git a/Crowbar/Core/SourceModel/SourceModel36/SourceQcFile36.vb b/Crowbar/Core/GameModel/SourceModel36/SourceQcFile36.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel36/SourceQcFile36.vb rename to Crowbar/Core/GameModel/SourceModel36/SourceQcFile36.vb diff --git a/Crowbar/Core/SourceModel/SourceModel36/SourceSmdFile36.vb b/Crowbar/Core/GameModel/SourceModel36/SourceSmdFile36.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel36/SourceSmdFile36.vb rename to Crowbar/Core/GameModel/SourceModel36/SourceSmdFile36.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFile37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFile37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFile37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFile37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/FlexFrame37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/FlexFrame37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/FlexFrame37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/FlexFrame37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAnimGroup37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAnimGroup37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAnimGroup37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAnimGroup37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAnimation37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAnimation37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAnimation37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAnimation37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAnimationDesc37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAnimationDesc37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAnimationDesc37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAnimationDesc37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAttachment37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAttachment37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAttachment37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAttachment37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAutoLayer37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAutoLayer37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAutoLayer37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAutoLayer37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBodyPart37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBodyPart37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBodyPart37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBodyPart37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBone37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBone37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBone37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBone37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBoneController37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBoneController37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBoneController37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBoneController37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBoneDesc37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBoneDesc37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBoneDesc37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBoneDesc37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBoneWeight37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBoneWeight37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBoneWeight37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBoneWeight37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlEvent37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlEvent37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlEvent37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlEvent37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlEyeball37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlEyeball37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlEyeball37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlEyeball37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlFileData37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlFileData37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlFileData37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlFileData37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlFlex37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlFlex37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlFlex37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlFlex37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlHitbox37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlHitbox37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlHitbox37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlHitbox37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlHitboxSet37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlHitboxSet37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlHitboxSet37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlHitboxSet37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkChain37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkChain37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkChain37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkChain37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkError37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkError37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkError37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkError37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkLink37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkLink37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkLink37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkLink37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkLock37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkLock37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkLock37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkLock37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkRule37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkRule37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkRule37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkRule37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlMesh37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlMesh37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlMesh37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlMesh37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlModel37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlModel37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlModel37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlModel37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceDesc37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceDesc37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceDesc37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceDesc37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceGroup37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceGroup37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceGroup37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceGroup37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlTexture37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlTexture37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlTexture37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlTexture37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlVertAnim37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlVertAnim37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlVertAnim37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlVertAnim37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlVertex37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlVertex37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlVertex37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlVertex37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceModel37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceModel37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceModel37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceModel37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourcePhyFile37.vb b/Crowbar/Core/GameModel/SourceModel37/SourcePhyFile37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourcePhyFile37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourcePhyFile37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceQcFile37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceQcFile37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceQcFile37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceQcFile37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceSmdFile37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceSmdFile37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceSmdFile37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceSmdFile37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceVrdFile37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceVrdFile37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceVrdFile37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceVrdFile37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel37/SourceVtaFile37.vb b/Crowbar/Core/GameModel/SourceModel37/SourceVtaFile37.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel37/SourceVtaFile37.vb rename to Crowbar/Core/GameModel/SourceModel37/SourceVtaFile37.vb diff --git a/Crowbar/Core/SourceModel/SourceModel38/SourceMdlFileData/SourceMdlFileData38.vb b/Crowbar/Core/GameModel/SourceModel38/SourceMdlFileData/SourceMdlFileData38.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel38/SourceMdlFileData/SourceMdlFileData38.vb rename to Crowbar/Core/GameModel/SourceModel38/SourceMdlFileData/SourceMdlFileData38.vb diff --git a/Crowbar/Core/SourceModel/SourceModel38/SourceModel38.vb b/Crowbar/Core/GameModel/SourceModel38/SourceModel38.vb similarity index 95% rename from Crowbar/Core/SourceModel/SourceModel38/SourceModel38.vb rename to Crowbar/Core/GameModel/SourceModel38/SourceModel38.vb index b4afdda..accf20e 100644 --- a/Crowbar/Core/SourceModel/SourceModel38/SourceModel38.vb +++ b/Crowbar/Core/GameModel/SourceModel38/SourceModel38.vb @@ -74,9 +74,9 @@ Public Class SourceModel38 #Region "Data" - Private theAniFileData As SourceAniFileData38 + 'Private theAniFileData As SourceAniFileData38 Private theMdlFileData As SourceMdlFileData38 - Private theVvdFileData As SourceVvdFileData38 + 'Private theVvdFileData As SourceVvdFileData38 #End Region diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceMdlFile44.vb b/Crowbar/Core/GameModel/SourceModel44/SourceMdlFile44.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceMdlFile44.vb rename to Crowbar/Core/GameModel/SourceModel44/SourceMdlFile44.vb diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceMdlFileData/SourceMdlAnimationDesc44.vb b/Crowbar/Core/GameModel/SourceModel44/SourceMdlFileData/SourceMdlAnimationDesc44.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel44/SourceMdlFileData/SourceMdlAnimationDesc44.vb rename to Crowbar/Core/GameModel/SourceModel44/SourceMdlFileData/SourceMdlAnimationDesc44.vb index e01573f..ecf2ffa 100644 --- a/Crowbar/Core/SourceModel/SourceModel44/SourceMdlFileData/SourceMdlAnimationDesc44.vb +++ b/Crowbar/Core/GameModel/SourceModel44/SourceMdlFileData/SourceMdlAnimationDesc44.vb @@ -131,7 +131,7 @@ Public Class SourceMdlAnimationDesc44 'Public theAnimations As List(Of SourceMdlAnimation) Public theSectionsOfAnimations As List(Of List(Of SourceMdlAnimation)) 'Public theAniFrameAnims As List(Of SourceAniFrameAnim) - Public theAniFrameAnim As SourceAniFrameAnim + Public theAniFrameAnim As SourceAniFrameAnim49 Public theIkRules As List(Of SourceMdlIkRule) Public theSections As List(Of SourceMdlAnimationSection) Public theMovements As List(Of SourceMdlMovement) diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceMdlFileData/SourceMdlFileData44.vb b/Crowbar/Core/GameModel/SourceModel44/SourceMdlFileData/SourceMdlFileData44.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceMdlFileData/SourceMdlFileData44.vb rename to Crowbar/Core/GameModel/SourceModel44/SourceMdlFileData/SourceMdlFileData44.vb diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceModel44.vb b/Crowbar/Core/GameModel/SourceModel44/SourceModel44.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceModel44.vb rename to Crowbar/Core/GameModel/SourceModel44/SourceModel44.vb diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceQcFile44.vb b/Crowbar/Core/GameModel/SourceModel44/SourceQcFile44.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceQcFile44.vb rename to Crowbar/Core/GameModel/SourceModel44/SourceQcFile44.vb diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceSmdFile44.vb b/Crowbar/Core/GameModel/SourceModel44/SourceSmdFile44.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceSmdFile44.vb rename to Crowbar/Core/GameModel/SourceModel44/SourceSmdFile44.vb diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceVrdFile44.vb b/Crowbar/Core/GameModel/SourceModel44/SourceVrdFile44.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceVrdFile44.vb rename to Crowbar/Core/GameModel/SourceModel44/SourceVrdFile44.vb diff --git a/Crowbar/Core/SourceModel/SourceModel44/SourceVtaFile44.vb b/Crowbar/Core/GameModel/SourceModel44/SourceVtaFile44.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel44/SourceVtaFile44.vb rename to Crowbar/Core/GameModel/SourceModel44/SourceVtaFile44.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceAniFile45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceAniFile45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceAniFile45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceAniFile45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceAniFileData/SourceAniFileData45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceAniFileData/SourceAniFileData45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceAniFileData/SourceAniFileData45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceAniFileData/SourceAniFileData45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceMdlFile45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceMdlFile45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceMdlFile45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceMdlFile45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceMdlFileData/SourceMdlAnimationDesc45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceMdlFileData/SourceMdlAnimationDesc45.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel45/SourceMdlFileData/SourceMdlAnimationDesc45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceMdlFileData/SourceMdlAnimationDesc45.vb index 0f19a1e..83d8954 100644 --- a/Crowbar/Core/SourceModel/SourceModel45/SourceMdlFileData/SourceMdlAnimationDesc45.vb +++ b/Crowbar/Core/GameModel/SourceModel45/SourceMdlFileData/SourceMdlAnimationDesc45.vb @@ -131,7 +131,7 @@ Public Class SourceMdlAnimationDesc45 'Public theAnimations As List(Of SourceMdlAnimation) Public theSectionsOfAnimations As List(Of List(Of SourceMdlAnimation)) 'Public theAniFrameAnims As List(Of SourceAniFrameAnim) - Public theAniFrameAnim As SourceAniFrameAnim + Public theAniFrameAnim As SourceAniFrameAnim49 Public theIkRules As List(Of SourceMdlIkRule) Public theSections As List(Of SourceMdlAnimationSection) Public theMovements As List(Of SourceMdlMovement) diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceMdlFileData/SourceMdlFileData45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceMdlFileData/SourceMdlFileData45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceMdlFileData/SourceMdlFileData45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceMdlFileData/SourceMdlFileData45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceModel45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceModel45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceModel45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceModel45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceQcFile45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceQcFile45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceQcFile45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceQcFile45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceSmdFile45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceSmdFile45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceSmdFile45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceSmdFile45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceVrdFile45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceVrdFile45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceVrdFile45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceVrdFile45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel45/SourceVtaFile45.vb b/Crowbar/Core/GameModel/SourceModel45/SourceVtaFile45.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel45/SourceVtaFile45.vb rename to Crowbar/Core/GameModel/SourceModel45/SourceVtaFile45.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceAniFile46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceAniFile46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceAniFile46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceAniFile46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceAniFileData/SourceAniFileData46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceAniFileData/SourceAniFileData46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceAniFileData/SourceAniFileData46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceAniFileData/SourceAniFileData46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceMdlFile46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceMdlFile46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceMdlFile46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceMdlFile46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceMdlFileData/SourceMdlAnimationDesc46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceMdlFileData/SourceMdlAnimationDesc46.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel46/SourceMdlFileData/SourceMdlAnimationDesc46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceMdlFileData/SourceMdlAnimationDesc46.vb index 72b4b0f..fb981c3 100644 --- a/Crowbar/Core/SourceModel/SourceModel46/SourceMdlFileData/SourceMdlAnimationDesc46.vb +++ b/Crowbar/Core/GameModel/SourceModel46/SourceMdlFileData/SourceMdlAnimationDesc46.vb @@ -131,7 +131,7 @@ Public Class SourceMdlAnimationDesc46 'Public theAnimations As List(Of SourceMdlAnimation) Public theSectionsOfAnimations As List(Of List(Of SourceMdlAnimation)) 'Public theAniFrameAnims As List(Of SourceAniFrameAnim) - Public theAniFrameAnim As SourceAniFrameAnim + Public theAniFrameAnim As SourceAniFrameAnim49 Public theIkRules As List(Of SourceMdlIkRule) Public theSections As List(Of SourceMdlAnimationSection) Public theMovements As List(Of SourceMdlMovement) diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceMdlFileData/SourceMdlFileData46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceMdlFileData/SourceMdlFileData46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceMdlFileData/SourceMdlFileData46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceMdlFileData/SourceMdlFileData46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceModel46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceModel46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceModel46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceModel46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceQcFile46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceQcFile46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceQcFile46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceQcFile46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceSmdFile46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceSmdFile46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceSmdFile46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceSmdFile46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceVrdFile46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceVrdFile46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceVrdFile46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceVrdFile46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel46/SourceVtaFile46.vb b/Crowbar/Core/GameModel/SourceModel46/SourceVtaFile46.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel46/SourceVtaFile46.vb rename to Crowbar/Core/GameModel/SourceModel46/SourceVtaFile46.vb diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceAniFile48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceAniFile48.vb similarity index 92% rename from Crowbar/Core/SourceModel/SourceModel48/SourceAniFile48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceAniFile48.vb index 4e5b718..6a36d10 100644 --- a/Crowbar/Core/SourceModel/SourceModel48/SourceAniFile48.vb +++ b/Crowbar/Core/GameModel/SourceModel48/SourceAniFile48.vb @@ -107,7 +107,6 @@ Public Class SourceAniFile48 ' pBlockData = pBlockEnd; ' } '} - 'Public Sub ReadAniBlocks(ByVal delegateReadAniAnimation As ReadAniAnimationDelegate) Public Sub ReadAnimationAniBlocks() If Me.theRealMdlFileData.theAnimationDescs IsNot Nothing Then Dim animBlockInputFileStreamPosition As Long @@ -140,13 +139,11 @@ Public Class SourceAniFile48 animBlockInputFileStreamPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.theSections(sectionIndex).animBlock).dataStart animBlockInputFileStreamEndPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.theSections(sectionIndex).animBlock).dataEnd Me.ReadAniAnimation(animBlockInputFileStreamPosition + anAnimationDesc.theSections(sectionIndex).animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.theSections(sectionIndex).animOffset, anAnimationDesc, sectionFrameCount, sectionIndex, (sectionIndex >= sectionCount - 2) Or (anAnimationDesc.frameCount = (sectionIndex + 1) * anAnimationDesc.sectionFrameCount)) - 'delegateReadAniAnimation.Invoke(animBlockInputFileStreamPosition + anAnimationDesc.theSections(sectionIndex).animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.theSections(sectionIndex).animOffset, anAnimationDesc, sectionFrameCount, sectionIndex) End If Next ElseIf anAnimationDesc.animBlock > 0 Then sectionIndex = 0 Me.ReadAniAnimation(animBlockInputFileStreamPosition + anAnimationDesc.animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.animOffset, anAnimationDesc, anAnimationDesc.frameCount, sectionIndex, True) - 'delegateReadAniAnimation.Invoke(animBlockInputFileStreamPosition + anAnimationDesc.animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.animOffset, anAnimationDesc, anAnimationDesc.frameCount, sectionIndex) End If If anAnimationDesc.animBlock > 0 Then @@ -160,10 +157,6 @@ Public Class SourceAniFile48 End If End Sub -#End Region - -#Region "Private Methods" - Public Overridable Sub ReadAniAnimation(ByVal aniFileInputFileStreamPosition As Long, ByVal aniFileStreamEndPosition As Long, ByVal anAnimationDesc As SourceMdlAnimationDesc48, ByVal sectionFrameCount As Integer, ByVal sectionIndex As Integer, ByVal lastSectionIsBeingRead As Boolean) Dim aSectionOfAnimation As List(Of SourceMdlAnimation) aSectionOfAnimation = anAnimationDesc.theSectionsOfAnimations(sectionIndex) @@ -172,6 +165,10 @@ Public Class SourceAniFile48 #End Region +#Region "Private Methods" + +#End Region + #Region "Data" Protected theRealMdlFileData As SourceMdlFileData48 diff --git a/Crowbar/Core/GameModel/SourceModel48/SourceAniFile48.vb.bak b/Crowbar/Core/GameModel/SourceModel48/SourceAniFile48.vb.bak new file mode 100644 index 0000000..07e7478 --- /dev/null +++ b/Crowbar/Core/GameModel/SourceModel48/SourceAniFile48.vb.bak @@ -0,0 +1,180 @@ +Imports System.IO +Imports System.Text + +Public Class SourceAniFile48 + Inherits SourceMdlFile48 + +#Region "Creation and Destruction" + + Public Sub New(ByVal aniFileReader As BinaryReader, ByVal aniFileData As SourceFileData, ByVal mdlFileData As SourceFileData) + Me.theInputFileReader = aniFileReader + Me.theMdlFileData = CType(aniFileData, SourceMdlFileData48) + Me.theRealMdlFileData = CType(mdlFileData, SourceMdlFileData48) + + Me.theMdlFileData.theFileSeekLog.FileSize = Me.theInputFileReader.BaseStream.Length + + 'NOTE: Need the bone data from the real MDL file because SourceAniFile inherits SourceMdlFile.ReadMdlAnimation() that uses the data. + Me.theMdlFileData.theBones = Me.theRealMdlFileData.theBones + End Sub + +#End Region + +#Region "Delegates" + + 'Public Delegate Sub ReadAniAnimationDelegate(ByVal aniFileInputFileStreamPosition As Long, ByVal aniFileStreamEndPosition As Long, ByVal anAnimationDesc As SourceMdlAnimationDesc, ByVal sectionFrameCount As Integer, ByVal sectionIndex As Integer) + +#End Region + +#Region "Methods" + + 'FROM: SourceEngine2006_source\public\write.cpp + ' WriteAnimations() + '============================================== + 'for (i = 0; i < animcount; i++) + '{ + ' { + ' //ZM: This is for animations found in separate MDL files, i.e. $includemodel. + + ' static int iCurAnim = 0; + + ' // align all animation data to cache line boundaries + ' ALIGN16( pBlockData ); + + ' byte *pIkData = WriteAnimationData( srcanim, pBlockData ); + ' byte *pBlockEnd = WriteIkErrors( srcanim, pIkData ); + + ' if (g_numanimblocks == 0) + ' { + ' g_numanimblocks = 1; + ' // XBox, align each anim block to 512 for fast io + ' byte *pBlockData2 = pBlockData; + ' ALIGN512( pBlockData2 ); + + ' int size = pBlockEnd - pBlockData; + ' int shift = pBlockData2 - pBlockData; + + ' memmove( pBlockData2, pBlockData, size ); + ' memset( pBlockData, 0, shift ); + + ' pBlockData = pBlockData2; + ' pIkData = pIkData + shift; + ' pBlockEnd = pBlockEnd + shift; + + ' g_animblock[g_numanimblocks].start = pBlockData; + ' g_numanimblocks++; + ' } + ' else if (pBlockEnd - g_animblock[g_numanimblocks-1].start > g_animblocksize) + ' { + ' // the data we just wrote went over the boundry + ' // XBox, align each anim block to 512 for fast io + ' byte *pBlockData2 = pBlockData; + ' ALIGN512( pBlockData2 ); + + ' int size = pBlockEnd - pBlockData; + ' int shift = pBlockData2 - pBlockData; + + ' memmove( pBlockData2, pBlockData, size ); + ' memset( pBlockData, 0, shift ); + + ' pBlockData = pBlockData2; + ' pIkData = pIkData + shift; + ' pBlockEnd = pBlockEnd + shift; + + ' g_animblock[g_numanimblocks-1].end = pBlockData; + ' g_animblock[g_numanimblocks].start = pBlockData; + ' g_animblock[g_numanimblocks].iStartAnim = i; + + ' g_numanimblocks++; + ' If (g_numanimblocks > MAXSTUDIOANIMBLOCKS) Then + ' { + ' MdlError( "Too many animation blocks\n"); + ' } + ' } + + ' if ( i == animcount - 1 ) + ' { + ' // fixup size for last block + ' // XBox, align each anim block to 512 for fast io + ' ALIGN512( pBlockEnd ); + ' } + ' g_animblock[g_numanimblocks-1].iEndAnim = i; + ' g_animblock[g_numanimblocks-1].end = pBlockEnd; + + ' panimdesc[i].animblock = IsChar( g_numanimblocks-1 ); + ' panimdesc[i].animindex = IsInt24( pBlockData - g_animblock[panimdesc[i].animblock].start ); + ' panimdesc[i].numikrules = IsChar( srcanim->numikrules ); + ' panimdesc[i].animblockikruleindex = IsInt24( pIkData - g_animblock[panimdesc[i].animblock].start ); + ' pBlockData = pBlockEnd; + ' } + '} + Public Sub ReadAnimationAniBlocks() + If Me.theRealMdlFileData.theAnimationDescs IsNot Nothing Then + Dim animBlockInputFileStreamPosition As Long + Dim animBlockInputFileStreamEndPosition As Long + Dim anAnimationDesc As SourceMdlAnimationDesc48 + + For anAnimDescIndex As Integer = 0 To Me.theRealMdlFileData.theAnimationDescs.Count - 1 + anAnimationDesc = Me.theRealMdlFileData.theAnimationDescs(anAnimDescIndex) + + animBlockInputFileStreamPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.animBlock).dataStart + animBlockInputFileStreamEndPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.animBlock).dataEnd + + Try + Dim sectionIndex As Integer + If anAnimationDesc.theSections IsNot Nothing AndAlso anAnimationDesc.theSections.Count > 0 Then + Dim sectionFrameCount As Integer + Dim sectionCount As Integer + + sectionCount = anAnimationDesc.theSections.Count + For sectionIndex = 0 To sectionCount - 1 + If anAnimationDesc.theSections(sectionIndex).animBlock > 0 Then + If sectionIndex < sectionCount - 2 Then + sectionFrameCount = anAnimationDesc.sectionFrameCount + Else + 'NOTE: Due to the weird calculation of sectionCount in studiomdl, this line is called twice, which means there are two "last" sections. + ' This also likely means that the last section is bogus unused data. + sectionFrameCount = anAnimationDesc.frameCount - ((sectionCount - 2) * anAnimationDesc.sectionFrameCount) + End If + + animBlockInputFileStreamPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.theSections(sectionIndex).animBlock).dataStart + animBlockInputFileStreamEndPosition = Me.theRealMdlFileData.theAnimBlocks(anAnimationDesc.theSections(sectionIndex).animBlock).dataEnd + Me.ReadAniAnimation(animBlockInputFileStreamPosition + anAnimationDesc.theSections(sectionIndex).animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.theSections(sectionIndex).animOffset, anAnimationDesc, sectionFrameCount, sectionIndex, (sectionIndex >= sectionCount - 2) Or (anAnimationDesc.frameCount = (sectionIndex + 1) * anAnimationDesc.sectionFrameCount)) + 'delegateReadAniAnimation.Invoke(animBlockInputFileStreamPosition + anAnimationDesc.theSections(sectionIndex).animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.theSections(sectionIndex).animOffset, anAnimationDesc, sectionFrameCount, sectionIndex) + End If + Next + ElseIf anAnimationDesc.animBlock > 0 Then + sectionIndex = 0 + Me.ReadAniAnimation(animBlockInputFileStreamPosition + anAnimationDesc.animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.animOffset, anAnimationDesc, anAnimationDesc.frameCount, sectionIndex, True) + 'delegateReadAniAnimation.Invoke(animBlockInputFileStreamPosition + anAnimationDesc.animOffset, animBlockInputFileStreamEndPosition + anAnimationDesc.animOffset, anAnimationDesc, anAnimationDesc.frameCount, sectionIndex) + End If + + If anAnimationDesc.animBlock > 0 Then + Me.ReadMdlIkRules(animBlockInputFileStreamPosition + anAnimationDesc.animblockIkRuleOffset, anAnimationDesc) + Me.ReadLocalHierarchies(animBlockInputFileStreamPosition, anAnimationDesc) + End If + Catch ex As Exception + Dim debug As Integer = 4242 + End Try + Next + End If + End Sub + +#End Region + +#Region "Private Methods" + + Public Overridable Sub ReadAniAnimation(ByVal aniFileInputFileStreamPosition As Long, ByVal aniFileStreamEndPosition As Long, ByVal anAnimationDesc As SourceMdlAnimationDesc48, ByVal sectionFrameCount As Integer, ByVal sectionIndex As Integer, ByVal lastSectionIsBeingRead As Boolean) + Dim aSectionOfAnimation As List(Of SourceMdlAnimation) + aSectionOfAnimation = anAnimationDesc.theSectionsOfAnimations(sectionIndex) + Me.ReadMdlAnimation(aniFileInputFileStreamPosition, anAnimationDesc, sectionFrameCount, aSectionOfAnimation, lastSectionIsBeingRead) + End Sub + +#End Region + +#Region "Data" + + Protected theRealMdlFileData As SourceMdlFileData48 + +#End Region + +End Class diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceAniFileData/SourceAniFileData48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceAniFileData/SourceAniFileData48.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel48/SourceAniFileData/SourceAniFileData48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceAniFileData/SourceAniFileData48.vb diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceMdlFile48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceMdlFile48.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel48/SourceMdlFile48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceMdlFile48.vb diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceMdlFileData/SourceMdlAnimationDesc48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceMdlFileData/SourceMdlAnimationDesc48.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel48/SourceMdlFileData/SourceMdlAnimationDesc48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceMdlFileData/SourceMdlAnimationDesc48.vb index 39c61cf..45ea7ac 100644 --- a/Crowbar/Core/SourceModel/SourceModel48/SourceMdlFileData/SourceMdlAnimationDesc48.vb +++ b/Crowbar/Core/GameModel/SourceModel48/SourceMdlFileData/SourceMdlAnimationDesc48.vb @@ -131,7 +131,7 @@ Public Class SourceMdlAnimationDesc48 'Public theAnimations As List(Of SourceMdlAnimation) Public theSectionsOfAnimations As List(Of List(Of SourceMdlAnimation)) 'Public theAniFrameAnims As List(Of SourceAniFrameAnim) - Public theAniFrameAnim As SourceAniFrameAnim + Public theAniFrameAnim As SourceAniFrameAnim49 Public theIkRules As List(Of SourceMdlIkRule) Public theSections As List(Of SourceMdlAnimationSection) Public theMovements As List(Of SourceMdlMovement) diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceMdlFileData/SourceMdlFileData48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceMdlFileData/SourceMdlFileData48.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel48/SourceMdlFileData/SourceMdlFileData48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceMdlFileData/SourceMdlFileData48.vb diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceModel48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceModel48.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel48/SourceModel48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceModel48.vb diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceQcFile48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceQcFile48.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel48/SourceQcFile48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceQcFile48.vb diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceSmdFile48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceSmdFile48.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel48/SourceSmdFile48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceSmdFile48.vb diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceVrdFile48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceVrdFile48.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel48/SourceVrdFile48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceVrdFile48.vb diff --git a/Crowbar/Core/SourceModel/SourceModel48/SourceVtaFile48.vb b/Crowbar/Core/GameModel/SourceModel48/SourceVtaFile48.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel48/SourceVtaFile48.vb rename to Crowbar/Core/GameModel/SourceModel48/SourceVtaFile48.vb diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceMdlFile49.vb b/Crowbar/Core/GameModel/SourceModel49/SourceMdlFile49.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel49/SourceMdlFile49.vb rename to Crowbar/Core/GameModel/SourceModel49/SourceMdlFile49.vb index 99a424f..ad9c04d 100644 --- a/Crowbar/Core/SourceModel/SourceModel49/SourceMdlFile49.vb +++ b/Crowbar/Core/GameModel/SourceModel49/SourceMdlFile49.vb @@ -1019,8 +1019,6 @@ Public Class SourceMdlFile49 If Me.theMdlFileData.theAnimationDescs IsNot Nothing Then Dim animInputFileStreamPosition As Long Dim anAnimationDesc As SourceMdlAnimationDesc49 - Dim aSectionOfAnimation As List(Of SourceMdlAnimation) - Dim aSectionOfFrameAnimation As SourceAniFrameAnim For anAnimDescIndex As Integer = 0 To Me.theMdlFileData.theAnimationDescs.Count - 1 anAnimationDesc = Me.theMdlFileData.theAnimationDescs(anAnimDescIndex) @@ -1032,8 +1030,9 @@ Public Class SourceMdlFile49 End If If ((anAnimationDesc.flags And SourceMdlAnimationDesc.STUDIO_FRAMEANIM) <> 0) Then - anAnimationDesc.theSectionsOfFrameAnim = New List(Of SourceAniFrameAnim)() - aSectionOfFrameAnimation = New SourceAniFrameAnim() + anAnimationDesc.theSectionsOfFrameAnim = New List(Of SourceAniFrameAnim49)() + Dim aSectionOfFrameAnimation As SourceAniFrameAnim49 + aSectionOfFrameAnimation = New SourceAniFrameAnim49() anAnimationDesc.theSectionsOfFrameAnim.Add(aSectionOfFrameAnimation) Dim sectionIndex As Integer @@ -1054,7 +1053,7 @@ Public Class SourceMdlFile49 'NOTE: First sectionOfAnimation was created above. For sectionIndex = 1 To sectionCount - 1 - aSectionOfFrameAnimation = New SourceAniFrameAnim() + aSectionOfFrameAnimation = New SourceAniFrameAnim49() anAnimationDesc.theSectionsOfFrameAnim.Add(aSectionOfFrameAnimation) Next @@ -1084,6 +1083,7 @@ Public Class SourceMdlFile49 End If Else anAnimationDesc.theSectionsOfAnimations = New List(Of List(Of SourceMdlAnimation))() + Dim aSectionOfAnimation As List(Of SourceMdlAnimation) aSectionOfAnimation = New List(Of SourceMdlAnimation)() anAnimationDesc.theSectionsOfAnimations.Add(aSectionOfAnimation) @@ -1249,13 +1249,13 @@ Public Class SourceMdlFile49 Dim fileOffsetEnd As Long Dim boneCount As Integer Dim boneFlag As Byte - Dim aBoneConstantInfo As BoneConstantInfo - Dim aBoneFrameDataInfoList As List(Of BoneFrameDataInfo) - Dim aBoneFrameDataInfo As BoneFrameDataInfo + Dim aBoneConstantInfo As BoneConstantInfo49 + Dim aBoneFrameDataInfoList As List(Of BoneFrameDataInfo49) + Dim aBoneFrameDataInfo As BoneFrameDataInfo49 fileOffsetStart = Me.theInputFileReader.BaseStream.Position - Dim aSectionOfAnimation As SourceAniFrameAnim + Dim aSectionOfAnimation As SourceAniFrameAnim49 aSectionOfAnimation = anAnimationDesc.theSectionsOfFrameAnim(sectionIndex) boneCount = Me.theMdlFileData.theBones.Count @@ -1295,23 +1295,23 @@ Public Class SourceMdlFile49 Me.theInputFileReader.BaseStream.Seek(animFrameInputFileStreamPosition + aSectionOfAnimation.constantsOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aSectionOfAnimation.theBoneConstantInfos = New List(Of BoneConstantInfo)(boneCount) + aSectionOfAnimation.theBoneConstantInfos = New List(Of BoneConstantInfo49)(boneCount) For boneIndex As Integer = 0 To boneCount - 1 - aBoneConstantInfo = New BoneConstantInfo() + aBoneConstantInfo = New BoneConstantInfo49() aSectionOfAnimation.theBoneConstantInfos.Add(aBoneConstantInfo) boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_CONST_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_CONST_ROT2) > 0 Then aBoneConstantInfo.theConstantRotationUnknown = New SourceQuaternion48bitsViaBytes() aBoneConstantInfo.theConstantRotationUnknown.theBytes = Me.theInputFileReader.ReadBytes(6) End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWROT) > 0 Then aBoneConstantInfo.theConstantRawRot = New SourceQuaternion48bits() aBoneConstantInfo.theConstantRawRot.theXInput = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawRot.theYInput = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawRot.theZWInput = Me.theInputFileReader.ReadUInt16() End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWPOS) > 0 Then aBoneConstantInfo.theConstantRawPos = New SourceVector48bits() aBoneConstantInfo.theConstantRawPos.theXInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawPos.theYInput.the16BitValue = Me.theInputFileReader.ReadUInt16() @@ -1334,7 +1334,7 @@ Public Class SourceMdlFile49 Me.theInputFileReader.BaseStream.Seek(animFrameInputFileStreamPosition + aSectionOfAnimation.frameOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aSectionOfAnimation.theBoneFrameDataInfos = New List(Of List(Of BoneFrameDataInfo))(sectionFrameCount) + aSectionOfAnimation.theBoneFrameDataInfos = New List(Of List(Of BoneFrameDataInfo49))(sectionFrameCount) 'NOTE: This adjustment is weird, but it fits all the data I've seen. Dim adjustedFrameCount As Integer @@ -1345,7 +1345,7 @@ Public Class SourceMdlFile49 End If For frameIndex As Integer = 0 To adjustedFrameCount - 1 - aBoneFrameDataInfoList = New List(Of BoneFrameDataInfo)(boneCount) + aBoneFrameDataInfoList = New List(Of BoneFrameDataInfo49)(boneCount) If lastSectionIsBeingRead OrElse (frameIndex < (adjustedFrameCount - 1)) Then aSectionOfAnimation.theBoneFrameDataInfos.Add(aBoneFrameDataInfoList) End If @@ -1353,28 +1353,28 @@ Public Class SourceMdlFile49 boneFrameDataStartInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position For boneIndex As Integer = 0 To boneCount - 1 - aBoneFrameDataInfo = New BoneFrameDataInfo() + aBoneFrameDataInfo = New BoneFrameDataInfo49() aBoneFrameDataInfoList.Add(aBoneFrameDataInfo) boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIM_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIM_ROT2) > 0 Then aBoneFrameDataInfo.theAnimRotationUnknown = New SourceQuaternion48bitsViaBytes() aBoneFrameDataInfo.theAnimRotationUnknown.theBytes = Me.theInputFileReader.ReadBytes(6) End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMROT) > 0 Then aBoneFrameDataInfo.theAnimRotation = New SourceQuaternion48bits() aBoneFrameDataInfo.theAnimRotation.theXInput = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimRotation.theYInput = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimRotation.theZWInput = Me.theInputFileReader.ReadUInt16() End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMPOS) > 0 Then aBoneFrameDataInfo.theAnimPosition = New SourceVector48bits() aBoneFrameDataInfo.theAnimPosition.theXInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimPosition.theYInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimPosition.theZInput.the16BitValue = Me.theInputFileReader.ReadUInt16() End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_FULLANIMPOS) > 0 Then aBoneFrameDataInfo.theFullAnimPosition = New SourceVector() aBoneFrameDataInfo.theFullAnimPosition.x = Me.theInputFileReader.ReadSingle() aBoneFrameDataInfo.theFullAnimPosition.y = Me.theInputFileReader.ReadSingle() diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceMdlFileData/SourceMdlAnimationDesc49.vb b/Crowbar/Core/GameModel/SourceModel49/SourceMdlFileData/SourceMdlAnimationDesc49.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel49/SourceMdlFileData/SourceMdlAnimationDesc49.vb rename to Crowbar/Core/GameModel/SourceModel49/SourceMdlFileData/SourceMdlAnimationDesc49.vb index b410c0b..c43a83e 100644 --- a/Crowbar/Core/SourceModel/SourceModel49/SourceMdlFileData/SourceMdlAnimationDesc49.vb +++ b/Crowbar/Core/GameModel/SourceModel49/SourceMdlFileData/SourceMdlAnimationDesc49.vb @@ -136,7 +136,7 @@ Public Class SourceMdlAnimationDesc49 'Public theName As String Public theSectionsOfAnimations As List(Of List(Of SourceMdlAnimation)) - Public theSectionsOfFrameAnim As List(Of SourceAniFrameAnim) + Public theSectionsOfFrameAnim As List(Of SourceAniFrameAnim49) Public theIkRules As List(Of SourceMdlIkRule) Public theSections As List(Of SourceMdlAnimationSection) Public theMovements As List(Of SourceMdlMovement) diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceMdlFileData/SourceMdlFileData49.vb b/Crowbar/Core/GameModel/SourceModel49/SourceMdlFileData/SourceMdlFileData49.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel49/SourceMdlFileData/SourceMdlFileData49.vb rename to Crowbar/Core/GameModel/SourceModel49/SourceMdlFileData/SourceMdlFileData49.vb diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceModel49.vb b/Crowbar/Core/GameModel/SourceModel49/SourceModel49.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel49/SourceModel49.vb rename to Crowbar/Core/GameModel/SourceModel49/SourceModel49.vb diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceQcFile49.vb b/Crowbar/Core/GameModel/SourceModel49/SourceQcFile49.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel49/SourceQcFile49.vb rename to Crowbar/Core/GameModel/SourceModel49/SourceQcFile49.vb diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceSmdFile49.vb b/Crowbar/Core/GameModel/SourceModel49/SourceSmdFile49.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel49/SourceSmdFile49.vb rename to Crowbar/Core/GameModel/SourceModel49/SourceSmdFile49.vb index b65ddb7..c68fd16 100644 --- a/Crowbar/Core/SourceModel/SourceModel49/SourceSmdFile49.vb +++ b/Crowbar/Core/GameModel/SourceModel49/SourceSmdFile49.vb @@ -440,7 +440,7 @@ Public Class SourceSmdFile49 If ((anAnimationDesc.flags And SourceMdlAnimationDesc.STUDIO_FRAMEANIM) <> 0) Then Dim sectionFrameIndex As Integer Dim sectionIndex As Integer - Dim aSectionOfAnimation As SourceAniFrameAnim + Dim aSectionOfAnimation As SourceAniFrameAnim49 If anAnimationDesc.sectionFrameCount = 0 Then sectionIndex = 0 sectionFrameIndex = frameIndex @@ -450,8 +450,8 @@ Public Class SourceSmdFile49 End If aSectionOfAnimation = anAnimationDesc.theSectionsOfFrameAnim(sectionIndex) - Dim aBoneConstantInfo As BoneConstantInfo - Dim aBoneFrameDataInfo As BoneFrameDataInfo + Dim aBoneConstantInfo As BoneConstantInfo49 + Dim aBoneFrameDataInfo As BoneFrameDataInfo49 For boneIndex = 0 To Me.theMdlFileData.theBones.Count - 1 aBone = Me.theMdlFileData.theBones(boneIndex) @@ -574,34 +574,34 @@ Public Class SourceSmdFile49 boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) If aSectionOfAnimation.theBoneConstantInfos IsNot Nothing Then aBoneConstantInfo = aSectionOfAnimation.theBoneConstantInfos(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWROT) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneConstantInfo.theConstantRawRot.quaternion) aFrameLine.rotation.debug_text = "RAWROT" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWPOS) > 0 Then aFrameLine.position.x = aBoneConstantInfo.theConstantRawPos.x aFrameLine.position.y = aBoneConstantInfo.theConstantRawPos.y aFrameLine.position.z = aBoneConstantInfo.theConstantRawPos.z aFrameLine.position.debug_text = "RAWPOS" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_CONST_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_CONST_ROT2) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneConstantInfo.theConstantRotationUnknown.quaternion) aFrameLine.rotation.debug_text = "FRAME_CONST_ROT2" End If End If If aSectionOfAnimation.theBoneFrameDataInfos IsNot Nothing Then aBoneFrameDataInfo = aSectionOfAnimation.theBoneFrameDataInfos(sectionFrameIndex)(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMROT) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneFrameDataInfo.theAnimRotation.quaternion) aFrameLine.rotation.debug_text = "ANIMROT" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMPOS) > 0 Then aFrameLine.position.x = aBoneFrameDataInfo.theAnimPosition.x aFrameLine.position.y = aBoneFrameDataInfo.theAnimPosition.y aFrameLine.position.z = aBoneFrameDataInfo.theAnimPosition.z aFrameLine.position.debug_text = "ANIMPOS" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_FULLANIMPOS) > 0 Then aFrameLine.position.x = aBoneFrameDataInfo.theFullAnimPosition.x aFrameLine.position.y = aBoneFrameDataInfo.theFullAnimPosition.y aFrameLine.position.z = aBoneFrameDataInfo.theFullAnimPosition.z @@ -610,7 +610,7 @@ Public Class SourceSmdFile49 If (boneFlag And &H20) > 0 Then Dim unknownFlagIsUsed As Integer = 4242 End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIM_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIM_ROT2) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneFrameDataInfo.theAnimRotationUnknown.quaternion) aFrameLine.rotation.debug_text = "FRAME_ANIM_ROT2" End If diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceVrdFile49.vb b/Crowbar/Core/GameModel/SourceModel49/SourceVrdFile49.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel49/SourceVrdFile49.vb rename to Crowbar/Core/GameModel/SourceModel49/SourceVrdFile49.vb diff --git a/Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb b/Crowbar/Core/GameModel/SourceModel49/SourceVtaFile49.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel49/SourceVtaFile49.vb rename to Crowbar/Core/GameModel/SourceModel49/SourceVtaFile49.vb diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceAniFile52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceAniFile52.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel52/SourceAniFile52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceAniFile52.vb diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceAniFileData/SourceAniFileData52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceAniFileData/SourceAniFileData52.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel52/SourceAniFileData/SourceAniFileData52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceAniFileData/SourceAniFileData52.vb diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceAniFileData/SourceAniFrameAnim52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceAniFileData/SourceAniFrameAnim52.vb similarity index 97% rename from Crowbar/Core/SourceModel/SourceModel52/SourceAniFileData/SourceAniFrameAnim52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceAniFileData/SourceAniFrameAnim52.vb index e1123e1..8f1d8c0 100644 --- a/Crowbar/Core/SourceModel/SourceModel52/SourceAniFileData/SourceAniFrameAnim52.vb +++ b/Crowbar/Core/GameModel/SourceModel52/SourceAniFileData/SourceAniFrameAnim52.vb @@ -30,9 +30,9 @@ Public Class SourceAniFrameAnim52 'Public theUnknownBytes02 As List(Of Byte) 'Public theUnknownBytes03 As List(Of Byte) Public theUnknownBytes As List(Of Integer) - Public theBoneConstantInfos As List(Of BoneConstantInfo) + Public theBoneConstantInfos As List(Of BoneConstantInfo49) 'NOTE: This is indexed by frame index and global bone index. - Public theBoneFrameDataInfos As List(Of List(Of BoneFrameDataInfo)) + Public theBoneFrameDataInfos As List(Of List(Of BoneFrameDataInfo49)) 'FROM: AlienSwarm_source\src\public\studio.h ' Values for the field, theBoneFlags: diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceMdlFile52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceMdlFile52.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel52/SourceMdlFile52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceMdlFile52.vb index 04c0561..add48fd 100644 --- a/Crowbar/Core/SourceModel/SourceModel52/SourceMdlFile52.vb +++ b/Crowbar/Core/GameModel/SourceModel52/SourceMdlFile52.vb @@ -1254,9 +1254,9 @@ Public Class SourceMdlFile52 Dim fileOffsetEnd As Long Dim boneCount As Integer Dim boneFlag As Byte - Dim aBoneConstantInfo As BoneConstantInfo - Dim aBoneFrameDataInfoList As List(Of BoneFrameDataInfo) - Dim aBoneFrameDataInfo As BoneFrameDataInfo + Dim aBoneConstantInfo As BoneConstantInfo49 + Dim aBoneFrameDataInfoList As List(Of BoneFrameDataInfo49) + Dim aBoneFrameDataInfo As BoneFrameDataInfo49 fileOffsetStart = Me.theInputFileReader.BaseStream.Position @@ -1342,23 +1342,23 @@ Public Class SourceMdlFile52 Me.theInputFileReader.BaseStream.Seek(animFrameInputFileStreamPosition + aSectionOfAnimation.constantsOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aSectionOfAnimation.theBoneConstantInfos = New List(Of BoneConstantInfo)(boneCount) + aSectionOfAnimation.theBoneConstantInfos = New List(Of BoneConstantInfo49)(boneCount) For boneIndex As Integer = 0 To boneCount - 1 - aBoneConstantInfo = New BoneConstantInfo() + aBoneConstantInfo = New BoneConstantInfo49() aSectionOfAnimation.theBoneConstantInfos.Add(aBoneConstantInfo) boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_CONST_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_CONST_ROT2) > 0 Then aBoneConstantInfo.theConstantRotationUnknown = New SourceQuaternion48bitsViaBytes() aBoneConstantInfo.theConstantRotationUnknown.theBytes = Me.theInputFileReader.ReadBytes(6) End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWROT) > 0 Then aBoneConstantInfo.theConstantRawRot = New SourceQuaternion48bits() aBoneConstantInfo.theConstantRawRot.theXInput = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawRot.theYInput = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawRot.theZWInput = Me.theInputFileReader.ReadUInt16() End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWPOS) > 0 Then aBoneConstantInfo.theConstantRawPos = New SourceVector48bits() aBoneConstantInfo.theConstantRawPos.theXInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawPos.theYInput.the16BitValue = Me.theInputFileReader.ReadUInt16() @@ -1377,7 +1377,7 @@ Public Class SourceMdlFile52 Me.theInputFileReader.BaseStream.Seek(animFrameInputFileStreamPosition + aSectionOfAnimation.frameOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aSectionOfAnimation.theBoneFrameDataInfos = New List(Of List(Of BoneFrameDataInfo))(sectionFrameCount) + aSectionOfAnimation.theBoneFrameDataInfos = New List(Of List(Of BoneFrameDataInfo49))(sectionFrameCount) 'NOTE: This adjustment is weird, but it fits all the data I've seen. Dim adjustedFrameCount As Integer @@ -1388,7 +1388,7 @@ Public Class SourceMdlFile52 End If For frameIndex As Integer = 0 To adjustedFrameCount - 1 - aBoneFrameDataInfoList = New List(Of BoneFrameDataInfo)(boneCount) + aBoneFrameDataInfoList = New List(Of BoneFrameDataInfo49)(boneCount) If lastSectionIsBeingRead OrElse (frameIndex < (adjustedFrameCount - 1)) Then aSectionOfAnimation.theBoneFrameDataInfos.Add(aBoneFrameDataInfoList) End If @@ -1396,30 +1396,30 @@ Public Class SourceMdlFile52 boneFrameDataStartInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position For boneIndex As Integer = 0 To boneCount - 1 - aBoneFrameDataInfo = New BoneFrameDataInfo() + aBoneFrameDataInfo = New BoneFrameDataInfo49() aBoneFrameDataInfoList.Add(aBoneFrameDataInfo) boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIM_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIM_ROT2) > 0 Then aBoneFrameDataInfo.theAnimRotationUnknown = New SourceQuaternion48bitsViaBytes() aBoneFrameDataInfo.theAnimRotationUnknown.theBytes = Me.theInputFileReader.ReadBytes(6) End If 'If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_FULLANIMPOS) > 0 Then aBoneFrameDataInfo.theAnimRotation = New SourceQuaternion48bits() aBoneFrameDataInfo.theAnimRotation.theXInput = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimRotation.theYInput = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimRotation.theZWInput = Me.theInputFileReader.ReadUInt16() End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMPOS) > 0 Then aBoneFrameDataInfo.theAnimPosition = New SourceVector48bits() aBoneFrameDataInfo.theAnimPosition.theXInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimPosition.theYInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimPosition.theZInput.the16BitValue = Me.theInputFileReader.ReadUInt16() End If 'If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMROT) > 0 Then 'aBoneFrameDataInfo.theFullAnimPosition = New SourceVector() 'aBoneFrameDataInfo.theFullAnimPosition.x = Me.theInputFileReader.ReadSingle() 'aBoneFrameDataInfo.theFullAnimPosition.y = Me.theInputFileReader.ReadSingle() diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceMdlFileData/SourceMdlAnimationDesc52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceMdlFileData/SourceMdlAnimationDesc52.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel52/SourceMdlFileData/SourceMdlAnimationDesc52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceMdlFileData/SourceMdlAnimationDesc52.vb diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceMdlFileData/SourceMdlFileData52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceMdlFileData/SourceMdlFileData52.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel52/SourceMdlFileData/SourceMdlFileData52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceMdlFileData/SourceMdlFileData52.vb diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceModel52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceModel52.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel52/SourceModel52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceModel52.vb diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceQcFile52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceQcFile52.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel52/SourceQcFile52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceQcFile52.vb diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceSmdFile52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceSmdFile52.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel52/SourceSmdFile52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceSmdFile52.vb index ab7f858..7f9932e 100644 --- a/Crowbar/Core/SourceModel/SourceModel52/SourceSmdFile52.vb +++ b/Crowbar/Core/GameModel/SourceModel52/SourceSmdFile52.vb @@ -373,8 +373,8 @@ Public Class SourceSmdFile52 End If aSectionOfAnimation = anAnimationDesc.theSectionsOfFrameAnim(sectionIndex) - Dim aBoneConstantInfo As BoneConstantInfo - Dim aBoneFrameDataInfo As BoneFrameDataInfo + Dim aBoneConstantInfo As BoneConstantInfo49 + Dim aBoneFrameDataInfo As BoneFrameDataInfo49 For boneIndex = 0 To Me.theMdlFileData.theBones.Count - 1 aBone = Me.theMdlFileData.theBones(boneIndex) @@ -409,17 +409,17 @@ Public Class SourceSmdFile52 boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) If aSectionOfAnimation.theBoneConstantInfos IsNot Nothing Then aBoneConstantInfo = aSectionOfAnimation.theBoneConstantInfos(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWROT) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneConstantInfo.theConstantRawRot.quaternion) aFrameLine.rotation.debug_text = "RAWROT" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWPOS) > 0 Then aFrameLine.position.x = aBoneConstantInfo.theConstantRawPos.x aFrameLine.position.y = aBoneConstantInfo.theConstantRawPos.y aFrameLine.position.z = aBoneConstantInfo.theConstantRawPos.z aFrameLine.position.debug_text = "RAWPOS" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_CONST_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_CONST_ROT2) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneConstantInfo.theConstantRotationUnknown.quaternion) aFrameLine.rotation.debug_text = "FRAME_CONST_ROT2" End If @@ -427,18 +427,18 @@ Public Class SourceSmdFile52 If aSectionOfAnimation.theBoneFrameDataInfos IsNot Nothing Then aBoneFrameDataInfo = aSectionOfAnimation.theBoneFrameDataInfos(sectionFrameIndex)(boneIndex) 'If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_FULLANIMPOS) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneFrameDataInfo.theAnimRotation.quaternion) aFrameLine.rotation.debug_text = "ANIMROT" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMPOS) > 0 Then aFrameLine.position.x = aBoneFrameDataInfo.theAnimPosition.x aFrameLine.position.y = aBoneFrameDataInfo.theAnimPosition.y aFrameLine.position.z = aBoneFrameDataInfo.theAnimPosition.z aFrameLine.position.debug_text = "ANIMPOS" End If 'If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMROT) > 0 Then 'aFrameLine.position.x = aBoneFrameDataInfo.theFullAnimPosition.x 'aFrameLine.position.y = aBoneFrameDataInfo.theFullAnimPosition.y 'aFrameLine.position.z = aBoneFrameDataInfo.theFullAnimPosition.z @@ -450,7 +450,7 @@ Public Class SourceSmdFile52 If (boneFlag And &H20) > 0 Then Dim unknownFlagIsUsed As Integer = 4242 End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIM_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIM_ROT2) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneFrameDataInfo.theAnimRotationUnknown.quaternion) aFrameLine.rotation.debug_text = "FRAME_ANIM_ROT2" End If diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceVrdFile52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceVrdFile52.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel52/SourceVrdFile52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceVrdFile52.vb diff --git a/Crowbar/Core/SourceModel/SourceModel52/SourceVtaFile52.vb b/Crowbar/Core/GameModel/SourceModel52/SourceVtaFile52.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel52/SourceVtaFile52.vb rename to Crowbar/Core/GameModel/SourceModel52/SourceVtaFile52.vb diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceMdlFile53.vb b/Crowbar/Core/GameModel/SourceModel53/SourceMdlFile53.vb similarity index 99% rename from Crowbar/Core/SourceModel/SourceModel53/SourceMdlFile53.vb rename to Crowbar/Core/GameModel/SourceModel53/SourceMdlFile53.vb index dc118ae..29922c6 100644 --- a/Crowbar/Core/SourceModel/SourceModel53/SourceMdlFile53.vb +++ b/Crowbar/Core/GameModel/SourceModel53/SourceMdlFile53.vb @@ -1233,9 +1233,9 @@ Public Class SourceMdlFile53 Dim fileOffsetEnd As Long Dim boneCount As Integer Dim boneFlag As Byte - Dim aBoneConstantInfo As BoneConstantInfo - Dim aBoneFrameDataInfoList As List(Of BoneFrameDataInfo) - Dim aBoneFrameDataInfo As BoneFrameDataInfo + Dim aBoneConstantInfo As BoneConstantInfo49 + Dim aBoneFrameDataInfoList As List(Of BoneFrameDataInfo49) + Dim aBoneFrameDataInfo As BoneFrameDataInfo49 fileOffsetStart = Me.theInputFileReader.BaseStream.Position @@ -1283,23 +1283,23 @@ Public Class SourceMdlFile53 Me.theInputFileReader.BaseStream.Seek(animFrameInputFileStreamPosition + aSectionOfAnimation.constantsOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aSectionOfAnimation.theBoneConstantInfos = New List(Of BoneConstantInfo)(boneCount) + aSectionOfAnimation.theBoneConstantInfos = New List(Of BoneConstantInfo49)(boneCount) For boneIndex As Integer = 0 To boneCount - 1 - aBoneConstantInfo = New BoneConstantInfo() + aBoneConstantInfo = New BoneConstantInfo49() aSectionOfAnimation.theBoneConstantInfos.Add(aBoneConstantInfo) boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_CONST_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_CONST_ROT2) > 0 Then aBoneConstantInfo.theConstantRotationUnknown = New SourceQuaternion48bitsViaBytes() aBoneConstantInfo.theConstantRotationUnknown.theBytes = Me.theInputFileReader.ReadBytes(6) End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWROT) > 0 Then aBoneConstantInfo.theConstantRawRot = New SourceQuaternion48bits() aBoneConstantInfo.theConstantRawRot.theXInput = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawRot.theYInput = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawRot.theZWInput = Me.theInputFileReader.ReadUInt16() End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWPOS) > 0 Then aBoneConstantInfo.theConstantRawPos = New SourceVector48bits() aBoneConstantInfo.theConstantRawPos.theXInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneConstantInfo.theConstantRawPos.theYInput.the16BitValue = Me.theInputFileReader.ReadUInt16() @@ -1318,7 +1318,7 @@ Public Class SourceMdlFile53 Me.theInputFileReader.BaseStream.Seek(animFrameInputFileStreamPosition + aSectionOfAnimation.frameOffset, SeekOrigin.Begin) fileOffsetStart = Me.theInputFileReader.BaseStream.Position - aSectionOfAnimation.theBoneFrameDataInfos = New List(Of List(Of BoneFrameDataInfo))(sectionFrameCount) + aSectionOfAnimation.theBoneFrameDataInfos = New List(Of List(Of BoneFrameDataInfo49))(sectionFrameCount) 'NOTE: This adjustment is weird, but it fits all the data I've seen. Dim adjustedFrameCount As Integer @@ -1329,7 +1329,7 @@ Public Class SourceMdlFile53 End If For frameIndex As Integer = 0 To sectionFrameCount - 1 - aBoneFrameDataInfoList = New List(Of BoneFrameDataInfo)(boneCount) + aBoneFrameDataInfoList = New List(Of BoneFrameDataInfo49)(boneCount) If lastSectionIsBeingRead OrElse (frameIndex < (adjustedFrameCount - 1)) Then aSectionOfAnimation.theBoneFrameDataInfos.Add(aBoneFrameDataInfoList) End If @@ -1337,30 +1337,30 @@ Public Class SourceMdlFile53 boneFrameDataStartInputFileStreamPosition = Me.theInputFileReader.BaseStream.Position For boneIndex As Integer = 0 To boneCount - 1 - aBoneFrameDataInfo = New BoneFrameDataInfo() + aBoneFrameDataInfo = New BoneFrameDataInfo49() aBoneFrameDataInfoList.Add(aBoneFrameDataInfo) boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIM_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIM_ROT2) > 0 Then aBoneFrameDataInfo.theAnimRotationUnknown = New SourceQuaternion48bitsViaBytes() aBoneFrameDataInfo.theAnimRotationUnknown.theBytes = Me.theInputFileReader.ReadBytes(6) End If 'If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_FULLANIMPOS) > 0 Then aBoneFrameDataInfo.theAnimRotation = New SourceQuaternion48bits() aBoneFrameDataInfo.theAnimRotation.theXInput = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimRotation.theYInput = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimRotation.theZWInput = Me.theInputFileReader.ReadUInt16() End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMPOS) > 0 Then aBoneFrameDataInfo.theAnimPosition = New SourceVector48bits() aBoneFrameDataInfo.theAnimPosition.theXInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimPosition.theYInput.the16BitValue = Me.theInputFileReader.ReadUInt16() aBoneFrameDataInfo.theAnimPosition.theZInput.the16BitValue = Me.theInputFileReader.ReadUInt16() End If 'If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMROT) > 0 Then 'aBoneFrameDataInfo.theFullAnimPosition = New SourceVector() 'aBoneFrameDataInfo.theFullAnimPosition.x = Me.theInputFileReader.ReadSingle() 'aBoneFrameDataInfo.theFullAnimPosition.y = Me.theInputFileReader.ReadSingle() diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceMdlFileData/SourceMdlFileData53.vb b/Crowbar/Core/GameModel/SourceModel53/SourceMdlFileData/SourceMdlFileData53.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel53/SourceMdlFileData/SourceMdlFileData53.vb rename to Crowbar/Core/GameModel/SourceModel53/SourceMdlFileData/SourceMdlFileData53.vb diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceModel53.vb b/Crowbar/Core/GameModel/SourceModel53/SourceModel53.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel53/SourceModel53.vb rename to Crowbar/Core/GameModel/SourceModel53/SourceModel53.vb diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceQcFile53.vb b/Crowbar/Core/GameModel/SourceModel53/SourceQcFile53.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel53/SourceQcFile53.vb rename to Crowbar/Core/GameModel/SourceModel53/SourceQcFile53.vb diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceSmdFile53.vb b/Crowbar/Core/GameModel/SourceModel53/SourceSmdFile53.vb similarity index 98% rename from Crowbar/Core/SourceModel/SourceModel53/SourceSmdFile53.vb rename to Crowbar/Core/GameModel/SourceModel53/SourceSmdFile53.vb index 8308f76..d8e26f9 100644 --- a/Crowbar/Core/SourceModel/SourceModel53/SourceSmdFile53.vb +++ b/Crowbar/Core/GameModel/SourceModel53/SourceSmdFile53.vb @@ -361,8 +361,8 @@ Public Class SourceSmdFile53 End If aSectionOfAnimation = anAnimationDesc.theSectionsOfFrameAnim(sectionIndex) - Dim aBoneConstantInfo As BoneConstantInfo - Dim aBoneFrameDataInfo As BoneFrameDataInfo + Dim aBoneConstantInfo As BoneConstantInfo49 + Dim aBoneFrameDataInfo As BoneFrameDataInfo49 For boneIndex = 0 To Me.theMdlFileData.theBones.Count - 1 aBone = Me.theMdlFileData.theBones(boneIndex) @@ -397,17 +397,17 @@ Public Class SourceSmdFile53 boneFlag = aSectionOfAnimation.theBoneFlags(boneIndex) If aSectionOfAnimation.theBoneConstantInfos IsNot Nothing Then aBoneConstantInfo = aSectionOfAnimation.theBoneConstantInfos(boneIndex) - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWROT) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneConstantInfo.theConstantRawRot.quaternion) aFrameLine.rotation.debug_text = "RAWROT" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_RAWPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_RAWPOS) > 0 Then aFrameLine.position.x = aBoneConstantInfo.theConstantRawPos.x aFrameLine.position.y = aBoneConstantInfo.theConstantRawPos.y aFrameLine.position.z = aBoneConstantInfo.theConstantRawPos.z aFrameLine.position.debug_text = "RAWPOS" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_CONST_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_CONST_ROT2) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneConstantInfo.theConstantRotationUnknown.quaternion) aFrameLine.rotation.debug_text = "FRAME_CONST_ROT2" End If @@ -415,18 +415,18 @@ Public Class SourceSmdFile53 If aSectionOfAnimation.theBoneFrameDataInfos IsNot Nothing Then aBoneFrameDataInfo = aSectionOfAnimation.theBoneFrameDataInfos(sectionFrameIndex)(boneIndex) 'If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_FULLANIMPOS) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneFrameDataInfo.theAnimRotation.quaternion) aFrameLine.rotation.debug_text = "ANIMROT" End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMPOS) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMPOS) > 0 Then aFrameLine.position.x = aBoneFrameDataInfo.theAnimPosition.x aFrameLine.position.y = aBoneFrameDataInfo.theAnimPosition.y aFrameLine.position.z = aBoneFrameDataInfo.theAnimPosition.z aFrameLine.position.debug_text = "ANIMPOS" End If 'If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_FULLANIMPOS) > 0 Then - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIMROT) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIMROT) > 0 Then 'aFrameLine.position.x = aBoneFrameDataInfo.theFullAnimPosition.x 'aFrameLine.position.y = aBoneFrameDataInfo.theFullAnimPosition.y 'aFrameLine.position.z = aBoneFrameDataInfo.theFullAnimPosition.z @@ -438,7 +438,7 @@ Public Class SourceSmdFile53 If (boneFlag And &H20) > 0 Then Dim unknownFlagIsUsed As Integer = 4242 End If - If (boneFlag And SourceAniFrameAnim.STUDIO_FRAME_ANIM_ROT2) > 0 Then + If (boneFlag And SourceAniFrameAnim49.STUDIO_FRAME_ANIM_ROT2) > 0 Then aFrameLine.rotation = MathModule.ToEulerAngles(aBoneFrameDataInfo.theAnimRotationUnknown.quaternion) aFrameLine.rotation.debug_text = "FRAME_ANIM_ROT2" End If diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceVrdFile53.vb b/Crowbar/Core/GameModel/SourceModel53/SourceVrdFile53.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel53/SourceVrdFile53.vb rename to Crowbar/Core/GameModel/SourceModel53/SourceVrdFile53.vb diff --git a/Crowbar/Core/SourceModel/SourceModel53/SourceVtaFile53.vb b/Crowbar/Core/GameModel/SourceModel53/SourceVtaFile53.vb similarity index 100% rename from Crowbar/Core/SourceModel/SourceModel53/SourceVtaFile53.vb rename to Crowbar/Core/GameModel/SourceModel53/SourceVtaFile53.vb diff --git a/Crowbar/Core/SourcePackage/- Base/BasePackageDirectoryEntry.vb b/Crowbar/Core/GamePackage/- Base/BasePackageDirectoryEntry.vb similarity index 100% rename from Crowbar/Core/SourcePackage/- Base/BasePackageDirectoryEntry.vb rename to Crowbar/Core/GamePackage/- Base/BasePackageDirectoryEntry.vb diff --git a/Crowbar/Core/SourcePackage/- Base/BasePackageFile.vb b/Crowbar/Core/GamePackage/- Base/BasePackageFile.vb similarity index 100% rename from Crowbar/Core/SourcePackage/- Base/BasePackageFile.vb rename to Crowbar/Core/GamePackage/- Base/BasePackageFile.vb diff --git a/Crowbar/Core/SourcePackage/- Base/BasePackageFileData.vb b/Crowbar/Core/GamePackage/- Base/BasePackageFileData.vb similarity index 100% rename from Crowbar/Core/SourcePackage/- Base/BasePackageFileData.vb rename to Crowbar/Core/GamePackage/- Base/BasePackageFileData.vb diff --git a/Crowbar/Core/SourcePackage/GmaFormat/GmaDirectoryEntry.vb b/Crowbar/Core/GamePackage/GmaFile/GmaDirectoryEntry.vb similarity index 100% rename from Crowbar/Core/SourcePackage/GmaFormat/GmaDirectoryEntry.vb rename to Crowbar/Core/GamePackage/GmaFile/GmaDirectoryEntry.vb diff --git a/Crowbar/Core/SourcePackage/GmaFormat/GmaFile.vb b/Crowbar/Core/GamePackage/GmaFile/GmaFile.vb similarity index 100% rename from Crowbar/Core/SourcePackage/GmaFormat/GmaFile.vb rename to Crowbar/Core/GamePackage/GmaFile/GmaFile.vb diff --git a/Crowbar/Core/SourcePackage/GmaFormat/GmaFileData.vb b/Crowbar/Core/GamePackage/GmaFile/GmaFileData.vb similarity index 100% rename from Crowbar/Core/SourcePackage/GmaFormat/GmaFileData.vb rename to Crowbar/Core/GamePackage/GmaFile/GmaFileData.vb diff --git a/Crowbar/Core/SourcePackage/HfsFormat/HfsDirectoryEntry.vb b/Crowbar/Core/GamePackage/HfsFile/HfsDirectoryEntry.vb similarity index 100% rename from Crowbar/Core/SourcePackage/HfsFormat/HfsDirectoryEntry.vb rename to Crowbar/Core/GamePackage/HfsFile/HfsDirectoryEntry.vb diff --git a/Crowbar/Core/SourcePackage/HfsFormat/HfsFile.vb b/Crowbar/Core/GamePackage/HfsFile/HfsFile.vb similarity index 100% rename from Crowbar/Core/SourcePackage/HfsFormat/HfsFile.vb rename to Crowbar/Core/GamePackage/HfsFile/HfsFile.vb diff --git a/Crowbar/Core/SourcePackage/HfsFormat/HfsFileData.vb b/Crowbar/Core/GamePackage/HfsFile/HfsFileData.vb similarity index 100% rename from Crowbar/Core/SourcePackage/HfsFormat/HfsFileData.vb rename to Crowbar/Core/GamePackage/HfsFile/HfsFileData.vb diff --git a/Crowbar/Core/SourcePackage/HfsFormat/HfsMainDirectoryEntry.vb b/Crowbar/Core/GamePackage/HfsFile/HfsMainDirectoryEntry.vb similarity index 100% rename from Crowbar/Core/SourcePackage/HfsFormat/HfsMainDirectoryEntry.vb rename to Crowbar/Core/GamePackage/HfsFile/HfsMainDirectoryEntry.vb diff --git a/Crowbar/Core/SourcePackage/SourcePackageEventArgs.vb b/Crowbar/Core/GamePackage/SourcePackageEventArgs.vb similarity index 100% rename from Crowbar/Core/SourcePackage/SourcePackageEventArgs.vb rename to Crowbar/Core/GamePackage/SourcePackageEventArgs.vb diff --git a/Crowbar/Core/SourcePackage/VpkFormat/VpkDirectoryEntry.vb b/Crowbar/Core/GamePackage/VpkFile/VpkDirectoryEntry.vb similarity index 100% rename from Crowbar/Core/SourcePackage/VpkFormat/VpkDirectoryEntry.vb rename to Crowbar/Core/GamePackage/VpkFile/VpkDirectoryEntry.vb diff --git a/Crowbar/Core/SourcePackage/VpkFormat/VpkFile.vb b/Crowbar/Core/GamePackage/VpkFile/VpkFile.vb similarity index 100% rename from Crowbar/Core/SourcePackage/VpkFormat/VpkFile.vb rename to Crowbar/Core/GamePackage/VpkFile/VpkFile.vb diff --git a/Crowbar/Core/SourcePackage/VpkFormat/VpkFileData.vb b/Crowbar/Core/GamePackage/VpkFile/VpkFileData.vb similarity index 100% rename from Crowbar/Core/SourcePackage/VpkFormat/VpkFileData.vb rename to Crowbar/Core/GamePackage/VpkFile/VpkFileData.vb diff --git a/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/SourceAniFileData.vb b/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/SourceAniFileData.vb deleted file mode 100644 index ac53814..0000000 --- a/Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/SourceAniFileData.vb +++ /dev/null @@ -1,10 +0,0 @@ -Public Class SourceAniFileData - Inherits SourceMdlFileData - - 'NOTE: Ani file uses same header as Mdl file. - 'FROM: SourceEngine2006_source\public\write.cpp - 'pblockhdr = (studiohdr_t *)pBlockData; - 'pblockhdr->id = IDSTUDIOANIMGROUPHEADER; - 'pblockhdr->version = STUDIO_VERSION; - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel38/SourceAniFileData/SourceAniFileData38.vb b/Crowbar/Core/SourceModel/SourceModel38/SourceAniFileData/SourceAniFileData38.vb deleted file mode 100644 index 90e3ec3..0000000 --- a/Crowbar/Core/SourceModel/SourceModel38/SourceAniFileData/SourceAniFileData38.vb +++ /dev/null @@ -1,4 +0,0 @@ -Public Class SourceAniFileData38 - Inherits SourceAniFileData - -End Class diff --git a/Crowbar/Core/SourceModel/SourceModel38/SourceVvdFileData/SourceVvdFileData38.vb b/Crowbar/Core/SourceModel/SourceModel38/SourceVvdFileData/SourceVvdFileData38.vb deleted file mode 100644 index 24d568f..0000000 --- a/Crowbar/Core/SourceModel/SourceModel38/SourceVvdFileData/SourceVvdFileData38.vb +++ /dev/null @@ -1,4 +0,0 @@ -Public Class SourceVvdFileData38 - Inherits SourceVvdFileData04 - -End Class diff --git a/Crowbar/Crowbar.vbproj b/Crowbar/Crowbar.vbproj index 3487e03..359f1f5 100644 --- a/Crowbar/Crowbar.vbproj +++ b/Crowbar/Crowbar.vbproj @@ -146,27 +146,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + Component @@ -175,328 +175,326 @@ Component - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -522,59 +520,58 @@ Component - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AgreementRequiresAcceptanceForm.vb @@ -736,37 +733,37 @@ Settings.settings True - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + UnhandledExceptionWindow.vb @@ -959,7 +956,9 @@ - + + +