├── .gitignore ├── Crowbar.sln ├── Crowbar ├── - Documents │ ├── Development.txt │ ├── History 2013.txt │ ├── History 2014.txt │ ├── License.txt │ └── Specifications.txt ├── Core │ ├── - Application │ │ ├── App.vb │ │ ├── AppConstants.vb │ │ ├── AppEnums.vb │ │ ├── AppExceptionHandler.vb │ │ ├── AppSettings.vb │ │ ├── Main.vb │ │ ├── SingleInstanceApplication.vb │ │ ├── SingleInstanceEventArgs.vb │ │ └── VersionModule.vb │ ├── - General │ │ ├── BackgroundWorkerEx.vb │ │ ├── BindingListEx.vb │ │ ├── BindingListExAutoSort.vb │ │ ├── Bitmap │ │ │ ├── BitmapFile.vb │ │ │ ├── BitmapFileHeader.vb │ │ │ ├── BitmapInfoHeader.vb │ │ │ └── BitmapRgbQuad.vb │ │ ├── DuplicateKeyComparer.vb │ │ ├── EnumHelper.vb │ │ ├── FileManager.vb │ │ ├── GenericsModule.vb │ │ ├── IntermediateExpression.vb │ │ ├── MathModule.vb │ │ ├── PropertyComparer.vb │ │ ├── StringClass.vb │ │ ├── Win32Api.vb │ │ └── WindowsJob.vb │ ├── Compiler │ │ ├── Compiler.vb │ │ ├── CompilerInputInfo.vb │ │ ├── CompilerOutputInfo.vb │ │ ├── ParseMeshSmdInfo.vb │ │ └── ParseSMD.vb │ ├── Debug │ │ ├── AppDebug1File.vb │ │ ├── AppDebug2File.vb │ │ ├── AppDebug3File.vb │ │ ├── DebugFormatModule.vb │ │ ├── FileSeekLog.vb │ │ └── UnknownValue.vb │ ├── DebugLog │ │ ├── AccessedBytesDebugFile.vb │ │ ├── DebugFormatModule.vb │ │ ├── FileSeekLog.vb │ │ └── UnknownValue.vb │ ├── Decompiler │ │ ├── Decompiler.vb │ │ ├── DecompilerInputInfo.vb │ │ └── DecompilerOutputInfo.vb │ ├── GameApp │ │ ├── GameApp.vb │ │ └── GameAppInfo.vb │ ├── GameModel │ │ ├── - Base │ │ │ ├── Common.vb │ │ │ ├── SourceFileData.vb │ │ │ ├── SourceFileNamesModule.vb │ │ │ ├── SourceMdlAnimationDescBase.vb │ │ │ ├── SourceMdlFile.vb │ │ │ ├── SourceMdlFileDataBase.vb │ │ │ ├── SourceMdlSequenceDescBase.vb │ │ │ ├── SourceModel.vb │ │ │ ├── SourceModelProgressEventArgs.vb │ │ │ ├── SourceModelProgressEventHandler.vb │ │ │ └── SourceQcFile.vb │ │ ├── CompiledFiles │ │ │ ├── AniFile │ │ │ │ ├── AniFile44 │ │ │ │ │ └── SourceAniFile44.vb │ │ │ │ └── AniFile49 │ │ │ │ │ ├── BoneConstantInfo49.vb │ │ │ │ │ ├── BoneFrameDataInfo49.vb │ │ │ │ │ ├── SourceAniFile49.vb │ │ │ │ │ └── SourceAniFrameAnim49.vb │ │ │ ├── PhyFile │ │ │ │ ├── SourcePhyCollisionData.vb │ │ │ │ ├── SourcePhyCollisionPair.vb │ │ │ │ ├── SourcePhyEditParamsSection.vb │ │ │ │ ├── SourcePhyFace.vb │ │ │ │ ├── SourcePhyFaceSection.vb │ │ │ │ ├── SourcePhyFile.vb │ │ │ │ ├── SourcePhyFileData.vb │ │ │ │ ├── SourcePhyRagdollConstraint.vb │ │ │ │ ├── SourcePhyVertex.vb │ │ │ │ └── SourcePhysCollisionModel.vb │ │ │ ├── VtxFile │ │ │ │ ├── VtxFile06 │ │ │ │ │ ├── SourceVtxBodyPart06.vb │ │ │ │ │ ├── SourceVtxBoneStateChange06.vb │ │ │ │ │ ├── SourceVtxFile06.vb │ │ │ │ │ ├── SourceVtxFileData06.vb │ │ │ │ │ ├── SourceVtxMaterialReplacement06.vb │ │ │ │ │ ├── SourceVtxMaterialReplacementList06.vb │ │ │ │ │ ├── SourceVtxMesh06.vb │ │ │ │ │ ├── SourceVtxModel06.vb │ │ │ │ │ ├── SourceVtxModelLod06.vb │ │ │ │ │ ├── SourceVtxStrip06.vb │ │ │ │ │ ├── SourceVtxStripGroup06.vb │ │ │ │ │ └── SourceVtxVertex06.vb │ │ │ │ ├── VtxFile07 │ │ │ │ │ ├── SourceVtxBodyPart07.vb │ │ │ │ │ ├── SourceVtxBoneStateChange07.vb │ │ │ │ │ ├── SourceVtxFile07.vb │ │ │ │ │ ├── SourceVtxFileData07.vb │ │ │ │ │ ├── SourceVtxMaterialReplacement07.vb │ │ │ │ │ ├── SourceVtxMaterialReplacementList07.vb │ │ │ │ │ ├── SourceVtxMesh07.vb │ │ │ │ │ ├── SourceVtxModel07.vb │ │ │ │ │ ├── SourceVtxModelLod07.vb │ │ │ │ │ ├── SourceVtxStrip07.vb │ │ │ │ │ ├── SourceVtxStripGroup07.vb │ │ │ │ │ └── SourceVtxVertex07.vb │ │ │ │ └── VtxFile107 │ │ │ │ │ ├── SourceVtxBodyPart107.vb │ │ │ │ │ ├── SourceVtxBoneStateChange107.vb │ │ │ │ │ ├── SourceVtxFile107.vb │ │ │ │ │ ├── SourceVtxFileData107.vb │ │ │ │ │ ├── SourceVtxMesh107.vb │ │ │ │ │ ├── SourceVtxModel107.vb │ │ │ │ │ ├── SourceVtxModelLod107.vb │ │ │ │ │ ├── SourceVtxStrip107.vb │ │ │ │ │ ├── SourceVtxStripGroup107.vb │ │ │ │ │ └── SourceVtxVertex107.vb │ │ │ └── VvdFile │ │ │ │ └── VvdFile04 │ │ │ │ ├── SourceVvdFile04.vb │ │ │ │ ├── SourceVvdFileData04.vb │ │ │ │ └── SourceVvdFixup04.vb │ │ ├── SourceCommon │ │ │ └── SourceMdlFileData │ │ │ │ ├── AnimationFrameLine.vb │ │ │ │ ├── FlexFrame.vb │ │ │ │ ├── LodQcInfo.vb │ │ │ │ ├── SourceMdlActivityModifier.vb │ │ │ │ ├── SourceMdlAimAtBone.vb │ │ │ │ ├── SourceMdlAnimBlock.vb │ │ │ │ ├── SourceMdlAnimation.vb │ │ │ │ ├── SourceMdlAnimationDesc.vb │ │ │ │ ├── SourceMdlAnimationSection.vb │ │ │ │ ├── SourceMdlAnimationValue.vb │ │ │ │ ├── SourceMdlAnimationValuePointer.vb │ │ │ │ ├── SourceMdlAttachment.vb │ │ │ │ ├── SourceMdlAutoLayer.vb │ │ │ │ ├── SourceMdlAxisInterpBone.vb │ │ │ │ ├── SourceMdlBodyPart.vb │ │ │ │ ├── SourceMdlBone.vb │ │ │ │ ├── SourceMdlBoneController.vb │ │ │ │ ├── SourceMdlBoneTransform.vb │ │ │ │ ├── SourceMdlCompressedIkError.vb │ │ │ │ ├── SourceMdlEvent.vb │ │ │ │ ├── SourceMdlEyeball.vb │ │ │ │ ├── SourceMdlFileData.vb │ │ │ │ ├── SourceMdlFlex.vb │ │ │ │ ├── SourceMdlFlexController.vb │ │ │ │ ├── SourceMdlFlexControllerUi.vb │ │ │ │ ├── SourceMdlFlexDesc.vb │ │ │ │ ├── SourceMdlFlexOp.vb │ │ │ │ ├── SourceMdlFlexRule.vb │ │ │ │ ├── SourceMdlHitbox.vb │ │ │ │ ├── SourceMdlHitboxSet.vb │ │ │ │ ├── SourceMdlIkChain.vb │ │ │ │ ├── SourceMdlIkLink.vb │ │ │ │ ├── SourceMdlIkLock.vb │ │ │ │ ├── SourceMdlIkRule.vb │ │ │ │ ├── SourceMdlJiggleBone.vb │ │ │ │ ├── SourceMdlLinearBone.vb │ │ │ │ ├── SourceMdlLocalHierarchy.vb │ │ │ │ ├── SourceMdlMesh.vb │ │ │ │ ├── SourceMdlMeshVertexData.vb │ │ │ │ ├── SourceMdlModel.vb │ │ │ │ ├── SourceMdlModelGroup.vb │ │ │ │ ├── SourceMdlModelVertexData.vb │ │ │ │ ├── SourceMdlMouth.vb │ │ │ │ ├── SourceMdlMovement.vb │ │ │ │ ├── SourceMdlPoseParamDesc.vb │ │ │ │ ├── SourceMdlQuatInterpBone.vb │ │ │ │ ├── SourceMdlQuatInterpBoneInfo.vb │ │ │ │ ├── SourceMdlSequenceDesc.vb │ │ │ │ ├── SourceMdlSkinFamily.vb │ │ │ │ ├── SourceMdlTexture.vb │ │ │ │ ├── SourceMdlVertAnim.vb │ │ │ │ ├── SourceMdlVertAnimWrinkle.vb │ │ │ │ └── SourceMdlWeightList.vb │ │ ├── SourceGlobal │ │ │ ├── SourceBoneWeight.vb │ │ │ ├── SourceConstants.vb │ │ │ ├── SourceFloat16bits.vb │ │ │ ├── SourceFloat8bits.vb │ │ │ ├── SourceQuaternion.vb │ │ │ ├── SourceQuaternion48bits.vb │ │ │ ├── SourceQuaternion48bitsAssumedW.vb │ │ │ ├── SourceQuaternion48bitsSmallest3.vb │ │ │ ├── SourceQuaternion48bitsViaBytes.vb │ │ │ ├── SourceQuaternion64bits.vb │ │ │ ├── SourceVector.vb │ │ │ ├── SourceVector48bits.vb │ │ │ ├── SourceVector4D.vb │ │ │ └── SourceVertex.vb │ │ ├── SourceModel04 │ │ │ ├── SourceMdlFile04.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlBodyPart04.vb │ │ │ │ ├── SourceMdlBone04.vb │ │ │ │ ├── SourceMdlFace04.vb │ │ │ │ ├── SourceMdlFaceVertexInfo04.vb │ │ │ │ ├── SourceMdlFileData04.vb │ │ │ │ ├── SourceMdlMesh04.vb │ │ │ │ ├── SourceMdlModel04.vb │ │ │ │ ├── SourceMdlNormal04.vb │ │ │ │ ├── SourceMdlSequence04.vb │ │ │ │ ├── SourceMdlSequenceDesc04.vb │ │ │ │ ├── SourceMdlSequenceValue04.vb │ │ │ │ └── SourceMdlVertex04.vb │ │ │ ├── SourceModel04.vb │ │ │ └── SourceSmdFile04.vb │ │ ├── SourceModel06 │ │ │ ├── SourceMdlFile06.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceBonePostionAndRotation06.vb │ │ │ │ ├── SourceBoneTransform06.vb │ │ │ │ ├── SourceMdlAnimation06.vb │ │ │ │ ├── SourceMdlBodyPart06.vb │ │ │ │ ├── SourceMdlBone06.vb │ │ │ │ ├── SourceMdlBoneController06.vb │ │ │ │ ├── SourceMdlBonePosition06.vb │ │ │ │ ├── SourceMdlBoneRotation06.vb │ │ │ │ ├── SourceMdlEvent06.vb │ │ │ │ ├── SourceMdlFileData06.vb │ │ │ │ ├── SourceMdlMesh06.vb │ │ │ │ ├── SourceMdlModel06.vb │ │ │ │ ├── SourceMdlModelData06.vb │ │ │ │ ├── SourceMdlPivot06.vb │ │ │ │ ├── SourceMdlSequenceDesc06.vb │ │ │ │ ├── SourceMdlTexture06.vb │ │ │ │ └── SourceMdlTriangleVertex06.vb │ │ │ ├── SourceModel06.vb │ │ │ ├── SourceModule06.vb │ │ │ ├── SourceQcFile06.vb │ │ │ └── SourceSmdFile06.vb │ │ ├── SourceModel10 │ │ │ ├── SourceMdlFile10.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceBoneTransform10.vb │ │ │ │ ├── SourceMdlAnimation10.vb │ │ │ │ ├── SourceMdlAnimationValue10.vb │ │ │ │ ├── SourceMdlAttachment10.vb │ │ │ │ ├── SourceMdlBodyPart10.vb │ │ │ │ ├── SourceMdlBone10.vb │ │ │ │ ├── SourceMdlBoneController10.vb │ │ │ │ ├── SourceMdlEvent10.vb │ │ │ │ ├── SourceMdlFileData10.vb │ │ │ │ ├── SourceMdlHitbox10.vb │ │ │ │ ├── SourceMdlMesh10.vb │ │ │ │ ├── SourceMdlModel10.vb │ │ │ │ ├── SourceMdlPivot10.vb │ │ │ │ ├── SourceMdlSequenceDesc10.vb │ │ │ │ ├── SourceMdlSequenceGroup10.vb │ │ │ │ ├── SourceMdlSequenceGroupFileHeader10.vb │ │ │ │ ├── SourceMdlTexture10.vb │ │ │ │ ├── SourceMdlVertexInfo10.vb │ │ │ │ └── SourceMeshTriangleStripOrFan10.vb │ │ │ ├── SourceModel10.vb │ │ │ ├── SourceModule10.vb │ │ │ ├── SourceQcFile10.vb │ │ │ └── SourceSmdFile10.vb │ │ ├── SourceModel14 │ │ │ ├── SourceMdlFile14.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlBodyPart14.vb │ │ │ │ ├── SourceMdlFileData14.vb │ │ │ │ ├── SourceMdlMesh14.vb │ │ │ │ ├── SourceMdlModel14.vb │ │ │ │ ├── SourceMdlTexture14.vb │ │ │ │ ├── SourceMdlWeighting14.vb │ │ │ │ ├── SourceMdlWeightingBoneData14.vb │ │ │ │ └── SourceMdlWeightingHeader14.vb │ │ │ ├── SourceModel14.vb │ │ │ ├── SourceQcFile14.vb │ │ │ └── SourceSmdFile14.vb │ │ ├── SourceModel2531 │ │ │ ├── SourceMdlFile2531.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── FlexFrame2531.vb │ │ │ │ ├── SourceMdlAnimation2531.vb │ │ │ │ ├── SourceMdlAnimationDesc2531.vb │ │ │ │ ├── SourceMdlAnimationValue2531.vb │ │ │ │ ├── SourceMdlAttachment2531.vb │ │ │ │ ├── SourceMdlAxisInterpBone2531.vb │ │ │ │ ├── SourceMdlBodyPart2531.vb │ │ │ │ ├── SourceMdlBone2531.vb │ │ │ │ ├── SourceMdlBoneController2531.vb │ │ │ │ ├── SourceMdlEyeball2531.vb │ │ │ │ ├── SourceMdlFileData2531.vb │ │ │ │ ├── SourceMdlFlex2531.vb │ │ │ │ ├── SourceMdlHitbox2531.vb │ │ │ │ ├── SourceMdlHitboxSet2531.vb │ │ │ │ ├── SourceMdlIncludeModel2531.vb │ │ │ │ ├── SourceMdlMesh2531.vb │ │ │ │ ├── SourceMdlModel2531.vb │ │ │ │ ├── SourceMdlPoseParamDesc2531.vb │ │ │ │ ├── SourceMdlQuatInterpBone2531.vb │ │ │ │ ├── SourceMdlQuatInterpInfo2531.vb │ │ │ │ ├── SourceMdlSequenceDesc2531.vb │ │ │ │ ├── SourceMdlSequenceGroup2531.vb │ │ │ │ ├── SourceMdlTangent2531.vb │ │ │ │ ├── SourceMdlTexture2531.vb │ │ │ │ ├── SourceMdlType0Vertex2531.vb │ │ │ │ ├── SourceMdlType1Vertex2531.vb │ │ │ │ ├── SourceMdlType2Vertex2531.vb │ │ │ │ └── SourceMdlVertAnim2531.vb │ │ │ ├── SourceModel2531.vb │ │ │ ├── SourceModule2531.vb │ │ │ ├── SourceQcFile2531.vb │ │ │ ├── SourceSmdFile2531.vb │ │ │ └── SourceVtaFile2531.vb │ │ ├── SourceModel31 │ │ │ ├── SourceMdlFile31.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimGroup31.vb │ │ │ │ ├── SourceMdlAnimation31.vb │ │ │ │ ├── SourceMdlAnimationDesc31.vb │ │ │ │ ├── SourceMdlBodyPart31.vb │ │ │ │ ├── SourceMdlBone31.vb │ │ │ │ ├── SourceMdlBoneWeight31.vb │ │ │ │ ├── SourceMdlFileData31.vb │ │ │ │ ├── SourceMdlHitbox31.vb │ │ │ │ ├── SourceMdlHitboxSet31.vb │ │ │ │ ├── SourceMdlMesh31.vb │ │ │ │ ├── SourceMdlModel31.vb │ │ │ │ ├── SourceMdlSequenceDesc31.vb │ │ │ │ ├── SourceMdlSequenceGroup31.vb │ │ │ │ ├── SourceMdlTexture31.vb │ │ │ │ └── SourceMdlVertex31.vb │ │ │ ├── SourceModel31.vb │ │ │ ├── SourceModule31.vb │ │ │ ├── SourceQcFile31.vb │ │ │ └── SourceSmdFile31.vb │ │ ├── SourceModel32 │ │ │ ├── SourceMdlFile32.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc32.vb │ │ │ │ ├── SourceMdlBoneController32.vb │ │ │ │ ├── SourceMdlFileData32.vb │ │ │ │ ├── SourceMdlHitbox32.vb │ │ │ │ ├── SourceMdlHitboxSet32.vb │ │ │ │ └── SourceMdlSequenceDesc32.vb │ │ │ ├── SourceModel32.vb │ │ │ ├── SourceQcFile32.vb │ │ │ └── SourceSmdFile32.vb │ │ ├── SourceModel36 │ │ │ ├── SourceMdlFile36.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc36.vb │ │ │ │ ├── SourceMdlFileData36.vb │ │ │ │ └── SourceMdlSequenceDesc36.vb │ │ │ ├── SourceModel36.vb │ │ │ ├── SourceQcFile36.vb │ │ │ └── SourceSmdFile36.vb │ │ ├── SourceModel37 │ │ │ ├── SourceMdlFile37.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── FlexFrame37.vb │ │ │ │ ├── SourceMdlAnimGroup37.vb │ │ │ │ ├── SourceMdlAnimation37.vb │ │ │ │ ├── SourceMdlAnimationDesc37.vb │ │ │ │ ├── SourceMdlAttachment37.vb │ │ │ │ ├── SourceMdlAutoLayer37.vb │ │ │ │ ├── SourceMdlBodyPart37.vb │ │ │ │ ├── SourceMdlBone37.vb │ │ │ │ ├── SourceMdlBoneController37.vb │ │ │ │ ├── SourceMdlBoneDesc37.vb │ │ │ │ ├── SourceMdlBoneWeight37.vb │ │ │ │ ├── SourceMdlEvent37.vb │ │ │ │ ├── SourceMdlEyeball37.vb │ │ │ │ ├── SourceMdlFileData37.vb │ │ │ │ ├── SourceMdlFlex37.vb │ │ │ │ ├── SourceMdlHitbox37.vb │ │ │ │ ├── SourceMdlHitboxSet37.vb │ │ │ │ ├── SourceMdlIkChain37.vb │ │ │ │ ├── SourceMdlIkError37.vb │ │ │ │ ├── SourceMdlIkLink37.vb │ │ │ │ ├── SourceMdlIkLock37.vb │ │ │ │ ├── SourceMdlIkRule37.vb │ │ │ │ ├── SourceMdlMesh37.vb │ │ │ │ ├── SourceMdlModel37.vb │ │ │ │ ├── SourceMdlSequenceDesc37.vb │ │ │ │ ├── SourceMdlSequenceGroup37.vb │ │ │ │ ├── SourceMdlTexture37.vb │ │ │ │ ├── SourceMdlVertAnim37.vb │ │ │ │ └── SourceMdlVertex37.vb │ │ │ ├── SourceModel37.vb │ │ │ ├── SourceQcFile37.vb │ │ │ ├── SourceSmdFile37.vb │ │ │ ├── SourceVrdFile37.vb │ │ │ └── SourceVtaFile37.vb │ │ ├── SourceModel44 │ │ │ ├── SourceMdlFile44.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc44.vb │ │ │ │ └── SourceMdlFileData44.vb │ │ │ ├── SourceModel44.vb │ │ │ ├── SourceQcFile44.vb │ │ │ ├── SourceSmdFile44.vb │ │ │ ├── SourceVrdFile44.vb │ │ │ └── SourceVtaFile44.vb │ │ ├── SourceModel48 │ │ │ ├── SourceAniFile48.vb │ │ │ ├── SourceMdlFile48.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc48.vb │ │ │ │ └── SourceMdlFileData48.vb │ │ │ ├── SourceModel48.vb │ │ │ ├── SourceQcFile48.vb │ │ │ ├── SourceSmdFile48.vb │ │ │ ├── SourceVrdFile48.vb │ │ │ └── SourceVtaFile48.vb │ │ ├── SourceModel49 │ │ │ ├── SourceMdlFile49.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc49.vb │ │ │ │ └── SourceMdlFileData49.vb │ │ │ ├── SourceModel49.vb │ │ │ ├── SourceQcFile49.vb │ │ │ ├── SourceSmdFile49.vb │ │ │ ├── SourceVrdFile49.vb │ │ │ └── SourceVtaFile49.vb │ │ ├── SourceModel52 │ │ │ ├── SourceAniFile52.vb │ │ │ ├── SourceAniFileData │ │ │ │ └── SourceAniFrameAnim52.vb │ │ │ ├── SourceMdlFile52.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc52.vb │ │ │ │ └── SourceMdlFileData52.vb │ │ │ ├── SourceModel52.vb │ │ │ ├── SourceQcFile52.vb │ │ │ ├── SourceSmdFile52.vb │ │ │ ├── SourceVrdFile52.vb │ │ │ └── SourceVtaFile52.vb │ │ └── SourceModel53 │ │ │ ├── SourceMdlFile53.vb │ │ │ ├── SourceMdlFileData │ │ │ └── SourceMdlFileData53.vb │ │ │ ├── SourceModel53.vb │ │ │ ├── SourceQcFile53.vb │ │ │ ├── SourceSmdFile53.vb │ │ │ ├── SourceVrdFile53.vb │ │ │ └── SourceVtaFile53.vb │ ├── GamePackage │ │ ├── - Base │ │ │ ├── BasePackageDirectoryEntry.vb │ │ │ ├── BasePackageFile.vb │ │ │ └── BasePackageFileData.vb │ │ ├── ApkFile │ │ │ ├── ApkDirectoryEntry.vb │ │ │ ├── ApkFile.vb │ │ │ └── ApkFileData.vb │ │ ├── GmaFile │ │ │ ├── GmaDirectoryEntry.vb │ │ │ ├── GmaFile.vb │ │ │ └── GmaFileData.vb │ │ ├── HfsFile │ │ │ ├── HfsDirectoryEntry.vb │ │ │ ├── HfsFile.vb │ │ │ ├── HfsFileData.vb │ │ │ └── HfsMainDirectoryEntry.vb │ │ ├── SourcePackageEventArgs.vb │ │ └── VpkFile │ │ │ ├── VpkDirectoryEntry.vb │ │ │ ├── VpkFile.vb │ │ │ └── VpkFileData.vb │ ├── GameSetup │ │ ├── GameInfoTxtFile.vb │ │ ├── GameSetup.vb │ │ └── SteamLibraryPath.vb │ ├── MappingTool │ │ ├── MappingTool.vb │ │ └── MappingToolInfo.vb │ ├── Packer │ │ ├── Packer.vb │ │ ├── PackerInputInfo.vb │ │ └── PackerOutputInfo.vb │ ├── SourceModel │ │ ├── - Base │ │ │ ├── Common.vb │ │ │ ├── SourceFileData.vb │ │ │ ├── SourceFileNamesModule.vb │ │ │ ├── SourceMdlAnimationDescBase.vb │ │ │ ├── SourceMdlFile.vb │ │ │ ├── SourceMdlFileDataBase.vb │ │ │ ├── SourceMdlSequenceDescBase.vb │ │ │ ├── SourceModel.vb │ │ │ ├── SourceModelProgressEventArgs.vb │ │ │ ├── SourceModelProgressEventHandler.vb │ │ │ └── SourceQcFile.vb │ │ ├── - Debug │ │ │ └── AccessedBytesDebugFile.vb │ │ ├── SourceCommon │ │ │ ├── SourceAniFileData │ │ │ │ ├── BoneConstantInfo.vb │ │ │ │ ├── BoneFrameDataInfo.vb │ │ │ │ ├── SourceAniFileData.vb │ │ │ │ └── SourceAniFrameAnim.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── AnimationFrameLine.vb │ │ │ │ ├── FlexFrame.vb │ │ │ │ ├── LodQcInfo.vb │ │ │ │ ├── SourceMdlActivityModifier.vb │ │ │ │ ├── SourceMdlAnimBlock.vb │ │ │ │ ├── SourceMdlAnimation.vb │ │ │ │ ├── SourceMdlAnimationDesc.vb │ │ │ │ ├── SourceMdlAnimationSection.vb │ │ │ │ ├── SourceMdlAnimationValue.vb │ │ │ │ ├── SourceMdlAnimationValuePointer.vb │ │ │ │ ├── SourceMdlAttachment.vb │ │ │ │ ├── SourceMdlAutoLayer.vb │ │ │ │ ├── SourceMdlAxisInterpBone.vb │ │ │ │ ├── SourceMdlBodyPart.vb │ │ │ │ ├── SourceMdlBone.vb │ │ │ │ ├── SourceMdlBoneController.vb │ │ │ │ ├── SourceMdlBoneTransform.vb │ │ │ │ ├── SourceMdlCompressedIkError.vb │ │ │ │ ├── SourceMdlEvent.vb │ │ │ │ ├── SourceMdlEyeball.vb │ │ │ │ ├── SourceMdlFileData.vb │ │ │ │ ├── SourceMdlFlex.vb │ │ │ │ ├── SourceMdlFlexController.vb │ │ │ │ ├── SourceMdlFlexControllerUi.vb │ │ │ │ ├── SourceMdlFlexDesc.vb │ │ │ │ ├── SourceMdlFlexOp.vb │ │ │ │ ├── SourceMdlFlexRule.vb │ │ │ │ ├── SourceMdlHitbox.vb │ │ │ │ ├── SourceMdlHitboxSet.vb │ │ │ │ ├── SourceMdlIkChain.vb │ │ │ │ ├── SourceMdlIkLink.vb │ │ │ │ ├── SourceMdlIkLock.vb │ │ │ │ ├── SourceMdlIkRule.vb │ │ │ │ ├── SourceMdlJiggleBone.vb │ │ │ │ ├── SourceMdlLinearBone.vb │ │ │ │ ├── SourceMdlLocalHierarchy.vb │ │ │ │ ├── SourceMdlMesh.vb │ │ │ │ ├── SourceMdlMeshVertexData.vb │ │ │ │ ├── SourceMdlModel.vb │ │ │ │ ├── SourceMdlModelGroup.vb │ │ │ │ ├── SourceMdlModelVertexData.vb │ │ │ │ ├── SourceMdlMouth.vb │ │ │ │ ├── SourceMdlMovement.vb │ │ │ │ ├── SourceMdlPoseParamDesc.vb │ │ │ │ ├── SourceMdlQuatInterpBone.vb │ │ │ │ ├── SourceMdlQuatInterpBoneInfo.vb │ │ │ │ ├── SourceMdlSequenceDesc.vb │ │ │ │ ├── SourceMdlSkinFamily.vb │ │ │ │ ├── SourceMdlTexture.vb │ │ │ │ ├── SourceMdlVertAnim.vb │ │ │ │ ├── SourceMdlVertAnimWrinkle.vb │ │ │ │ └── SourceMdlWeightList.vb │ │ │ ├── SourceVtxFileData │ │ │ │ ├── SourceVtxBodyPart.vb │ │ │ │ ├── SourceVtxBoneStateChange.vb │ │ │ │ ├── SourceVtxFileData.vb │ │ │ │ ├── SourceVtxMaterialReplacement.vb │ │ │ │ ├── SourceVtxMaterialReplacementList.vb │ │ │ │ ├── SourceVtxMesh.vb │ │ │ │ ├── SourceVtxModel.vb │ │ │ │ ├── SourceVtxModelLod.vb │ │ │ │ ├── SourceVtxStrip.vb │ │ │ │ ├── SourceVtxStripGroup.vb │ │ │ │ └── SourceVtxVertex.vb │ │ │ └── SourceVvdFileData │ │ │ │ ├── SourceVvdFileData.vb │ │ │ │ └── SourceVvdFixup.vb │ │ ├── SourceGlobal │ │ │ ├── SourceBoneWeight.vb │ │ │ ├── SourceConstants.vb │ │ │ ├── SourceFloat16bits.vb │ │ │ ├── SourceFloat8bits.vb │ │ │ ├── SourceQuaternion.vb │ │ │ ├── SourceQuaternion48bits.vb │ │ │ ├── SourceQuaternion48bitsAssumedW.vb │ │ │ ├── SourceQuaternion48bitsSmallest3.vb │ │ │ ├── SourceQuaternion48bitsViaBytes.vb │ │ │ ├── SourceQuaternion64bits.vb │ │ │ ├── SourceVector.vb │ │ │ ├── SourceVector48bits.vb │ │ │ ├── SourceVector4D.vb │ │ │ ├── SourceVectorSingle.vb │ │ │ └── SourceVertex.vb │ │ ├── SourceModel04 │ │ │ ├── SourceMdlFile04.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlBodyPart04.vb │ │ │ │ ├── SourceMdlBone04.vb │ │ │ │ ├── SourceMdlFace04.vb │ │ │ │ ├── SourceMdlFaceVertexInfo04.vb │ │ │ │ ├── SourceMdlFileData04.vb │ │ │ │ ├── SourceMdlMesh04.vb │ │ │ │ ├── SourceMdlModel04.vb │ │ │ │ ├── SourceMdlNormal04.vb │ │ │ │ ├── SourceMdlSequence04.vb │ │ │ │ ├── SourceMdlSequenceDesc04.vb │ │ │ │ ├── SourceMdlSequenceValue04.vb │ │ │ │ └── SourceMdlVertex04.vb │ │ │ ├── SourceModel04.vb │ │ │ └── SourceSmdFile04.vb │ │ ├── SourceModel06 │ │ │ ├── SourceMdlFile06.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceBonePostionAndRotation06.vb │ │ │ │ ├── SourceBoneTransform06.vb │ │ │ │ ├── SourceMdlAnimation06.vb │ │ │ │ ├── SourceMdlBodyPart06.vb │ │ │ │ ├── SourceMdlBone06.vb │ │ │ │ ├── SourceMdlBoneController06.vb │ │ │ │ ├── SourceMdlBonePosition06.vb │ │ │ │ ├── SourceMdlBoneRotation06.vb │ │ │ │ ├── SourceMdlEvent06.vb │ │ │ │ ├── SourceMdlFileData06.vb │ │ │ │ ├── SourceMdlMesh06.vb │ │ │ │ ├── SourceMdlModel06.vb │ │ │ │ ├── SourceMdlModelData06.vb │ │ │ │ ├── SourceMdlPivot06.vb │ │ │ │ ├── SourceMdlSequenceDesc06.vb │ │ │ │ ├── SourceMdlTexture06.vb │ │ │ │ └── SourceMdlTriangleVertex06.vb │ │ │ ├── SourceModel06.vb │ │ │ ├── SourceModule06.vb │ │ │ ├── SourceQcFile06.vb │ │ │ └── SourceSmdFile06.vb │ │ ├── SourceModel10 │ │ │ ├── SourceMdlFile10.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceBoneTransform10.vb │ │ │ │ ├── SourceBoneTransform10Single.vb │ │ │ │ ├── SourceMdlAnimation10.vb │ │ │ │ ├── SourceMdlAnimationValue10.vb │ │ │ │ ├── SourceMdlAttachment10.vb │ │ │ │ ├── SourceMdlBodyPart10.vb │ │ │ │ ├── SourceMdlBone10.vb │ │ │ │ ├── SourceMdlBone10Single.vb │ │ │ │ ├── SourceMdlBoneController10.vb │ │ │ │ ├── SourceMdlEvent10.vb │ │ │ │ ├── SourceMdlFileData10.vb │ │ │ │ ├── SourceMdlHitbox10.vb │ │ │ │ ├── SourceMdlMesh10.vb │ │ │ │ ├── SourceMdlModel10.vb │ │ │ │ ├── SourceMdlPivot10.vb │ │ │ │ ├── SourceMdlSequenceDesc10.vb │ │ │ │ ├── SourceMdlSequenceGroup10.vb │ │ │ │ ├── SourceMdlSequenceGroupFileHeader10.vb │ │ │ │ ├── SourceMdlTexture10.vb │ │ │ │ ├── SourceMdlVertexInfo10.vb │ │ │ │ └── SourceMeshTriangleStripOrFan10.vb │ │ │ ├── SourceModel10.vb │ │ │ ├── SourceModule10.vb │ │ │ ├── SourceQcFile10.vb │ │ │ └── SourceSmdFile10.vb │ │ ├── SourceModel14 │ │ │ ├── SourceMdlFile14.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlBodyPart14.vb │ │ │ │ ├── SourceMdlFileData14.vb │ │ │ │ ├── SourceMdlMesh14.vb │ │ │ │ ├── SourceMdlModel14.vb │ │ │ │ ├── SourceMdlTexture14.vb │ │ │ │ ├── SourceMdlWeighting14.vb │ │ │ │ ├── SourceMdlWeightingBoneData14.vb │ │ │ │ └── SourceMdlWeightingHeader14.vb │ │ │ ├── SourceModel14.vb │ │ │ ├── SourceQcFile14.vb │ │ │ └── SourceSmdFile14.vb │ │ ├── SourceModel2531 │ │ │ ├── SourceMdlFile2531.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── FlexFrame2531.vb │ │ │ │ ├── SourceMdlAnimation2531.vb │ │ │ │ ├── SourceMdlAnimationDesc2531.vb │ │ │ │ ├── SourceMdlAnimationValue2531.vb │ │ │ │ ├── SourceMdlAttachment2531.vb │ │ │ │ ├── SourceMdlAxisInterpBone2531.vb │ │ │ │ ├── SourceMdlBodyPart2531.vb │ │ │ │ ├── SourceMdlBone2531.vb │ │ │ │ ├── SourceMdlBoneController2531.vb │ │ │ │ ├── SourceMdlEyeball2531.vb │ │ │ │ ├── SourceMdlFileData2531.vb │ │ │ │ ├── SourceMdlFlex2531.vb │ │ │ │ ├── SourceMdlHitbox2531.vb │ │ │ │ ├── SourceMdlHitboxSet2531.vb │ │ │ │ ├── SourceMdlIncludeModel2531.vb │ │ │ │ ├── SourceMdlMesh2531.vb │ │ │ │ ├── SourceMdlModel2531.vb │ │ │ │ ├── SourceMdlPoseParamDesc2531.vb │ │ │ │ ├── SourceMdlQuatInterpBone2531.vb │ │ │ │ ├── SourceMdlQuatInterpInfo2531.vb │ │ │ │ ├── SourceMdlSequenceDesc2531.vb │ │ │ │ ├── SourceMdlSequenceGroup2531.vb │ │ │ │ ├── SourceMdlTangent2531.vb │ │ │ │ ├── SourceMdlTexture2531.vb │ │ │ │ ├── SourceMdlType0Vertex2531.vb │ │ │ │ ├── SourceMdlType1Vertex2531.vb │ │ │ │ ├── SourceMdlType2Vertex2531.vb │ │ │ │ └── SourceMdlVertAnim2531.vb │ │ │ ├── SourceModel2531.vb │ │ │ ├── SourceModule2531.vb │ │ │ ├── SourcePhyFile2531.vb │ │ │ ├── SourceQcFile2531.vb │ │ │ ├── SourceSmdFile2531.vb │ │ │ └── SourceVtaFile2531.vb │ │ ├── SourceModel27 │ │ │ ├── SourceMdlFile27.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlBodyPart27.vb │ │ │ │ ├── SourceMdlBoneWeight27.vb │ │ │ │ ├── SourceMdlFileData27.vb │ │ │ │ ├── SourceMdlMesh27.vb │ │ │ │ └── SourceMdlModel27.vb │ │ │ ├── SourceModel27.vb │ │ │ ├── SourceQcFile27.vb │ │ │ └── SourceSmdFile27.vb │ │ ├── SourceModel28 │ │ │ ├── SourceMdlFile28.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlBodyPart28.vb │ │ │ │ ├── SourceMdlBoneWeight28.vb │ │ │ │ ├── SourceMdlFileData28.vb │ │ │ │ ├── SourceMdlMesh28.vb │ │ │ │ └── SourceMdlModel28.vb │ │ │ ├── SourceModel28.vb │ │ │ ├── SourceQcFile28.vb │ │ │ └── SourceSmdFile28.vb │ │ ├── SourceModel29 │ │ │ └── SourceModel29.vb │ │ ├── SourceModel30 │ │ │ └── SourceModel30.vb │ │ ├── SourceModel31 │ │ │ ├── SourceMdlFile31.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimGroup31.vb │ │ │ │ ├── SourceMdlAnimation31.vb │ │ │ │ ├── SourceMdlAnimationDesc31.vb │ │ │ │ ├── SourceMdlBodyPart31.vb │ │ │ │ ├── SourceMdlBone31.vb │ │ │ │ ├── SourceMdlBoneWeight31.vb │ │ │ │ ├── SourceMdlFileData31.vb │ │ │ │ ├── SourceMdlHitbox31.vb │ │ │ │ ├── SourceMdlHitboxSet31.vb │ │ │ │ ├── SourceMdlMesh31.vb │ │ │ │ ├── SourceMdlModel31.vb │ │ │ │ ├── SourceMdlSequenceDesc31.vb │ │ │ │ ├── SourceMdlSequenceGroup31.vb │ │ │ │ ├── SourceMdlTexture31.vb │ │ │ │ └── SourceMdlVertex31.vb │ │ │ ├── SourceModel31.vb │ │ │ ├── SourceModule31.vb │ │ │ ├── SourceQcFile31.vb │ │ │ └── SourceSmdFile31.vb │ │ ├── SourceModel32 │ │ │ ├── SourceMdlFile32.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc32.vb │ │ │ │ ├── SourceMdlBoneController32.vb │ │ │ │ ├── SourceMdlFileData32.vb │ │ │ │ ├── SourceMdlHitbox32.vb │ │ │ │ ├── SourceMdlHitboxSet32.vb │ │ │ │ └── SourceMdlSequenceDesc32.vb │ │ │ ├── SourceModel32.vb │ │ │ ├── SourceQcFile32.vb │ │ │ └── SourceSmdFile32.vb │ │ ├── SourceModel35 │ │ │ ├── SourceMdlFile35.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc35.vb │ │ │ │ ├── SourceMdlFileData35.vb │ │ │ │ └── SourceMdlSequenceDesc35.vb │ │ │ ├── SourceModel35.vb │ │ │ ├── SourceQcFile35.vb │ │ │ ├── SourceSmdFile35.vb │ │ │ └── SourceVtaFile35.vb │ │ ├── SourceModel36 │ │ │ ├── SourceMdlFile36.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc36.vb │ │ │ │ ├── SourceMdlFileData36.vb │ │ │ │ └── SourceMdlSequenceDesc36.vb │ │ │ ├── SourceModel36.vb │ │ │ ├── SourceQcFile36.vb │ │ │ └── SourceSmdFile36.vb │ │ ├── SourceModel37 │ │ │ ├── SourceMdlFile37.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── FlexFrame37.vb │ │ │ │ ├── SourceMdlAnimGroup37.vb │ │ │ │ ├── SourceMdlAnimation37.vb │ │ │ │ ├── SourceMdlAnimationDesc37.vb │ │ │ │ ├── SourceMdlAttachment37.vb │ │ │ │ ├── SourceMdlAutoLayer37.vb │ │ │ │ ├── SourceMdlBodyPart37.vb │ │ │ │ ├── SourceMdlBone37.vb │ │ │ │ ├── SourceMdlBoneController37.vb │ │ │ │ ├── SourceMdlBoneDesc37.vb │ │ │ │ ├── SourceMdlBoneWeight37.vb │ │ │ │ ├── SourceMdlEvent37.vb │ │ │ │ ├── SourceMdlEyeball37.vb │ │ │ │ ├── SourceMdlFileData37.vb │ │ │ │ ├── SourceMdlFlex37.vb │ │ │ │ ├── SourceMdlHitbox37.vb │ │ │ │ ├── SourceMdlHitboxSet37.vb │ │ │ │ ├── SourceMdlIkChain37.vb │ │ │ │ ├── SourceMdlIkError37.vb │ │ │ │ ├── SourceMdlIkLink37.vb │ │ │ │ ├── SourceMdlIkLock37.vb │ │ │ │ ├── SourceMdlIkRule37.vb │ │ │ │ ├── SourceMdlMesh37.vb │ │ │ │ ├── SourceMdlModel37.vb │ │ │ │ ├── SourceMdlSequenceDesc37.vb │ │ │ │ ├── SourceMdlSequenceGroup37.vb │ │ │ │ ├── SourceMdlTexture37.vb │ │ │ │ ├── SourceMdlVertAnim37.vb │ │ │ │ └── SourceMdlVertex37.vb │ │ │ ├── SourceModel37.vb │ │ │ ├── SourcePhyFile37.vb │ │ │ ├── SourceQcFile37.vb │ │ │ ├── SourceSmdFile37.vb │ │ │ ├── SourceVrdFile37.vb │ │ │ └── SourceVtaFile37.vb │ │ ├── SourceModel38 │ │ │ ├── SourceAniFileData │ │ │ │ └── SourceAniFileData38.vb │ │ │ ├── SourceMdlFileData │ │ │ │ └── SourceMdlFileData38.vb │ │ │ ├── SourceModel38.vb │ │ │ └── SourceVvdFileData │ │ │ │ └── SourceVvdFileData38.vb │ │ ├── SourceModel44 │ │ │ ├── SourceAniFile44.vb │ │ │ ├── SourceAniFileData │ │ │ │ └── SourceAniFileData44.vb │ │ │ ├── SourceMdlFile44.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc44.vb │ │ │ │ └── SourceMdlFileData44.vb │ │ │ ├── SourceModel44.vb │ │ │ ├── SourceQcFile44.vb │ │ │ ├── SourceSmdFile44.vb │ │ │ ├── SourceVrdFile44.vb │ │ │ ├── SourceVtaFile44.vb │ │ │ ├── SourceVtxFile44.vb │ │ │ ├── SourceVtxFileData │ │ │ │ └── SourceVtxFileData44.vb │ │ │ ├── SourceVvdFile44.vb │ │ │ └── SourceVvdFileData │ │ │ │ └── SourceVvdFileData44.vb │ │ ├── SourceModel45 │ │ │ ├── SourceAniFile45.vb │ │ │ ├── SourceAniFileData │ │ │ │ └── SourceAniFileData45.vb │ │ │ ├── SourceMdlFile45.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc45.vb │ │ │ │ └── SourceMdlFileData45.vb │ │ │ ├── SourceModel45.vb │ │ │ ├── SourceQcFile45.vb │ │ │ ├── SourceSmdFile45.vb │ │ │ ├── SourceVrdFile45.vb │ │ │ ├── SourceVtaFile45.vb │ │ │ ├── SourceVtxFile45.vb │ │ │ ├── SourceVtxFileData │ │ │ │ └── SourceVtxFileData45.vb │ │ │ ├── SourceVvdFile45.vb │ │ │ └── SourceVvdFileData │ │ │ │ └── SourceVvdFileData45.vb │ │ ├── SourceModel46 │ │ │ ├── SourceAniFile46.vb │ │ │ ├── SourceAniFileData │ │ │ │ └── SourceAniFileData46.vb │ │ │ ├── SourceMdlFile46.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc46.vb │ │ │ │ └── SourceMdlFileData46.vb │ │ │ ├── SourceModel46.vb │ │ │ ├── SourceQcFile46.vb │ │ │ ├── SourceSmdFile46.vb │ │ │ ├── SourceVrdFile46.vb │ │ │ ├── SourceVtaFile46.vb │ │ │ ├── SourceVtxFile46.vb │ │ │ ├── SourceVtxFileData │ │ │ │ └── SourceVtxFileData46.vb │ │ │ ├── SourceVvdFile46.vb │ │ │ └── SourceVvdFileData │ │ │ │ └── SourceVvdFileData46.vb │ │ ├── SourceModel48 │ │ │ ├── SourceAniFile48.vb │ │ │ ├── SourceAniFileData │ │ │ │ └── SourceAniFileData48.vb │ │ │ ├── SourceMdlFile48.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc48.vb │ │ │ │ └── SourceMdlFileData48.vb │ │ │ ├── SourceModel48.vb │ │ │ ├── SourceQcFile48.vb │ │ │ ├── SourceSmdFile48.vb │ │ │ ├── SourceVrdFile48.vb │ │ │ ├── SourceVtaFile48.vb │ │ │ ├── SourceVtxFile48.vb │ │ │ ├── SourceVtxFileData │ │ │ │ └── SourceVtxFileData48.vb │ │ │ ├── SourceVvdFile48.vb │ │ │ └── SourceVvdFileData │ │ │ │ └── SourceVvdFileData48.vb │ │ ├── SourceModel49 │ │ │ ├── SourceAniFile49.vb │ │ │ ├── SourceAniFileData │ │ │ │ └── SourceAniFileData49.vb │ │ │ ├── SourceMdlFile49.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc49.vb │ │ │ │ └── SourceMdlFileData49.vb │ │ │ ├── SourceModel49.vb │ │ │ ├── SourceQcFile49.vb │ │ │ ├── SourceSmdFile49.vb │ │ │ ├── SourceVrdFile49.vb │ │ │ ├── SourceVtaFile49.vb │ │ │ ├── SourceVvdFile49.vb │ │ │ └── SourceVvdFileData │ │ │ │ └── SourceVvdFileData49.vb │ │ ├── SourceModel52 │ │ │ ├── SourceAniFile52.vb │ │ │ ├── SourceAniFileData │ │ │ │ ├── SourceAniFileData52.vb │ │ │ │ └── SourceAniFrameAnim52.vb │ │ │ ├── SourceMdlFile52.vb │ │ │ ├── SourceMdlFileData │ │ │ │ ├── SourceMdlAnimationDesc52.vb │ │ │ │ └── SourceMdlFileData52.vb │ │ │ ├── SourceModel52.vb │ │ │ ├── SourceQcFile52.vb │ │ │ ├── SourceSmdFile52.vb │ │ │ ├── SourceVrdFile52.vb │ │ │ └── SourceVtaFile52.vb │ │ ├── SourceModel53 │ │ │ ├── SourceMdlFile53.vb │ │ │ ├── SourceMdlFileData │ │ │ │ └── SourceMdlFileData53.vb │ │ │ ├── SourceModel53.vb │ │ │ ├── SourceQcFile53.vb │ │ │ ├── SourceSmdFile53.vb │ │ │ ├── SourceVrdFile53.vb │ │ │ └── SourceVtaFile53.vb │ │ ├── SourcePhyFile │ │ │ ├── SourcePhyFile.vb │ │ │ └── SourcePhyFileData │ │ │ │ ├── SourcePhyCollisionData.vb │ │ │ │ ├── SourcePhyCollisionPair.vb │ │ │ │ ├── SourcePhyEditParamsSection.vb │ │ │ │ ├── SourcePhyFace.vb │ │ │ │ ├── SourcePhyFaceSection.vb │ │ │ │ ├── SourcePhyFileData.vb │ │ │ │ ├── SourcePhyRagdollConstraint.vb │ │ │ │ ├── SourcePhyVertex.vb │ │ │ │ └── SourcePhysCollisionModel.vb │ │ └── SourceVtxFile │ │ │ ├── SourceVtxFile06 │ │ │ ├── SourceVtxBodyPart06.vb │ │ │ ├── SourceVtxBoneStateChange06.vb │ │ │ ├── SourceVtxFile06.vb │ │ │ ├── SourceVtxFileData06.vb │ │ │ ├── SourceVtxMaterialReplacement06.vb │ │ │ ├── SourceVtxMaterialReplacementList06.vb │ │ │ ├── SourceVtxMesh06.vb │ │ │ ├── SourceVtxModel06.vb │ │ │ ├── SourceVtxModelLod06.vb │ │ │ ├── SourceVtxStrip06.vb │ │ │ ├── SourceVtxStripGroup06.vb │ │ │ └── SourceVtxVertex06.vb │ │ │ ├── SourceVtxFile07 │ │ │ ├── SourceVtxFile07.vb │ │ │ ├── SourceVtxFileData07.vb │ │ │ ├── SourceVtxMaterialReplacement07.vb │ │ │ └── SourceVtxMaterialReplacementList07.vb │ │ │ └── SourceVtxFile107 │ │ │ ├── SourceVertex2531.vb │ │ │ ├── SourceVtxBodyPart107.vb │ │ │ ├── SourceVtxBoneStateChange107.vb │ │ │ ├── SourceVtxFile107.vb │ │ │ ├── SourceVtxFileData107.vb │ │ │ ├── SourceVtxMesh107.vb │ │ │ ├── SourceVtxModel107.vb │ │ │ ├── SourceVtxModelLod107.vb │ │ │ ├── SourceVtxStrip107.vb │ │ │ ├── SourceVtxStripGroup107.vb │ │ │ └── SourceVtxVertex107.vb │ ├── SourcePackage │ │ ├── - Base │ │ │ ├── BasePackageDirectoryEntry.vb │ │ │ ├── BasePackageFile.vb │ │ │ └── BasePackageFileData.vb │ │ ├── GmaFormat │ │ │ ├── GmaDirectoryEntry.vb │ │ │ ├── GmaFile.vb │ │ │ └── GmaFileData.vb │ │ ├── HfsFormat │ │ │ ├── HfsDirectoryEntry.vb │ │ │ ├── HfsFile.vb │ │ │ ├── HfsFileData.vb │ │ │ └── HfsMainDirectoryEntry.vb │ │ └── VpkFormat │ │ │ ├── VpkDirectoryEntry.vb │ │ │ ├── VpkFile.vb │ │ │ └── VpkFileData.vb │ ├── Steam │ │ ├── BackgroundSteamPipe.vb │ │ ├── SteamAppUserInfo.vb │ │ ├── SteamPipe.vb │ │ ├── SteamPipeEventArgs.vb │ │ ├── SteamRemoteStorage_PublishedFileDetails_Json.vb │ │ ├── WorkshopItem.vb │ │ └── WorkshopItemBindingList.vb │ ├── SteamAppInfos │ │ ├── AnarchyArcadeSteamAppInfo.vb │ │ ├── BlackMesaSteamAppInfo.vb │ │ ├── ContagionSteamAppInfo.vb │ │ ├── GarrysModSteamAppInfo.vb │ │ ├── Left4Dead2SteamAppInfo.vb │ │ ├── SteamAppInfoBase.vb │ │ └── ZombiePanicSourceSteamAppInfo.vb │ ├── Unpacker │ │ ├── PackagePathFileNameInfo.vb │ │ ├── PackageResourceFileNameInfo.vb │ │ ├── SearchOutputInfo.vb │ │ ├── Unpacker.vb │ │ ├── UnpackerInputInfo.vb │ │ └── UnpackerOutputInfo.vb │ ├── Updater │ │ └── Updater.vb │ └── Viewer │ │ ├── Viewer.vb │ │ └── ViewerInfo.vb ├── Crowbar.vbproj ├── Data │ └── Crowbar Settings.xml ├── My Project │ ├── Application.Designer.vb │ ├── Application.myapp │ ├── AssemblyInfo.vb │ ├── Resources.Designer.vb │ ├── Resources.resx │ ├── Settings.Designer.vb │ ├── Settings.settings │ └── app.manifest ├── Widgets │ ├── - Application │ │ ├── AgreementRequiresAcceptanceForm.Designer.vb │ │ ├── AgreementRequiresAcceptanceForm.resx │ │ ├── AgreementRequiresAcceptanceForm.vb │ │ ├── BaseForm.Designer.vb │ │ ├── BaseForm.resx │ │ ├── BaseForm.vb │ │ ├── BaseUserControl.Designer.vb │ │ ├── BaseUserControl.vb │ │ ├── DeleteItemForm.Designer.vb │ │ ├── DeleteItemForm.resx │ │ ├── DeleteItemForm.vb │ │ ├── FolderAndFileListViewItemComparer.vb │ │ ├── MacroDataGridView.resx │ │ ├── MacroDataGridView.vb │ │ ├── MainForm.Designer.vb │ │ ├── MainForm.de-DE.resx │ │ ├── MainForm.resx │ │ ├── MainForm.vb │ │ ├── NodeSorter.vb │ │ ├── UnhandledExceptionWindow.Designer.vb │ │ ├── UnhandledExceptionWindow.resx │ │ └── UnhandledExceptionWindow.vb │ ├── - General │ │ ├── CheckBoxEx.vb │ │ ├── DateTimeTextBoxEx.vb │ │ ├── FileDragDropHelper.vb │ │ ├── GroupBoxEx.vb │ │ ├── ProgressBarEx.vb │ │ ├── RichTextBoxEx.vb │ │ ├── SplitContainerEx.vb │ │ ├── TextBoxEx.vb │ │ └── ToolStripSpringTextBox.vb │ ├── Main Tabs │ │ ├── AboutUserControl.Designer.vb │ │ ├── AboutUserControl.resx │ │ ├── AboutUserControl.vb │ │ ├── CompileUserControl.Designer.vb │ │ ├── CompileUserControl.resx │ │ ├── CompileUserControl.vb │ │ ├── DecompileUserControl.Designer.vb │ │ ├── DecompileUserControl.resx │ │ ├── DecompileUserControl.vb │ │ ├── DownloadUserControl.Designer.vb │ │ ├── DownloadUserControl.resx │ │ ├── DownloadUserControl.vb │ │ ├── EditUserControl.Designer.vb │ │ ├── EditUserControl.resx │ │ ├── EditUserControl.vb │ │ ├── HelpUserControl.Designer.vb │ │ ├── HelpUserControl.resx │ │ ├── HelpUserControl.vb │ │ ├── OptionsUserControl.Designer.vb │ │ ├── OptionsUserControl.resx │ │ ├── OptionsUserControl.vb │ │ ├── PackUserControl.Designer.vb │ │ ├── PackUserControl.resx │ │ ├── PackUserControl.vb │ │ ├── PatchUserControl.Designer.vb │ │ ├── PatchUserControl.resx │ │ ├── PatchUserControl.vb │ │ ├── PublishUserControl.Designer.vb │ │ ├── PublishUserControl.resx │ │ ├── PublishUserControl.vb │ │ ├── ReleaseUserControl.Designer.vb │ │ ├── ReleaseUserControl.resx │ │ ├── ReleaseUserControl.vb │ │ ├── SetUpGamesUserControl.Designer.vb │ │ ├── SetUpGamesUserControl.resx │ │ ├── SetUpGamesUserControl.vb │ │ ├── UnpackUserControl.Designer.vb │ │ ├── UnpackUserControl.resx │ │ ├── UnpackUserControl.vb │ │ ├── UpdateUserControl.Designer.vb │ │ ├── UpdateUserControl.resx │ │ ├── UpdateUserControl.vb │ │ ├── ViewUserControl.Designer.vb │ │ ├── ViewUserControl.resx │ │ └── ViewUserControl.vb │ └── Publish SteamApp Tags │ │ ├── AnarchyArcadeTagsUserControl.Designer.vb │ │ ├── AnarchyArcadeTagsUserControl.vb │ │ ├── Base │ │ ├── Base_TagsUserControl.Designer.vb │ │ ├── Base_TagsUserControl.resx │ │ └── Base_TagsUserControl.vb │ │ ├── BlackMesaTagsUserControl.Designer.vb │ │ ├── BlackMesaTagsUserControl.resx │ │ ├── BlackMesaTagsUserControl.vb │ │ ├── ContagionTagsUserControl.Designer.vb │ │ ├── ContagionTagsUserControl.resx │ │ ├── ContagionTagsUserControl.vb │ │ ├── EstrangedActITagsUserControl.Designer.vb │ │ ├── EstrangedActITagsUserControl.vb │ │ ├── GarrysModTagsUserControl.Designer.vb │ │ ├── GarrysModTagsUserControl.resx │ │ ├── GarrysModTagsUserControl.vb │ │ ├── Left4Dead2TagsUserControl.Designer.vb │ │ ├── Left4Dead2TagsUserControl.resx │ │ ├── Left4Dead2TagsUserControl.vb │ │ ├── SourceFilmmakerTagsUserControl.Designer.vb │ │ ├── SourceFilmmakerTagsUserControl.resx │ │ ├── SourceFilmmakerTagsUserControl.vb │ │ ├── ZombiePanicSourceTagsUserControl.Designer.vb │ │ ├── ZombiePanicSourceTagsUserControl.resx │ │ └── ZombiePanicSourceTagsUserControl.vb └── resources │ ├── 26_Grey_PayPal_Pill_Button.png │ ├── 7zr.exe │ ├── CancelRefresh.png │ ├── CancelSearch.png │ ├── Crowbar Settings.xml │ ├── CrowbarGuideBanner.png │ ├── CrowbarLauncher.exe │ ├── CrowbarLauncher.xml │ ├── EnterArrow.png │ ├── Find.png │ ├── FindNext.png │ ├── FindPrevious.png │ ├── Refresh.png │ ├── Steamworks.NET.dll │ ├── WordWrap.png │ ├── WordWrapOff.png │ ├── crowbar_icon.ico │ ├── crowbar_icon_large.png │ ├── lzma.exe │ ├── macaw.png │ └── steam_api.dll ├── License └── README.md /Crowbar/Core/- Application/AppConstants.vb: -------------------------------------------------------------------------------- 1 | Module AppConstants 2 | 3 | Public Const WorkshopLinkStart As String = "https://steamcommunity.com/sharedfiles/filedetails/?id=" 4 | Public Const ChangedMarker As String = "*" 5 | 6 | Public HelpTutorialLink As String = "tutorial.html" 7 | Public HelpContentsLink As String = "contents.html" 8 | Public HelpIndexLink As String = "index.html" 9 | Public HelpTipsLink As String = "tips.html" 10 | 11 | End Module 12 | -------------------------------------------------------------------------------- /Crowbar/Core/- Application/SingleInstanceEventArgs.vb: -------------------------------------------------------------------------------- 1 | Imports System.Collections.ObjectModel 2 | 3 | Public Class SingleInstanceEventArgs 4 | Inherits EventArgs 5 | 6 | Public Sub New(ByVal commandLine As ReadOnlyCollection(Of String), ByVal mainForm As Form) 7 | _commandLine = commandLine 8 | _mainForm = mainForm 9 | End Sub 10 | 11 | Public ReadOnly Property CommandLine As ReadOnlyCollection(Of String) 12 | Get 13 | Return _commandLine 14 | End Get 15 | End Property 16 | 17 | Public ReadOnly Property MainForm As Form 18 | Get 19 | Return _mainForm 20 | End Get 21 | End Property 22 | 23 | Private _commandLine As ReadOnlyCollection(Of String) 24 | Private _mainForm As Form 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/- General/Bitmap/BitmapFileHeader.vb: -------------------------------------------------------------------------------- 1 | Public Class BitmapFileHeader 2 | 3 | 'FROM: c:\Program Files (x86)\Windows Kits\8.1\Include\um\wingdi.h 4 | 'typedef struct tagBITMAPFILEHEADER { 5 | ' WORD bfType; 6 | ' DWORD bfSize; 7 | ' WORD bfReserved1; 8 | ' WORD bfReserved2; 9 | ' DWORD bfOffBits; 10 | '} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER; 11 | 12 | Public type As UInt16 13 | Public size As UInt32 14 | Public reserved1 As UInt16 15 | Public reserved2 As UInt16 16 | Public dataOffset As UInt32 17 | 18 | End Class 19 | -------------------------------------------------------------------------------- /Crowbar/Core/- General/Bitmap/BitmapRgbQuad.vb: -------------------------------------------------------------------------------- 1 | Public Class BitmapRgbQuad 2 | 3 | 'FROM: c:\Program Files (x86)\Windows Kits\8.1\Include\um\wingdi.h 4 | 'typedef struct tagRGBQUAD { 5 | ' BYTE rgbBlue; 6 | ' BYTE rgbGreen; 7 | ' BYTE rgbRed; 8 | ' BYTE rgbReserved; 9 | '} RGBQUAD; 10 | 11 | Public rbgBlue As Byte 12 | Public rgbGreen As Byte 13 | Public rgbRed As Byte 14 | Public rgbReserved As Byte 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/Core/- General/DuplicateKeyComparer.vb: -------------------------------------------------------------------------------- 1 | Public Class DuplicateKeyComparer(Of TKey As IComparable) 2 | Implements IComparer(Of TKey) 3 | 4 | Public Function Compare(x As TKey, y As TKey) As Integer Implements IComparer(Of TKey).Compare 5 | Dim result As Integer = x.CompareTo(y) 6 | 7 | If result = 0 Then 8 | Return 1 9 | Else 10 | ' Handle equality as being greater 11 | Return result 12 | End If 13 | End Function 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/- General/GenericsModule.vb: -------------------------------------------------------------------------------- 1 | Module GenericsModule 2 | 3 | Public Function ListsAreEqual(ByVal list1 As List(Of Double), ByVal list2 As List(Of Double)) As Boolean 4 | Dim theListsAreEqual As Boolean 5 | 6 | theListsAreEqual = True 7 | If list1.Count <> list2.Count Then 8 | theListsAreEqual = False 9 | Else 10 | For i As Integer = 0 To list1.Count - 1 11 | If list1(i) <> list2(i) Then 12 | theListsAreEqual = False 13 | Exit For 14 | End If 15 | Next 16 | End If 17 | 18 | Return theListsAreEqual 19 | End Function 20 | 21 | End Module 22 | -------------------------------------------------------------------------------- /Crowbar/Core/- General/IntermediateExpression.vb: -------------------------------------------------------------------------------- 1 | Public Class IntermediateExpression 2 | 3 | Public Sub New(ByVal iExpression As String, ByVal iPrecedence As Integer) 4 | Me.theExpression = iExpression 5 | Me.thePrecedence = iPrecedence 6 | End Sub 7 | 8 | Public theExpression As String 9 | Public thePrecedence As Integer 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/Compiler/CompilerInputInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | 3 | Public Class CompilerInputInfo 4 | 5 | Public compilerPathFileName As String 6 | Public compilerOptions As String 7 | Public gamePathFileName As String 8 | Public qcPathFileName As String 9 | Public customModelFolder As String 10 | Public theCompileMode As InputOptions 11 | Public modelAbsolutePathFileName As String 12 | Public result As String 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/Compiler/CompilerOutputInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | 3 | Public Class CompilerOutputInfo 4 | 5 | Public theStatus As AppEnums.StatusMessage 6 | Public theCompiledRelativePathFileNames As BindingListEx(Of String) 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/Compiler/ParseMeshSmdInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class ParseMeshSmdInfo 2 | 3 | Public Sub New() 4 | messages = New List(Of String)() 5 | boneNames = New List(Of String)() 6 | End Sub 7 | 8 | Public messages As List(Of String) 9 | Public lineCount As Integer 10 | Public boneCount As Integer 11 | Public boneNames As List(Of String) 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/Debug/UnknownValue.vb: -------------------------------------------------------------------------------- 1 | Public Class UnknownValue 2 | 3 | Public offset As Long 4 | ' "Byte" or "Int32" 5 | Public type As String 6 | Public value As Integer 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/DebugLog/UnknownValue.vb: -------------------------------------------------------------------------------- 1 | Public Class UnknownValue 2 | 3 | Public offset As Long 4 | ' "Byte" or "Int32" 5 | Public type As String 6 | Public value As Integer 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/Decompiler/DecompilerInputInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | 3 | Public Class DecompilerInputInfo 4 | 5 | Public outputPathName As String 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/Decompiler/DecompilerOutputInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | 3 | Public Class DecompilerOutputInfo 4 | 5 | Public theStatus As AppEnums.StatusMessage 6 | Public theDecompiledRelativePathFileNames As BindingListEx(Of String) 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/GameApp/GameAppInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class GameAppInfo 2 | 3 | Public gameSetupSelectedIndex As Integer 4 | 5 | End Class 6 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/- Base/SourceFileData.vb: -------------------------------------------------------------------------------- 1 | ' Base class for Source___FileData classes. 2 | Public Class SourceFileData 3 | 4 | #Region "Creation and Destruction" 5 | 6 | Public Sub New() 7 | Me.theFileSeekLog = New FileSeekLog() 8 | Me.theUnknownValues = New List(Of UnknownValue)() 9 | End Sub 10 | 11 | #End Region 12 | 13 | #Region "Data" 14 | 15 | Public theFileSeekLog As FileSeekLog 16 | Public theUnknownValues As List(Of UnknownValue) 17 | 18 | #End Region 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/- Base/SourceMdlAnimationDescBase.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimationDescBase 2 | 3 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 4 | Public theName As String 5 | Public theSmdRelativePathFileName As String 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/- Base/SourceMdlSequenceDescBase.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceDescBase 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/- Base/SourceModelProgressEventArgs.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceModelProgressEventArgs 2 | Inherits System.EventArgs 3 | 4 | Public Sub New(ByVal progress As ProgressOptions, ByVal message As String) 5 | MyBase.New() 6 | 7 | Me.theProgress = progress 8 | Me.theMessage = message 9 | End Sub 10 | 11 | Public ReadOnly Property Progress As ProgressOptions 12 | Get 13 | Return Me.theProgress 14 | End Get 15 | End Property 16 | 17 | Public Property Message As String 18 | Get 19 | Return Me.theMessage 20 | End Get 21 | Set(value As String) 22 | Me.theMessage = value 23 | End Set 24 | End Property 25 | 26 | Private theProgress As ProgressOptions 27 | Private theMessage As String 28 | 29 | End Class -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/- Base/SourceModelProgressEventHandler.vb: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/AniFile/AniFile49/BoneConstantInfo49.vb: -------------------------------------------------------------------------------- 1 | Public Class BoneConstantInfo49 2 | 3 | Public theConstantRawPos As SourceVector48bits 4 | Public theConstantRawRot As SourceQuaternion48bits 5 | Public theConstantRotationUnknown As SourceQuaternion48bitsViaBytes 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/AniFile/AniFile49/BoneFrameDataInfo49.vb: -------------------------------------------------------------------------------- 1 | Public Class BoneFrameDataInfo49 2 | 3 | 'Public theConstantRawPos As SourceVector48bits 4 | 'Public theConstantRawRot As SourceQuaternion48bits 5 | Public theAnimPosition As SourceVector48bits 6 | Public theAnimRotation As SourceQuaternion48bits 7 | Public theFullAnimPosition As SourceVector 8 | 'Public theFullAnimUnknown01 As Byte 9 | ''Public theFullAnimUnknown01 As Double 10 | ''Public theFullAnimUnknown01 As SourceQuaternion48bits 11 | ''Public theFullAnimUnknown01 As SourceVector 12 | ''Public theFullAnimUnknown01 As SourceQuaternion64bits 13 | 'Public theFullAnimUnknown02 As SourceQuaternion64bits 14 | 'Public theAnimRotationUnknown As SourceQuaternion48bitsSmallest3 15 | 'Public theAnimRotationUnknown As SourceQuaternion48bitsAssumedW 16 | Public theAnimRotationUnknown As SourceQuaternion48bitsViaBytes 17 | 18 | End Class 19 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/PhyFile/SourcePhyEditParamsSection.vb: -------------------------------------------------------------------------------- 1 | Public Class SourcePhyEditParamsSection 2 | 3 | 'fprintf( fp, "editparams {\n" ); 4 | 'KeyWriteString( fp, "rootname", g_JointedModel.m_rootName ); 5 | 'KeyWriteFloat( fp, "totalmass", g_JointedModel.m_totalMass ); 6 | 7 | ' Example: 8 | 'editparams { 9 | '"rootname" "valvebiped.bip01_pelvis" 10 | '"totalmass" "100.000000" 11 | '} 12 | 13 | ' Example from HL2 beta leak alyx.phy: 14 | 'editparams { 15 | '"rootname" "valvebiped.bip01_pelvis" 16 | '"totalmass" "60.000000" 17 | '"jointmerge" "valvebiped.bip01_pelvis,valvebiped.bip01" 18 | '"jointmerge" "valvebiped.bip01_pelvis,valvebiped.bip01_spine1" 19 | '} 20 | 21 | Public concave As String 22 | Public jointMergeMap As Dictionary(Of String, List(Of String)) 23 | Public rootName As String 24 | Public totalMass As Single 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/PhyFile/SourcePhyFace.vb: -------------------------------------------------------------------------------- 1 | Public Class SourcePhyFace 2 | 3 | Public vertexIndex(2) As Integer 4 | 5 | End Class 6 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/PhyFile/SourcePhyFaceSection.vb: -------------------------------------------------------------------------------- 1 | Public Class SourcePhyFaceSection 2 | 3 | Public theBoneIndex As Integer 4 | Public theFaces As New List(Of SourcePhyFace)() 5 | Public theVertices As New List(Of SourcePhyVertex)() 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/PhyFile/SourcePhyVertex.vb: -------------------------------------------------------------------------------- 1 | Imports System.Collections 2 | 3 | Public Class SourcePhyVertex 4 | 5 | Public Sub New() 6 | Me.theNormal = New SourceVector() 7 | Me.theNormalIsNormalized = False 8 | End Sub 9 | 10 | Public vertex As New SourceVector() 11 | 12 | Public ReadOnly Property Normal As SourceVector 13 | Get 14 | If Not Me.theNormalIsNormalized Then 15 | MathModule.VectorNormalize(Me.theNormal) 16 | Me.theNormalIsNormalized = True 17 | End If 18 | Return Me.theNormal 19 | End Get 20 | End Property 21 | 22 | Public ReadOnly Property UnnormalizedNormal As SourceVector 23 | Get 24 | Return Me.theNormal 25 | End Get 26 | End Property 27 | 28 | Private theNormal As SourceVector 29 | Private theNormalIsNormalized As Boolean 30 | 31 | End Class 32 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile06/SourceVtxBodyPart06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBodyPart06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct BodyPartHeader_t 5 | '{ 6 | ' int numModels; 7 | ' int modelOffset; 8 | ' inline ModelHeader_t *pModel( int i ) const 9 | ' { 10 | ' ModelHeader_t *pDebug = (ModelHeader_t *)(((byte *)this) + modelOffset) + i; 11 | ' return pDebug; 12 | ' }; 13 | '}; 14 | 15 | Public modelCount As Integer 16 | Public modelOffset As Integer 17 | 18 | Public theVtxModels As List(Of SourceVtxModel06) 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile06/SourceVtxBoneStateChange06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBoneStateChange06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct BoneStateChangeHeader_t 5 | '{ 6 | ' int hardwareID; 7 | ' int newBoneID; 8 | '}; 9 | 10 | Public hardwareId As Integer 11 | Public newBoneId As Integer 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile06/SourceVtxMaterialReplacement06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacement06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct MaterialReplacementHeader_t 5 | '{ 6 | ' short materialID; 7 | ' int replacementMaterialNameOffset; 8 | ' inline const char *pMaterialReplacementName( void ) 9 | ' { 10 | ' const char *pDebug = (const char *)(((byte *)this) + replacementMaterialNameOffset); 11 | ' return pDebug; 12 | ' } 13 | '}; 14 | 15 | Public materialIndex As Short 16 | Public nameOffset As Integer 17 | 18 | Public theName As String 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile06/SourceVtxMaterialReplacementList06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacementList06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct MaterialReplacementListHeader_t 5 | '{ 6 | ' int numReplacements; 7 | ' int replacementOffset; 8 | ' inline MaterialReplacementHeader_t *pMaterialReplacement( int i ) const 9 | ' { 10 | ' MaterialReplacementHeader_t *pDebug = ( MaterialReplacementHeader_t *)(((byte *)this) + replacementOffset) + i; 11 | ' return pDebug; 12 | ' } 13 | '}; 14 | 15 | Public replacementCount As Integer 16 | Public replacementOffset As Integer 17 | 18 | Public theVtxMaterialReplacements As List(Of SourceVtxMaterialReplacement06) 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile06/SourceVtxModel06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModel06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | '// This maps one to one with models in the mdl file. 5 | '// There are a bunch of model LODs stored inside potentially due to the qc $lod command 6 | 'struct ModelHeader_t 7 | '{ 8 | ' int numLODs; // garymcthack - this is also specified in FileHeader_t 9 | ' int lodOffset; 10 | ' inline ModelLODHeader_t *pLOD( int i ) const 11 | ' { 12 | ' ModelLODHeader_t *pDebug = ( ModelLODHeader_t *)(((byte *)this) + lodOffset) + i; 13 | ' return pDebug; 14 | ' }; 15 | '}; 16 | 17 | Public lodCount As Integer 18 | Public lodOffset As Integer 19 | 20 | Public theVtxModelLods As List(Of SourceVtxModelLod06) 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile06/SourceVtxModelLod06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModelLod06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct ModelLODHeader_t 5 | '{ 6 | ' int numMeshes; 7 | ' int meshOffset; 8 | ' float switchPoint; 9 | ' inline MeshHeader_t *pMesh( int i ) const 10 | ' { 11 | ' MeshHeader_t *pDebug = (MeshHeader_t *)(((byte *)this) + meshOffset) + i; 12 | ' return pDebug; 13 | ' }; 14 | '}; 15 | 16 | Public meshCount As Integer 17 | Public meshOffset As Integer 18 | Public switchPoint As Single 19 | 20 | Public theVtxMeshes As List(Of SourceVtxMesh06) 21 | Public theVtxModelLodUsesFacial As Boolean 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile07/SourceVtxBodyPart07.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBodyPart07 2 | 3 | 'FROM: src/public/optimize.h 4 | 'struct BodyPartHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int numModels; 8 | ' int modelOffset; 9 | ' inline ModelHeader_t *pModel( int i ) const 10 | ' { 11 | ' ModelHeader_t *pDebug = (ModelHeader_t *)(((byte *)this) + modelOffset) + i; 12 | ' return pDebug; 13 | ' }; 14 | '}; 15 | 16 | Public modelCount As Integer 17 | Public modelOffset As Integer 18 | 19 | 20 | 21 | Public theVtxModels As List(Of SourceVtxModel07) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile07/SourceVtxBoneStateChange07.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBoneStateChange07 2 | 3 | 'FROM: src/public/optimize.h 4 | 'struct BoneStateChangeHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int hardwareID; 8 | ' int newBoneID; 9 | '}; 10 | 11 | Public hardwareId As Integer 12 | Public newBoneId As Integer 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile07/SourceVtxMaterialReplacement07.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacement07 2 | 3 | 'FROM: [48] SourceEngine2007_source se2007_src\src_main\public\optimize.h 4 | 'struct MaterialReplacementHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' short materialID; 8 | ' int replacementMaterialNameOffset; 9 | ' inline const char *pMaterialReplacementName( void ) 10 | ' { 11 | ' const char *pDebug = (const char *)(((byte *)this) + replacementMaterialNameOffset); 12 | ' return pDebug; 13 | ' } 14 | '}; 15 | 16 | Public materialIndex As Short 17 | Public nameOffset As Integer 18 | 19 | Public theName As String 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile07/SourceVtxMaterialReplacementList07.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacementList07 2 | 3 | 'FROM: [48] SourceEngine2007_source se2007_src\src_main\public\optimize.h 4 | 'struct MaterialReplacementListHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int numReplacements; 8 | ' int replacementOffset; 9 | ' inline MaterialReplacementHeader_t *pMaterialReplacement( int i ) const 10 | ' { 11 | ' MaterialReplacementHeader_t *pDebug = ( MaterialReplacementHeader_t *)(((byte *)this) + replacementOffset) + i; 12 | ' return pDebug; 13 | ' } 14 | '}; 15 | 16 | Public replacementCount As Integer 17 | Public replacementOffset As Integer 18 | 19 | Public theVtxMaterialReplacements As List(Of SourceVtxMaterialReplacement07) 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile07/SourceVtxModel07.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModel07 2 | 3 | 'FROM: src/public/optimize.h 4 | '// This maps one to one with models in the mdl file. 5 | '// There are a bunch of model LODs stored inside potentially due to the qc $lod command 6 | 'struct ModelHeader_t 7 | '{ 8 | ' DECLARE_BYTESWAP_DATADESC(); 9 | ' int numLODs; // garymcthack - this is also specified in FileHeader_t 10 | ' int lodOffset; 11 | ' inline ModelLODHeader_t *pLOD( int i ) const 12 | ' { 13 | ' ModelLODHeader_t *pDebug = ( ModelLODHeader_t *)(((byte *)this) + lodOffset) + i; 14 | ' return pDebug; 15 | ' }; 16 | '}; 17 | 18 | Public lodCount As Integer 19 | Public lodOffset As Integer 20 | 21 | 22 | 23 | Public theVtxModelLods As List(Of SourceVtxModelLod07) 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile07/SourceVtxModelLod07.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModelLod07 2 | 3 | 'FROM: src/public/optimize.h 4 | 'struct ModelLODHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int numMeshes; 8 | ' int meshOffset; 9 | ' float switchPoint; 10 | ' inline MeshHeader_t *pMesh( int i ) const 11 | ' { 12 | ' MeshHeader_t *pDebug = (MeshHeader_t *)(((byte *)this) + meshOffset) + i; 13 | ' return pDebug; 14 | ' }; 15 | '}; 16 | 17 | Public meshCount As Integer 18 | Public meshOffset As Integer 19 | ' Is this the "threshold" value for the QC file's $lod command? Seems to be, based on MDLDecompiler's conversion of producer.mdl. 20 | Public switchPoint As Single 21 | 22 | 23 | 24 | Public theVtxMeshes As List(Of SourceVtxMesh07) 25 | Public theVtxModelLodUsesFacial As Boolean 26 | 27 | End Class 28 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile107/SourceVtxBodyPart107.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBodyPart107 2 | 3 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h 4 | 'struct BodyPartHeader_t 5 | '{ 6 | ' int numModels; 7 | ' int modelOffset; 8 | ' inline ModelHeader_t *pModel( int i ) const 9 | ' { 10 | ' ModelHeader_t *pDebug = (ModelHeader_t *)(((byte *)this) + modelOffset) + i; 11 | ' return pDebug; 12 | ' }; 13 | '}; 14 | 15 | Public modelCount As Integer 16 | Public modelOffset As Integer 17 | 18 | 19 | 20 | Public theVtxModels As List(Of SourceVtxModel107) 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile107/SourceVtxBoneStateChange107.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBoneStateChange107 2 | 3 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h 4 | 'struct BoneStateChangeHeader_t 5 | '{ 6 | ' int hardwareID; 7 | ' int newBoneID; 8 | '}; 9 | 10 | 'Public hardwareId As Integer 11 | 'Public newBoneId As Integer 12 | Public hardwareId As Short 13 | Public newBoneId As Short 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile107/SourceVtxModel107.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModel107 2 | 3 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h 4 | '// This maps one to one with models in the mdl file. 5 | '// There are a bunch of model LODs stored inside potentially due to the qc $lod command 6 | 'struct ModelHeader_t 7 | '{ 8 | ' int numLODs; // garymcthack - this is also specified in FileHeader_t 9 | ' int lodOffset; 10 | ' inline ModelLODHeader_t *pLOD( int i ) const 11 | ' { 12 | ' ModelLODHeader_t *pDebug = ( ModelLODHeader_t *)(((byte *)this) + lodOffset) + i; 13 | ' return pDebug; 14 | ' }; 15 | '}; 16 | 17 | Public lodCount As Integer 18 | Public lodOffset As Integer 19 | 20 | 21 | 22 | Public theVtxModelLods As List(Of SourceVtxModelLod107) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VtxFile/VtxFile107/SourceVtxModelLod107.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModelLod107 2 | 3 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h 4 | 'struct ModelLODHeader_t 5 | '{ 6 | ' int numMeshes; 7 | ' int meshOffset; 8 | ' float switchPoint; 9 | ' inline MeshHeader_t *pMesh( int i ) const 10 | ' { 11 | ' MeshHeader_t *pDebug = (MeshHeader_t *)(((byte *)this) + meshOffset) + i; 12 | ' return pDebug; 13 | ' }; 14 | '}; 15 | 16 | Public meshCount As Integer 17 | Public meshOffset As Integer 18 | ' Is this the "threshold" value for the QC file's $lod command? Seems to be, based on MDLDecompiler's conversion of producer.mdl. 19 | Public switchPoint As Double 20 | 21 | 22 | 23 | Public theVtxMeshes As List(Of SourceVtxMesh107) 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/CompiledFiles/VvdFile/VvdFile04/SourceVvdFixup04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVvdFixup04 2 | 3 | 'FROM: public/studio.h 4 | '// apply sequentially to lod sorted vertex and tangent pools to re-establish mesh order 5 | 'struct vertexFileFixup_t 6 | '{ 7 | ' int lod; // used to skip culled root lod 8 | ' int sourceVertexID; // absolute index from start of vertex/tangent blocks 9 | ' int numVertexes; 10 | '}; 11 | 12 | Public lodIndex As Integer 13 | Public vertexIndex As Integer 14 | Public vertexCount As Integer 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/AnimationFrameLine.vb: -------------------------------------------------------------------------------- 1 | Public Class AnimationFrameLine 2 | 3 | Public position As SourceVector 4 | Public rotation As SourceVector 5 | Public rotationQuat As SourceQuaternion 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/FlexFrame.vb: -------------------------------------------------------------------------------- 1 | Public Class FlexFrame 2 | 3 | Public flexName As String 4 | Public flexDescription As String 5 | Public flexHasPartner As Boolean 6 | Public flexPartnerName As String 7 | Public flexSplit As Double 8 | Public bodyAndMeshVertexIndexStarts As List(Of Integer) 9 | Public flexes As List(Of SourceMdlFlex) 10 | Public meshIndexes As List(Of Integer) 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/LodQcInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class LodQcInfo 2 | 3 | Public referenceFileName As String 4 | Public lodFileName As String 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlActivityModifier.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlActivityModifier 2 | 3 | 'FROM: AlienSwarm_source\src\public\studio.h 4 | 'struct mstudioactivitymodifier_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | 8 | ' int sznameindex; 9 | ' inline char *pszName() { return (sznameindex) ? (char *)(((byte *)this) + sznameindex ) : NULL; } 10 | '}; 11 | 12 | 13 | 14 | Public nameOffset As Integer 15 | 16 | 17 | Public theName As String 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAimAtBone.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAimAtBone 2 | 3 | 'struct mstudioaimatbone_t 4 | '{ 5 | ' DECLARE_BYTESWAP_DATADESC(); 6 | ' 7 | ' int parent; 8 | ' int aim; // Might be bone or attach 9 | ' Vector aimvector; 10 | ' Vector upvector; 11 | ' Vector basepos; 12 | ' 13 | ' mstudioaimatbone_t() {} 14 | 'private: 15 | ' // No copy constructors allowed 16 | ' mstudioaimatbone_t(const mstudioaimatbone_t& vOther); 17 | '}; 18 | 19 | Public parentBoneIndex As Integer 20 | Public aimBoneOrAttachmentIndex As Integer 21 | 22 | Public aim As SourceVector 23 | Public up As SourceVector 24 | Public basePos As SourceVector 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimBlock.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimBlock 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | '// used for piecewise loading of animation data 5 | 'struct mstudioanimblock_t 6 | '{ 7 | ' DECLARE_BYTESWAP_DATADESC(); 8 | ' int datastart; 9 | ' int dataend; 10 | '}; 11 | 12 | 13 | 14 | Public dataStart As Integer 15 | Public dataEnd As Integer 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationSection.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimationSection 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 'struct mstudioanimsections_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int animblock; 8 | ' int animindex; 9 | '}; 10 | 11 | 12 | Public animBlock As Integer 13 | Public animOffset As Integer 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValue.vb: -------------------------------------------------------------------------------- 1 | Imports System.Runtime.InteropServices 2 | 3 | _ 4 | Public Structure SourceMdlAnimationValue 5 | 6 | 'FROM: SourceEngine2006_source\public\studio.h 7 | '// animation frames 8 | 'union mstudioanimvalue_t 9 | '{ 10 | ' struct 11 | ' { 12 | ' byte valid; 13 | ' byte total; 14 | ' } num; 15 | ' short value; 16 | '}; 17 | 18 | 19 | Public valid As Byte 20 | Public total As Byte 21 | 22 | Public value As Short 23 | 24 | End Structure 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValuePointer.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimationValuePointer 2 | 3 | 'FROM: SourceEngine2006_source\public\studio.h 4 | 'struct mstudioanim_valueptr_t 5 | '{ 6 | ' short offset[3]; 7 | ' inline mstudioanimvalue_t *pAnimvalue( int i ) const { if (offset[i] > 0) return (mstudioanimvalue_t *)(((byte *)this) + offset[i]); else return NULL; }; 8 | '}; 9 | 10 | 11 | Public animXValueOffset As Short 12 | Public animYValueOffset As Short 13 | Public animZValueOffset As Short 14 | 15 | Public theAnimXValues As List(Of SourceMdlAnimationValue) 16 | Public theAnimYValues As List(Of SourceMdlAnimationValue) 17 | Public theAnimZValues As List(Of SourceMdlAnimationValue) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlCompressedIkError.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlCompressedIkError 2 | 3 | 'FROM: se2007_src\src_main\public\studio.h 4 | 'struct mstudiocompressedikerror_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' float scale[6]; 8 | ' short offset[6]; 9 | ' inline mstudioanimvalue_t *pAnimvalue( int i ) const { if (offset[i] > 0) return (mstudioanimvalue_t *)(((byte *)this) + offset[i]); else return NULL; }; 10 | ' mstudiocompressedikerror_t(){} 11 | 12 | 'private: 13 | ' // No copy constructors allowed 14 | ' mstudiocompressedikerror_t(const mstudiocompressedikerror_t& vOther); 15 | '}; 16 | 17 | 18 | 19 | Public scale(5) As Double 20 | Public offset(5) As Short 21 | 22 | Public theAnimValues(5) As List(Of SourceMdlAnimationValue) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexDesc.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFlexDesc 2 | 3 | 'struct mstudioflexdesc_t 4 | '{ 5 | ' DECLARE_BYTESWAP_DATADESC(); 6 | ' int szFACSindex; 7 | ' inline char * const pszFACS( void ) const { return ((char *)this) + szFACSindex; } 8 | '}; 9 | 10 | ' int szFACSindex; 11 | Public nameOffset As Integer 12 | 13 | Public theName As String 14 | Public theDescIsUsedByFlex As Boolean = False 15 | Public theDescIsUsedByFlexRule As Boolean = False 16 | Public theDescIsUsedByEyelid As Boolean = False 17 | 18 | 'Public theVtaFrameIndex As Integer 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlFlexRule.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFlexRule 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 'struct mstudioflexrule_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int flex; 8 | ' int numops; 9 | ' int opindex; 10 | ' inline mstudioflexop_t *iFlexOp( int i ) const { return (mstudioflexop_t *)(((byte *)this) + opindex) + i; }; 11 | '}; 12 | 13 | ' int flex; 14 | Public flexIndex As Integer 15 | ' int numops; 16 | Public opCount As Integer 17 | ' int opindex; 18 | Public opOffset As Integer 19 | 20 | 21 | 22 | Public theFlexOps As List(Of SourceMdlFlexOp) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlHitboxSet.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet 2 | 3 | 'FROM: public\studio.h 4 | 'struct mstudiohitboxset_t 5 | '{ 6 | ' int sznameindex; 7 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 8 | ' int numhitboxes; 9 | ' int hitboxindex; 10 | ' inline mstudiobbox_t *pHitbox( int i ) const { return (mstudiobbox_t *)(((byte *)this) + hitboxindex) + i; }; 11 | '}; 12 | 13 | 14 | Public nameOffset As Integer 15 | Public hitboxCount As Integer 16 | Public hitboxOffset As Integer 17 | 18 | 19 | Public theName As String 20 | Public theHitboxes As List(Of SourceMdlHitbox) 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkLink.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkLink 2 | 3 | '// ikinfo 4 | 'struct mstudioiklink_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int bone; 8 | ' Vector kneeDir; // ideal bending direction (per link, if applicable) 9 | ' Vector unused0; // unused 10 | 11 | ' mstudioiklink_t(){} 12 | 'private: 13 | ' // No copy constructors allowed 14 | ' mstudioiklink_t(const mstudioiklink_t& vOther); 15 | '}; 16 | 17 | 18 | ' int bone; 19 | Public boneIndex As Integer 20 | ' Vector kneeDir; // ideal bending direction (per link, if applicable) 21 | Public idealBendingDirection As New SourceVector() 22 | ' Vector unused0; // unused 23 | Public unused0 As New SourceVector() 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlIkLock.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkLock 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 'struct mstudioiklock_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int chain; 8 | ' float flPosWeight; 9 | ' float flLocalQWeight; 10 | ' int flags; 11 | ' 12 | ' int unused[4]; 13 | '}; 14 | 15 | 16 | 17 | Public chainIndex As Integer 18 | Public posWeight As Double 19 | Public localQWeight As Double 20 | Public flags As Integer 21 | 22 | Public unused(3) As Integer 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlModelGroup.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlModelGroup 2 | 3 | '// demand loaded sequence groups 4 | 'struct mstudiomodelgroup_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int szlabelindex; // textual name 8 | ' inline char * const pszLabel( void ) const { return ((char *)this) + szlabelindex; } 9 | ' int sznameindex; // file name 10 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 11 | '}; 12 | 13 | ' int szlabelindex; // textual name 14 | Public labelOffset As Integer 15 | ' int sznameindex; // file name 16 | Public fileNameOffset As Integer 17 | 18 | Public theLabel As String 19 | Public theFileName As String 20 | 21 | 22 | 23 | Public theMdlFileData As SourceMdlFileData 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlMouth.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMouth 2 | 3 | 'struct mstudiomouth_t 4 | '{ 5 | ' DECLARE_BYTESWAP_DATADESC(); 6 | ' int bone; 7 | ' Vector forward; 8 | ' int flexdesc; 9 | 10 | ' mstudiomouth_t(){} 11 | 'private: 12 | ' // No copy constructors allowed 13 | ' mstudiomouth_t(const mstudiomouth_t& vOther); 14 | '}; 15 | 16 | ' int bone; 17 | Public boneIndex As Integer 18 | ' Vector forward; 19 | Public forward As New SourceVector() 20 | ' int flexdesc; 21 | Public flexDescIndex As Integer 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBone.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlQuatInterpBone 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 5 | 'struct mstudioquatinterpbone_t 6 | '{ 7 | ' DECLARE_BYTESWAP_DATADESC(); 8 | ' int control;// local transformation to check 9 | ' int numtriggers; 10 | ' int triggerindex; 11 | ' inline mstudioquatinterpinfo_t *pTrigger( int i ) const { return (mstudioquatinterpinfo_t *)(((byte *)this) + triggerindex) + i; }; 12 | ' 13 | ' mstudioquatinterpbone_t(){} 14 | 'private: 15 | ' // No copy constructors allowed 16 | ' mstudioquatinterpbone_t(const mstudioquatinterpbone_t& vOther); 17 | '}; 18 | 19 | 20 | 21 | Public controlBoneIndex As Integer 22 | Public triggerCount As Integer 23 | Public triggerOffset As Integer 24 | 25 | Public theTriggers As List(Of SourceMdlQuatInterpBoneInfo) 26 | 27 | End Class 28 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBoneInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlQuatInterpBoneInfo 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 5 | 'struct mstudioquatinterpinfo_t 6 | '{ 7 | ' DECLARE_BYTESWAP_DATADESC(); 8 | ' float inv_tolerance; // 1 / radian angle of trigger influence 9 | ' Quaternion trigger; // angle to match 10 | ' Vector pos; // new position 11 | ' Quaternion quat; // new angle 12 | ' 13 | ' mstudioquatinterpinfo_t(){} 14 | 'private: 15 | ' // No copy constructors allowed 16 | ' mstudioquatinterpinfo_t(const mstudioquatinterpinfo_t& vOther); 17 | '}; 18 | 19 | 20 | 21 | Public inverseToleranceAngle As Double 22 | Public trigger As SourceQuaternion 23 | Public pos As SourceVector 24 | Public quat As SourceQuaternion 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlSkinFamily.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSkinFamily 2 | 3 | Public theSkinFamilyIndex As Integer 4 | 'Public theSkinFamilyVmtFileName As String 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceCommon/SourceMdlFileData/SourceMdlWeightList.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlWeightList 2 | 3 | Public Sub New() 4 | Me.theWeights = New List(Of Double)() 5 | End Sub 6 | 7 | Public theName As String 8 | Public theWeights As List(Of Double) 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceGlobal/SourceBoneWeight.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBoneWeight 2 | 3 | '// 16 bytes 4 | 'struct mstudioboneweight_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' float weight[MAX_NUM_BONES_PER_VERT]; 8 | ' char bone[MAX_NUM_BONES_PER_VERT]; 9 | ' byte numbones; 10 | 11 | '// byte material; 12 | '// short firstref; 13 | '// short lastref; 14 | '}; 15 | 16 | ' float weight[MAX_NUM_BONES_PER_VERT]; 17 | Public weight(MAX_NUM_BONES_PER_VERT - 1) As Single 18 | ' char bone[MAX_NUM_BONES_PER_VERT]; 19 | Public bone(MAX_NUM_BONES_PER_VERT - 1) As Byte 20 | ' byte numbones; 21 | Public boneCount As Byte 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceGlobal/SourceConstants.vb: -------------------------------------------------------------------------------- 1 | Module SourceConstants 2 | 3 | Public MAX_NUM_LODS As Integer = 8 4 | Public MAX_NUM_BONES_PER_VERT As Integer = 3 5 | 6 | End Module 7 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlBodyPart04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart04 2 | 3 | Public name(31) As Char 4 | Public unknown As Integer 5 | Public modelCount As Integer 6 | 7 | Public theName As String 8 | Public theModels As List(Of SourceMdlModel04) 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlBone04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBone04 2 | 3 | Public parentBoneIndex As Integer 4 | Public unknown As Integer 5 | Public position As New SourceVector() 6 | 'Public positionX As Short 7 | 'Public positionY As Short 8 | 'Public positionZ As Short 9 | 'Public rotationX As Short 10 | 'Public rotationY As Short 11 | 'Public rotationZ As Short 12 | 'Public positionX As New SourceFloat16bits() 13 | 'Public positionY As New SourceFloat16bits() 14 | 'Public positionZ As New SourceFloat16bits() 15 | 'Public rotationX As New SourceFloat16bits() 16 | 'Public rotationY As New SourceFloat16bits() 17 | 'Public rotationZ As New SourceFloat16bits() 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlFace04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFace04 2 | 3 | Public Sub New() 4 | For i As Integer = 0 To vertexInfo.Length - 1 5 | vertexInfo(i) = New SourceMdlFaceVertexInfo04() 6 | Next 7 | End Sub 8 | 9 | 'Public vertexIndex(11) As Integer 10 | '------ 11 | Public vertexInfo(2) As SourceMdlFaceVertexInfo04 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlFaceVertexInfo04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFaceVertexInfo04 2 | 3 | Public vertexIndex As Integer 4 | Public normalIndex As Integer 5 | 'Public s As Double 6 | 'Public t As Double 7 | Public s As Integer 8 | Public t As Integer 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlMesh04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh04 2 | 3 | Public name(31) As Char 4 | Public faceCount As Integer 5 | Public unknownCount As Integer 6 | Public textureWidth As UInteger 7 | Public textureHeight As UInteger 8 | 9 | Public theName As String 10 | Public theFaces As List(Of SourceMdlFace04) 11 | Public theTextureBmpData As List(Of Byte) 12 | Public theTextureFileName As String 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlModel04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlModel04 2 | 3 | Public unknownSingle As Double 4 | Public vertexCount As Integer 5 | Public normalCount As Integer 6 | Public meshCount As Integer 7 | 8 | Public theSmdFileName As String 9 | Public theMeshes As New List(Of SourceMdlMesh04)() 10 | Public theNormals As New List(Of SourceMdlNormal04)() 11 | Public theVertexes As New List(Of SourceMdlVertex04)() 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlNormal04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlNormal04 2 | 3 | Public index As Integer 4 | Public vector As New SourceVector() 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequence04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequence04 2 | 3 | Public sequenceFrameIndexAsSingle As Double 4 | Public unknown(10) As Integer 5 | Public unknownSingle01 As Double 6 | Public unknownSingle02 As Double 7 | Public unknownSingle03 As Double 8 | 'Public positionScaleX As Short 9 | 'Public positionScaleY As Short 10 | 'Public positionScaleZ As Short 11 | 'Public rotationScaleX As Short 12 | 'Public rotationScaleY As Short 13 | 'Public rotationScaleZ As Short 14 | 'Public position As SourceVector 15 | 'Public rotation As SourceVector 16 | 17 | Public thePositionsAndRotations As List(Of SourceMdlSequenceValue04) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceDesc04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceDesc04 2 | 3 | Public name(31) As Char 4 | Public frameCount As Integer 5 | Public flag As Integer 6 | 7 | Public theName As String 8 | Public theSmdRelativePathFileName As String 9 | Public theSequences As List(Of SourceMdlSequence04) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceValue04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceValue04 2 | 3 | ''Public unknown(5) As Byte 4 | 'Public positionX As Byte 5 | 'Public positionY As Byte 6 | 'Public positionZ As Byte 7 | 'Public rotationX As Byte 8 | 'Public rotationY As Byte 9 | 'Public rotationZ As Byte 10 | Public position As SourceVector 11 | Public rotation As SourceVector 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel04/SourceMdlFileData/SourceMdlVertex04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertex04 2 | 3 | Public boneIndex As Integer 4 | Public vector As New SourceVector() 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceBonePostionAndRotation06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBonePostionAndRotation06 2 | 3 | Public position As New SourceVector() 4 | Public rotation As New SourceVector() 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceBoneTransform06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBoneTransform06 2 | 3 | Public matrixColumn0 As New SourceVector() 4 | Public matrixColumn1 As New SourceVector() 5 | Public matrixColumn2 As New SourceVector() 6 | Public matrixColumn3 As New SourceVector() 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlAnimation06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimation06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' int numpos; // count of mstudiobnonepos_t 7 | ' int posindex; // (->mstudiobnonepos_t) 8 | ' int numrot; // count of mstudiobonerot_t 9 | ' int rotindex; // (->mstudiobonerot_t) 10 | '} mstudioanim_t; 11 | 12 | Public bonePositionCount As Integer 13 | Public bonePositionOffset As Integer 14 | Public boneRotationCount As Integer 15 | Public boneRotationOffset As Integer 16 | 17 | 18 | Public theRawBonePositions As List(Of SourceMdlBonePosition06) 19 | Public theRawBoneRotations As List(Of SourceMdlBoneRotation06) 20 | 21 | Public theBonePositionsAndRotations As List(Of SourceBonePostionAndRotation06) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBodyPart06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' char name[64]; 7 | ' int nummodels; 8 | ' int base; 9 | ' int modelindex; // index into models array (->mstudiomodel_t) 10 | '} mstudiobodyparts_t; 11 | 12 | Public name(63) As Char 13 | Public modelCount As Integer 14 | Public base As Integer 15 | Public modelOffset As Integer 16 | 17 | Public theName As String 18 | Public theModels As List(Of SourceMdlModel06) 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBone06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBone06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' char name[32]; // bone name for symbolic links 7 | ' int parent; // parent bone 8 | ' int unused[6]; 9 | '} mstudiobone_t; 10 | 11 | Public name(31) As Char 12 | Public parentBoneIndex As Integer 13 | 'Public unused(5) As Integer 14 | Public position As New SourceVector() 15 | Public rotation As New SourceVector() 16 | 17 | 18 | Public theName As String 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBoneController06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneController06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' int bone; // -1 == 0 (TOMAS??) 7 | ' int type; // X, Y, Z, XR, YR, ZR, M 8 | ' float start; 9 | ' float end; 10 | '} mstudiobonecontroller_t; 11 | 12 | Public boneIndex As Integer 13 | Public type As Integer 14 | Public startAngleDegrees As Double 15 | Public endAngleDegrees As Double 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBonePosition06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBonePosition06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' int frame; // frame id (frame <= numframes) 7 | ' vec3_t pos; 8 | '} mstudiobonepos_t; 9 | 10 | Public frameIndex As Integer 11 | Public position As New SourceVector() 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlBoneRotation06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneRotation06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' short frame; // frame id (frame <= numframes) 7 | ' short angle[3]; // (values: +/-18000; 18000 = 180deg) 8 | '} mstudiobonerot_t; 9 | 10 | Public frameIndex As Short 11 | Public angle(2) As Short 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlEvent06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlEvent06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' short frame; 7 | ' short type; 8 | '} mstudioevent_t; 9 | 10 | Public frameIndex As Short 11 | Public eventType As Short 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlMesh06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' int numtris; 7 | ' int triindex; // separate triangles (->mstudiotrivert_t) 8 | ' int skinref; 9 | ' int numnorms; // per mesh normals 10 | ' int normindex; // normal vec3_t 11 | ' // TOMAS: "0" 12 | '} mstudiomesh_t; 13 | 14 | Public faceCount As Integer 15 | Public faceOffset As Integer 16 | Public skinref As Integer 17 | Public normalCount As Integer 18 | Public normalOffset As Integer 19 | 20 | 21 | Public theVertexAndNormalIndexes As List(Of SourceMdlTriangleVertex06) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlPivot06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlPivot06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' vec3_t org; // pivot point 7 | ' int start; 8 | ' int end; 9 | '} mstudiopivot_t; 10 | 11 | Public point As New SourceVector() 12 | Public pivotStart As Integer 13 | Public pivotEnd As Integer 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlTexture06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlTexture06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' char name[64]; 7 | ' int flags; 8 | ' int width; 9 | ' int height; 10 | ' int index; 11 | '} mstudiotexture_t; 12 | 13 | Public fileName(63) As Char 14 | Public flags As Integer 15 | Public width As UInt32 16 | Public height As UInt32 17 | Public dataOffset As UInt32 18 | 19 | 20 | Public theFileName As String 21 | Public theData As List(Of Byte) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel06/SourceMdlFileData/SourceMdlTriangleVertex06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlTriangleVertex06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' short vertindex; // index into vertex array (relative) 7 | ' short normindex; // index into normal array (relative) 8 | ' short s, t; // s,t position on skin 9 | '} mstudiotrivert_t; 10 | 11 | Public vertexIndex As UInt16 12 | Public normalIndex As UInt16 13 | Public s As Int16 14 | Public t As Int16 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBoneTransform10 2 | 3 | Public matrixColumn0 As New SourceVector() 4 | Public matrixColumn1 As New SourceVector() 5 | Public matrixColumn2 As New SourceVector() 6 | Public matrixColumn3 As New SourceVector() 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAnimation10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimation10 2 | 3 | Public Sub New() 4 | MyBase.New() 5 | 6 | For offsetIndex As Integer = 0 To Me.animationValueOffsets.Length - 1 7 | Me.theAnimationValues(offsetIndex) = New List(Of SourceMdlAnimationValue10)() 8 | Next 9 | End Sub 10 | 11 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 12 | 'typedef struct 13 | '{ 14 | ' unsigned short offset[6]; 15 | '} mstudioanim_t; 16 | 17 | Public animationValueOffsets(5) As UShort 18 | 19 | 20 | 21 | Public theAnimationValues(5) As List(Of SourceMdlAnimationValue10) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAnimationValue10.vb: -------------------------------------------------------------------------------- 1 | Imports System.Runtime.InteropServices 2 | 3 | _ 4 | Public Class SourceMdlAnimationValue10 5 | 6 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 7 | '// animation frames 8 | 'typedef union 9 | '{ 10 | ' struct { 11 | ' byte valid; 12 | ' byte total; 13 | ' } num; 14 | ' short value; 15 | '} mstudioanimvalue_t; 16 | 17 | 18 | Public valid As Byte 19 | Public total As Byte 20 | 21 | Public value As Short 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlAttachment10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAttachment10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// attachment 5 | 'typedef struct 6 | '{ 7 | ' char name[32]; 8 | ' int type; 9 | ' int bone; 10 | ' vec3_t org; // attachment point 11 | ' vec3_t vectors[3]; 12 | '} mstudioattachment_t; 13 | 14 | 15 | 16 | Public name(31) As Char 17 | Public type As Integer 18 | Public boneIndex As Integer 19 | Public attachmentPoint As SourceVector 20 | Public vectors(2) As SourceVector 21 | 22 | 23 | 24 | Public theName As String 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlBodyPart10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// body part index 5 | 'typedef struct 6 | '{ 7 | ' char name[64]; 8 | ' int nummodels; 9 | ' int base; 10 | ' int modelindex; // index into models array 11 | '} mstudiobodyparts_t; 12 | 13 | Public name(63) As Char 14 | Public modelCount As Integer 15 | Public base As Integer 16 | Public modelOffset As Integer 17 | 18 | Public theName As String 19 | Public theModels As List(Of SourceMdlModel10) 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlEvent10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlEvent10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// events 5 | 'typedef struct 6 | '{ 7 | ' int frame; 8 | ' int event; 9 | ' int type; 10 | ' char options[64]; 11 | '} mstudioevent_t; 12 | 13 | Public frameIndex As Integer 14 | Public eventIndex As Integer 15 | 'NOTE: Based on the studiomdl.exe source code, this does not seem to be used. 16 | Public eventType As Integer 17 | Public options(63) As Char 18 | 19 | 20 | 21 | Public theOptions As String 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlHitbox10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitbox10 2 | 3 | Public Sub New() 4 | Me.boundingBoxMin = New SourceVector() 5 | Me.boundingBoxMax = New SourceVector() 6 | End Sub 7 | 8 | 9 | 10 | '// intersection boxes 11 | 'typedef struct 12 | '{ 13 | ' int bone; 14 | ' int group; // intersection group 15 | ' vec3_t bbmin; // bounding box 16 | ' vec3_t bbmax; 17 | '} mstudiobbox_t; 18 | 19 | 20 | 21 | Public boneIndex As Integer 22 | Public groupIndex As Integer 23 | Public boundingBoxMin As SourceVector 24 | Public boundingBoxMax As SourceVector 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlMesh10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// meshes 5 | 'typedef struct 6 | '{ 7 | ' int numtris; 8 | ' int triindex; 9 | ' int skinref; 10 | ' int numnorms; // per mesh normals 11 | ' int normindex; // normal vec3_t 12 | '} mstudiomesh_t; 13 | 14 | Public faceCount As Integer 15 | Public faceOffset As Integer 16 | Public skinref As Integer 17 | Public normalCount As Integer 18 | ' Based on source code, this field does not seem to be used. 19 | Public normalOffset As Integer 20 | 21 | 22 | Public theStripsAndFans As List(Of SourceMeshTriangleStripOrFan10) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlPivot10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlPivot10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// pivots 5 | 'typedef struct 6 | '{ 7 | ' vec3_t org; // pivot point 8 | ' int start; 9 | ' int end; 10 | '} mstudiopivot_t; 11 | 12 | Public point As New SourceVector() 13 | Public pivotStart As Integer 14 | Public pivotEnd As Integer 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroup10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceGroup10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '#ifndef ZONE_H 5 | 'typedef void *cache_user_t; 6 | '#endif 7 | ' 8 | '// demand loaded sequence groups 9 | 'typedef struct 10 | '{ 11 | ' char label[32]; // textual name 12 | ' char name[64]; // file name 13 | ' cache_user_t cache; // cache index pointer 14 | ' int data; // hack for group 0 15 | '} mstudioseqgroup_t; 16 | 17 | Public name(31) As Char 18 | Public fileName(63) As Char 19 | 20 | 'NOTE: Based on the studiomdl.exe source code, these fields do not seem to be used. 21 | Public cacheOffset As Integer 22 | Public data As Integer 23 | 24 | 25 | Public theName As String 26 | Public theFileName As String 27 | 28 | End Class 29 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroupFileHeader10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceGroupFileHeader10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// header for demand loaded sequence group data 5 | 'typedef struct 6 | '{ 7 | ' int id; 8 | ' int version; 9 | ' 10 | ' char name[64]; 11 | ' int length; 12 | '} studioseqhdr_t; 13 | 14 | Public id(3) As Char 15 | Public version As Integer 16 | Public name(63) As Char 17 | Public fileSize As Integer 18 | 19 | Public theActualFileSize As Long 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMdlVertexInfo10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertexInfo10 2 | 3 | 'NOTE: This struct in the source code is used to build what is stored in the MDL file. 4 | 'FROM: [1999] HLStandardSDK\SourceCode\utils\studiomdl\studiomdl.h 5 | 'typedef struct { 6 | ' int vertindex; 7 | ' int normindex; // index into normal array 8 | ' int s,t; 9 | ' float u,v; 10 | '} s_trianglevert_t; 11 | 12 | 'NOTE: This class is used only for help in reading in the data and does not correlate to the source code directly. 13 | 'NOTE: This class only uses some of the fields based on the above struct. 14 | Public vertexIndex As UInt16 15 | Public normalIndex As UInt16 16 | Public s As Int16 17 | Public t As Int16 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel10/SourceMdlFileData/SourceMeshTriangleStripOrFan10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMeshTriangleStripOrFan10 2 | 3 | Public theFacesAreStoredAsTriangleStrips As Boolean 4 | Public theVertexInfos As List(Of SourceMdlVertexInfo10) 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlBodyPart14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart14 2 | 3 | Public name(63) As Char 4 | Public modelCount As Integer 5 | Public base As Integer 6 | Public modelOffset As Integer 7 | 8 | Public theName As String 9 | Public theModels As List(Of SourceMdlModel14) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlMesh14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh14 2 | 3 | Public faceCount As Integer 4 | Public faceOffset As Integer 5 | Public skinref As Integer 6 | Public normalCount As Integer 7 | Public normalOffset As Integer 8 | 9 | Public theStripsAndFans As List(Of SourceMeshTriangleStripOrFan10) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlModel14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlModel14 2 | 3 | Public name(32) As Char 4 | Public modelIndex As Integer 5 | 6 | Public weightingHeaderOffsets(23) As Integer 7 | 8 | Public theSmdFileName As String 9 | Public theName As String 10 | Public theWeightingHeaders As List(Of SourceMdlWeightingHeader14) 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeighting14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlWeighting14 2 | 3 | Public boneCount As Integer 4 | Public bones(3) As Byte 5 | Public weights(3) As Double 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingBoneData14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlWeightingBoneData14 2 | 3 | Public theWeightingBoneIndexes(31) As Integer 4 | 5 | End Class 6 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingHeader14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlWeightingHeader14 2 | 3 | Public weightingHeaderIndex As Integer 4 | Public weightingBoneDataCount As Integer 5 | Public weightingBoneDataOffset As Integer 6 | 7 | Public theWeightingBoneDatas As List(Of SourceMdlWeightingBoneData14) 8 | 9 | End Class 10 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/FlexFrame2531.vb: -------------------------------------------------------------------------------- 1 | Public Class FlexFrame2531 2 | 3 | Public flexName As String 4 | Public flexDescription As String 5 | Public flexHasPartner As Boolean 6 | Public flexSplit As Double 7 | Public bodyAndMeshVertexIndexStarts As List(Of Integer) 8 | Public flexes As List(Of SourceMdlFlex2531) 9 | Public meshIndexes As List(Of Integer) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationValue2531.vb: -------------------------------------------------------------------------------- 1 | Imports System.Runtime.InteropServices 2 | 3 | _ 4 | Public Structure SourceMdlAnimationValue2531 5 | 6 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\Public\studio.h 7 | '// animation frames 8 | 'union mstudioanimvalue_t 9 | '{ 10 | ' struct 11 | ' { 12 | ' byte valid; 13 | ' byte total; 14 | ' } num; 15 | ' short value; 16 | '}; 17 | 18 | 19 | Public valid As Byte 20 | Public total As Byte 21 | 22 | Public value As Short 23 | 24 | End Structure 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlAxisInterpBone2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAxisInterpBone2531 2 | 3 | Public Sub New() 4 | For i As Integer = 0 To pos.Length - 1 5 | pos(i) = New SourceVector() 6 | Next 7 | For i As Integer = 0 To quat.Length - 1 8 | quat(i) = New SourceQuaternion() 9 | Next 10 | End Sub 11 | 12 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 13 | 'struct mstudioaxisinterpbone_t 14 | '{ 15 | ' int control;// local transformation of this bone used to calc 3 point blend 16 | ' int axis; // axis to check 17 | ' Vector pos[6]; // X+, X-, Y+, Y-, Z+, Z- 18 | ' Quaternion quat[6];// X+, X-, Y+, Y-, Z+, Z- 19 | '}; 20 | 21 | Public controlBoneIndex As Integer 22 | Public axis As Integer 23 | Public pos(5) As SourceVector 24 | Public quat(5) As SourceQuaternion 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlBodyPart2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudiobodyparts_t 5 | '{ 6 | ' int sznameindex; 7 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 8 | ' int nummodels; 9 | ' int base; 10 | ' int modelindex; // index into models array 11 | ' inline mstudiomodel_t *pModel( int i ) const { return (mstudiomodel_t *)(((byte *)this) + modelindex) + i; }; 12 | '}; 13 | 14 | Public nameOffset As Integer 15 | Public modelCount As Integer 16 | Public base As Integer 17 | Public modelOffset As Integer 18 | 19 | 20 | Public theName As String 21 | Public theModels As List(Of SourceMdlModel2531) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlBoneController2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneController2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudiobonecontroller_t 5 | '{ 6 | ' int bone; // -1 == 0 7 | ' int type; // X, Y, Z, XR, YR, ZR, M 8 | ' float start; 9 | ' float end; 10 | ' int rest; // byte index value at rest 11 | ' int inputfield; // 0-3 user set controller, 4 mouth 12 | ' char padding[32]; // future expansion. 13 | '}; 14 | 15 | Public boneIndex As Integer 16 | Public type As Integer 17 | Public startAngleDegrees As Double 18 | Public endAngleDegrees As Double 19 | Public restIndex As Integer 20 | Public inputField As Integer 21 | Public unused(31) As Integer 22 | 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlHitboxSet2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudiohitboxset_t 5 | '{ 6 | ' int sznameindex; 7 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 8 | ' int numhitboxes; 9 | ' int hitboxindex; 10 | ' inline mstudiobbox_t *pHitbox( int i ) const { return (mstudiobbox_t *)(((byte *)this) + hitboxindex) + i; }; 11 | '}; 12 | 13 | Public nameOffset As Integer 14 | Public hitboxCount As Integer 15 | Public hitboxOffset As Integer 16 | 17 | 18 | Public theName As String 19 | Public theHitboxes As List(Of SourceMdlHitbox2531) 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlIncludeModel2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIncludeModel2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudiomodelgroup_t // f64: + 5 | '{ 6 | ' int szlabelindex; 7 | ' inline char * const pszLabel( void ) const { return ((char *)this) + szlabelindex; } 8 | ' 9 | ' int unk; 10 | ' int unk2; 11 | ' 12 | ' int unknum; 13 | ' int unkindex; 14 | ' 15 | ' int minone[24]; 16 | '}; 17 | 18 | Public fileNameOffset As Integer 19 | Public unknown(27) As Integer 20 | 21 | Public theFileName As String 22 | Public theLabel As String 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlPoseParamDesc2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlPoseParamDesc2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudioposeparamdesc_t 5 | '{ 6 | ' int sznameindex; 7 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 8 | ' int flags; // ???? 9 | ' float start; // starting value 10 | ' float end; // ending value 11 | ' float loop; // looping range, 0 for no looping, 360 for rotations, etc. 12 | '}; 13 | 14 | Public nameOffset As Integer 15 | Public flags As Integer 16 | Public startingValue As Double 17 | Public endingValue As Double 18 | Public loopingRange As Double 19 | 20 | 21 | Public theName As String 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpBone2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlQuatInterpBone2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudioquatinterpbone_t 5 | '{ 6 | ' int control;// local transformation to check 7 | ' int numtriggers; 8 | ' int triggerindex; 9 | ' inline mstudioquatinterpinfo_t *pTrigger( int i ) const { return (mstudioquatinterpinfo_t *)(((byte *)this) + triggerindex) + i; }; 10 | '}; 11 | 12 | Public controlBoneIndex As Integer 13 | Public triggerCount As Integer 14 | Public triggerOffset As Integer 15 | 16 | 17 | Public theTriggers As List(Of SourceMdlQuatInterpInfo2531) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpInfo2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlQuatInterpInfo2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudioquatinterpinfo_t 5 | '{ 6 | ' float inv_tolerance; // 1 / radian angle of trigger influence 7 | ' Quaternion trigger; // angle to match 8 | ' Vector pos; // new position 9 | ' Quaternion quat; // new angle 10 | '}; 11 | 12 | Public inverseToleranceAngle As Double 13 | Public trigger As New SourceQuaternion() 14 | Public pos As New SourceVector() 15 | Public quat As New SourceQuaternion() 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlTangent2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlTangent2531 2 | 3 | Public x As Double 4 | Public y As Double 5 | Public z As Double 6 | Public w As Double 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel2531/SourceMdlFileData/SourceMdlType2Vertex2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlType2Vertex2531 2 | 3 | Public positionX As Byte 4 | Public positionY As Byte 5 | Public positionZ As Byte 6 | 'Public positionX As SByte 7 | 'Public positionY As SByte 8 | 'Public positionZ As SByte 9 | 10 | Public normalX As Byte 11 | Public normalY As Byte 12 | 'NOTE: Yes, this is intentionally out of expected order. 13 | Public texCoordU As Byte 14 | Public normalZ As Byte 15 | Public texCoordV As Byte 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlAnimGroup31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimGroup31 2 | 3 | Public group As Integer 4 | Public index As Integer 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlBodyPart31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart31 2 | 3 | Public nameOffset As Integer 4 | Public modelCount As Integer 5 | Public base As Integer 6 | Public modelOffset As Integer 7 | 8 | Public theModels As List(Of SourceMdlModel31) 9 | Public theName As String 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlBoneWeight31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneWeight31 2 | 3 | Public weight(3) As Double 4 | Public bone(3) As Int32 5 | Public boneCount As Short 6 | Public material As Short 7 | Public firstRef As Short 8 | Public lastRef As Short 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlHitbox31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitbox31 2 | 3 | Public boneIndex As Integer 4 | Public groupIndex As Integer 5 | Public boundingBoxMin As New SourceVector() 6 | Public boundingBoxMax As New SourceVector() 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlHitboxSet31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet31 2 | 3 | Public nameOffset As Integer 4 | Public hitboxCount As Integer 5 | Public hitboxOffset As Integer 6 | 7 | Public theName As String 8 | Public theHitboxes As List(Of SourceMdlHitbox31) 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlMesh31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh31 2 | 3 | Public materialIndex As Integer 4 | Public modelOffset As Integer 5 | 6 | Public vertexCount As Integer 7 | Public vertexIndexStart As Integer 8 | Public flexCount As Integer 9 | Public flexOffset As Integer 10 | Public materialType As Integer 11 | Public materialParam As Integer 12 | 13 | Public id As Integer 14 | Public center As New SourceVector() 15 | 16 | ' MDL 27 17 | Public unused_MDL27(11) As Integer 18 | '------ 19 | ' MDL 28 to 31 20 | Public unused(4) As Integer 21 | 22 | 'Public theFlexes As List(Of SourceMdlFlex37) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceGroup31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceGroup31 2 | 3 | Public nameOffset As Integer 4 | Public fileNameOffset As Integer 5 | 6 | Public cacheOffset As Integer 7 | Public data As Integer 8 | 9 | Public theName As String 10 | Public theFileName As String 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlTexture31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlTexture31 2 | 3 | Public fileNameOffset As Integer 4 | Public flags As Integer 5 | Public width As Double 6 | Public height As Double 7 | Public worldUnitsPerU As Double 8 | Public worldUnitsPerV As Double 9 | Public unknown(1) As Integer 10 | 11 | Public thePathFileName As String 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel31/SourceMdlFileData/SourceMdlVertex31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertex31 2 | 3 | Public Sub New() 4 | Me.boneWeight = New SourceMdlBoneWeight31() 5 | Me.position = New SourceVector() 6 | Me.normal = New SourceVector() 7 | End Sub 8 | 9 | Public boneWeight As SourceMdlBoneWeight31 10 | Public position As SourceVector 11 | Public normal As SourceVector 12 | Public texCoordX As Double 13 | Public texCoordY As Double 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlHitbox32.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitbox32 2 | 3 | 'struct mstudiobbox_t 4 | '{ 5 | ' int bone; 6 | ' int group; // intersection group 7 | ' Vector bbmin; // bounding box 8 | ' Vector bbmax; 9 | ' int szhitboxnameindex; // offset to the name of the hitbox. 10 | ' char padding[32]; // future expansion. 11 | ' 12 | ' char* pszHitboxName() 13 | ' { 14 | ' if( szhitboxnameindex == 0 ) 15 | ' return ""; 16 | ' 17 | ' return ((char*)this) + szhitboxnameindex; 18 | ' } 19 | '}; 20 | 21 | Public boneIndex As Integer 22 | Public groupIndex As Integer 23 | Public boundingBoxMin As New SourceVector() 24 | Public boundingBoxMax As New SourceVector() 25 | 'Public nameOffset As Integer 26 | 'Public unused(31) As Byte 27 | 28 | Public theName As String 29 | 30 | End Class 31 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel32/SourceMdlFileData/SourceMdlHitboxSet32.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet32 2 | 3 | 'struct mstudiohitboxset_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int numhitboxes; 8 | ' int hitboxindex; 9 | ' inline mstudiobbox_t *pHitbox( int i ) const { return (mstudiobbox_t *)(((byte *)this) + hitboxindex) + i; }; 10 | '}; 11 | 12 | Public nameOffset As Integer 13 | Public hitboxCount As Integer 14 | Public hitboxOffset As Integer 15 | 16 | Public theName As String 17 | Public theHitboxes As List(Of SourceMdlHitbox32) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/FlexFrame37.vb: -------------------------------------------------------------------------------- 1 | Public Class FlexFrame37 2 | 3 | Public flexName As String 4 | Public flexDescription As String 5 | 'NOTE: Confirmed that MDL v37 does not have "flexpair" option. 6 | ' No "flexpair" found in MDL v37 studiomdl.exe but was found in MDL v44 (Half-Life 2) studiomdl.exe. 7 | ' Also, SourceMdlFlex37 does not have the "flexDescPartnerIndex" field. 8 | 'Public flexHasPartner As Boolean 9 | Public flexSplit As Double 10 | Public bodyAndMeshVertexIndexStarts As List(Of Integer) 11 | Public flexes As List(Of SourceMdlFlex37) 12 | Public meshIndexes As List(Of Integer) 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAnimGroup37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimGroup37 2 | 3 | 'struct mstudioanimgroup_t 4 | '{ 5 | ' int group; // Sequence group 6 | ' int index; // Animation index 7 | '}; 8 | 9 | Public group As Integer 10 | Public index As Integer 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAttachment37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAttachment37 2 | 3 | 'struct mstudioattachment_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int type; 8 | ' int bone; 9 | ' matrix3x4_t local; // attachment point 10 | '}; 11 | 12 | Public nameOffset As Integer 13 | Public type As Integer 14 | Public boneIndex As Integer 15 | Public localM11 As Single 16 | Public localM12 As Single 17 | Public localM13 As Single 18 | Public localM14 As Single 19 | Public localM21 As Single 20 | Public localM22 As Single 21 | Public localM23 As Single 22 | Public localM24 As Single 23 | Public localM31 As Single 24 | Public localM32 As Single 25 | Public localM33 As Single 26 | Public localM34 As Single 27 | 28 | Public theName As String 29 | 30 | End Class 31 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlAutoLayer37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAutoLayer37 2 | 3 | 'struct mstudioautolayer_t 4 | '{ 5 | ' int iSequence; 6 | ' int flags; 7 | ' float start; // beginning of influence 8 | ' float peak; // start of full influence 9 | ' float tail; // end of full influence 10 | ' float end; // end of all influence 11 | '}; 12 | 13 | Public sequenceIndex As Integer 14 | Public flags As Integer 15 | Public influenceStart As Double 16 | Public influencePeak As Double 17 | Public influenceTail As Double 18 | Public influenceEnd As Double 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBodyPart37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart37 2 | 3 | 'struct mstudiobodyparts_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int nummodels; 8 | ' int base; 9 | ' int modelindex; // index into models array 10 | ' inline mstudiomodel_t *pModel( int i ) const { return (mstudiomodel_t *)(((byte *)this) + modelindex) + i; }; 11 | '}; 12 | 13 | Public nameOffset As Integer 14 | Public modelCount As Integer 15 | Public base As Integer 16 | Public modelOffset As Integer 17 | 18 | Public theName As String 19 | Public theModels As List(Of SourceMdlModel37) 20 | Public theModelCommandIsUsed As Boolean 21 | Public theEyeballOptionIsUsed As Boolean 22 | Public theFlexFrames As List(Of FlexFrame37) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlBoneWeight37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneWeight37 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\Public\studio.h 4 | '// 16 bytes 5 | 'struct mstudioboneweight_t 6 | '{ 7 | ' float weight[4]; 8 | ' short bone[4]; 9 | ' 10 | ' short numbones; 11 | ' short material; 12 | ' 13 | ' short firstref; 14 | ' short lastref; 15 | '}; 16 | 17 | Public weight(3) As Double 18 | Public bone(3) As Short 19 | Public boneCount As Short 20 | Public material As Short 21 | Public firstRef As Short 22 | Public lastRef As Short 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlEvent37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlEvent37 2 | 3 | 'struct mstudioevent_t 4 | '{ 5 | ' float cycle; 6 | ' int event; 7 | ' int type; 8 | ' char options[64]; 9 | '}; 10 | 11 | Public cycle As Double 12 | Public eventIndex As Integer 13 | 'NOTE: Does not seem to be used, even though it takes up space in the MDL file. 14 | Public eventType As Integer 15 | Public options(63) As Char 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlFlex37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFlex37 2 | 3 | 'struct mstudioflex_t 4 | '{ 5 | ' int flexdesc; // input value 6 | ' 7 | ' float target0; // zero 8 | ' float target1; // one 9 | ' float target2; // one 10 | ' float target3; // zero 11 | ' 12 | ' int numverts; 13 | ' int vertindex; 14 | ' inline mstudiovertanim_t *pVertanim( int i ) const { return (mstudiovertanim_t *)(((byte *)this) + vertindex) + i; }; 15 | '}; 16 | 17 | Public flexDescIndex As Integer 18 | 19 | Public target0 As Double 20 | Public target1 As Double 21 | Public target2 As Double 22 | Public target3 As Double 23 | 24 | Public vertCount As Integer 25 | Public vertOffset As Integer 26 | 27 | Public theVertAnims As List(Of SourceMdlVertAnim37) 28 | 29 | End Class 30 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlHitbox37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitbox37 2 | 3 | 'struct mstudiobbox_t 4 | '{ 5 | ' int bone; 6 | ' int group; // intersection group 7 | ' Vector bbmin; // bounding box 8 | ' Vector bbmax; 9 | ' int szhitboxnameindex; // offset to the name of the hitbox. 10 | ' char padding[32]; // future expansion. 11 | ' 12 | ' char* pszHitboxName() 13 | ' { 14 | ' if( szhitboxnameindex == 0 ) 15 | ' return ""; 16 | ' 17 | ' return ((char*)this) + szhitboxnameindex; 18 | ' } 19 | '}; 20 | 21 | Public boneIndex As Integer 22 | Public groupIndex As Integer 23 | Public boundingBoxMin As New SourceVector() 24 | Public boundingBoxMax As New SourceVector() 25 | Public nameOffset As Integer 26 | Public unused(31) As Byte 27 | 28 | Public theName As String 29 | 30 | End Class 31 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlHitboxSet37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet37 2 | 3 | 'struct mstudiohitboxset_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int numhitboxes; 8 | ' int hitboxindex; 9 | ' inline mstudiobbox_t *pHitbox( int i ) const { return (mstudiobbox_t *)(((byte *)this) + hitboxindex) + i; }; 10 | '}; 11 | 12 | Public nameOffset As Integer 13 | Public hitboxCount As Integer 14 | Public hitboxOffset As Integer 15 | 16 | Public theName As String 17 | Public theHitboxes As List(Of SourceMdlHitbox37) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkChain37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkChain37 2 | 3 | 'struct mstudioikchain_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int linktype; 8 | ' int numlinks; 9 | ' int linkindex; 10 | ' inline mstudioiklink_t *pLink( int i ) const { return (mstudioiklink_t *)(((byte *)this) + linkindex) + i; }; 11 | '}; 12 | 13 | Public nameOffset As Integer 14 | Public linkType As Integer 15 | Public linkCount As Integer 16 | Public linkOffset As Integer 17 | 18 | Public theLinks As List(Of SourceMdlIkLink37) 19 | Public theName As String 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkError37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkError37 2 | 3 | 'struct mstudioikerror_t 4 | '{ 5 | ' Vector pos; 6 | ' Quaternion q; 7 | '}; 8 | 9 | Public pos As SourceVector 10 | Public q As SourceQuaternion 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkLink37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkLink37 2 | 3 | 'struct mstudioiklink_t 4 | '{ 5 | ' int bone; 6 | ' Vector contact; 7 | ' Vector limits; 8 | '}; 9 | 10 | Public boneIndex As Integer 11 | Public contact As New SourceVector() 12 | Public limits As New SourceVector() 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlIkLock37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkLock37 2 | 3 | 'struct mstudioiklock_t 4 | '{ 5 | ' int chain; 6 | ' float flPosWeight; 7 | ' float flLocalQWeight; 8 | '}; 9 | 10 | Public chainIndex As Integer 11 | Public posWeight As Double 12 | Public localQWeight As Double 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceGroup37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceGroup37 2 | 3 | 'struct mstudioseqgroup_t 4 | '{ 5 | ' int szlabelindex; // textual name 6 | ' inline char * const pszLabel( void ) const { return ((char *)this) + szlabelindex; } 7 | ' 8 | ' int sznameindex; // file name 9 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 10 | ' 11 | ' int cache; // cache index in the shared model cache 12 | ' int data; // hack for group 0 13 | '}; 14 | 15 | Public nameOffset As Integer 16 | Public fileNameOffset As Integer 17 | 18 | Public cacheOffset As Integer 19 | Public data As Integer 20 | 21 | 'For MDL v35. 22 | Public unknown(7) As Integer 23 | 24 | Public theName As String 25 | Public theFileName As String 26 | 27 | End Class 28 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlVertAnim37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertAnim37 2 | 3 | 'struct mstudiovertanim_t 4 | '{ 5 | ' int index; 6 | ' Vector delta; 7 | ' Vector ndelta; 8 | '}; 9 | 10 | Public index As Integer 11 | Public delta As New SourceVector() 12 | Public nDelta As New SourceVector() 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/GameModel/SourceModel37/SourceMdlFileData/SourceMdlVertex37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertex37 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\Public\studio.h 4 | '// NOTE: This is exactly 64 bytes, two cache lines 5 | 'struct mstudiovertex_t 6 | '{ 7 | ' mstudioboneweight_t m_BoneWeights; 8 | ' Vector m_vecPosition; 9 | ' Vector m_vecNormal; 10 | ' Vector2D m_vecTexCoord; 11 | '}; 12 | 13 | Public Sub New() 14 | Me.boneWeight = New SourceMdlBoneWeight37() 15 | Me.position = New SourceVector() 16 | Me.normal = New SourceVector() 17 | End Sub 18 | 19 | Public boneWeight As SourceMdlBoneWeight37 20 | Public position As SourceVector 21 | Public normal As SourceVector 22 | Public texCoordX As Double 23 | Public texCoordY As Double 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/GamePackage/- Base/BasePackageDirectoryEntry.vb: -------------------------------------------------------------------------------- 1 | Public Class BasePackageDirectoryEntry 2 | 3 | Public Sub New() 4 | MyBase.New() 5 | 6 | ' Write this value to avoid using multi-chunk stuff. 7 | Me.archiveIndex = &H7FFF 8 | End Sub 9 | 10 | Public crc As UInt32 11 | Public archiveIndex As UInt16 12 | 13 | ' The text that should be shown in user interface, for example, in Garry's Mod, the meta data as a file (without quotes): "" 14 | ' This field should start with a "<" to signify that theRealPathFileName has the real text. 15 | Public thePathFileName As String 16 | ' The text that should be used for an actual file name, for example (without quotes): "addon.json" 17 | Public theRealPathFileName As String 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GamePackage/- Base/BasePackageFileData.vb: -------------------------------------------------------------------------------- 1 | Public MustInherit Class BasePackageFileData 2 | Inherits SourceFileData 3 | 4 | Public Sub New() 5 | MyBase.New() 6 | 7 | Me.theEntries = New List(Of BasePackageDirectoryEntry)() 8 | Me.theEntryDataOutputTexts = New List(Of String)() 9 | End Sub 10 | 11 | Public MustOverride ReadOnly Property IsSourcePackage() As Boolean 12 | Public MustOverride ReadOnly Property FileExtension() As String 13 | Public MustOverride ReadOnly Property DirectoryFileNameSuffix() As String 14 | Public MustOverride ReadOnly Property DirectoryFileNameSuffixWithExtension() As String 15 | 16 | Public theEntries As List(Of BasePackageDirectoryEntry) 17 | Public theEntryDataOutputTexts As List(Of String) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/GamePackage/GmaFile/GmaDirectoryEntry.vb: -------------------------------------------------------------------------------- 1 | Public Class GmaDirectoryEntry 2 | Inherits BasePackageDirectoryEntry 3 | 4 | 'FROM: Garry's Mod Addon Tool source gmad-master\gmad-master\include\AddonFormat.h 5 | ' struct FileEntry 6 | ' { 7 | ' Bootil::BString strName; 8 | ' long long iSize; 9 | ' unsigned long iCRC; 10 | ' unsigned int iFileNumber; 11 | ' long long iOffset; 12 | ' 13 | ' typedef std::list< FileEntry > List; 14 | ' }; 15 | 16 | Public fileNumberStored As UInt32 17 | Public size As Int64 18 | 19 | Public offset As Int64 20 | Public fileNumberUsed As UInt32 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/GamePackage/SourcePackageEventArgs.vb: -------------------------------------------------------------------------------- 1 | Public Class SourcePackageEventArgs 2 | Inherits System.EventArgs 3 | 4 | Public Sub New(ByVal entry As BasePackageDirectoryEntry, ByVal entryDataOutputText As String) 5 | MyBase.New() 6 | 7 | Me.theEntry = entry 8 | Me.theEntryDataOutputText = entryDataOutputText 9 | End Sub 10 | 11 | Public ReadOnly Property Entry As BasePackageDirectoryEntry 12 | Get 13 | Return Me.theEntry 14 | End Get 15 | End Property 16 | 17 | Public Property EntryDataOutputText As String 18 | Get 19 | Return Me.theEntryDataOutputText 20 | End Get 21 | Set(value As String) 22 | Me.theEntryDataOutputText = value 23 | End Set 24 | End Property 25 | 26 | Private theEntry As BasePackageDirectoryEntry 27 | Private theEntryDataOutputText As String 28 | 29 | End Class 30 | -------------------------------------------------------------------------------- /Crowbar/Core/MappingTool/MappingToolInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class MappingToolInfo 2 | 3 | Public gameSetupSelectedIndex As Integer 4 | 5 | End Class 6 | -------------------------------------------------------------------------------- /Crowbar/Core/Packer/PackerInputInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class PackerInputInfo 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/Core/Packer/PackerOutputInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class PackerOutputInfo 2 | 3 | Public theStatus As AppEnums.StatusMessage 4 | Public thePackedRelativePathFileNames As BindingListEx(Of String) 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/- Base/SourceFileData.vb: -------------------------------------------------------------------------------- 1 | ' Base class for Source___FileData classes. 2 | Public Class SourceFileData 3 | 4 | #Region "Creation and Destruction" 5 | 6 | Public Sub New() 7 | Me.theFileSeekLog = New FileSeekLog() 8 | Me.theUnknownValues = New List(Of UnknownValue)() 9 | End Sub 10 | 11 | #End Region 12 | 13 | #Region "Data" 14 | 15 | Public theFileSeekLog As FileSeekLog 16 | Public theUnknownValues As List(Of UnknownValue) 17 | 18 | #End Region 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/- Base/SourceMdlAnimationDescBase.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimationDescBase 2 | 3 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 4 | Public theName As String 5 | Public theSmdRelativePathFileName As String 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/- Base/SourceMdlSequenceDescBase.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceDescBase 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/- Base/SourceModelProgressEventArgs.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceModelProgressEventArgs 2 | Inherits System.EventArgs 3 | 4 | Public Sub New(ByVal progress As ProgressOptions, ByVal message As String) 5 | MyBase.New() 6 | 7 | Me.theProgress = progress 8 | Me.theMessage = message 9 | End Sub 10 | 11 | Public ReadOnly Property Progress As ProgressOptions 12 | Get 13 | Return Me.theProgress 14 | End Get 15 | End Property 16 | 17 | Public Property Message As String 18 | Get 19 | Return Me.theMessage 20 | End Get 21 | Set(value As String) 22 | Me.theMessage = value 23 | End Set 24 | End Property 25 | 26 | Private theProgress As ProgressOptions 27 | Private theMessage As String 28 | 29 | End Class -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/- Base/SourceModelProgressEventHandler.vb: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/BoneConstantInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class BoneConstantInfo 2 | 3 | Public theConstantRawPos As SourceVector48bits 4 | Public theConstantRawRot As SourceQuaternion48bits 5 | Public theConstantRotationUnknown As SourceQuaternion48bitsViaBytes 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/BoneFrameDataInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class BoneFrameDataInfo 2 | 3 | 'Public theConstantRawPos As SourceVector48bits 4 | 'Public theConstantRawRot As SourceQuaternion48bits 5 | Public theAnimPosition As SourceVector48bits 6 | Public theAnimRotation As SourceQuaternion48bits 7 | Public theFullAnimPosition As SourceVector 8 | 'Public theFullAnimUnknown01 As Byte 9 | ''Public theFullAnimUnknown01 As Double 10 | ''Public theFullAnimUnknown01 As SourceQuaternion48bits 11 | ''Public theFullAnimUnknown01 As SourceVector 12 | ''Public theFullAnimUnknown01 As SourceQuaternion64bits 13 | 'Public theFullAnimUnknown02 As SourceQuaternion64bits 14 | 'Public theAnimRotationUnknown As SourceQuaternion48bitsSmallest3 15 | 'Public theAnimRotationUnknown As SourceQuaternion48bitsAssumedW 16 | Public theAnimRotationUnknown As SourceQuaternion48bitsViaBytes 17 | 18 | End Class 19 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceAniFileData/SourceAniFileData.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceAniFileData 2 | Inherits SourceMdlFileData 3 | 4 | 'NOTE: Ani file uses same header as Mdl file. 5 | 'FROM: SourceEngine2006_source\public\write.cpp 6 | 'pblockhdr = (studiohdr_t *)pBlockData; 7 | 'pblockhdr->id = IDSTUDIOANIMGROUPHEADER; 8 | 'pblockhdr->version = STUDIO_VERSION; 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/AnimationFrameLine.vb: -------------------------------------------------------------------------------- 1 | Public Class AnimationFrameLine 2 | 3 | Public position As SourceVector 4 | Public rotation As SourceVector 5 | Public rotationQuat As SourceQuaternion 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/FlexFrame.vb: -------------------------------------------------------------------------------- 1 | Public Class FlexFrame 2 | 3 | Public flexName As String 4 | Public flexDescription As String 5 | Public flexHasPartner As Boolean 6 | Public flexSplit As Double 7 | Public bodyAndMeshVertexIndexStarts As List(Of Integer) 8 | Public flexes As List(Of SourceMdlFlex) 9 | Public meshIndexes As List(Of Integer) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/LodQcInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class LodQcInfo 2 | 3 | Public referenceFileName As String 4 | Public lodFileName As String 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlActivityModifier.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlActivityModifier 2 | 3 | 'FROM: AlienSwarm_source\src\public\studio.h 4 | 'struct mstudioactivitymodifier_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | 8 | ' int sznameindex; 9 | ' inline char *pszName() { return (sznameindex) ? (char *)(((byte *)this) + sznameindex ) : NULL; } 10 | '}; 11 | 12 | 13 | 14 | Public nameOffset As Integer 15 | 16 | 17 | Public theName As String 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimBlock.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimBlock 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | '// used for piecewise loading of animation data 5 | 'struct mstudioanimblock_t 6 | '{ 7 | ' DECLARE_BYTESWAP_DATADESC(); 8 | ' int datastart; 9 | ' int dataend; 10 | '}; 11 | 12 | 13 | 14 | Public dataStart As Integer 15 | Public dataEnd As Integer 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationSection.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimationSection 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 'struct mstudioanimsections_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int animblock; 8 | ' int animindex; 9 | '}; 10 | 11 | 12 | Public animBlock As Integer 13 | Public animOffset As Integer 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValue.vb: -------------------------------------------------------------------------------- 1 | Imports System.Runtime.InteropServices 2 | 3 | _ 4 | Public Structure SourceMdlAnimationValue 5 | 6 | 'FROM: SourceEngine2006_source\public\studio.h 7 | '// animation frames 8 | 'union mstudioanimvalue_t 9 | '{ 10 | ' struct 11 | ' { 12 | ' byte valid; 13 | ' byte total; 14 | ' } num; 15 | ' short value; 16 | '}; 17 | 18 | 19 | Public valid As Byte 20 | Public total As Byte 21 | 22 | Public value As Short 23 | 24 | End Structure 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlAnimationValuePointer.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimationValuePointer 2 | 3 | 'FROM: SourceEngine2006_source\public\studio.h 4 | 'struct mstudioanim_valueptr_t 5 | '{ 6 | ' short offset[3]; 7 | ' inline mstudioanimvalue_t *pAnimvalue( int i ) const { if (offset[i] > 0) return (mstudioanimvalue_t *)(((byte *)this) + offset[i]); else return NULL; }; 8 | '}; 9 | 10 | 11 | Public animXValueOffset As Short 12 | Public animYValueOffset As Short 13 | Public animZValueOffset As Short 14 | 15 | Public theAnimXValues As List(Of SourceMdlAnimationValue) 16 | Public theAnimYValues As List(Of SourceMdlAnimationValue) 17 | Public theAnimZValues As List(Of SourceMdlAnimationValue) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlCompressedIkError.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlCompressedIkError 2 | 3 | 'FROM: se2007_src\src_main\public\studio.h 4 | 'struct mstudiocompressedikerror_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' float scale[6]; 8 | ' short offset[6]; 9 | ' inline mstudioanimvalue_t *pAnimvalue( int i ) const { if (offset[i] > 0) return (mstudioanimvalue_t *)(((byte *)this) + offset[i]); else return NULL; }; 10 | ' mstudiocompressedikerror_t(){} 11 | 12 | 'private: 13 | ' // No copy constructors allowed 14 | ' mstudiocompressedikerror_t(const mstudiocompressedikerror_t& vOther); 15 | '}; 16 | 17 | 18 | 19 | Public scale(5) As Double 20 | Public offset(5) As Short 21 | 22 | Public theAnimValues(5) As List(Of SourceMdlAnimationValue) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexDesc.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFlexDesc 2 | 3 | 'struct mstudioflexdesc_t 4 | '{ 5 | ' DECLARE_BYTESWAP_DATADESC(); 6 | ' int szFACSindex; 7 | ' inline char * const pszFACS( void ) const { return ((char *)this) + szFACSindex; } 8 | '}; 9 | 10 | ' int szFACSindex; 11 | Public nameOffset As Integer 12 | 13 | Public theName As String 14 | Public theDescIsUsedByFlex As Boolean = False 15 | Public theDescIsUsedByFlexRule As Boolean = False 16 | Public theDescIsUsedByEyelid As Boolean = False 17 | 18 | 'Public theVtaFrameIndex As Integer 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlFlexRule.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFlexRule 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 'struct mstudioflexrule_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int flex; 8 | ' int numops; 9 | ' int opindex; 10 | ' inline mstudioflexop_t *iFlexOp( int i ) const { return (mstudioflexop_t *)(((byte *)this) + opindex) + i; }; 11 | '}; 12 | 13 | ' int flex; 14 | Public flexIndex As Integer 15 | ' int numops; 16 | Public opCount As Integer 17 | ' int opindex; 18 | Public opOffset As Integer 19 | 20 | 21 | 22 | Public theFlexOps As List(Of SourceMdlFlexOp) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlHitboxSet.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet 2 | 3 | 'FROM: public\studio.h 4 | 'struct mstudiohitboxset_t 5 | '{ 6 | ' int sznameindex; 7 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 8 | ' int numhitboxes; 9 | ' int hitboxindex; 10 | ' inline mstudiobbox_t *pHitbox( int i ) const { return (mstudiobbox_t *)(((byte *)this) + hitboxindex) + i; }; 11 | '}; 12 | 13 | 14 | Public nameOffset As Integer 15 | Public hitboxCount As Integer 16 | Public hitboxOffset As Integer 17 | 18 | 19 | Public theName As String 20 | Public theHitboxes As List(Of SourceMdlHitbox) 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkLink.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkLink 2 | 3 | '// ikinfo 4 | 'struct mstudioiklink_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int bone; 8 | ' Vector kneeDir; // ideal bending direction (per link, if applicable) 9 | ' Vector unused0; // unused 10 | 11 | ' mstudioiklink_t(){} 12 | 'private: 13 | ' // No copy constructors allowed 14 | ' mstudioiklink_t(const mstudioiklink_t& vOther); 15 | '}; 16 | 17 | 18 | ' int bone; 19 | Public boneIndex As Integer 20 | ' Vector kneeDir; // ideal bending direction (per link, if applicable) 21 | Public idealBendingDirection As New SourceVector() 22 | ' Vector unused0; // unused 23 | Public unused0 As New SourceVector() 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlIkLock.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkLock 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 'struct mstudioiklock_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int chain; 8 | ' float flPosWeight; 9 | ' float flLocalQWeight; 10 | ' int flags; 11 | ' 12 | ' int unused[4]; 13 | '}; 14 | 15 | 16 | 17 | Public chainIndex As Integer 18 | Public posWeight As Double 19 | Public localQWeight As Double 20 | Public flags As Integer 21 | 22 | Public unused(3) As Integer 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlModelGroup.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlModelGroup 2 | 3 | '// demand loaded sequence groups 4 | 'struct mstudiomodelgroup_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int szlabelindex; // textual name 8 | ' inline char * const pszLabel( void ) const { return ((char *)this) + szlabelindex; } 9 | ' int sznameindex; // file name 10 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 11 | '}; 12 | 13 | ' int szlabelindex; // textual name 14 | Public labelOffset As Integer 15 | ' int sznameindex; // file name 16 | Public fileNameOffset As Integer 17 | 18 | Public theLabel As String 19 | Public theFileName As String 20 | 21 | 22 | 23 | Public theMdlFileData As SourceMdlFileData 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlMouth.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMouth 2 | 3 | 'struct mstudiomouth_t 4 | '{ 5 | ' DECLARE_BYTESWAP_DATADESC(); 6 | ' int bone; 7 | ' Vector forward; 8 | ' int flexdesc; 9 | 10 | ' mstudiomouth_t(){} 11 | 'private: 12 | ' // No copy constructors allowed 13 | ' mstudiomouth_t(const mstudiomouth_t& vOther); 14 | '}; 15 | 16 | ' int bone; 17 | Public boneIndex As Integer 18 | ' Vector forward; 19 | Public forward As New SourceVector() 20 | ' int flexdesc; 21 | Public flexDescIndex As Integer 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBone.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlQuatInterpBone 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 5 | 'struct mstudioquatinterpbone_t 6 | '{ 7 | ' DECLARE_BYTESWAP_DATADESC(); 8 | ' int control;// local transformation to check 9 | ' int numtriggers; 10 | ' int triggerindex; 11 | ' inline mstudioquatinterpinfo_t *pTrigger( int i ) const { return (mstudioquatinterpinfo_t *)(((byte *)this) + triggerindex) + i; }; 12 | ' 13 | ' mstudioquatinterpbone_t(){} 14 | 'private: 15 | ' // No copy constructors allowed 16 | ' mstudioquatinterpbone_t(const mstudioquatinterpbone_t& vOther); 17 | '}; 18 | 19 | 20 | 21 | Public controlBoneIndex As Integer 22 | Public triggerCount As Integer 23 | Public triggerOffset As Integer 24 | 25 | Public theTriggers As List(Of SourceMdlQuatInterpBoneInfo) 26 | 27 | End Class 28 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlQuatInterpBoneInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlQuatInterpBoneInfo 2 | 3 | 'FROM: SourceEngineXXXX_source\public\studio.h 4 | 5 | 'struct mstudioquatinterpinfo_t 6 | '{ 7 | ' DECLARE_BYTESWAP_DATADESC(); 8 | ' float inv_tolerance; // 1 / radian angle of trigger influence 9 | ' Quaternion trigger; // angle to match 10 | ' Vector pos; // new position 11 | ' Quaternion quat; // new angle 12 | ' 13 | ' mstudioquatinterpinfo_t(){} 14 | 'private: 15 | ' // No copy constructors allowed 16 | ' mstudioquatinterpinfo_t(const mstudioquatinterpinfo_t& vOther); 17 | '}; 18 | 19 | 20 | 21 | Public inverseToleranceAngle As Double 22 | Public trigger As SourceQuaternion 23 | Public pos As SourceVector 24 | Public quat As SourceQuaternion 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlSkinFamily.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSkinFamily 2 | 3 | Public theSkinFamilyIndex As Integer 4 | 'Public theSkinFamilyVmtFileName As String 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceMdlFileData/SourceMdlWeightList.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlWeightList 2 | 3 | Public Sub New() 4 | Me.theWeights = New List(Of Double)() 5 | End Sub 6 | 7 | Public theName As String 8 | Public theWeights As List(Of Double) 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxBodyPart.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBodyPart 2 | 3 | 'FROM: src/public/optimize.h 4 | 'struct BodyPartHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int numModels; 8 | ' int modelOffset; 9 | ' inline ModelHeader_t *pModel( int i ) const 10 | ' { 11 | ' ModelHeader_t *pDebug = (ModelHeader_t *)(((byte *)this) + modelOffset) + i; 12 | ' return pDebug; 13 | ' }; 14 | '}; 15 | 16 | Public modelCount As Integer 17 | Public modelOffset As Integer 18 | 19 | 20 | 21 | Public theVtxModels As List(Of SourceVtxModel) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxBoneStateChange.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBoneStateChange 2 | 3 | 'FROM: src/public/optimize.h 4 | 'struct BoneStateChangeHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int hardwareID; 8 | ' int newBoneID; 9 | '}; 10 | 11 | Public hardwareId As Integer 12 | Public newBoneId As Integer 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacement.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacement 2 | 3 | 'FROM: src/public/optimize.h 4 | 'struct MaterialReplacementHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' short materialID; 8 | ' int replacementMaterialNameOffset; 9 | ' inline const char *pMaterialReplacementName( void ) 10 | ' { 11 | ' const char *pDebug = (const char *)(((byte *)this) + replacementMaterialNameOffset); 12 | ' return pDebug; 13 | ' } 14 | '}; 15 | 16 | Public materialId As Short 17 | Public replacementMaterialNameOffset As Integer 18 | 19 | Public replacementMaterialName As String 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxMaterialReplacementList.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacementList 2 | 3 | 'FROM: src/public/optimize.h 4 | 'struct MaterialReplacementListHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int numReplacements; 8 | ' int replacementOffset; 9 | ' inline MaterialReplacementHeader_t *pMaterialReplacement( int i ) const 10 | ' { 11 | ' MaterialReplacementHeader_t *pDebug = ( MaterialReplacementHeader_t *)(((byte *)this) + replacementOffset) + i; 12 | ' return pDebug; 13 | ' } 14 | '}; 15 | 16 | Public replacementCount As Integer 17 | Public replacementOffset As Integer 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxModel.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModel 2 | 3 | 'FROM: src/public/optimize.h 4 | '// This maps one to one with models in the mdl file. 5 | '// There are a bunch of model LODs stored inside potentially due to the qc $lod command 6 | 'struct ModelHeader_t 7 | '{ 8 | ' DECLARE_BYTESWAP_DATADESC(); 9 | ' int numLODs; // garymcthack - this is also specified in FileHeader_t 10 | ' int lodOffset; 11 | ' inline ModelLODHeader_t *pLOD( int i ) const 12 | ' { 13 | ' ModelLODHeader_t *pDebug = ( ModelLODHeader_t *)(((byte *)this) + lodOffset) + i; 14 | ' return pDebug; 15 | ' }; 16 | '}; 17 | 18 | Public lodCount As Integer 19 | Public lodOffset As Integer 20 | 21 | 22 | 23 | Public theVtxModelLods As List(Of SourceVtxModelLod) 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceVtxFileData/SourceVtxModelLod.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModelLod 2 | 3 | 'FROM: src/public/optimize.h 4 | 'struct ModelLODHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int numMeshes; 8 | ' int meshOffset; 9 | ' float switchPoint; 10 | ' inline MeshHeader_t *pMesh( int i ) const 11 | ' { 12 | ' MeshHeader_t *pDebug = (MeshHeader_t *)(((byte *)this) + meshOffset) + i; 13 | ' return pDebug; 14 | ' }; 15 | '}; 16 | 17 | Public meshCount As Integer 18 | Public meshOffset As Integer 19 | ' Is this the "threshold" value for the QC file's $lod command? Seems to be, based on MDLDecompiler's conversion of producer.mdl. 20 | Public switchPoint As Single 21 | 22 | 23 | 24 | Public theVtxMeshes As List(Of SourceVtxMesh) 25 | Public theVtxModelLodUsesFacial As Boolean 26 | 27 | End Class 28 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceCommon/SourceVvdFileData/SourceVvdFixup.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVvdFixup 2 | 3 | 'FROM: public/studio.h 4 | '// apply sequentially to lod sorted vertex and tangent pools to re-establish mesh order 5 | 'struct vertexFileFixup_t 6 | '{ 7 | ' int lod; // used to skip culled root lod 8 | ' int sourceVertexID; // absolute index from start of vertex/tangent blocks 9 | ' int numVertexes; 10 | '}; 11 | 12 | Public lodIndex As Integer 13 | Public vertexIndex As Integer 14 | Public vertexCount As Integer 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceGlobal/SourceBoneWeight.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBoneWeight 2 | 3 | '// 16 bytes 4 | 'struct mstudioboneweight_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' float weight[MAX_NUM_BONES_PER_VERT]; 8 | ' char bone[MAX_NUM_BONES_PER_VERT]; 9 | ' byte numbones; 10 | 11 | '// byte material; 12 | '// short firstref; 13 | '// short lastref; 14 | '}; 15 | 16 | ' float weight[MAX_NUM_BONES_PER_VERT]; 17 | Public weight(MAX_NUM_BONES_PER_VERT - 1) As Single 18 | ' char bone[MAX_NUM_BONES_PER_VERT]; 19 | Public bone(MAX_NUM_BONES_PER_VERT - 1) As Byte 20 | ' byte numbones; 21 | Public boneCount As Byte 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceGlobal/SourceConstants.vb: -------------------------------------------------------------------------------- 1 | Module SourceConstants 2 | 3 | Public MAX_NUM_LODS As Integer = 8 4 | Public MAX_NUM_BONES_PER_VERT As Integer = 3 5 | 6 | End Module 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlBodyPart04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart04 2 | 3 | Public name(31) As Char 4 | Public unknown As Integer 5 | Public modelCount As Integer 6 | 7 | Public theName As String 8 | Public theModels As List(Of SourceMdlModel04) 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlBone04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBone04 2 | 3 | Public parentBoneIndex As Integer 4 | Public unknown As Integer 5 | Public position As New SourceVector() 6 | 'Public positionX As Short 7 | 'Public positionY As Short 8 | 'Public positionZ As Short 9 | 'Public rotationX As Short 10 | 'Public rotationY As Short 11 | 'Public rotationZ As Short 12 | 'Public positionX As New SourceFloat16bits() 13 | 'Public positionY As New SourceFloat16bits() 14 | 'Public positionZ As New SourceFloat16bits() 15 | 'Public rotationX As New SourceFloat16bits() 16 | 'Public rotationY As New SourceFloat16bits() 17 | 'Public rotationZ As New SourceFloat16bits() 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlFace04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFace04 2 | 3 | Public Sub New() 4 | For i As Integer = 0 To vertexInfo.Length - 1 5 | vertexInfo(i) = New SourceMdlFaceVertexInfo04() 6 | Next 7 | End Sub 8 | 9 | 'Public vertexIndex(11) As Integer 10 | '------ 11 | Public vertexInfo(2) As SourceMdlFaceVertexInfo04 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlFaceVertexInfo04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFaceVertexInfo04 2 | 3 | Public vertexIndex As Integer 4 | Public normalIndex As Integer 5 | 'Public s As Double 6 | 'Public t As Double 7 | Public s As Integer 8 | Public t As Integer 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlMesh04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh04 2 | 3 | Public name(31) As Char 4 | Public faceCount As Integer 5 | Public unknownCount As Integer 6 | Public textureWidth As UInteger 7 | Public textureHeight As UInteger 8 | 9 | Public theName As String 10 | Public theFaces As List(Of SourceMdlFace04) 11 | Public theTextureBmpData As List(Of Byte) 12 | Public theTextureFileName As String 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlModel04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlModel04 2 | 3 | Public unknownSingle As Double 4 | Public vertexCount As Integer 5 | Public normalCount As Integer 6 | Public meshCount As Integer 7 | 8 | Public theSmdFileName As String 9 | Public theMeshes As New List(Of SourceMdlMesh04)() 10 | Public theNormals As New List(Of SourceMdlNormal04)() 11 | Public theVertexes As New List(Of SourceMdlVertex04)() 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlNormal04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlNormal04 2 | 3 | Public index As Integer 4 | Public vector As New SourceVector() 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequence04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequence04 2 | 3 | Public sequenceFrameIndexAsSingle As Double 4 | Public unknown(10) As Integer 5 | Public unknownSingle01 As Double 6 | Public unknownSingle02 As Double 7 | Public unknownSingle03 As Double 8 | 'Public positionScaleX As Short 9 | 'Public positionScaleY As Short 10 | 'Public positionScaleZ As Short 11 | 'Public rotationScaleX As Short 12 | 'Public rotationScaleY As Short 13 | 'Public rotationScaleZ As Short 14 | 'Public position As SourceVector 15 | 'Public rotation As SourceVector 16 | 17 | Public thePositionsAndRotations As List(Of SourceMdlSequenceValue04) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceDesc04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceDesc04 2 | 3 | Public name(31) As Char 4 | Public frameCount As Integer 5 | Public flag As Integer 6 | 7 | Public theName As String 8 | Public theSmdRelativePathFileName As String 9 | Public theSequences As List(Of SourceMdlSequence04) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlSequenceValue04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceValue04 2 | 3 | ''Public unknown(5) As Byte 4 | 'Public positionX As Byte 5 | 'Public positionY As Byte 6 | 'Public positionZ As Byte 7 | 'Public rotationX As Byte 8 | 'Public rotationY As Byte 9 | 'Public rotationZ As Byte 10 | Public position As SourceVector 11 | Public rotation As SourceVector 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel04/SourceMdlFileData/SourceMdlVertex04.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertex04 2 | 3 | Public boneIndex As Integer 4 | Public vector As New SourceVector() 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceBonePostionAndRotation06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBonePostionAndRotation06 2 | 3 | Public position As New SourceVector() 4 | Public rotation As New SourceVector() 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceBoneTransform06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBoneTransform06 2 | 3 | Public matrixColumn0 As New SourceVector() 4 | Public matrixColumn1 As New SourceVector() 5 | Public matrixColumn2 As New SourceVector() 6 | Public matrixColumn3 As New SourceVector() 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlAnimation06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimation06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' int numpos; // count of mstudiobnonepos_t 7 | ' int posindex; // (->mstudiobnonepos_t) 8 | ' int numrot; // count of mstudiobonerot_t 9 | ' int rotindex; // (->mstudiobonerot_t) 10 | '} mstudioanim_t; 11 | 12 | Public bonePositionCount As Integer 13 | Public bonePositionOffset As Integer 14 | Public boneRotationCount As Integer 15 | Public boneRotationOffset As Integer 16 | 17 | 18 | Public theRawBonePositions As List(Of SourceMdlBonePosition06) 19 | Public theRawBoneRotations As List(Of SourceMdlBoneRotation06) 20 | 21 | Public theBonePositionsAndRotations As List(Of SourceBonePostionAndRotation06) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBodyPart06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' char name[64]; 7 | ' int nummodels; 8 | ' int base; 9 | ' int modelindex; // index into models array (->mstudiomodel_t) 10 | '} mstudiobodyparts_t; 11 | 12 | Public name(63) As Char 13 | Public modelCount As Integer 14 | Public base As Integer 15 | Public modelOffset As Integer 16 | 17 | Public theName As String 18 | Public theModels As List(Of SourceMdlModel06) 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBone06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBone06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' char name[32]; // bone name for symbolic links 7 | ' int parent; // parent bone 8 | ' int unused[6]; 9 | '} mstudiobone_t; 10 | 11 | Public name(31) As Char 12 | Public parentBoneIndex As Integer 13 | 'Public unused(5) As Integer 14 | Public position As New SourceVector() 15 | Public rotation As New SourceVector() 16 | 17 | 18 | Public theName As String 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBoneController06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneController06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' int bone; // -1 == 0 (TOMAS??) 7 | ' int type; // X, Y, Z, XR, YR, ZR, M 8 | ' float start; 9 | ' float end; 10 | '} mstudiobonecontroller_t; 11 | 12 | Public boneIndex As Integer 13 | Public type As Integer 14 | Public startAngleDegrees As Double 15 | Public endAngleDegrees As Double 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBonePosition06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBonePosition06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' int frame; // frame id (frame <= numframes) 7 | ' vec3_t pos; 8 | '} mstudiobonepos_t; 9 | 10 | Public frameIndex As Integer 11 | Public position As New SourceVector() 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlBoneRotation06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneRotation06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' short frame; // frame id (frame <= numframes) 7 | ' short angle[3]; // (values: +/-18000; 18000 = 180deg) 8 | '} mstudiobonerot_t; 9 | 10 | Public frameIndex As Short 11 | Public angle(2) As Short 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlEvent06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlEvent06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' short frame; 7 | ' short type; 8 | '} mstudioevent_t; 9 | 10 | Public frameIndex As Short 11 | Public eventType As Short 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlMesh06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' int numtris; 7 | ' int triindex; // separate triangles (->mstudiotrivert_t) 8 | ' int skinref; 9 | ' int numnorms; // per mesh normals 10 | ' int normindex; // normal vec3_t 11 | ' // TOMAS: "0" 12 | '} mstudiomesh_t; 13 | 14 | Public faceCount As Integer 15 | Public faceOffset As Integer 16 | Public skinref As Integer 17 | Public normalCount As Integer 18 | Public normalOffset As Integer 19 | 20 | 21 | Public theVertexAndNormalIndexes As List(Of SourceMdlTriangleVertex06) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlPivot06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlPivot06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' vec3_t org; // pivot point 7 | ' int start; 8 | ' int end; 9 | '} mstudiopivot_t; 10 | 11 | Public point As New SourceVector() 12 | Public pivotStart As Integer 13 | Public pivotEnd As Integer 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlTexture06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlTexture06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' char name[64]; 7 | ' int flags; 8 | ' int width; 9 | ' int height; 10 | ' int index; 11 | '} mstudiotexture_t; 12 | 13 | Public fileName(63) As Char 14 | Public flags As Integer 15 | Public width As UInt32 16 | Public height As UInt32 17 | Public dataOffset As UInt32 18 | 19 | 20 | Public theFileName As String 21 | Public theData As List(Of Byte) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel06/SourceMdlFileData/SourceMdlTriangleVertex06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlTriangleVertex06 2 | 3 | 'FROM: [06] HL1Alpha model viewer gsmv_beta2a_bin_src\src\src\studio\studio.h 4 | 'typedef struct 5 | '{ 6 | ' short vertindex; // index into vertex array (relative) 7 | ' short normindex; // index into normal array (relative) 8 | ' short s, t; // s,t position on skin 9 | '} mstudiotrivert_t; 10 | 11 | Public vertexIndex As UInt16 12 | Public normalIndex As UInt16 13 | Public s As Int16 14 | Public t As Int16 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBoneTransform10 2 | 3 | Public matrixColumn0 As New SourceVector() 4 | Public matrixColumn1 As New SourceVector() 5 | Public matrixColumn2 As New SourceVector() 6 | Public matrixColumn3 As New SourceVector() 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceBoneTransform10Single.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceBoneTransform10Single 2 | 3 | Public matrixColumn0 As New SourceVectorSingle() 4 | Public matrixColumn1 As New SourceVectorSingle() 5 | Public matrixColumn2 As New SourceVectorSingle() 6 | Public matrixColumn3 As New SourceVectorSingle() 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAnimation10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimation10 2 | 3 | Public Sub New() 4 | MyBase.New() 5 | 6 | For offsetIndex As Integer = 0 To Me.animationValueOffsets.Length - 1 7 | Me.theAnimationValues(offsetIndex) = New List(Of SourceMdlAnimationValue10)() 8 | Next 9 | End Sub 10 | 11 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 12 | 'typedef struct 13 | '{ 14 | ' unsigned short offset[6]; 15 | '} mstudioanim_t; 16 | 17 | Public animationValueOffsets(5) As UShort 18 | 19 | 20 | 21 | Public theAnimationValues(5) As List(Of SourceMdlAnimationValue10) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAnimationValue10.vb: -------------------------------------------------------------------------------- 1 | Imports System.Runtime.InteropServices 2 | 3 | _ 4 | Public Class SourceMdlAnimationValue10 5 | 6 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 7 | '// animation frames 8 | 'typedef union 9 | '{ 10 | ' struct { 11 | ' byte valid; 12 | ' byte total; 13 | ' } num; 14 | ' short value; 15 | '} mstudioanimvalue_t; 16 | 17 | 18 | Public valid As Byte 19 | Public total As Byte 20 | 21 | Public value As Short 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlAttachment10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAttachment10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// attachment 5 | 'typedef struct 6 | '{ 7 | ' char name[32]; 8 | ' int type; 9 | ' int bone; 10 | ' vec3_t org; // attachment point 11 | ' vec3_t vectors[3]; 12 | '} mstudioattachment_t; 13 | 14 | 15 | 16 | Public name(31) As Char 17 | Public type As Integer 18 | Public boneIndex As Integer 19 | Public attachmentPoint As SourceVector 20 | Public vectors(2) As SourceVector 21 | 22 | 23 | 24 | Public theName As String 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlBodyPart10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// body part index 5 | 'typedef struct 6 | '{ 7 | ' char name[64]; 8 | ' int nummodels; 9 | ' int base; 10 | ' int modelindex; // index into models array 11 | '} mstudiobodyparts_t; 12 | 13 | Public name(63) As Char 14 | Public modelCount As Integer 15 | Public base As Integer 16 | Public modelOffset As Integer 17 | 18 | Public theName As String 19 | Public theModels As List(Of SourceMdlModel10) 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlEvent10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlEvent10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// events 5 | 'typedef struct 6 | '{ 7 | ' int frame; 8 | ' int event; 9 | ' int type; 10 | ' char options[64]; 11 | '} mstudioevent_t; 12 | 13 | Public frameIndex As Integer 14 | Public eventIndex As Integer 15 | 'NOTE: Based on the studiomdl.exe source code, this does not seem to be used. 16 | Public eventType As Integer 17 | Public options(63) As Char 18 | 19 | 20 | 21 | Public theOptions As String 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlHitbox10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitbox10 2 | 3 | Public Sub New() 4 | Me.boundingBoxMin = New SourceVector() 5 | Me.boundingBoxMax = New SourceVector() 6 | End Sub 7 | 8 | 9 | 10 | '// intersection boxes 11 | 'typedef struct 12 | '{ 13 | ' int bone; 14 | ' int group; // intersection group 15 | ' vec3_t bbmin; // bounding box 16 | ' vec3_t bbmax; 17 | '} mstudiobbox_t; 18 | 19 | 20 | 21 | Public boneIndex As Integer 22 | Public groupIndex As Integer 23 | Public boundingBoxMin As SourceVector 24 | Public boundingBoxMax As SourceVector 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlMesh10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// meshes 5 | 'typedef struct 6 | '{ 7 | ' int numtris; 8 | ' int triindex; 9 | ' int skinref; 10 | ' int numnorms; // per mesh normals 11 | ' int normindex; // normal vec3_t 12 | '} mstudiomesh_t; 13 | 14 | Public faceCount As Integer 15 | Public faceOffset As Integer 16 | Public skinref As Integer 17 | Public normalCount As Integer 18 | ' Based on source code, this field does not seem to be used. 19 | Public normalOffset As Integer 20 | 21 | 22 | Public theStripsAndFans As List(Of SourceMeshTriangleStripOrFan10) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlPivot10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlPivot10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// pivots 5 | 'typedef struct 6 | '{ 7 | ' vec3_t org; // pivot point 8 | ' int start; 9 | ' int end; 10 | '} mstudiopivot_t; 11 | 12 | Public point As New SourceVector() 13 | Public pivotStart As Integer 14 | Public pivotEnd As Integer 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroup10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceGroup10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '#ifndef ZONE_H 5 | 'typedef void *cache_user_t; 6 | '#endif 7 | ' 8 | '// demand loaded sequence groups 9 | 'typedef struct 10 | '{ 11 | ' char label[32]; // textual name 12 | ' char name[64]; // file name 13 | ' cache_user_t cache; // cache index pointer 14 | ' int data; // hack for group 0 15 | '} mstudioseqgroup_t; 16 | 17 | Public name(31) As Char 18 | Public fileName(63) As Char 19 | 20 | 'NOTE: Based on the studiomdl.exe source code, these fields do not seem to be used. 21 | Public cacheOffset As Integer 22 | Public data As Integer 23 | 24 | 25 | Public theName As String 26 | Public theFileName As String 27 | 28 | End Class 29 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlSequenceGroupFileHeader10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceGroupFileHeader10 2 | 3 | 'FROM: [1999] HLStandardSDK\SourceCode\engine\studio.h 4 | '// header for demand loaded sequence group data 5 | 'typedef struct 6 | '{ 7 | ' int id; 8 | ' int version; 9 | ' 10 | ' char name[64]; 11 | ' int length; 12 | '} studioseqhdr_t; 13 | 14 | Public id(3) As Char 15 | Public version As Integer 16 | Public name(63) As Char 17 | Public fileSize As Integer 18 | 19 | Public theActualFileSize As Long 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMdlVertexInfo10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertexInfo10 2 | 3 | 'NOTE: This struct in the source code is used to build what is stored in the MDL file. 4 | 'FROM: [1999] HLStandardSDK\SourceCode\utils\studiomdl\studiomdl.h 5 | 'typedef struct { 6 | ' int vertindex; 7 | ' int normindex; // index into normal array 8 | ' int s,t; 9 | ' float u,v; 10 | '} s_trianglevert_t; 11 | 12 | 'NOTE: This class is used only for help in reading in the data and does not correlate to the source code directly. 13 | 'NOTE: This class only uses some of the fields based on the above struct. 14 | Public vertexIndex As UInt16 15 | Public normalIndex As UInt16 16 | Public s As Int16 17 | Public t As Int16 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel10/SourceMdlFileData/SourceMeshTriangleStripOrFan10.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMeshTriangleStripOrFan10 2 | 3 | Public theFacesAreStoredAsTriangleStrips As Boolean 4 | Public theVertexInfos As List(Of SourceMdlVertexInfo10) 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlBodyPart14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart14 2 | 3 | Public name(63) As Char 4 | Public modelCount As Integer 5 | Public base As Integer 6 | Public modelOffset As Integer 7 | 8 | Public theName As String 9 | Public theModels As List(Of SourceMdlModel14) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlMesh14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh14 2 | 3 | Public faceCount As Integer 4 | Public faceOffset As Integer 5 | Public skinref As Integer 6 | Public normalCount As Integer 7 | Public normalOffset As Integer 8 | 9 | Public theStripsAndFans As List(Of SourceMeshTriangleStripOrFan10) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlModel14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlModel14 2 | 3 | Public name(32) As Char 4 | Public modelIndex As Integer 5 | 6 | Public weightingHeaderOffsets(23) As Integer 7 | 8 | Public theSmdFileName As String 9 | Public theName As String 10 | Public theWeightingHeaders As List(Of SourceMdlWeightingHeader14) 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeighting14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlWeighting14 2 | 3 | Public boneCount As Integer 4 | Public bones(3) As Byte 5 | Public weights(3) As Double 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingBoneData14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlWeightingBoneData14 2 | 3 | Public theWeightingBoneIndexes(31) As Integer 4 | 5 | End Class 6 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel14/SourceMdlFileData/SourceMdlWeightingHeader14.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlWeightingHeader14 2 | 3 | Public weightingHeaderIndex As Integer 4 | Public weightingBoneDataCount As Integer 5 | Public weightingBoneDataOffset As Integer 6 | 7 | Public theWeightingBoneDatas As List(Of SourceMdlWeightingBoneData14) 8 | 9 | End Class 10 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/FlexFrame2531.vb: -------------------------------------------------------------------------------- 1 | Public Class FlexFrame2531 2 | 3 | Public flexName As String 4 | Public flexDescription As String 5 | Public flexHasPartner As Boolean 6 | Public flexSplit As Double 7 | Public bodyAndMeshVertexIndexStarts As List(Of Integer) 8 | Public flexes As List(Of SourceMdlFlex2531) 9 | Public meshIndexes As List(Of Integer) 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAnimationValue2531.vb: -------------------------------------------------------------------------------- 1 | Imports System.Runtime.InteropServices 2 | 3 | _ 4 | Public Structure SourceMdlAnimationValue2531 5 | 6 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\Public\studio.h 7 | '// animation frames 8 | 'union mstudioanimvalue_t 9 | '{ 10 | ' struct 11 | ' { 12 | ' byte valid; 13 | ' byte total; 14 | ' } num; 15 | ' short value; 16 | '}; 17 | 18 | 19 | Public valid As Byte 20 | Public total As Byte 21 | 22 | Public value As Short 23 | 24 | End Structure 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlAxisInterpBone2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAxisInterpBone2531 2 | 3 | Public Sub New() 4 | For i As Integer = 0 To pos.Length - 1 5 | pos(i) = New SourceVector() 6 | Next 7 | For i As Integer = 0 To quat.Length - 1 8 | quat(i) = New SourceQuaternion() 9 | Next 10 | End Sub 11 | 12 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 13 | 'struct mstudioaxisinterpbone_t 14 | '{ 15 | ' int control;// local transformation of this bone used to calc 3 point blend 16 | ' int axis; // axis to check 17 | ' Vector pos[6]; // X+, X-, Y+, Y-, Z+, Z- 18 | ' Quaternion quat[6];// X+, X-, Y+, Y-, Z+, Z- 19 | '}; 20 | 21 | Public controlBoneIndex As Integer 22 | Public axis As Integer 23 | Public pos(5) As SourceVector 24 | Public quat(5) As SourceQuaternion 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlBodyPart2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudiobodyparts_t 5 | '{ 6 | ' int sznameindex; 7 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 8 | ' int nummodels; 9 | ' int base; 10 | ' int modelindex; // index into models array 11 | ' inline mstudiomodel_t *pModel( int i ) const { return (mstudiomodel_t *)(((byte *)this) + modelindex) + i; }; 12 | '}; 13 | 14 | Public nameOffset As Integer 15 | Public modelCount As Integer 16 | Public base As Integer 17 | Public modelOffset As Integer 18 | 19 | 20 | Public theName As String 21 | Public theModels As List(Of SourceMdlModel2531) 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlBoneController2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneController2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudiobonecontroller_t 5 | '{ 6 | ' int bone; // -1 == 0 7 | ' int type; // X, Y, Z, XR, YR, ZR, M 8 | ' float start; 9 | ' float end; 10 | ' int rest; // byte index value at rest 11 | ' int inputfield; // 0-3 user set controller, 4 mouth 12 | ' char padding[32]; // future expansion. 13 | '}; 14 | 15 | Public boneIndex As Integer 16 | Public type As Integer 17 | Public startAngleDegrees As Double 18 | Public endAngleDegrees As Double 19 | Public restIndex As Integer 20 | Public inputField As Integer 21 | Public unused(31) As Integer 22 | 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlHitboxSet2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudiohitboxset_t 5 | '{ 6 | ' int sznameindex; 7 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 8 | ' int numhitboxes; 9 | ' int hitboxindex; 10 | ' inline mstudiobbox_t *pHitbox( int i ) const { return (mstudiobbox_t *)(((byte *)this) + hitboxindex) + i; }; 11 | '}; 12 | 13 | Public nameOffset As Integer 14 | Public hitboxCount As Integer 15 | Public hitboxOffset As Integer 16 | 17 | 18 | Public theName As String 19 | Public theHitboxes As List(Of SourceMdlHitbox2531) 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlIncludeModel2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIncludeModel2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudiomodelgroup_t // f64: + 5 | '{ 6 | ' int szlabelindex; 7 | ' inline char * const pszLabel( void ) const { return ((char *)this) + szlabelindex; } 8 | ' 9 | ' int unk; 10 | ' int unk2; 11 | ' 12 | ' int unknum; 13 | ' int unkindex; 14 | ' 15 | ' int minone[24]; 16 | '}; 17 | 18 | Public fileNameOffset As Integer 19 | Public unknown(27) As Integer 20 | 21 | Public theFileName As String 22 | Public theLabel As String 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlPoseParamDesc2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlPoseParamDesc2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudioposeparamdesc_t 5 | '{ 6 | ' int sznameindex; 7 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 8 | ' int flags; // ???? 9 | ' float start; // starting value 10 | ' float end; // ending value 11 | ' float loop; // looping range, 0 for no looping, 360 for rotations, etc. 12 | '}; 13 | 14 | Public nameOffset As Integer 15 | Public flags As Integer 16 | Public startingValue As Double 17 | Public endingValue As Double 18 | Public loopingRange As Double 19 | 20 | 21 | Public theName As String 22 | 23 | End Class 24 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpBone2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlQuatInterpBone2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudioquatinterpbone_t 5 | '{ 6 | ' int control;// local transformation to check 7 | ' int numtriggers; 8 | ' int triggerindex; 9 | ' inline mstudioquatinterpinfo_t *pTrigger( int i ) const { return (mstudioquatinterpinfo_t *)(((byte *)this) + triggerindex) + i; }; 10 | '}; 11 | 12 | Public controlBoneIndex As Integer 13 | Public triggerCount As Integer 14 | Public triggerOffset As Integer 15 | 16 | 17 | Public theTriggers As List(Of SourceMdlQuatInterpInfo2531) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlQuatInterpInfo2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlQuatInterpInfo2531 2 | 3 | 'FROM: Bloodlines SDK source 2015-06-16\sdk-src (16.06.2015)\src\public\studio.h 4 | 'struct mstudioquatinterpinfo_t 5 | '{ 6 | ' float inv_tolerance; // 1 / radian angle of trigger influence 7 | ' Quaternion trigger; // angle to match 8 | ' Vector pos; // new position 9 | ' Quaternion quat; // new angle 10 | '}; 11 | 12 | Public inverseToleranceAngle As Double 13 | Public trigger As New SourceQuaternion() 14 | Public pos As New SourceVector() 15 | Public quat As New SourceQuaternion() 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlTangent2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlTangent2531 2 | 3 | Public x As Double 4 | Public y As Double 5 | Public z As Double 6 | Public w As Double 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel2531/SourceMdlFileData/SourceMdlType2Vertex2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlType2Vertex2531 2 | 3 | Public positionX As Byte 4 | Public positionY As Byte 5 | Public positionZ As Byte 6 | 'Public positionX As SByte 7 | 'Public positionY As SByte 8 | 'Public positionZ As SByte 9 | 10 | Public normalX As Byte 11 | Public normalY As Byte 12 | 'NOTE: Yes, this is intentionally out of expected order. 13 | Public texCoordU As Byte 14 | Public normalZ As Byte 15 | Public texCoordV As Byte 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlBodyPart27.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart27 2 | 3 | Public nameOffset As Integer 4 | Public modelCount As Integer 5 | Public base As Integer 6 | Public modelOffset As Integer 7 | 8 | Public theModels As List(Of SourceMdlModel27) 9 | Public theName As String 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlBoneWeight27.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneWeight27 2 | 3 | Public weight(3) As Double 4 | Public bone(3) As Int32 5 | Public boneCount As Short 6 | Public material As Short 7 | Public firstRef As Short 8 | Public lastRef As Short 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel27/SourceMdlFileData/SourceMdlMesh27.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh27 2 | 3 | Public materialIndex As Integer 4 | Public modelOffset As Integer 5 | 6 | Public vertexCount As Integer 7 | Public vertexIndexStart As Integer 8 | Public flexCount As Integer 9 | Public flexOffset As Integer 10 | Public materialType As Integer 11 | Public materialParam As Integer 12 | 13 | Public id As Integer 14 | Public center As New SourceVector() 15 | 16 | Public unused(11) As Integer 17 | 18 | 'Public theFlexes As List(Of SourceMdlFlex37) 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlBodyPart28.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart28 2 | 3 | Public nameOffset As Integer 4 | Public modelCount As Integer 5 | Public base As Integer 6 | Public modelOffset As Integer 7 | 8 | Public theModels As List(Of SourceMdlModel28) 9 | Public theName As String 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlBoneWeight28.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneWeight28 2 | 3 | Public weight(3) As Double 4 | Public bone(3) As Int32 5 | Public boneCount As Short 6 | Public material As Short 7 | Public firstRef As Short 8 | Public lastRef As Short 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel28/SourceMdlFileData/SourceMdlMesh28.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh28 2 | 3 | Public materialIndex As Integer 4 | Public modelOffset As Integer 5 | 6 | Public vertexCount As Integer 7 | Public vertexIndexStart As Integer 8 | Public flexCount As Integer 9 | Public flexOffset As Integer 10 | Public materialType As Integer 11 | Public materialParam As Integer 12 | 13 | Public id As Integer 14 | Public center As New SourceVector() 15 | 16 | Public unused(11) As Integer 17 | 18 | 'Public theFlexes As List(Of SourceMdlFlex37) 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlAnimGroup31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimGroup31 2 | 3 | Public group As Integer 4 | Public index As Integer 5 | 6 | End Class 7 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlBodyPart31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart31 2 | 3 | Public nameOffset As Integer 4 | Public modelCount As Integer 5 | Public base As Integer 6 | Public modelOffset As Integer 7 | 8 | Public theModels As List(Of SourceMdlModel31) 9 | Public theName As String 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlBoneWeight31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneWeight31 2 | 3 | Public weight(3) As Double 4 | Public bone(3) As Short 5 | Public boneCount As Short 6 | Public material As Short 7 | Public firstRef As Short 8 | Public lastRef As Short 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlHitbox31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitbox31 2 | 3 | Public boneIndex As Integer 4 | Public groupIndex As Integer 5 | Public boundingBoxMin As New SourceVector() 6 | Public boundingBoxMax As New SourceVector() 7 | 8 | End Class 9 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlHitboxSet31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet31 2 | 3 | Public nameOffset As Integer 4 | Public hitboxCount As Integer 5 | Public hitboxOffset As Integer 6 | 7 | Public theName As String 8 | Public theHitboxes As List(Of SourceMdlHitbox31) 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlMesh31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlMesh31 2 | 3 | Public materialIndex As Integer 4 | Public modelOffset As Integer 5 | 6 | Public vertexCount As Integer 7 | Public vertexIndexStart As Integer 8 | Public flexCount As Integer 9 | Public flexOffset As Integer 10 | Public materialType As Integer 11 | Public materialParam As Integer 12 | 13 | Public id As Integer 14 | Public center As New SourceVector() 15 | Public unused(4) As Integer 16 | 17 | 'Public theFlexes As List(Of SourceMdlFlex37) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlSequenceGroup31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceGroup31 2 | 3 | Public nameOffset As Integer 4 | Public fileNameOffset As Integer 5 | 6 | Public cacheOffset As Integer 7 | Public data As Integer 8 | 9 | Public theName As String 10 | Public theFileName As String 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlTexture31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlTexture31 2 | 3 | Public fileNameOffset As Integer 4 | Public flags As Integer 5 | Public width As Double 6 | Public height As Double 7 | Public worldUnitsPerU As Double 8 | Public worldUnitsPerV As Double 9 | Public unknown(1) As Integer 10 | 11 | Public thePathFileName As String 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel31/SourceMdlFileData/SourceMdlVertex31.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertex31 2 | 3 | Public Sub New() 4 | Me.boneWeight = New SourceMdlBoneWeight31() 5 | Me.position = New SourceVector() 6 | Me.normal = New SourceVector() 7 | End Sub 8 | 9 | Public boneWeight As SourceMdlBoneWeight31 10 | Public position As SourceVector 11 | Public normal As SourceVector 12 | Public texCoordX As Double 13 | Public texCoordY As Double 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlHitbox32.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitbox32 2 | 3 | 'struct mstudiobbox_t 4 | '{ 5 | ' int bone; 6 | ' int group; // intersection group 7 | ' Vector bbmin; // bounding box 8 | ' Vector bbmax; 9 | ' int szhitboxnameindex; // offset to the name of the hitbox. 10 | ' char padding[32]; // future expansion. 11 | ' 12 | ' char* pszHitboxName() 13 | ' { 14 | ' if( szhitboxnameindex == 0 ) 15 | ' return ""; 16 | ' 17 | ' return ((char*)this) + szhitboxnameindex; 18 | ' } 19 | '}; 20 | 21 | Public boneIndex As Integer 22 | Public groupIndex As Integer 23 | Public boundingBoxMin As New SourceVector() 24 | Public boundingBoxMax As New SourceVector() 25 | 'Public nameOffset As Integer 26 | 'Public unused(31) As Byte 27 | 28 | Public theName As String 29 | 30 | End Class 31 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel32/SourceMdlFileData/SourceMdlHitboxSet32.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet32 2 | 3 | 'struct mstudiohitboxset_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int numhitboxes; 8 | ' int hitboxindex; 9 | ' inline mstudiobbox_t *pHitbox( int i ) const { return (mstudiobbox_t *)(((byte *)this) + hitboxindex) + i; }; 10 | '}; 11 | 12 | Public nameOffset As Integer 13 | Public hitboxCount As Integer 14 | Public hitboxOffset As Integer 15 | 16 | Public theName As String 17 | Public theHitboxes As List(Of SourceMdlHitbox32) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/FlexFrame37.vb: -------------------------------------------------------------------------------- 1 | Public Class FlexFrame37 2 | 3 | Public flexName As String 4 | Public flexDescription As String 5 | 'NOTE: Confirmed that MDL v37 does not have "flexpair" option. 6 | ' No "flexpair" found in MDL v37 studiomdl.exe but was found in MDL v44 (Half-Life 2) studiomdl.exe. 7 | ' Also, SourceMdlFlex37 does not have the "flexDescPartnerIndex" field. 8 | 'Public flexHasPartner As Boolean 9 | Public flexSplit As Double 10 | Public bodyAndMeshVertexIndexStarts As List(Of Integer) 11 | Public flexes As List(Of SourceMdlFlex37) 12 | Public meshIndexes As List(Of Integer) 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAnimGroup37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAnimGroup37 2 | 3 | 'struct mstudioanimgroup_t 4 | '{ 5 | ' int group; // Sequence group 6 | ' int index; // Animation index 7 | '}; 8 | 9 | Public group As Integer 10 | Public index As Integer 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAttachment37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAttachment37 2 | 3 | 'struct mstudioattachment_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int type; 8 | ' int bone; 9 | ' matrix3x4_t local; // attachment point 10 | '}; 11 | 12 | Public nameOffset As Integer 13 | Public type As Integer 14 | Public boneIndex As Integer 15 | Public localM11 As Single 16 | Public localM12 As Single 17 | Public localM13 As Single 18 | Public localM14 As Single 19 | Public localM21 As Single 20 | Public localM22 As Single 21 | Public localM23 As Single 22 | Public localM24 As Single 23 | Public localM31 As Single 24 | Public localM32 As Single 25 | Public localM33 As Single 26 | Public localM34 As Single 27 | 28 | Public theName As String 29 | 30 | End Class 31 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlAutoLayer37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlAutoLayer37 2 | 3 | 'struct mstudioautolayer_t 4 | '{ 5 | ' int iSequence; 6 | ' int flags; 7 | ' float start; // beginning of influence 8 | ' float peak; // start of full influence 9 | ' float tail; // end of full influence 10 | ' float end; // end of all influence 11 | '}; 12 | 13 | Public sequenceIndex As Integer 14 | Public flags As Integer 15 | Public influenceStart As Double 16 | Public influencePeak As Double 17 | Public influenceTail As Double 18 | Public influenceEnd As Double 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBodyPart37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBodyPart37 2 | 3 | 'struct mstudiobodyparts_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int nummodels; 8 | ' int base; 9 | ' int modelindex; // index into models array 10 | ' inline mstudiomodel_t *pModel( int i ) const { return (mstudiomodel_t *)(((byte *)this) + modelindex) + i; }; 11 | '}; 12 | 13 | Public nameOffset As Integer 14 | Public modelCount As Integer 15 | Public base As Integer 16 | Public modelOffset As Integer 17 | 18 | Public theModels As List(Of SourceMdlModel37) 19 | Public theName As String 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlBoneWeight37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlBoneWeight37 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\Public\studio.h 4 | '// 16 bytes 5 | 'struct mstudioboneweight_t 6 | '{ 7 | ' float weight[4]; 8 | ' short bone[4]; 9 | ' 10 | ' short numbones; 11 | ' short material; 12 | ' 13 | ' short firstref; 14 | ' short lastref; 15 | '}; 16 | 17 | Public weight(3) As Double 18 | Public bone(3) As Short 19 | Public boneCount As Short 20 | Public material As Short 21 | Public firstRef As Short 22 | Public lastRef As Short 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlEvent37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlEvent37 2 | 3 | 'struct mstudioevent_t 4 | '{ 5 | ' float cycle; 6 | ' int event; 7 | ' int type; 8 | ' char options[64]; 9 | '}; 10 | 11 | Public cycle As Double 12 | Public eventIndex As Integer 13 | 'NOTE: Does not seem to be used, even though it takes up space in the MDL file. 14 | Public eventType As Integer 15 | Public options(63) As Char 16 | 17 | End Class 18 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlFlex37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFlex37 2 | 3 | 'struct mstudioflex_t 4 | '{ 5 | ' int flexdesc; // input value 6 | ' 7 | ' float target0; // zero 8 | ' float target1; // one 9 | ' float target2; // one 10 | ' float target3; // zero 11 | ' 12 | ' int numverts; 13 | ' int vertindex; 14 | ' inline mstudiovertanim_t *pVertanim( int i ) const { return (mstudiovertanim_t *)(((byte *)this) + vertindex) + i; }; 15 | '}; 16 | 17 | Public flexDescIndex As Integer 18 | 19 | Public target0 As Double 20 | Public target1 As Double 21 | Public target2 As Double 22 | Public target3 As Double 23 | 24 | Public vertCount As Integer 25 | Public vertOffset As Integer 26 | 27 | Public theVertAnims As List(Of SourceMdlVertAnim37) 28 | 29 | End Class 30 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlHitbox37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitbox37 2 | 3 | 'struct mstudiobbox_t 4 | '{ 5 | ' int bone; 6 | ' int group; // intersection group 7 | ' Vector bbmin; // bounding box 8 | ' Vector bbmax; 9 | ' int szhitboxnameindex; // offset to the name of the hitbox. 10 | ' char padding[32]; // future expansion. 11 | ' 12 | ' char* pszHitboxName() 13 | ' { 14 | ' if( szhitboxnameindex == 0 ) 15 | ' return ""; 16 | ' 17 | ' return ((char*)this) + szhitboxnameindex; 18 | ' } 19 | '}; 20 | 21 | Public boneIndex As Integer 22 | Public groupIndex As Integer 23 | Public boundingBoxMin As New SourceVector() 24 | Public boundingBoxMax As New SourceVector() 25 | Public nameOffset As Integer 26 | Public unused(31) As Byte 27 | 28 | Public theName As String 29 | 30 | End Class 31 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlHitboxSet37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlHitboxSet37 2 | 3 | 'struct mstudiohitboxset_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int numhitboxes; 8 | ' int hitboxindex; 9 | ' inline mstudiobbox_t *pHitbox( int i ) const { return (mstudiobbox_t *)(((byte *)this) + hitboxindex) + i; }; 10 | '}; 11 | 12 | Public nameOffset As Integer 13 | Public hitboxCount As Integer 14 | Public hitboxOffset As Integer 15 | 16 | Public theName As String 17 | Public theHitboxes As List(Of SourceMdlHitbox37) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkChain37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkChain37 2 | 3 | 'struct mstudioikchain_t 4 | '{ 5 | ' int sznameindex; 6 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 7 | ' int linktype; 8 | ' int numlinks; 9 | ' int linkindex; 10 | ' inline mstudioiklink_t *pLink( int i ) const { return (mstudioiklink_t *)(((byte *)this) + linkindex) + i; }; 11 | '}; 12 | 13 | Public nameOffset As Integer 14 | Public linkType As Integer 15 | Public linkCount As Integer 16 | Public linkOffset As Integer 17 | 18 | Public theLinks As List(Of SourceMdlIkLink37) 19 | Public theName As String 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkError37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkError37 2 | 3 | 'struct mstudioikerror_t 4 | '{ 5 | ' Vector pos; 6 | ' Quaternion q; 7 | '}; 8 | 9 | Public pos As SourceVector 10 | Public q As SourceQuaternion 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkLink37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkLink37 2 | 3 | 'struct mstudioiklink_t 4 | '{ 5 | ' int bone; 6 | ' Vector contact; 7 | ' Vector limits; 8 | '}; 9 | 10 | Public boneIndex As Integer 11 | Public contact As New SourceVector() 12 | Public limits As New SourceVector() 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlIkLock37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlIkLock37 2 | 3 | 'struct mstudioiklock_t 4 | '{ 5 | ' int chain; 6 | ' float flPosWeight; 7 | ' float flLocalQWeight; 8 | '}; 9 | 10 | Public chainIndex As Integer 11 | Public posWeight As Double 12 | Public localQWeight As Double 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlSequenceGroup37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlSequenceGroup37 2 | 3 | 'struct mstudioseqgroup_t 4 | '{ 5 | ' int szlabelindex; // textual name 6 | ' inline char * const pszLabel( void ) const { return ((char *)this) + szlabelindex; } 7 | ' 8 | ' int sznameindex; // file name 9 | ' inline char * const pszName( void ) const { return ((char *)this) + sznameindex; } 10 | ' 11 | ' int cache; // cache index in the shared model cache 12 | ' int data; // hack for group 0 13 | '}; 14 | 15 | Public nameOffset As Integer 16 | Public fileNameOffset As Integer 17 | 18 | Public cacheOffset As Integer 19 | Public data As Integer 20 | 21 | 'For MDL v35. 22 | Public unknown(7) As Integer 23 | 24 | Public theName As String 25 | Public theFileName As String 26 | 27 | End Class 28 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlVertAnim37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertAnim37 2 | 3 | 'struct mstudiovertanim_t 4 | '{ 5 | ' int index; 6 | ' Vector delta; 7 | ' Vector ndelta; 8 | '}; 9 | 10 | Public index As Integer 11 | Public delta As New SourceVector() 12 | Public nDelta As New SourceVector() 13 | 14 | End Class 15 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel37/SourceMdlFileData/SourceMdlVertex37.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlVertex37 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\Public\studio.h 4 | '// NOTE: This is exactly 64 bytes, two cache lines 5 | 'struct mstudiovertex_t 6 | '{ 7 | ' mstudioboneweight_t m_BoneWeights; 8 | ' Vector m_vecPosition; 9 | ' Vector m_vecNormal; 10 | ' Vector2D m_vecTexCoord; 11 | '}; 12 | 13 | Public Sub New() 14 | Me.boneWeight = New SourceMdlBoneWeight37() 15 | Me.position = New SourceVector() 16 | Me.normal = New SourceVector() 17 | End Sub 18 | 19 | Public boneWeight As SourceMdlBoneWeight37 20 | Public position As SourceVector 21 | Public normal As SourceVector 22 | Public texCoordX As Double 23 | Public texCoordY As Double 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel38/SourceAniFileData/SourceAniFileData38.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceAniFileData38 2 | Inherits SourceAniFileData 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel38/SourceMdlFileData/SourceMdlFileData38.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceMdlFileData38 2 | Inherits SourceMdlFileData 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel38/SourceVvdFileData/SourceVvdFileData38.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVvdFileData38 2 | Inherits SourceVvdFileData 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel44/SourceAniFileData/SourceAniFileData44.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceAniFileData44 2 | Inherits SourceMdlFileData44 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel45/SourceAniFileData/SourceAniFileData45.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceAniFileData45 2 | Inherits SourceMdlFileData45 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel46/SourceAniFileData/SourceAniFileData46.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceAniFileData46 2 | Inherits SourceMdlFileData46 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel48/SourceAniFileData/SourceAniFileData48.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceAniFileData48 2 | Inherits SourceMdlFileData48 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel49/SourceAniFileData/SourceAniFileData49.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceAniFileData49 2 | Inherits SourceMdlFileData49 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceModel52/SourceAniFileData/SourceAniFileData52.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceAniFileData52 2 | Inherits SourceMdlFileData52 3 | 4 | End Class 5 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyEditParamsSection.vb: -------------------------------------------------------------------------------- 1 | Public Class SourcePhyEditParamsSection 2 | 3 | 'fprintf( fp, "editparams {\n" ); 4 | 'KeyWriteString( fp, "rootname", g_JointedModel.m_rootName ); 5 | 'KeyWriteFloat( fp, "totalmass", g_JointedModel.m_totalMass ); 6 | 7 | ' Example: 8 | 'editparams { 9 | '"rootname" "valvebiped.bip01_pelvis" 10 | '"totalmass" "100.000000" 11 | '} 12 | 13 | ' Example from HL2 beta leak alyx.phy: 14 | 'editparams { 15 | '"rootname" "valvebiped.bip01_pelvis" 16 | '"totalmass" "60.000000" 17 | '"jointmerge" "valvebiped.bip01_pelvis,valvebiped.bip01" 18 | '"jointmerge" "valvebiped.bip01_pelvis,valvebiped.bip01_spine1" 19 | '} 20 | 21 | Public concave As String 22 | Public jointMergeMap As Dictionary(Of String, List(Of String)) 23 | Public rootName As String 24 | Public totalMass As Single 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyFace.vb: -------------------------------------------------------------------------------- 1 | Public Class SourcePhyFace 2 | 3 | Public vertexIndex(2) As Integer 4 | 5 | End Class 6 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourcePhyFile/SourcePhyFileData/SourcePhyFaceSection.vb: -------------------------------------------------------------------------------- 1 | Public Class SourcePhyFaceSection 2 | 3 | Public theBoneIndex As Integer 4 | Public theFaces As New List(Of SourcePhyFace)() 5 | Public theVertices As New List(Of SourcePhyVertex)() 6 | 7 | End Class 8 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxBodyPart06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBodyPart06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct BodyPartHeader_t 5 | '{ 6 | ' int numModels; 7 | ' int modelOffset; 8 | ' inline ModelHeader_t *pModel( int i ) const 9 | ' { 10 | ' ModelHeader_t *pDebug = (ModelHeader_t *)(((byte *)this) + modelOffset) + i; 11 | ' return pDebug; 12 | ' }; 13 | '}; 14 | 15 | Public modelCount As Integer 16 | Public modelOffset As Integer 17 | 18 | Public theVtxModels As List(Of SourceVtxModel06) 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxBoneStateChange06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBoneStateChange06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct BoneStateChangeHeader_t 5 | '{ 6 | ' int hardwareID; 7 | ' int newBoneID; 8 | '}; 9 | 10 | Public hardwareId As Integer 11 | Public newBoneId As Integer 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxMaterialReplacement06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacement06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct MaterialReplacementHeader_t 5 | '{ 6 | ' short materialID; 7 | ' int replacementMaterialNameOffset; 8 | ' inline const char *pMaterialReplacementName( void ) 9 | ' { 10 | ' const char *pDebug = (const char *)(((byte *)this) + replacementMaterialNameOffset); 11 | ' return pDebug; 12 | ' } 13 | '}; 14 | 15 | Public materialIndex As Short 16 | Public nameOffset As Integer 17 | 18 | Public theName As String 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxMaterialReplacementList06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacementList06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct MaterialReplacementListHeader_t 5 | '{ 6 | ' int numReplacements; 7 | ' int replacementOffset; 8 | ' inline MaterialReplacementHeader_t *pMaterialReplacement( int i ) const 9 | ' { 10 | ' MaterialReplacementHeader_t *pDebug = ( MaterialReplacementHeader_t *)(((byte *)this) + replacementOffset) + i; 11 | ' return pDebug; 12 | ' } 13 | '}; 14 | 15 | Public replacementCount As Integer 16 | Public replacementOffset As Integer 17 | 18 | Public theVtxMaterialReplacements As List(Of SourceVtxMaterialReplacement06) 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxModel06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModel06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | '// This maps one to one with models in the mdl file. 5 | '// There are a bunch of model LODs stored inside potentially due to the qc $lod command 6 | 'struct ModelHeader_t 7 | '{ 8 | ' int numLODs; // garymcthack - this is also specified in FileHeader_t 9 | ' int lodOffset; 10 | ' inline ModelLODHeader_t *pLOD( int i ) const 11 | ' { 12 | ' ModelLODHeader_t *pDebug = ( ModelLODHeader_t *)(((byte *)this) + lodOffset) + i; 13 | ' return pDebug; 14 | ' }; 15 | '}; 16 | 17 | Public lodCount As Integer 18 | Public lodOffset As Integer 19 | 20 | Public theVtxModelLods As List(Of SourceVtxModelLod06) 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile06/SourceVtxModelLod06.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModelLod06 2 | 3 | 'FROM: The Axel Project - source [MDL v37]\TAPSRC\src\public\optimize.h 4 | 'struct ModelLODHeader_t 5 | '{ 6 | ' int numMeshes; 7 | ' int meshOffset; 8 | ' float switchPoint; 9 | ' inline MeshHeader_t *pMesh( int i ) const 10 | ' { 11 | ' MeshHeader_t *pDebug = (MeshHeader_t *)(((byte *)this) + meshOffset) + i; 12 | ' return pDebug; 13 | ' }; 14 | '}; 15 | 16 | Public meshCount As Integer 17 | Public meshOffset As Integer 18 | Public switchPoint As Single 19 | 20 | Public theVtxMeshes As List(Of SourceVtxMesh06) 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMaterialReplacement07.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacement07 2 | 3 | 'FROM: [48] SourceEngine2007_source se2007_src\src_main\public\optimize.h 4 | 'struct MaterialReplacementHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' short materialID; 8 | ' int replacementMaterialNameOffset; 9 | ' inline const char *pMaterialReplacementName( void ) 10 | ' { 11 | ' const char *pDebug = (const char *)(((byte *)this) + replacementMaterialNameOffset); 12 | ' return pDebug; 13 | ' } 14 | '}; 15 | 16 | Public materialIndex As Short 17 | Public nameOffset As Integer 18 | 19 | Public theName As String 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile07/SourceVtxMaterialReplacementList07.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxMaterialReplacementList07 2 | 3 | 'FROM: [48] SourceEngine2007_source se2007_src\src_main\public\optimize.h 4 | 'struct MaterialReplacementListHeader_t 5 | '{ 6 | ' DECLARE_BYTESWAP_DATADESC(); 7 | ' int numReplacements; 8 | ' int replacementOffset; 9 | ' inline MaterialReplacementHeader_t *pMaterialReplacement( int i ) const 10 | ' { 11 | ' MaterialReplacementHeader_t *pDebug = ( MaterialReplacementHeader_t *)(((byte *)this) + replacementOffset) + i; 12 | ' return pDebug; 13 | ' } 14 | '}; 15 | 16 | Public replacementCount As Integer 17 | Public replacementOffset As Integer 18 | 19 | Public theVtxMaterialReplacements As List(Of SourceVtxMaterialReplacement07) 20 | 21 | End Class 22 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVertex2531.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVertex2531 2 | 3 | Public weight(MAX_NUM_BONES_PER_VERT - 1) As Double 4 | Public boneIndex(MAX_NUM_BONES_PER_VERT - 1) As Integer 5 | Public boneCount As Integer 6 | 7 | Public position As New SourceVector() 8 | Public normal As New SourceVector() 9 | Public texCoordX As Double 10 | Public texCoordY As Double 11 | 12 | End Class 13 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxBodyPart107.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBodyPart107 2 | 3 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h 4 | 'struct BodyPartHeader_t 5 | '{ 6 | ' int numModels; 7 | ' int modelOffset; 8 | ' inline ModelHeader_t *pModel( int i ) const 9 | ' { 10 | ' ModelHeader_t *pDebug = (ModelHeader_t *)(((byte *)this) + modelOffset) + i; 11 | ' return pDebug; 12 | ' }; 13 | '}; 14 | 15 | Public modelCount As Integer 16 | Public modelOffset As Integer 17 | 18 | 19 | 20 | Public theVtxModels As List(Of SourceVtxModel107) 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxBoneStateChange107.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxBoneStateChange107 2 | 3 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h 4 | 'struct BoneStateChangeHeader_t 5 | '{ 6 | ' int hardwareID; 7 | ' int newBoneID; 8 | '}; 9 | 10 | 'Public hardwareId As Integer 11 | 'Public newBoneId As Integer 12 | Public hardwareId As Short 13 | Public newBoneId As Short 14 | 15 | End Class 16 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxModel107.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModel107 2 | 3 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h 4 | '// This maps one to one with models in the mdl file. 5 | '// There are a bunch of model LODs stored inside potentially due to the qc $lod command 6 | 'struct ModelHeader_t 7 | '{ 8 | ' int numLODs; // garymcthack - this is also specified in FileHeader_t 9 | ' int lodOffset; 10 | ' inline ModelLODHeader_t *pLOD( int i ) const 11 | ' { 12 | ' ModelLODHeader_t *pDebug = ( ModelLODHeader_t *)(((byte *)this) + lodOffset) + i; 13 | ' return pDebug; 14 | ' }; 15 | '}; 16 | 17 | Public lodCount As Integer 18 | Public lodOffset As Integer 19 | 20 | 21 | 22 | Public theVtxModelLods As List(Of SourceVtxModelLod107) 23 | 24 | End Class 25 | -------------------------------------------------------------------------------- /Crowbar/Core/SourceModel/SourceVtxFile/SourceVtxFile107/SourceVtxModelLod107.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceVtxModelLod107 2 | 3 | 'FROM: SourceEngine2003_source HL2 Beta 2003\src_main\common\optimize.h 4 | 'struct ModelLODHeader_t 5 | '{ 6 | ' int numMeshes; 7 | ' int meshOffset; 8 | ' float switchPoint; 9 | ' inline MeshHeader_t *pMesh( int i ) const 10 | ' { 11 | ' MeshHeader_t *pDebug = (MeshHeader_t *)(((byte *)this) + meshOffset) + i; 12 | ' return pDebug; 13 | ' }; 14 | '}; 15 | 16 | Public meshCount As Integer 17 | Public meshOffset As Integer 18 | ' Is this the "threshold" value for the QC file's $lod command? Seems to be, based on MDLDecompiler's conversion of producer.mdl. 19 | Public switchPoint As Double 20 | 21 | 22 | 23 | Public theVtxMeshes As List(Of SourceVtxMesh107) 24 | 25 | End Class 26 | -------------------------------------------------------------------------------- /Crowbar/Core/SourcePackage/- Base/BasePackageDirectoryEntry.vb: -------------------------------------------------------------------------------- 1 | Public Class BasePackageDirectoryEntry 2 | 3 | Public Sub New() 4 | MyBase.New() 5 | 6 | ' Write this value to avoid using multi-chunk stuff. 7 | Me.archiveIndex = &H7FFF 8 | End Sub 9 | 10 | Public crc As UInt32 11 | Public archiveIndex As UInt16 12 | 13 | Public thePathFileName As String 14 | Public theRealPathFileName As String 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/Core/SourcePackage/- Base/BasePackageFileData.vb: -------------------------------------------------------------------------------- 1 | Public MustInherit Class BasePackageFileData 2 | Inherits SourceFileData 3 | 4 | Public Sub New() 5 | MyBase.New() 6 | 7 | Me.theEntries = New List(Of BasePackageDirectoryEntry)() 8 | Me.theEntryDataOutputTexts = New List(Of String)() 9 | End Sub 10 | 11 | Public MustOverride ReadOnly Property IsSourcePackage() As Boolean 12 | Public MustOverride ReadOnly Property FileExtension() As String 13 | Public MustOverride ReadOnly Property DirectoryFileNameSuffix() As String 14 | Public MustOverride ReadOnly Property DirectoryFileNameSuffixWithExtension() As String 15 | 16 | Public theEntries As List(Of BasePackageDirectoryEntry) 17 | Public theEntryDataOutputTexts As List(Of String) 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SourcePackage/GmaFormat/GmaDirectoryEntry.vb: -------------------------------------------------------------------------------- 1 | Public Class GmaDirectoryEntry 2 | Inherits BasePackageDirectoryEntry 3 | 4 | 'FROM: Garry's Mod Addon Tool source gmad-master\gmad-master\include\AddonFormat.h 5 | ' struct FileEntry 6 | ' { 7 | ' Bootil::BString strName; 8 | ' long long iSize; 9 | ' unsigned long iCRC; 10 | ' unsigned int iFileNumber; 11 | ' long long iOffset; 12 | ' 13 | ' typedef std::list< FileEntry > List; 14 | ' }; 15 | 16 | Public fileNumberStored As UInt32 17 | Public size As Int64 18 | 19 | Public offset As Int64 20 | Public fileNumberUsed As UInt32 21 | 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/Steam/SteamPipeEventArgs.vb: -------------------------------------------------------------------------------- 1 | Imports System.Collections.ObjectModel 2 | Imports Crowbar 3 | 4 | Public Class SteamPipeEventArgs 5 | Inherits EventArgs 6 | 7 | Public Sub New(ByVal message As String) 8 | theMessage = message 9 | End Sub 10 | 11 | Public ReadOnly Property Message As String 12 | Get 13 | Return theMessage 14 | End Get 15 | End Property 16 | 17 | Private theMessage As String 18 | 19 | Public Shared Widening Operator CType(v As SteamPipeEventArgs) As String 20 | Throw New NotImplementedException() 21 | End Operator 22 | End Class 23 | -------------------------------------------------------------------------------- /Crowbar/Core/SteamAppInfos/AnarchyArcadeSteamAppInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | Imports System.IO 3 | Imports Steamworks 4 | 5 | Public Class AnarchyArcadeSteamAppInfo 6 | Inherits SteamAppInfoBase 7 | 8 | Public Sub New() 9 | MyBase.New() 10 | 11 | Me.ID = New AppId_t(266430) 12 | Me.Name = "Anarchy Arcade" 13 | Me.UsesSteamUGC = True 14 | Me.CanUseContentFolderOrFile = False 15 | 'Me.ContentFileExtensionsAndDescriptions.Add("vpk", "Source Engine VPK Files") 16 | Me.TagsControlType = GetType(AnarchyArcadeTagsUserControl) 17 | End Sub 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SteamAppInfos/BlackMesaSteamAppInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | Imports System.IO 3 | Imports Steamworks 4 | 5 | Public Class BlackMesaSteamAppInfo 6 | Inherits SteamAppInfoBase 7 | 8 | Public Sub New() 9 | MyBase.New() 10 | 11 | Me.ID = New AppId_t(362890) 12 | Me.Name = "Black Mesa" 13 | Me.UsesSteamUGC = True 14 | Me.CanUseContentFolderOrFile = False 15 | 'Me.ContentFileExtensionsAndDescriptions.Add("vpk", "Source Engine VPK Files") 16 | Me.TagsControlType = GetType(BlackMesaTagsUserControl) 17 | End Sub 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SteamAppInfos/ContagionSteamAppInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | Imports System.IO 3 | Imports Steamworks 4 | 5 | Public Class ContagionSteamAppInfo 6 | Inherits SteamAppInfoBase 7 | 8 | Public Sub New() 9 | MyBase.New() 10 | 11 | Me.ID = New AppId_t(238430) 12 | Me.Name = "Contagion" 13 | Me.UsesSteamUGC = True 14 | Me.CanUseContentFolderOrFile = True 15 | Me.ContentFileExtensionsAndDescriptions.Add("vpk", "Source Engine VPK Files") 16 | Me.TagsControlType = GetType(ContagionTagsUserControl) 17 | End Sub 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SteamAppInfos/Left4Dead2SteamAppInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | Imports System.IO 3 | Imports Steamworks 4 | 5 | Public Class Left4Dead2SteamAppInfo 6 | Inherits SteamAppInfoBase 7 | 8 | Public Sub New() 9 | MyBase.New() 10 | 11 | Me.ID = New AppId_t(550) 12 | Me.Name = "Left 4 Dead 2" 13 | Me.UsesSteamUGC = False 14 | Me.CanUseContentFolderOrFile = False 15 | Me.ContentFileExtensionsAndDescriptions.Add("vpk", "Source Engine VPK Files") 16 | Me.TagsControlType = GetType(Left4Dead2TagsUserControl) 17 | End Sub 18 | 19 | End Class 20 | -------------------------------------------------------------------------------- /Crowbar/Core/SteamAppInfos/ZombiePanicSourceSteamAppInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | Imports System.IO 3 | Imports Steamworks 4 | 5 | Public Class ZombiePanicSourceSteamAppInfo 6 | Inherits SteamAppInfoBase 7 | 8 | Public Sub New() 9 | MyBase.New() 10 | 11 | Me.ID = New AppId_t(17500) 12 | Me.Name = "Zombie Panic! Source" 13 | Me.UsesSteamUGC = True 14 | Me.CanUseContentFolderOrFile = False 15 | 'Me.ContentFileExtensionsAndDescriptions.Add("vpk", "Source Engine VPK Files") 16 | Me.TagsControlType = GetType(ZombiePanicSourceTagsUserControl) 17 | End Sub 18 | 19 | Public Enum ZombiePanicSourceTypeTags 20 | GameMode 21 | CustomModels 22 | CustomSounds 23 | Miscellaneous 24 | End Enum 25 | 26 | End Class 27 | -------------------------------------------------------------------------------- /Crowbar/Core/Unpacker/SearchOutputInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | 3 | Public Class SearchOutputInfo 4 | 5 | Public currentResultsTreeNode As TreeNode 6 | Public nodeClone As TreeNode 7 | Public currentResultsTreeNodeList As List(Of PackageResourceFileNameInfo) 8 | Public resultsCount As Integer 9 | 10 | End Class 11 | -------------------------------------------------------------------------------- /Crowbar/Core/Unpacker/UnpackerInputInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | 3 | Public Class UnpackerInputInfo 4 | 5 | Public theArchiveAction As ArchiveAction 6 | 'Public theArchiveEntryIndexes As List(Of Integer) 7 | 'Public theEntries As List(Of VpkDirectoryEntry) 8 | Public theArchivePathFileNameToEntryIndexesMap As SortedList(Of String, List(Of Integer)) 9 | Public theGamePath As String 10 | 11 | End Class 12 | -------------------------------------------------------------------------------- /Crowbar/Core/Unpacker/UnpackerOutputInfo.vb: -------------------------------------------------------------------------------- 1 | Imports System.ComponentModel 2 | 3 | Public Class UnpackerOutputInfo 4 | 5 | Public theStatus As AppEnums.StatusMessage 6 | Public theUnpackedRelativePathFileNames As List(Of String) 7 | 'Public unpackerAction As VpkAppAction 8 | 9 | End Class 10 | -------------------------------------------------------------------------------- /Crowbar/Core/Viewer/ViewerInfo.vb: -------------------------------------------------------------------------------- 1 | Public Class ViewerInfo 2 | 3 | Public viewerAction As ViewerActionType 4 | Public gameSetupSelectedIndex As Integer 5 | Public mdlPathFileName As String 6 | Public viewAsReplacement As Boolean 7 | Public viewAsReplacementExtraSubfolder As String 8 | Public mdlVersionOverride As SupportedMdlVersion 9 | 10 | Public Enum ViewerActionType 11 | GetData 12 | ViewModel 13 | OpenViewer 14 | End Enum 15 | 16 | End Class 17 | -------------------------------------------------------------------------------- /Crowbar/My Project/Application.Designer.vb: -------------------------------------------------------------------------------- 1 | '------------------------------------------------------------------------------ 2 | ' 3 | ' This code was generated by a tool. 4 | ' Runtime Version:4.0.30319.18408 5 | ' 6 | ' Changes to this file may cause incorrect behavior and will be lost if 7 | ' the code is regenerated. 8 | ' 9 | '------------------------------------------------------------------------------ 10 | 11 | Option Strict On 12 | Option Explicit On 13 | 14 | -------------------------------------------------------------------------------- /Crowbar/My Project/Application.myapp: -------------------------------------------------------------------------------- 1 |  2 | 3 | false 4 | MainForm 5 | false 6 | 0 7 | true 8 | 0 9 | true 10 | -------------------------------------------------------------------------------- /Crowbar/My Project/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Crowbar/Widgets/- Application/AgreementRequiresAcceptanceForm.vb: -------------------------------------------------------------------------------- 1 | Public Class AgreementRequiresAcceptanceForm 2 | 3 | Private Sub OpenSteamSubscriberAgreementButton_Click(sender As Object, e As EventArgs) Handles OpenSteamSubscriberAgreementButton.Click 4 | Me.DialogResult = DialogResult.OK 5 | Me.Close() 6 | End Sub 7 | 8 | Private Sub OpenWorkshopPageButton_Click(sender As Object, e As EventArgs) Handles OpenWorkshopPageButton.Click 9 | Me.DialogResult = DialogResult.Ignore 10 | Me.Close() 11 | End Sub 12 | 13 | Private Sub CancelDeleteButton_Click(sender As Object, e As EventArgs) Handles CancelDeleteButton.Click 14 | Me.DialogResult = DialogResult.Cancel 15 | Me.Close() 16 | End Sub 17 | 18 | End Class -------------------------------------------------------------------------------- /Crowbar/Widgets/- Application/BaseUserControl.vb: -------------------------------------------------------------------------------- 1 | Public Class BaseUserControl 2 | 3 | Public Sub New() 4 | 5 | ' This should allow Forms that inherit from this class and their widgets to use the system font instead of Visual Studio's default of Microsoft Sans Serif. 6 | 'TEST: See if this prevents the overlapping or larger text on Chinese Windows. 7 | Me.Font = New Font(SystemFonts.MessageBoxFont.Name, 8.25) 8 | 9 | ' This call is required by the designer. 10 | InitializeComponent() 11 | End Sub 12 | 13 | End Class 14 | -------------------------------------------------------------------------------- /Crowbar/Widgets/- Application/DeleteItemForm.vb: -------------------------------------------------------------------------------- 1 | Public Class DeleteItemForm 2 | 3 | Private Sub DeleteButton_Click(sender As Object, e As EventArgs) Handles DeleteButton.Click 4 | Me.DialogResult = DialogResult.OK 5 | Me.Close() 6 | End Sub 7 | 8 | Private Sub CancelDeleteButton_Click(sender As Object, e As EventArgs) Handles CancelDeleteButton.Click 9 | Me.DialogResult = DialogResult.Cancel 10 | Me.Close() 11 | End Sub 12 | 13 | End Class -------------------------------------------------------------------------------- /Crowbar/Widgets/- Application/NodeSorter.vb: -------------------------------------------------------------------------------- 1 | Public Class NodeSorter 2 | Implements IComparer 3 | 4 | Public Function Compare(ByVal x As Object, ByVal y As Object) As Integer Implements IComparer.Compare 5 | Dim tx As TreeNode = CType(x, TreeNode) 6 | Dim ty As TreeNode = CType(y, TreeNode) 7 | 8 | If tx.Text.StartsWith("<") AndAlso ty.Text.StartsWith("<") Then 9 | Return String.Compare(tx.Text, ty.Text) 10 | ElseIf tx.Text.StartsWith("<") Then 11 | Return 1 12 | ElseIf ty.Text.StartsWith("<") Then 13 | Return -1 14 | Else 15 | Return String.Compare(tx.Text, ty.Text) 16 | End If 17 | 18 | End Function 19 | 20 | End Class 21 | -------------------------------------------------------------------------------- /Crowbar/Widgets/- General/CheckBoxEx.vb: -------------------------------------------------------------------------------- 1 | Public Class CheckBoxEx 2 | Inherits CheckBox 3 | 4 | Public Sub New() 5 | MyBase.New() 6 | 7 | End Sub 8 | 9 | Public Property IsReadOnly() As Boolean 10 | Get 11 | Return Me.theControlIsReadOnly 12 | End Get 13 | Set(ByVal value As Boolean) 14 | If Me.theControlIsReadOnly <> value Then 15 | Me.theControlIsReadOnly = value 16 | 17 | If Me.theControlIsReadOnly Then 18 | Me.ForeColor = SystemColors.ControlText 19 | Me.BackColor = SystemColors.Control 20 | ' [CheckBoxEx] Maybe: Somehow change backcolor of the box. 21 | ' [CheckBoxEx] Maybe: Somehow disable checkmarking of the box. 22 | Else 23 | Me.ForeColor = SystemColors.ControlText 24 | Me.BackColor = SystemColors.Window 25 | End If 26 | End If 27 | End Set 28 | End Property 29 | 30 | Protected theControlIsReadOnly As Boolean 31 | 32 | End Class 33 | -------------------------------------------------------------------------------- /Crowbar/Widgets/Main Tabs/AboutUserControl.Designer.vb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/Widgets/Main Tabs/AboutUserControl.Designer.vb -------------------------------------------------------------------------------- /Crowbar/Widgets/Publish SteamApp Tags/AnarchyArcadeTagsUserControl.vb: -------------------------------------------------------------------------------- 1 | Public Class AnarchyArcadeTagsUserControl 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/Widgets/Publish SteamApp Tags/BlackMesaTagsUserControl.vb: -------------------------------------------------------------------------------- 1 | Public Class BlackMesaTagsUserControl 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/Widgets/Publish SteamApp Tags/ContagionTagsUserControl.vb: -------------------------------------------------------------------------------- 1 | Public Class ContagionTagsUserControl 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/Widgets/Publish SteamApp Tags/EstrangedActITagsUserControl.vb: -------------------------------------------------------------------------------- 1 | Public Class EstrangedActITagsUserControl 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/Widgets/Publish SteamApp Tags/Left4Dead2TagsUserControl.vb: -------------------------------------------------------------------------------- 1 | Public Class Left4Dead2TagsUserControl 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/Widgets/Publish SteamApp Tags/SourceFilmmakerTagsUserControl.vb: -------------------------------------------------------------------------------- 1 | Public Class SourceFilmmakerTagsUserControl 2 | 3 | End Class 4 | -------------------------------------------------------------------------------- /Crowbar/resources/26_Grey_PayPal_Pill_Button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/26_Grey_PayPal_Pill_Button.png -------------------------------------------------------------------------------- /Crowbar/resources/7zr.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/7zr.exe -------------------------------------------------------------------------------- /Crowbar/resources/CancelRefresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/CancelRefresh.png -------------------------------------------------------------------------------- /Crowbar/resources/CancelSearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/CancelSearch.png -------------------------------------------------------------------------------- /Crowbar/resources/CrowbarGuideBanner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/CrowbarGuideBanner.png -------------------------------------------------------------------------------- /Crowbar/resources/CrowbarLauncher.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/CrowbarLauncher.exe -------------------------------------------------------------------------------- /Crowbar/resources/CrowbarLauncher.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | CrowbarLauncher 6 | 7 | 8 | 9 | 10 | 11 | A strongly-typed resource class, for looking up localized strings, etc. 12 | 13 | 14 | 15 | 16 | Returns the cached ResourceManager instance used by this class. 17 | 18 | 19 | 20 | 21 | Overrides the current thread's CurrentUICulture property for all 22 | resource lookups using this strongly typed resource class. 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Crowbar/resources/EnterArrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/EnterArrow.png -------------------------------------------------------------------------------- /Crowbar/resources/Find.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/Find.png -------------------------------------------------------------------------------- /Crowbar/resources/FindNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/FindNext.png -------------------------------------------------------------------------------- /Crowbar/resources/FindPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/FindPrevious.png -------------------------------------------------------------------------------- /Crowbar/resources/Refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/Refresh.png -------------------------------------------------------------------------------- /Crowbar/resources/Steamworks.NET.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/Steamworks.NET.dll -------------------------------------------------------------------------------- /Crowbar/resources/WordWrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/WordWrap.png -------------------------------------------------------------------------------- /Crowbar/resources/WordWrapOff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/WordWrapOff.png -------------------------------------------------------------------------------- /Crowbar/resources/crowbar_icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/crowbar_icon.ico -------------------------------------------------------------------------------- /Crowbar/resources/crowbar_icon_large.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/crowbar_icon_large.png -------------------------------------------------------------------------------- /Crowbar/resources/lzma.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/lzma.exe -------------------------------------------------------------------------------- /Crowbar/resources/macaw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/macaw.png -------------------------------------------------------------------------------- /Crowbar/resources/steam_api.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UltraTechX/Crowbar-Command-Line/0c5950af196fe1edcce55b2b54d3c159490e5db0/Crowbar/resources/steam_api.dll -------------------------------------------------------------------------------- /License: -------------------------------------------------------------------------------- 1 | This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. 2 | To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/deed.en_US. 3 | 4 | Title of Work: Crowbar Command Line 5 | Attribute work to (credit): ZeqMacaw 6 | Modified By: Fay (UltraTechX) 7 | 8 | If you do make edits and release them, please use a different name than Crowbar 9 | and put your name in a "Modified by:" box in the About window or similar, 10 | so people are not confused which version they are using. 11 | 12 | For example, you could change the main window's title bar from "Crowbar" to "Crowbar Modified by YourName" 13 | and add in a box in About window showing "Modified by: YourName". 14 | 15 | Or rename your version to something completely different 16 | and simply credit ZeqMacaw for providing source code that your modified version is based on. 17 | 18 | 19 | --------------------------------------------------------------------------------