├── .gitignore ├── LICENSE.md ├── MBINCompiler.sln ├── MBINCompiler ├── App.config ├── EXmlFile.cs ├── Half.cs ├── HalfHelper.cs ├── IO.cs ├── MBINCompiler.csproj ├── MBINFile.cs ├── Models │ ├── EXmlBase.cs │ ├── EXmlData.cs │ ├── EXmlProperty.cs │ ├── MBINHeader.cs │ ├── NMSAttribute.cs │ ├── NMSTemplate.cs │ └── Structs │ │ ├── Colour.cs │ │ ├── GcAIShipSpawnData.cs │ │ ├── GcAISpaceshipComponentData.cs │ │ ├── GcAISpaceshipInstanceData.cs │ │ ├── GcAISpaceshipManagerData.cs │ │ ├── GcAISpaceshipMappingData.cs │ │ ├── GcAISpaceshipPreloadCacheData.cs │ │ ├── GcAISpaceshipPreloadCacheDataTable.cs │ │ ├── GcAISpaceshipPreloadList.cs │ │ ├── GcAISpaceshipRoles.cs │ │ ├── GcAISpaceshipTypes.cs │ │ ├── GcActionTrigger.cs │ │ ├── GcActionTriggerState.cs │ │ ├── GcAlienPuzzleEntry.cs │ │ ├── GcAlienPuzzleOption.cs │ │ ├── GcAlienPuzzleTable.cs │ │ ├── GcAlienRace.cs │ │ ├── GcAlienSpeechEntry.cs │ │ ├── GcAlienSpeechTable.cs │ │ ├── GcAnimFrameEvent.cs │ │ ├── GcAsteroidGeneratorAssignment.cs │ │ ├── GcAsteroidGeneratorRing.cs │ │ ├── GcAsteroidGeneratorSlab.cs │ │ ├── GcAsteroidGeneratorSurround.cs │ │ ├── GcAtlasGlobals.cs │ │ ├── GcAudioAreaTriggerComponentData.cs │ │ ├── GcAudioPulseDemo.cs │ │ ├── GcAudioWwiseEvents.cs │ │ ├── GcBeenShotEvent.cs │ │ ├── GcBiomeData.cs │ │ ├── GcBiomeFileList.cs │ │ ├── GcBiomeList.cs │ │ ├── GcBiomeListPerStarType.cs │ │ ├── GcBiomeType.cs │ │ ├── GcBirdData.cs │ │ ├── GcBootLogoData.cs │ │ ├── GcBuildingClassification.cs │ │ ├── GcBuildingClusterPlacement.cs │ │ ├── GcBuildingDefinitionData.cs │ │ ├── GcBuildingDefinitionTable.cs │ │ ├── GcBuildingDensity.cs │ │ ├── GcBuildingDensityLevels.cs │ │ ├── GcBuildingFilename.cs │ │ ├── GcBuildingFilenameList.cs │ │ ├── GcBuildingSpawnData.cs │ │ ├── GcCameraShakeAction.cs │ │ ├── GcCameraShakeCaptureData.cs │ │ ├── GcCameraShakeData.cs │ │ ├── GcCameraShakeMechanicalData.cs │ │ ├── GcColourModifier.cs │ │ ├── GcColourPaletteData.cs │ │ ├── GcCostHealth.cs │ │ ├── GcCostJourneyMilestone.cs │ │ ├── GcCostJourneyStatLevel.cs │ │ ├── GcCostMoney.cs │ │ ├── GcCostProduct.cs │ │ ├── GcCostStanding.cs │ │ ├── GcCostSubstance.cs │ │ ├── GcCostTable.cs │ │ ├── GcCostTableEntry.cs │ │ ├── GcCreatureAudioTable.cs │ │ ├── GcCreatureBaitComponentData.cs │ │ ├── GcCreatureComponentData.cs │ │ ├── GcCreatureData.cs │ │ ├── GcCreatureDataTable.cs │ │ ├── GcCreatureFilename.cs │ │ ├── GcCreatureFilenameTable.cs │ │ ├── GcCreatureFootParticleData.cs │ │ ├── GcCreatureFootParticleSingleData.cs │ │ ├── GcCreatureFullBodyIKComponentData.cs │ │ ├── GcCreatureHealthData.cs │ │ ├── GcCreatureIkData.cs │ │ ├── GcCreatureIkType.cs │ │ ├── GcCreatureInfo.cs │ │ ├── GcCreatureMoveAnimData.cs │ │ ├── GcCreatureMovementData.cs │ │ ├── GcCreatureRoleData.cs │ │ ├── GcCreatureRoleDataTable.cs │ │ ├── GcCreatureRoleDescription.cs │ │ ├── GcCreatureRoleDescriptionTable.cs │ │ ├── GcCreatureRoleFilename.cs │ │ ├── GcCreatureRoleFilenameList.cs │ │ ├── GcCreatureRoleFilenameTable.cs │ │ ├── GcCreatureRoles.cs │ │ ├── GcCreatureSpawnComponentData.cs │ │ ├── GcCreatureSpawnData.cs │ │ ├── GcCreatureStupidName.cs │ │ ├── GcCreatureStupidNameTable.cs │ │ ├── GcCreatureSwarmData.cs │ │ ├── GcCreatureTypes.cs │ │ ├── GcCreatureVocalData.cs │ │ ├── GcCreatureVocalSoundData.cs │ │ ├── GcCustomInventoryComponentData.cs │ │ ├── GcDebrisData.cs │ │ ├── GcDebugOptions.cs │ │ ├── GcDefaultSaveData.cs │ │ ├── GcDestroyAction.cs │ │ ├── GcDestructableComponentData.cs │ │ ├── GcDiscoveryTypes.cs │ │ ├── GcDiscoveryWorth.cs │ │ ├── GcDisplayText.cs │ │ ├── GcDistanceScaleComponentData.cs │ │ ├── GcDoShipFlybyClose.cs │ │ ├── GcDoShipFlybyIntercept.cs │ │ ├── GcDoShipFlybyOverhead.cs │ │ ├── GcDroneComponentData.cs │ │ ├── GcDroneControlData.cs │ │ ├── GcDroneData.cs │ │ ├── GcEncounterComponentData.cs │ │ ├── GcEncyclopediaComponentData.cs │ │ ├── GcEngineComponentData.cs │ │ ├── GcEntitlementRewardData.cs │ │ ├── GcEntitlementRewardsTable.cs │ │ ├── GcEnvironmentSpawnData.cs │ │ ├── GcExactResource.cs │ │ ├── GcExperienceSpawnTable.cs │ │ ├── GcExplosionData.cs │ │ ├── GcExplosionDataTable.cs │ │ ├── GcExternalObjectFileList.cs │ │ ├── GcExternalObjectList.cs │ │ ├── GcExternalObjectListOptions.cs │ │ ├── GcFogProperties.cs │ │ ├── GcFontData.cs │ │ ├── GcFontTable.cs │ │ ├── GcFontTypesEnum.cs │ │ ├── GcGalacticAddressData.cs │ │ ├── GcGalaxyGenerationSetupData.cs │ │ ├── GcGalaxyMarkerSettings.cs │ │ ├── GcGalaxyRenderSetupData.cs │ │ ├── GcGalaxyStarTypes.cs │ │ ├── GcGenericIconTypes.cs │ │ ├── GcGenericRewardTableEntry.cs │ │ ├── GcGoToStateAction.cs │ │ ├── GcHUDComponent.cs │ │ ├── GcHUDImageData.cs │ │ ├── GcHUDLayerData.cs │ │ ├── GcHUDManagerData.cs │ │ ├── GcHUDTextData.cs │ │ ├── GcHazardValues.cs │ │ ├── GcHeavyAirColourData.cs │ │ ├── GcHeavyAirList.cs │ │ ├── GcHeavyAirSetting.cs │ │ ├── GcHeavyAirSettingValues.cs │ │ ├── GcInputActionMapping.cs │ │ ├── GcInteractionActivationCost.cs │ │ ├── GcInteractionBuffer.cs │ │ ├── GcInteractionComponentData.cs │ │ ├── GcInteractionData.cs │ │ ├── GcInteractionType.cs │ │ ├── GcInventoryContainer.cs │ │ ├── GcInventoryElement.cs │ │ ├── GcInventoryIndex.cs │ │ ├── GcInventoryLayout.cs │ │ ├── GcInventoryTable.cs │ │ ├── GcInventoryTableEntry.cs │ │ ├── GcInventoryTechProbability.cs │ │ ├── GcInventoryType.cs │ │ ├── GcItemPriceModifiers.cs │ │ ├── GcJourneyMilestoneData.cs │ │ ├── GcJourneyMilestoneTable.cs │ │ ├── GcLandingHelperComponentData.cs │ │ ├── GcLaserBeamData.cs │ │ ├── GcLegality.cs │ │ ├── GcLeveledStatData.cs │ │ ├── GcLeveledStatTable.cs │ │ ├── GcLightProperties.cs │ │ ├── GcLootComponentData.cs │ │ ├── GcMarkerComponentData.cs │ │ ├── GcMiningSubstanceData.cs │ │ ├── GcModelViewCollection.cs │ │ ├── GcNGuiElementData.cs │ │ ├── GcNGuiFileBrowserRecents.cs │ │ ├── GcNGuiGraphicData.cs │ │ ├── GcNGuiLayerData.cs │ │ ├── GcNGuiLayoutData.cs │ │ ├── GcNGuiPreset.cs │ │ ├── GcNGuiPresetGraphic.cs │ │ ├── GcNGuiPresetText.cs │ │ ├── GcNGuiSpacingData.cs │ │ ├── GcNGuiSpecialTextImageData.cs │ │ ├── GcNGuiSpecialTextImages.cs │ │ ├── GcNGuiSpecialTextStyleData.cs │ │ ├── GcNGuiSpecialTextStyles.cs │ │ ├── GcNGuiStyleAnimationData.cs │ │ ├── GcNGuiStyleAnimationKeyframeData.cs │ │ ├── GcNGuiTextData.cs │ │ ├── GcNPCComponentData.cs │ │ ├── GcNodeActivationAction.cs │ │ ├── GcObjectPlacementComponentData.cs │ │ ├── GcObjectSpawnData.cs │ │ ├── GcOutpostComponentData.cs │ │ ├── GcOutpostLSystemPair.cs │ │ ├── GcPainAction.cs │ │ ├── GcPaletteData.cs │ │ ├── GcPaletteList.cs │ │ ├── GcParticleAction.cs │ │ ├── GcPlanetBuildingData.cs │ │ ├── GcPlanetClass.cs │ │ ├── GcPlanetColourData.cs │ │ ├── GcPlanetData.cs │ │ ├── GcPlanetGenerationInputData.cs │ │ ├── GcPlanetGenerationIntermediateData.cs │ │ ├── GcPlanetHazardData.cs │ │ ├── GcPlanetHeavyAirData.cs │ │ ├── GcPlanetInfo.cs │ │ ├── GcPlanetLife.cs │ │ ├── GcPlanetSentinelData.cs │ │ ├── GcPlanetSize.cs │ │ ├── GcPlanetWaterData.cs │ │ ├── GcPlanetWeatherColourData.cs │ │ ├── GcPlanetWeatherData.cs │ │ ├── GcPlayAnimAction.cs │ │ ├── GcPlayAudioAction.cs │ │ ├── GcPlayerDamageData.cs │ │ ├── GcPlayerDamageTable.cs │ │ ├── GcPlayerHazardData.cs │ │ ├── GcPlayerHazardTable.cs │ │ ├── GcPlayerMissionProgress.cs │ │ ├── GcPlayerMissionProgressMapEntry.cs │ │ ├── GcPlayerMissionProgressMapTable.cs │ │ ├── GcPlayerNearbyEvent.cs │ │ ├── GcPlayerSpaceshipControlData.cs │ │ ├── GcPlayerSpaceshipEngineData.cs │ │ ├── GcPlayerSpawnStateData.cs │ │ ├── GcPlayerStat.cs │ │ ├── GcPlayerStateData.cs │ │ ├── GcPlayerStatsGroup.cs │ │ ├── GcPrimaryAxis.cs │ │ ├── GcProductCategory.cs │ │ ├── GcProductData.cs │ │ ├── GcProductTable.cs │ │ ├── GcProjectileData.cs │ │ ├── GcProjectileDataTable.cs │ │ ├── GcProjectileImpactData.cs │ │ ├── GcProjectileImpactType.cs │ │ ├── GcRarity.cs │ │ ├── GcRealityCommonFactions.cs │ │ ├── GcRealityCraftingRecipeData.cs │ │ ├── GcRealityIconTable.cs │ │ ├── GcRealityManagerData.cs │ │ ├── GcRealitySubstanceCategory.cs │ │ ├── GcRealitySubstanceCraftingMix.cs │ │ ├── GcRealitySubstanceData.cs │ │ ├── GcResourceElement.cs │ │ ├── GcRewardAction.cs │ │ ├── GcRewardChangeGlobalMission.cs │ │ ├── GcRewardDamage.cs │ │ ├── GcRewardDamageTech.cs │ │ ├── GcRewardDestructEntry.cs │ │ ├── GcRewardDestructRarities.cs │ │ ├── GcRewardDestructTable.cs │ │ ├── GcRewardEnergy.cs │ │ ├── GcRewardHazard.cs │ │ ├── GcRewardHealth.cs │ │ ├── GcRewardMoney.cs │ │ ├── GcRewardMultiSpecificProducts.cs │ │ ├── GcRewardProduct.cs │ │ ├── GcRewardProductRecipe.cs │ │ ├── GcRewardRepairTech.cs │ │ ├── GcRewardScan.cs │ │ ├── GcRewardShield.cs │ │ ├── GcRewardShowBlackHoles.cs │ │ ├── GcRewardSignalScan.cs │ │ ├── GcRewardSpecificProduct.cs │ │ ├── GcRewardSpecificProductRecipe.cs │ │ ├── GcRewardSpecificShip.cs │ │ ├── GcRewardSpecificTech.cs │ │ ├── GcRewardSpecificTechFromList.cs │ │ ├── GcRewardSpecificWeapon.cs │ │ ├── GcRewardStanding.cs │ │ ├── GcRewardSubstance.cs │ │ ├── GcRewardTable.cs │ │ ├── GcRewardTableCategory.cs │ │ ├── GcRewardTableEntry.cs │ │ ├── GcRewardTableItem.cs │ │ ├── GcRewardTableItemList.cs │ │ ├── GcRewardTeachWord.cs │ │ ├── GcRewardTechRecipe.cs │ │ ├── GcRewardTimeWarp.cs │ │ ├── GcRewardWeapon.cs │ │ ├── GcSavedEntitlement.cs │ │ ├── GcSavedInteractionRaceData.cs │ │ ├── GcScanData.cs │ │ ├── GcScanEventData.cs │ │ ├── GcScanEventSave.cs │ │ ├── GcScanEventTable.cs │ │ ├── GcScannableComponentData.cs │ │ ├── GcScannerIconTypes.cs │ │ ├── GcScannerIcons.cs │ │ ├── GcScareCreaturesAction.cs │ │ ├── GcSceneSettings.cs │ │ ├── GcSeed.cs │ │ ├── GcSelectableObjectData.cs │ │ ├── GcSelectableObjectList.cs │ │ ├── GcSelectableObjectSpawnData.cs │ │ ├── GcSelectableObjectSpawnList.cs │ │ ├── GcSelectableObjectTable.cs │ │ ├── GcShieldComponentData.cs │ │ ├── GcShipAIAttackData.cs │ │ ├── GcShipAIPerformanceArray.cs │ │ ├── GcShipAIPlanetPatrolData.cs │ │ ├── GcShipHUDTargetData.cs │ │ ├── GcShipHUDTargetIconData.cs │ │ ├── GcShootableComponentData.cs │ │ ├── GcSimpleInteractionComponentData.cs │ │ ├── GcSimulationGlobals.cs │ │ ├── GcSizeIndicator.cs │ │ ├── GcSolarSystemClass.cs │ │ ├── GcSolarSystemData.cs │ │ ├── GcSolarSystemLocator.cs │ │ ├── GcSolarSystemLocatorChoice.cs │ │ ├── GcSolarSystemLocatorTypes.cs │ │ ├── GcSolarSystemTraderSpawnData.cs │ │ ├── GcSpaceSkyProperties.cs │ │ ├── GcSpaceStationSpawnData.cs │ │ ├── GcSpaceshipClasses.cs │ │ ├── GcSpaceshipComponentData.cs │ │ ├── GcSpawnAction.cs │ │ ├── GcSpawnComponentOption.cs │ │ ├── GcSpawnDensity.cs │ │ ├── GcSpawnDensityList.cs │ │ ├── GcStatDefinition.cs │ │ ├── GcStatDefinitionTable.cs │ │ ├── GcStatDisplayType.cs │ │ ├── GcStatGroupData.cs │ │ ├── GcStatGroupTable.cs │ │ ├── GcStatLevelData.cs │ │ ├── GcStatTrackType.cs │ │ ├── GcStatType.cs │ │ ├── GcStatValueData.cs │ │ ├── GcStateTimeEvent.cs │ │ ├── GcStats.cs │ │ ├── GcStatsBonus.cs │ │ ├── GcStatsEntry.cs │ │ ├── GcStatsGroup.cs │ │ ├── GcStatsTypes.cs │ │ ├── GcStyleProp_Colour.cs │ │ ├── GcStyleProp_Font.cs │ │ ├── GcStyleProp_Size.cs │ │ ├── GcSubstanceAmount.cs │ │ ├── GcSubstanceTable.cs │ │ ├── GcTechnology.cs │ │ ├── GcTechnologyCategory.cs │ │ ├── GcTechnologyRarity.cs │ │ ├── GcTechnologyRequirement.cs │ │ ├── GcTechnologyTable.cs │ │ ├── GcTerrainControls.cs │ │ ├── GcTerrainTileType.cs │ │ ├── GcTestMetadata.cs │ │ ├── GcTextPreset.cs │ │ ├── GcTextPresetTable.cs │ │ ├── GcTextStyleOutline.cs │ │ ├── GcTextStylePlain.cs │ │ ├── GcTextStyleShadow.cs │ │ ├── GcTexturePrefetchData.cs │ │ ├── GcTileTypeOptions.cs │ │ ├── GcTradeData.cs │ │ ├── GcTradeSettings.cs │ │ ├── GcTriggerActionComponentData.cs │ │ ├── GcTurretComponentData.cs │ │ ├── GcUniverseAddressData.cs │ │ ├── GcUserSettingsData.cs │ │ ├── GcWarpAction.cs │ │ ├── GcWaterGlobals.cs │ │ ├── GcWaypointComponentData.cs │ │ ├── GcWeatherColourModifiers.cs │ │ ├── GcWeatherColourSettingList.cs │ │ ├── GcWeatherOptions.cs │ │ ├── GcWeatherProperties.cs │ │ ├── GcWeatherTable.cs │ │ ├── GcWordKnowledge.cs │ │ ├── MBINCompilerTestTemplate.cs │ │ ├── NMSString0x10.cs │ │ ├── NMSString0x100.cs │ │ ├── NMSString0x20.cs │ │ ├── NMSString0x80.cs │ │ ├── TkActionButtonLookup.cs │ │ ├── TkActionButtonMap.cs │ │ ├── TkAnimMetadata.cs │ │ ├── TkAnimNodeData.cs │ │ ├── TkAnimNodeFrameData.cs │ │ ├── TkAnimPoseComponentData.cs │ │ ├── TkAnimPoseCorrelationData.cs │ │ ├── TkAnimPoseData.cs │ │ ├── TkAnimPoseExampleData.cs │ │ ├── TkAnimPoseExampleElement.cs │ │ ├── TkAnimationComponentData.cs │ │ ├── TkAnimationData.cs │ │ ├── TkAnimationDataTable.cs │ │ ├── TkAttachmentData.cs │ │ ├── TkAudioAnimTrigger.cs │ │ ├── TkAudioComponentData.cs │ │ ├── TkButtonImageLookup.cs │ │ ├── TkButtonPathMapping.cs │ │ ├── TkCameraWanderData.cs │ │ ├── TkControllerButtonLookup.cs │ │ ├── TkControllerList.cs │ │ ├── TkControllerSpecification.cs │ │ ├── TkCurveType.cs │ │ ├── TkDynamicChainComponentData.cs │ │ ├── TkEngineSettings.cs │ │ ├── TkEngineSettingsMapping.cs │ │ ├── TkEntitlementList.cs │ │ ├── TkGameSettings.cs │ │ ├── TkGeometryData.cs │ │ ├── TkGraphicsSettings.cs │ │ ├── TkHeavyAirData.cs │ │ ├── TkImGuiData.cs │ │ ├── TkImGuiSettings.cs │ │ ├── TkImGuiWindowData.cs │ │ ├── TkInputEnum.cs │ │ ├── TkInputFrame.cs │ │ ├── TkInputFrameArray.cs │ │ ├── TkJointBindingData.cs │ │ ├── TkJointExtentData.cs │ │ ├── TkJointMirrorAxis.cs │ │ ├── TkLSystemGlobalRestriction.cs │ │ ├── TkLSystemGlobalVariation.cs │ │ ├── TkLSystemInnerRule.cs │ │ ├── TkLSystemLocatorEntry.cs │ │ ├── TkLSystemRestrictionData.cs │ │ ├── TkLSystemRule.cs │ │ ├── TkLSystemRuleTemplate.cs │ │ ├── TkLSystemRulesData.cs │ │ ├── TkLanguageFontTable.cs │ │ ├── TkLanguageFontTableEntry.cs │ │ ├── TkLanguages.cs │ │ ├── TkLanguagesAllowedData.cs │ │ ├── TkLocalisationEntry.cs │ │ ├── TkLocalisationTable.cs │ │ ├── TkMaterialData.cs │ │ ├── TkMaterialFlags.cs │ │ ├── TkMaterialSampler.cs │ │ ├── TkMaterialUniform.cs │ │ ├── TkModelDescriptorList.cs │ │ ├── TkModelRendererCameraData.cs │ │ ├── TkModelRendererData.cs │ │ ├── TkModelResource.cs │ │ ├── TkNGuiAlignment.cs │ │ ├── TkNGuiEditorLayout.cs │ │ ├── TkNGuiEditorStyleData.cs │ │ ├── TkNGuiGraphicStyle.cs │ │ ├── TkNGuiGraphicStyleData.cs │ │ ├── TkNGuiLayoutList.cs │ │ ├── TkNGuiLayoutListData.cs │ │ ├── TkNGuiTextStyle.cs │ │ ├── TkNGuiTextStyleData.cs │ │ ├── TkNGuiWindowLayoutData.cs │ │ ├── TkNoiseCaveData.cs │ │ ├── TkNoiseFeatureData.cs │ │ ├── TkNoiseFlattenOptions.cs │ │ ├── TkNoiseFlattenPoint.cs │ │ ├── TkNoiseGridData.cs │ │ ├── TkNoiseOffsetEnum.cs │ │ ├── TkNoiseSuperFormulaData.cs │ │ ├── TkNoiseUberData.cs │ │ ├── TkNoiseUberLayerData.cs │ │ ├── TkNoiseVoxelTypeEnum.cs │ │ ├── TkPaletteTexture.cs │ │ ├── TkParticleData.cs │ │ ├── TkPhysicsComponentData.cs │ │ ├── TkPhysicsData.cs │ │ ├── TkPlatformButtonPair.cs │ │ ├── TkProceduralModelComponentData.cs │ │ ├── TkProceduralTexture.cs │ │ ├── TkProceduralTextureChosenOption.cs │ │ ├── TkProceduralTextureChosenOptionList.cs │ │ ├── TkProceduralTextureChosenOptionSampler.cs │ │ ├── TkProceduralTextureLayer.cs │ │ ├── TkProceduralTextureList.cs │ │ ├── TkRagdollData.cs │ │ ├── TkReferenceComponentData.cs │ │ ├── TkResourceDescriptorData.cs │ │ ├── TkResourceDescriptorList.cs │ │ ├── TkRotationComponentData.cs │ │ ├── TkSceneNodeAttributeData.cs │ │ ├── TkSceneNodeData.cs │ │ ├── TkShearWindData.cs │ │ ├── TkShearWindOctaveData.cs │ │ ├── TkSpeedLineData.cs │ │ ├── TkTextureResource.cs │ │ ├── TkTrailData.cs │ │ ├── TkTransformData.cs │ │ ├── TkTrophyData.cs │ │ ├── TkTrophyEntry.cs │ │ ├── TkVertexElement.cs │ │ ├── TkVertexLayout.cs │ │ ├── TkVoxelGeneratorData.cs │ │ ├── TkVoxelGeneratorRegionData.cs │ │ ├── TkVoxelGeneratorSettingsArray.cs │ │ ├── TkVoxelGeneratorSettingsElement.cs │ │ ├── Unfinished │ │ ├── GcAISpaceshipGlobals.cs │ │ ├── GcAudioGlobals.cs │ │ ├── GcBuildingGlobals.cs │ │ ├── GcCameraGlobals.cs │ │ ├── GcCreatureGlobals.cs │ │ ├── GcEnvironmentGlobals.cs │ │ ├── GcGalaxyGlobals.cs │ │ ├── GcGameplayGlobals.cs │ │ ├── GcGraphicsGlobals.cs │ │ ├── GcPlacementGlobals.cs │ │ ├── GcPlayerGlobals.cs │ │ ├── GcRobotGlobals.cs │ │ ├── GcSceneOptions.cs │ │ ├── GcSkyGlobals.cs │ │ ├── GcSmokeTestOptions.cs │ │ ├── GcSolarGenerationGlobals.cs │ │ ├── GcSpaceshipGlobals.cs │ │ ├── GcTerrainGlobals.cs │ │ └── GcUIGlobals.cs │ │ ├── VariableSizeString.cs │ │ ├── Vector2f.cs │ │ ├── Vector3i.cs │ │ └── Vector4f.cs ├── Program.cs ├── Properties │ └── AssemblyInfo.cs └── Shared.cs ├── MBINCompilerTests ├── MBINCompilerTestTemplate.MBIN ├── MBINCompilerTests.csproj ├── Properties │ ├── AssemblyInfo.cs │ ├── Settings.Designer.cs │ └── Settings.settings ├── SerializationTests.cs ├── SharedTest.cs ├── TemplateSizeTest.cs └── app.config ├── OtherTools └── BlenderAddon │ └── io_import_exml.py └── README.md /MBINCompiler/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /MBINCompiler/Models/EXmlBase.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using System.Xml.Serialization; 3 | 4 | namespace MBINCompiler.Models 5 | { 6 | [XmlInclude(typeof(EXmlData))] 7 | [XmlInclude(typeof(EXmlProperty))] 8 | public abstract class EXmlBase 9 | { 10 | protected EXmlBase() 11 | { 12 | Elements = new List(); 13 | } 14 | 15 | [XmlAttribute("name")] 16 | public string Name { get; set; } 17 | 18 | [XmlElement(typeof(EXmlData), ElementName = "Data")] 19 | [XmlElement(typeof(EXmlProperty), ElementName = "Property")] 20 | public List Elements { get; set; } 21 | } 22 | } -------------------------------------------------------------------------------- /MBINCompiler/Models/EXmlData.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace MBINCompiler.Models 4 | { 5 | [XmlType("Data")] 6 | public class EXmlData : EXmlBase 7 | { 8 | [XmlAttribute("template")] 9 | public string Template { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /MBINCompiler/Models/EXmlProperty.cs: -------------------------------------------------------------------------------- 1 | using System.Xml.Serialization; 2 | 3 | namespace MBINCompiler.Models 4 | { 5 | 6 | [XmlType("Property")] 7 | public class EXmlProperty : EXmlBase 8 | { 9 | [XmlAttribute("value")] 10 | public string Value { get; set; } 11 | } 12 | } -------------------------------------------------------------------------------- /MBINCompiler/Models/NMSAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace MBINCompiler.Models 4 | { 5 | [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.GenericParameter)] 6 | public class NMSAttribute : Attribute 7 | { 8 | public int Size { get; set; } 9 | public bool Ignore { get; set; } 10 | public object DefaultValue { get; set; } 11 | public string[] EnumValue { get; set; } 12 | } 13 | } -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/Colour.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class Colour : NMSTemplate 4 | { 5 | public float R; 6 | public float G; 7 | public float B; 8 | public float A; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAISpaceshipComponentData : NMSTemplate 4 | { 5 | public GcAISpaceshipTypes Type; 6 | public GcSpaceshipClasses Class; 7 | public GcPrimaryAxis Axis; 8 | [NMS(Size = 0x10)] 9 | public string Weapon; 10 | 11 | [NMS(Size = 4, Ignore = true)] 12 | public byte[] Padding1C; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipInstanceData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAISpaceshipInstanceData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string File; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipManagerData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAISpaceshipManagerData : NMSTemplate 4 | { 5 | [NMS(Size = 6)] 6 | public GcAISpaceshipMappingData[] FactionMapping; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipMappingData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAISpaceshipMappingData : NMSTemplate 4 | { 5 | [NMS(Size = 3)] 6 | public GcAISpaceshipInstanceData[] ClassMap; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipPreloadCacheData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAISpaceshipPreloadCacheData : NMSTemplate 4 | { 5 | public GcAISpaceshipRoles ShipRole; 6 | [NMS(Size = 4, Ignore = true)] 7 | public byte[] Padding4; 8 | 9 | public GcSeed Seed; 10 | [NMS(Size = 0x100)] 11 | public string AltId; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipPreloadCacheDataTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcAISpaceshipPreloadCacheDataTable : NMSTemplate 6 | { 7 | public List Ships; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipPreloadList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcAISpaceshipPreloadList : NMSTemplate 6 | { 7 | public GcRealityCommonFactions Faction; 8 | [NMS(Size = 4, Ignore = true)] 9 | public byte[] Padding4; 10 | 11 | public List Cache; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipRoles.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAISpaceshipRoles : NMSTemplate 4 | { 5 | public int AIShipRole; 6 | public string[] AIShipRoleValues() 7 | { 8 | return new[] { "Standard", "Freighter", "CapitalFreighter" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAISpaceshipTypes.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAISpaceshipTypes : NMSTemplate 4 | { 5 | public int ShipType; 6 | public string[] ShipTypeValues() 7 | { 8 | return new[] { "None", "Pirate", "Police", "Trader", "Freighter" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcActionTrigger.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcActionTrigger : NMSTemplate 6 | { 7 | public NMSTemplate Trigger; 8 | public List Action; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcActionTriggerState.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcActionTriggerState : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string StateID; 9 | public List Triggers; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAlienPuzzleEntry.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcAlienPuzzleEntry : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Id; 9 | 10 | public GcAlienRace AlienRace; 11 | public GcInteractionType InteractionType; 12 | 13 | [NMS(Size = 0x200)] 14 | public string Text; 15 | 16 | [NMS(Size = 0x200)] 17 | public string TextAlien; 18 | 19 | public bool TranslateAlienText; 20 | public List Options; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAlienPuzzleTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcAlienPuzzleTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAlienRace.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAlienRace : NMSTemplate 4 | { 5 | public int AlienRace; 6 | 7 | public string[] AlienRaceValues() 8 | { 9 | return new[] { "Traders", "Warriors", "Explorers", "Robots", "Atlas", "None" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAlienSpeechEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAlienSpeechEntry : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | 8 | [NMS(Size = 0x20)] 9 | public string Text; 10 | 11 | public int WordInteractEffect; 12 | 13 | public string[] WordInteractEffectValues() 14 | { 15 | return new[] { "Pain", "Heal" }; 16 | } 17 | 18 | public GcAlienRace AlienRace; 19 | public int Level; 20 | [NMS(Ignore = true)] 21 | public int Padding; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAlienSpeechTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcAlienSpeechTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAnimFrameEvent.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAnimFrameEvent : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Anim; 7 | public int FrameStart; 8 | public bool StartFromEnd; 9 | 10 | [NMS(Size = 3, Ignore = true)] 11 | public byte[] Padding15; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAsteroidGeneratorAssignment.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAsteroidGeneratorAssignment : NMSTemplate // 0x48 bytes 4 | { 5 | public int PlanetIndex; 6 | public GcSolarSystemLocatorChoice Locator; 7 | public GcSeed Seed; 8 | public int AsteroidCount; 9 | 10 | [NMS(Size = 4, Ignore = true)] 11 | public byte[] Padding44; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAsteroidGeneratorRing.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAsteroidGeneratorRing : NMSTemplate 4 | { 5 | public GcAsteroidGeneratorAssignment Assignment; 6 | public float LowerRadius; 7 | public float UpperRadius; 8 | public float PushRadius; 9 | public int OffBalance; 10 | [NMS(Size = 0x8, Ignore = true)] 11 | public byte[] Padding58; 12 | 13 | public Vector4f Rotation; 14 | public float USpread; 15 | public float PushAmount; 16 | public bool FlipPush; 17 | 18 | [NMS(Size = 7, Ignore = true)] 19 | public byte[] Padding79; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAsteroidGeneratorSlab.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAsteroidGeneratorSlab : NMSTemplate 4 | { 5 | public GcAsteroidGeneratorAssignment Assignment; 6 | [NMS(Size = 0x8, Ignore = true)] 7 | public byte[] Padding48; 8 | 9 | public Vector4f Rotation; 10 | public Vector4f Scale; 11 | public float NoiseOffset; 12 | public float NoiseScale; 13 | public float NoiseApply; 14 | 15 | [NMS(Size = 4, Ignore = true)] 16 | public byte[] Padding7C; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAsteroidGeneratorSurround.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAsteroidGeneratorSurround : NMSTemplate 4 | { 5 | public GcAsteroidGeneratorAssignment Assignment; 6 | public float LowerRadius; 7 | public float UpperRadius; 8 | public float NoiseOffset; 9 | public float NoiseScale; 10 | public float NoiseApply; 11 | 12 | [NMS(Size = 4, Ignore = true)] 13 | public byte[] Padding5C; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAtlasGlobals.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAtlasGlobals : NMSTemplate 4 | { 5 | public int Unknown0; 6 | public int ResolveTimeout; 7 | public int ConnectTimeout; 8 | public int SendRecvTimeout; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAudioAreaTriggerComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAudioAreaTriggerComponentData : NMSTemplate 4 | { 5 | public GcAudioWwiseEvents AkEvent1; // EnterAreaEvent perhaps? 6 | public GcAudioWwiseEvents AkEvent2; // ExitAreaEvent ? 7 | public float EnterDistance; 8 | public float ExitDistance; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAudioPulseDemo.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAudioPulseDemo : NMSTemplate 4 | { 5 | public float MixRateSeconds; 6 | public Vector2f Planet; 7 | public Vector2f Space; 8 | public Vector2f SpaceStation; 9 | public Vector2f InWarp; 10 | public Vector2f Wanted; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcAudioWwiseEvents.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcAudioWwiseEvents : NMSTemplate 4 | { 5 | public uint AkEvent; // something inside the wem files? 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBeenShotEvent.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBeenShotEvent : NMSTemplate 4 | { 5 | public int ShotBy; 6 | public string[] ShotByValues() 7 | { 8 | return new[] { "Player", "Anything" }; 9 | } 10 | 11 | public int DamageThreshold; 12 | public float HealthThreshold; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBiomeFileList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcBiomeFileList : NMSTemplate 6 | { 7 | [NMS(Size = 9)] 8 | public NMSString0x80[] BiomeFiles; 9 | 10 | public List CommonExternalObjectLists; 11 | public List OptionalExternalObjectLists; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBiomeList.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBiomeList : NMSTemplate 4 | { 5 | [NMS(Size = 9)] 6 | public float[] BiomeProbability; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBiomeListPerStarType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBiomeListPerStarType : NMSTemplate 4 | { 5 | [NMS(Size = 4)] 6 | public GcBiomeList[] StarType; 7 | 8 | [NMS(Size = 4)] 9 | public float[] LifeChance; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBiomeType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBiomeType : NMSTemplate 4 | { 5 | public int Biome; 6 | public string[] BiomeValues() 7 | { 8 | return new[] { "Lush", "Toxic", "Scorched", "Radioactive", "Frozen", "Barren", "Dead", "Test", "All" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBirdData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBirdData : NMSTemplate 4 | { 5 | public float FlapSpeedMax; 6 | public float FlapSpeedMin; 7 | public float FlapSpeed; 8 | public float FlapAccel; 9 | 10 | [NMS(Size = 0x80)] 11 | public string CircleAttractor; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBootLogoData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBootLogoData : NMSTemplate 4 | { 5 | [NMS(Size = 0x100)] 6 | public string Texture1; 7 | [NMS(Size = 0x100)] 8 | public string Texture2; 9 | [NMS(Size = 0x100)] 10 | public string Texture3; 11 | [NMS(Size = 0x100)] 12 | public string Texture4; 13 | 14 | public float DisplayTime1; 15 | public float DisplayTime2; 16 | public float DisplayTime3; 17 | public float DisplayTime4; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBuildingClassification.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBuildingClassification : NMSTemplate 4 | { 5 | public int BuildingClass; 6 | public string[] BuildingClassValues() 7 | { 8 | return new[] 9 | { 10 | "None", "TerrainResource", "Shelter", "Abandoned", "Terminal", "Shop", "Outpost", "Waypoint", 11 | "Beacon", "RadioTower", "Observatory", "Depot", "Factory", "Harvester", "Plaque", "Monolith", 12 | "Portal", "Ruin", "Debris", "DamagedMachine", "DistressSignal", "LandingPad" 13 | }; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBuildingClusterPlacement.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBuildingClusterPlacement : NMSTemplate 4 | { 5 | public int BuildingClusterPlacement; 6 | public string[] BuildingClusterPlacementValues() 7 | { 8 | return new[] { "Cluster", "Large", "Small", "None" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBuildingDefinitionTable.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBuildingDefinitionTable : NMSTemplate 4 | { 5 | [NMS(Size = 6)] 6 | public GcBuildingDensity[] BuildingProbabilities; 7 | [NMS(Size = 6)] 8 | public GcBuildingFilenameList[] BuildingFiles; 9 | [NMS(Size = 0x16)] 10 | public GcBuildingDefinitionData[] BuildingPlacement; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBuildingDensity.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBuildingDensity : NMSTemplate // 0x14 bytes 4 | { 5 | public float BuildingSpacing; 6 | public float BuildingClusterChance1; // todo: change this to float[] 7 | public float BuildingClusterChance2; 8 | public float BuildingClusterChance3; 9 | public float BuildingClusterChance4; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBuildingDensityLevels.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBuildingDensityLevels : NMSTemplate 4 | { 5 | public int BuildingDensity; 6 | public string[] BuildingDensityValues() 7 | { 8 | return new[] { "Dead", "Low", "Mid", "Full", "RelicOnly", "IndustrialOnly" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBuildingFilename.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBuildingFilename : NMSTemplate // 0x200 bytes 4 | { 5 | [NMS(Size = 0x80)] 6 | public string LSystem; 7 | [NMS(Size = 0x80)] 8 | public string Scene; 9 | [NMS(Size = 0x80)] 10 | public string UnderwaterLSystem; 11 | [NMS(Size = 0x80)] 12 | public string UnderwaterScene; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcBuildingFilenameList.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcBuildingFilenameList : NMSTemplate // 0x2C00 bytes 4 | { 5 | [NMS(Size = 0x16)] 6 | public GcBuildingFilename[] BuildingFiles; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCameraShakeAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCameraShakeAction : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Shake; 7 | public float FalloffMin; 8 | public float FalloffMax; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCameraShakeCaptureData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCameraShakeCaptureData : NMSTemplate // 0x14 4 | { 5 | public bool Active; 6 | 7 | [NMS(Size = 0x3, Ignore = true)] 8 | public byte[] Padding1; 9 | 10 | public float ShakeStrength; 11 | public float ShakeFrequency; 12 | public float VibrateStrength; 13 | public float VibrateFrequency; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCameraShakeMechanicalData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCameraShakeMechanicalData : NMSTemplate // 0x70 4 | { 5 | public bool Active; 6 | 7 | [NMS(Size = 0xF, Ignore = true)] 8 | public byte[] Padding1; 9 | 10 | public Vector4f ShakeStrength; 11 | public Vector4f ShakeFrequency; 12 | public Vector4f ExtraShakeFrequency; 13 | public Vector4f VibrateStrength; 14 | public Vector4f VibrateFrequency; 15 | public Vector4f ExtraVibrateFrequency; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcColourModifier.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcColourModifier : NMSTemplate 4 | { 5 | public bool ForceColour; 6 | public Colour ForceColourTo; 7 | public float OffsetSaturation; 8 | public float OffsetValue; 9 | public float MultiplySaturation; 10 | public float MultiplyValue; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcColourPaletteData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcColourPaletteData : NMSTemplate 4 | { 5 | [NMS(Size = 5)] 6 | public Colour[] Colours; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostHealth.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCostHealth : NMSTemplate 4 | { 5 | public int HealthUnits; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostJourneyMilestone.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCostJourneyMilestone : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string RequiredMilestone; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostJourneyStatLevel.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCostJourneyStatLevel : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string StatName; 7 | public int RequiredLevel; 8 | 9 | [NMS(Size = 4, Ignore = true)] 10 | public byte[] Padding14; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostMoney.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCostMoney : NMSTemplate 4 | { 5 | public int Cost; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostProduct.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCostProduct : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public int Amount; 8 | 9 | [NMS(Size = 4, Ignore = true)] 10 | public byte[] Padding14; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostStanding.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCostStanding : NMSTemplate 4 | { 5 | public GcAlienRace AlienRace; 6 | public int RequiredStanding; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostSubstance.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCostSubstance : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public int Amount; 8 | 9 | [NMS(Size = 4, Ignore = true)] 10 | public byte[] Padding14; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCostTable : NMSTemplate 6 | { 7 | public List SimpleInteractionTable; 8 | public List InteractionTable; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCostTableEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCostTableEntry : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public NMSTemplate Entry; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureAudioTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureAudioTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureBaitComponentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureBaitComponentData : NMSTemplate 6 | { 7 | public List AttractList; 8 | public float BaitStrength; 9 | public float BaitRadius; 10 | 11 | public bool Debug; 12 | public bool InducesRage; 13 | 14 | [NMS(Size = 6, Ignore = true)] 15 | public byte[] Padding1A; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureComponentData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public GcPrimaryAxis PrimaryAxis; 8 | public float Scaler; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureData : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Id; 9 | 10 | [NMS(Size = 0x20)] 11 | public string Genus; 12 | 13 | public GcCreatureTypes CreatureType; 14 | 15 | public int MoveArea; 16 | public string[] MoveAreaValues() 17 | { 18 | return new[] { "Ground", "Water", "Air", "Space" }; 19 | } 20 | 21 | public float MinScale; 22 | public float MaxScale; 23 | public GcRarity Rarity; 24 | 25 | public List Data; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureDataTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureDataTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureFilename.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureFilename : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string ID; 7 | [NMS(Size = 0x80)] 8 | public string Filename; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureFilenameTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureFilenameTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureFootParticleData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureFootParticleData : NMSTemplate 6 | { 7 | public List ParticleData; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureFootParticleSingleData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureFootParticleSingleData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string EffectName; 7 | 8 | public float Scale; 9 | public float MinCreatureSize; 10 | public float MaxCreatureSize; 11 | public int MoveSpeed; 12 | public string[] MoveSpeedValues() 13 | { 14 | return new[] { "Always", "Walk", "Run" }; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureFullBodyIKComponentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureFullBodyIKComponentData : NMSTemplate 6 | { 7 | public List JointData; 8 | public int HeadUpAxis; 9 | public string[] HeadUpAxisValues() 10 | { 11 | return new[] { "X", "XNeg", "Y", "YNeg", "Z", "ZNeg" }; 12 | } 13 | 14 | public bool UseFootGlue; 15 | 16 | [NMS(Size = 3, Ignore = true)] 17 | public byte[] Padding15; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureHealthData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureHealthData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string HurtAnim; 7 | [NMS(Size = 0x10)] 8 | public string DeathAnim; 9 | [NMS(Size = 0x10)] 10 | public string DeathEffect; 11 | [NMS(Size = 0x10)] 12 | public string HurtAudio; 13 | [NMS(Size = 0x10)] 14 | public string DeathAudio; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureIkData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureIkData : NMSTemplate 4 | { 5 | public GcCreatureIkType CreatureIkType; 6 | [NMS(Size = 0x100)] 7 | public string JointName; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureIkType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureIkType : NMSTemplate 4 | { 5 | public int CreatureIkType; 6 | public string[] CreatureIkTypeValues() 7 | { 8 | return new[] { "Foot", "Hinge_X", "Hinge_Y", "Hinge_Z", "Locked", "Head", "Toe", "SpaceshipFoot", "SpaceshipToe" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureMoveAnimData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureMoveAnimData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Anim; 7 | [NMS(Size = 0x10)] 8 | public string AnimLeft; 9 | [NMS(Size = 0x10)] 10 | public string AnimRight; 11 | 12 | public float AnimSpeed; 13 | public float MinSpeedScale; 14 | public float MaxSpeedScale; 15 | public float MaxPredatorSpeedScale; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureMovementData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureMovementData : NMSTemplate 6 | { 7 | public List Anims; 8 | 9 | public float MoveRange; 10 | public float MoveSpeedScale; 11 | public float HeightMin; 12 | public float HeightMax; 13 | public float HeightTime; 14 | 15 | [NMS(Size = 4, Ignore = true)] 16 | public byte[] Padding24; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureRoleData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureRoleData : NMSTemplate 4 | { 5 | public GcSeed Seed; 6 | public GcCreatureTypes CreatureType; 7 | [NMS(Size = 4, Ignore = true)] 8 | public byte[] Padding14; 9 | 10 | [NMS(Size = 0x10)] 11 | public string CreatureId; 12 | public GcCreatureRoleDescription Description; 13 | public GcCreatureInfo Info; 14 | public GcTerrainTileType TileType; 15 | public int Diet; 16 | public string[] DietValues() 17 | { 18 | return new[] { "Carnivore", "Omnivore", "Herbivore" }; 19 | } 20 | public float BaseScale; 21 | 22 | [NMS(Size = 4, Ignore = true)] 23 | public byte[] Padding48C; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureRoleDataTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureRoleDataTable : NMSTemplate 6 | { 7 | public List AvailableRoles; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureRoleDescription.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureRoleDescription : NMSTemplate 4 | { 5 | public GcCreatureRoles CreatureRole; 6 | public GcCreatureTypes CreatureType; 7 | 8 | [NMS(Size = 0x10)] 9 | public string ForceID; 10 | 11 | public float MinGroupScale; 12 | public float MaxGroupScale; 13 | public int MinGroupSize; 14 | public int MaxGroupSize; 15 | public float GroupsPerSquareKm; 16 | public float FractionActiveInDay; 17 | public float FractionActiveInNight; 18 | public float ProbabilityOfBeingEnabled; 19 | public float IncreasedSpawnDistance; 20 | 21 | [NMS(Ignore = true)] 22 | public int Padding; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureRoleDescriptionTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureRoleDescriptionTable : NMSTemplate 6 | { 7 | public List RoleDescription; 8 | 9 | public float MinScaleVariance; 10 | public float MaxScaleVariance; 11 | public GcTerrainTileType TileType; 12 | 13 | [NMS(Size = 4, Ignore = true)] 14 | public byte[] Padding1C; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureRoleFilename.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureRoleFilename : NMSTemplate // 0x90 bytes 4 | { 5 | [NMS(Size = 0x80)] 6 | public string File; 7 | 8 | [NMS(Size = 4, EnumValue = new[] { "Dead", "Low", "Mid", "Full" })] 9 | public float[] BiomeProbability; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureRoleFilenameList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureRoleFilenameList : NMSTemplate // 0x10 bytes 6 | { 7 | public List Options; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureRoleFilenameTable.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureRoleFilenameTable : NMSTemplate 4 | { 5 | [NMS(Size = 9, EnumValue = new[] { "Lush", "Toxic", "Scorched", "Radioactive", "Frozen", "Barren", "Dead", "Test", "All" })] 6 | public GcCreatureRoleFilenameList[] BiomeFiles; 7 | 8 | public GcCreatureRoleFilenameList UnderwaterBiomeFiles; // todo: find what these are actually named, these are just guesses atm 9 | public GcCreatureRoleFilenameList CaveBiomeFiles; 10 | public GcCreatureRoleFilenameList AirBiomeFiles; 11 | public GcCreatureRoleFilenameList GroundBiomeFiles; 12 | 13 | [NMS(Size = 4, EnumValue = new[] { "Dead", "Low", "Mid", "Full" })] 14 | public float[] LifeChance; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureRoles.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureRoles : NMSTemplate 4 | { 5 | public int CreatureRole; 6 | public string[] CreatureRoleValues() 7 | { 8 | return new[] 9 | { 10 | "None", "Predator", "PlayerPredator", "Prey", "Passive", "Bird", "FishPrey", "FishPredator", "Butterfly", "Robot" 11 | }; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureStupidName.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureStupidName : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Id; 9 | 10 | public int Count; 11 | public List Names; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureStupidNameTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCreatureStupidNameTable : NMSTemplate 6 | { 7 | [NMS(Size = 0x80)] 8 | public string StupidUserName; 9 | 10 | public List Table; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureTypes.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureTypes : NMSTemplate 4 | { 5 | public int CreatureType; 6 | public string[] CreatureTypeValues() 7 | { 8 | return new[] 9 | { 10 | "None", "Bird", "FlyingLizard", "FlyingSnake", "Butterfly", "Beetle", "Fish", "Shark", 11 | "Crab", "Snake", "Dino", "Antelope", "Rodent", "Cat", "Drone", "Quad", 12 | "Walker", "Predator", "PlayerPredator", "Prey", "Passive", "Brainless" 13 | }; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureVocalData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureVocalData : NMSTemplate 4 | { 5 | public float ScaleBias; 6 | 7 | [NMS(Size = 4, Ignore = true)] 8 | public byte[] Padding4; 9 | 10 | public GcCreatureVocalSoundData IdleVocal; 11 | public GcCreatureVocalSoundData FleeVocal; 12 | public GcCreatureVocalSoundData DeathVocal; 13 | public GcCreatureVocalSoundData AttackVocal; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCreatureVocalSoundData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcCreatureVocalSoundData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | 8 | public int VocalEmote; 9 | public string[] VocalEmoteValues() 10 | { 11 | return new[] { "EmoteIdle", "EmoteFlee", "EmoteAggression", "EmoteRoar", "EmotePain", "EmoteAttack", "EmoteDie", "EmoteMiniRoarNeutral", "EmoteMiniRoarHappy", "EmoteMiniRoarAngry" }; 12 | } 13 | 14 | public float PlayFrequency; 15 | public float MinCooldown; 16 | public float MaxCooldown; 17 | public bool PlayImmediately; 18 | public bool PlayOnlyOnce; 19 | 20 | [NMS(Size = 6, Ignore = true)] 21 | public byte[] Padding22; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcCustomInventoryComponentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcCustomInventoryComponentData : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Size; 9 | public List DesiredTechs; 10 | 11 | public bool Cool; 12 | 13 | [NMS(Size = 7, Ignore = true)] 14 | public byte[] Padding21; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDebrisData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDebrisData : NMSTemplate 4 | { 5 | public TkModelResource Filename; 6 | public int Number; 7 | public float Radius; 8 | public float Scale; 9 | public float Speed; 10 | public float AnglularSpeed; // sic 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDefaultSaveData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDefaultSaveData : NMSTemplate 4 | { 5 | public GcPlayerStateData State; 6 | 7 | public GcPlayerSpawnStateData Spawn; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDestroyAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDestroyAction : NMSTemplate 4 | { 5 | public bool DestroyAll; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDiscoveryTypes.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDiscoveryTypes : NMSTemplate 4 | { 5 | public int DiscoveryType; 6 | public string[] DiscoveryTypeValues() 7 | { 8 | return new[] { "Unknown", "SolarSystem", "Planet", "Animal", "Flora", "Mineral", "Sector" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDiscoveryWorth.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDiscoveryWorth : NMSTemplate 4 | { 5 | public int Common; 6 | public int Uncommon; 7 | public int Rare; 8 | public int OnScan; 9 | public int Mission; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDisplayText.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDisplayText : NMSTemplate 4 | { 5 | public int HUDTextDisplayType; 6 | public string[] HUDTextDisplayTypeValues() 7 | { 8 | return new[] { "Full", "Compact", "EyeLevel", "Prompt", "Tooltip" }; 9 | } 10 | 11 | [NMS(Size = 0x100)] 12 | public string Title; 13 | [NMS(Size = 0x100)] 14 | public string Subtitle1; 15 | [NMS(Size = 0x100)] 16 | public string Subtitle2; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDistanceScaleComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDistanceScaleComponentData : NMSTemplate 4 | { 5 | public bool UseGlobals; 6 | public float Scale; 7 | public float MinDistance; 8 | public float MaxDistance; 9 | public float MinHeight; 10 | public float MaxHeight; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDoShipFlybyClose.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDoShipFlybyClose : NMSTemplate 4 | { 5 | public float LockOffset; 6 | public float LockTime; 7 | public float LockSpread; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDoShipFlybyIntercept.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDoShipFlybyIntercept : NMSTemplate 4 | { 5 | public float Speed; 6 | public float Time; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDoShipFlybyOverhead.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDoShipFlybyOverhead : NMSTemplate 4 | { 5 | public float Length; 6 | public float Offset; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDroneComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDroneComponentData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public GcPrimaryAxis PrimaryAxis; 8 | public float Scaler; 9 | public GcCreatureHealthData Health; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcDroneControlData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcDroneControlData : NMSTemplate 4 | { 5 | public float MaxSpeed; 6 | public float Strength; 7 | public float DirectionBrake; 8 | public float MinHeight; 9 | public float MaxHeight; 10 | public float HeightAdjustStrength; 11 | public float HeightAdjustDownStrength; 12 | public float LookStrength; 13 | public float StopTime; 14 | public float RepelForce; 15 | public float RepelRange; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcEncounterComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcEncounterComponentData : NMSTemplate 4 | { 5 | public int EncounterType; 6 | public string[] EncounterTypeValues() 7 | { 8 | return new[] { "Guards", "Patrol", "Ambush" }; 9 | } 10 | public int EncounterRobot; 11 | public string[] EncounterRobotValues() 12 | { 13 | return new[] { "Drones", "Quads", "Walker" }; 14 | } 15 | public int CountMin; 16 | public int CountMax; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcEncyclopediaComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcEncyclopediaComponentData : NMSTemplate 4 | { 5 | public GcDiscoveryTypes DiscoveryType; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcEngineComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcEngineComponentData : NMSTemplate 4 | { 5 | public int Type; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcEntitlementRewardData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcEntitlementRewardData : NMSTemplate 4 | { 5 | [NMS(Size = 0x20)] 6 | public string EntitlementId; 7 | 8 | [NMS(Size = 0x10)] 9 | public string RewardId; 10 | 11 | [NMS(Size = 0x20)] 12 | public string Name; 13 | 14 | [NMS(Size = 0x20)] 15 | public string Error; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcEntitlementRewardsTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcEntitlementRewardsTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcEnvironmentSpawnData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcEnvironmentSpawnData : NMSTemplate 6 | { 7 | public List Creatures; 8 | public List Landmarks; 9 | public List Objects; 10 | public List DetailObjects; 11 | public List SelectableObjects; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcExactResource.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcExactResource : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Filename; 7 | public GcSeed GenerationSeed; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcExplosionData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcExplosionData : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Id; 9 | public TkModelResource Model; 10 | public GcAudioWwiseEvents AkEvent; 11 | public List Debris; 12 | public float Life; 13 | public float Scale; 14 | public float DistanceScale; 15 | public float DistanceScaleMax; 16 | public bool CamShake; 17 | public float MaxSpawnDistance; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcExplosionDataTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcExplosionDataTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcExternalObjectFileList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcExternalObjectFileList : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Id; 9 | 10 | public bool OnlyOnExtremeWeather; 11 | public bool OnlyOnExtremeSentinels; 12 | public bool OnlyOnDeepWater; 13 | public bool NotOnExtremePlanets; 14 | public bool NotOnStartPlanets; 15 | 16 | public GcBiomeType Biome; 17 | 18 | public float ProbabilityOfBeingActive; 19 | public int MinFilesToChoose; 20 | public int MaxFilesToChoose; 21 | 22 | public List ExternalObjectFiles; 23 | 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcExternalObjectList.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcExternalObjectList : NMSTemplate 4 | { 5 | public GcEnvironmentSpawnData Objects; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcExternalObjectListOptions.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcExternalObjectListOptions : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Name; 7 | public float Probability; 8 | public GcTerrainTileType TileType; 9 | [NMS(Size = 4, EnumValue = new[] { "Dead", "Low", "Mid", "Full" })] 10 | public NMSString0x80[] Options; 11 | public bool AllowLimiting; 12 | [NMS(Size = 7, Ignore = true)] 13 | public byte[] Padding; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcFontData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcFontData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string File; 7 | public int MinCharWidth; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcFontTable.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcFontTable : NMSTemplate 4 | { 5 | public GcFontData Table1; 6 | public GcFontData Table2; 7 | public GcFontData Table3; 8 | public GcFontData Table4; 9 | public GcFontData Table5; 10 | public GcFontData Table6; 11 | public GcFontData Table7; 12 | public GcFontData Table8; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcFontTypesEnum.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcFontTypesEnum : NMSTemplate 4 | { 5 | public int Font; 6 | public string[] FontValues() 7 | { 8 | return new[] { "Impact", "Bebas", "GeosansLightWide", "GeosansLight", "GeosansLightMedium", "GeosansLightSmall", "Segoeuib", "Segoeui32" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcGalacticAddressData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcGalacticAddressData : NMSTemplate // 0x14 bytes 4 | { 5 | public int VoxelX; 6 | 7 | public int VoxelY; 8 | 9 | public int VoxelZ; 10 | 11 | public int SolarSystemIndex; 12 | 13 | public int PlanetIndex; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcGalaxyStarTypes.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcGalaxyStarTypes : NMSTemplate 4 | { 5 | public int GalaxyStarType; 6 | public string[] GalaxyStarTypeValues() 7 | { 8 | return new[] { "Yellow", "Green", "Blue", "Red" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcGenericIconTypes.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcGenericIconTypes : NMSTemplate 4 | { 5 | public int GenericIconType; 6 | public string[] GenericIconTypeValues() 7 | { 8 | return new[] { "None", "Interaction", "SpaceStation", "SpaceAnomaly", "SpaceAtlas" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcGenericRewardTableEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcGenericRewardTableEntry : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public GcRewardTableItemList Common; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcGoToStateAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcGoToStateAction : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string State; 7 | 8 | public bool Broadcast; 9 | public int BroadcastLevel; 10 | public string[] BroadcastLevelValues() 11 | { 12 | return new[] { "Scene", "LocalModel" }; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHUDComponent.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcHUDComponent : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | 8 | public int PosX; 9 | public int PosY; 10 | public int Width; 11 | public int Height; 12 | public int Align; 13 | 14 | public string[] AlignValues() 15 | { 16 | return new string[] { "Center", "TopLeft", "TopRight", "BottomLeft", "BottomRight" }; 17 | } 18 | 19 | public int Unknown24; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHUDImageData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcHUDImageData : NMSTemplate 4 | { 5 | public GcHUDComponent Data; 6 | 7 | [NMS(Size = 0x80)] 8 | public string Image; 9 | 10 | public Colour Colour; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHUDLayerData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcHUDLayerData : NMSTemplate 6 | { 7 | public GcHUDComponent Data; 8 | public List Children; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHUDTextData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcHUDTextData : NMSTemplate 4 | { 5 | public GcHUDComponent Data; 6 | 7 | [NMS(Size = 0x80)] 8 | public string Text; 9 | 10 | [NMS(Size = 8, Ignore = true)] 11 | public byte[] PaddingA8; 12 | 13 | public GcTextPreset Preset; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHazardValues.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcHazardValues : NMSTemplate 4 | { 5 | public float Min; 6 | public float Max; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHeavyAirColourData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcHeavyAirColourData : NMSTemplate 4 | { 5 | public Colour Colour1; 6 | public Colour Colour2; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHeavyAirList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcHeavyAirList : NMSTemplate 6 | { 7 | public List Options; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHeavyAirSetting.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcHeavyAirSetting : NMSTemplate 4 | { 5 | [NMS(Size = 5)] 6 | public GcHeavyAirSettingValues[] Settings; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcHeavyAirSettingValues.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcHeavyAirSettingValues : NMSTemplate 4 | { 5 | public float Thickness; 6 | public float Speed; 7 | public float Alpha1; 8 | public float Alpha2; 9 | public TkPaletteTexture Colour1; 10 | public TkPaletteTexture Colout2; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInputActionMapping.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInputActionMapping : NMSTemplate 4 | { 5 | public int RemappedKey = -1; 6 | public int RemappedPad = -1; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInteractionActivationCost.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcInteractionActivationCost : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string SubstanceId; 9 | public List AltIds; 10 | 11 | public int Cost; // might be float 12 | public bool Repeat; 13 | 14 | [NMS(Size = 3, Ignore = true)] 15 | public byte[] Padding25; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInteractionBuffer.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInteractionBuffer : NMSTemplate // 0x7D10 bytes 4 | { 5 | [NMS(Size = 0x3E8)] 6 | public GcInteractionData[] Interactions; 7 | 8 | public float CurrentPos; 9 | 10 | [NMS(Size = 0xC, Ignore = true)] 11 | public byte[] Padding7D04; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInteractionData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInteractionData : NMSTemplate // 0x20 bytes 4 | { 5 | public ulong GalacticAddress; 6 | public float Value; 7 | public bool Flag; 8 | [NMS(Size = 0x3, Ignore = true)] 9 | public byte[] PaddingD; 10 | 11 | public Vector4f Position; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInteractionType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInteractionType : NMSTemplate 4 | { 5 | public int InteractionType; 6 | public string[] InteractionTypeValues() 7 | { 8 | return new[] 9 | { 10 | "None", "Shop", "NPC", "NPC_Secondary", "NPC_Anomaly", "NPC_Anomaly_Secondary", "Ship", "Outpost", 11 | "SpaceStation", "RadioTower", "Monolith", "Factory", "AbandonedShip", "Harvester", "Observatory", "TradingPost", 12 | "DistressBeacon", "Portal", "Plaque", "AtlasStation", "AbandonedBuildings", "WeaponTerminal", "SuitTerminal", "SignalScanner" 13 | }; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInventoryContainer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcInventoryContainer : NMSTemplate // 0x20 bytes 6 | { 7 | public List Slots; 8 | public List ValidSlotIndices; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInventoryElement.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInventoryElement : NMSTemplate 4 | { 5 | public GcInventoryType Type; 6 | [NMS(Ignore = true)] 7 | public int EmptyNode1; 8 | [NMS(Size = 0x10)] 9 | public string Id; 10 | public int Amount; 11 | public int MaxAmount; 12 | public float DamageFactor; 13 | public GcInventoryIndex Index; 14 | [NMS(Ignore = true)] 15 | public int EmptyNode2; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInventoryIndex.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInventoryIndex : NMSTemplate 4 | { 5 | public int X; 6 | public int Y; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInventoryLayout.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInventoryLayout : NMSTemplate 4 | { 5 | public int Slots; 6 | [NMS(Ignore = true)] 7 | public int EmptyNode1; 8 | public GcSeed Seed; 9 | public int Level; 10 | [NMS(Ignore = true)] 11 | public int EmptyNode2; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInventoryTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcInventoryTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInventoryTableEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInventoryTableEntry : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public int MinSize; 8 | public int MaxSize; 9 | public int SizeType; 10 | public string[] SizeTypeValues() 11 | { 12 | return new[] { "SciSmall", "SciMedium", "SciLarge", "FgtSmall", "FgtMedium", "FgtLarge", "ShuSmall", "ShtMedium", "ShtLarge", "DrpSmall", "DrpMedium", "DrpLarge", "WeaponSmall", "WeaponMedium", "WeaponLarge" }; // Shu/Sht spelling mistake(?) is from the exe 13 | } 14 | 15 | [NMS(Size = 4, Ignore = true)] 16 | public byte[] Padding1C; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInventoryTechProbability.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInventoryTechProbability : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Tech; 7 | public int DesiredTechProbability; 8 | public string[] DesiredTechProbabilityValues() 9 | { 10 | return new[] { "Never", "Rare", "Common", "Always" }; 11 | } 12 | [NMS(Size = 4, Ignore = true)] 13 | public byte[] Padding14; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcInventoryType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcInventoryType : NMSTemplate 4 | { 5 | public int InventoryType; // Substance / Technology / Product 6 | 7 | public string[] InventoryTypeValues() 8 | { 9 | return new[] { "Substance", "Technology", "Product" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcItemPriceModifiers.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcItemPriceModifiers : NMSTemplate 4 | { 5 | public float SpaceStationMarkup; 6 | public float LowPriceMod; 7 | public float HighPriceMod; 8 | public float BuyBaseMarkup; 9 | public float BuyMarkupMod; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcJourneyMilestoneData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcJourneyMilestoneData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string JourneyMilestoneId; 7 | public int PointsToUnlock; 8 | [NMS(Size = 4, Ignore = true)] 9 | public byte[] Padding14; 10 | [NMS(Size = 0x20)] 11 | public string JourneyMilestoneTitle; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcJourneyMilestoneTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcJourneyMilestoneTable : NMSTemplate 6 | { 7 | public List Table; // called GcJourneyMilestoneTable in the exe 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcLandingHelperComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcLandingHelperComponentData : NMSTemplate 4 | { 5 | public float ActiveDistanceMin; 6 | public float ActiveDistanceMax; 7 | public bool LandPoint; 8 | 9 | [NMS(Size = 3, Ignore = true)] 10 | public byte[] Padding9; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcLegality.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcLegality : NMSTemplate 4 | { 5 | public int Legality; 6 | 7 | public string[] LegalityValues() 8 | { 9 | return new[] { "Legal", "Illegal", "None" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcLeveledStatData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcLeveledStatData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string StatId; 7 | [NMS(Size = 0x20)] 8 | public string StatTitle; 9 | [NMS(Size = 0x20)] 10 | public string NotifyMessage; 11 | [NMS(Size = 0x20)] 12 | public string NotifyMessageSingular; 13 | 14 | public bool ShowInTerminal; 15 | public bool ShowStatLevel; 16 | [NMS(Size = 0x2, Ignore = true)] 17 | public byte[] Padding72; 18 | public TkTextureResource Icon; 19 | [NMS(Size = 0xB)] 20 | public GcStatLevelData[] StatLevels; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcLeveledStatTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcLeveledStatTable : NMSTemplate 6 | { 7 | public List Table; // called GcLeveledStatTable in the exe 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcLightProperties.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcLightProperties : NMSTemplate 4 | { 5 | public Colour SunColour; 6 | public Colour LightColour; 7 | public Colour BounceColour; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcLootComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcLootComponentData : NMSTemplate 4 | { 5 | public Vector2f Timed; 6 | [NMS(Size = 0x10)] 7 | public string TimeOutEffect; 8 | public bool DeathPoint; 9 | 10 | [NMS(Size = 7, Ignore = true)] 11 | public byte[] Padding19; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcMarkerComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcMarkerComponentData : NMSTemplate 4 | { 5 | public GcGenericIconTypes GenericIconType; 6 | public float Radius; 7 | public int DisplayMode; 8 | public string[] DisplayModeValues() 9 | { 10 | return new[] { "Always", "SpaceOnly", "PlanetOnly" }; 11 | } 12 | 13 | public bool ShipScannable; 14 | 15 | [NMS(Size = 3, Ignore = true)] 16 | public byte[] PaddingD; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcMiningSubstanceData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcMiningSubstanceData : NMSTemplate 4 | { 5 | public GcRealitySubstanceCategory Category; 6 | public bool UseRarity; 7 | public GcRarity Rarity; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcModelViewCollection.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcModelViewCollection : NMSTemplate // 0x5B0 4 | { 5 | [NMS(Size = 13)] // 13 * 0x70 = 0x5B0 6 | public TkModelRendererData[] ModelViews; // List or Array? 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiElementData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiElementData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string ID; 7 | [NMS(Size = 0x10)] 8 | public string PresetID; 9 | 10 | public long CreationTime; 11 | 12 | public bool IsHidden; 13 | 14 | [NMS(Size = 0x3, Ignore = true)] 15 | public byte[] Padding29; 16 | 17 | public GcNGuiLayoutData Layout; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiFileBrowserRecents.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiFileBrowserRecents : NMSTemplate 4 | { 5 | [NMS(Size = 0xA)] 6 | public NMSString0x100[] Recents; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiGraphicData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiGraphicData : NMSTemplate 4 | { 5 | public GcNGuiElementData ElementData; 6 | public TkNGuiGraphicStyle Style; 7 | 8 | [NMS(Size = 0x80)] 9 | public string Image; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiLayerData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcNGuiLayerData : NMSTemplate 6 | { 7 | public GcNGuiElementData Data; 8 | public TkNGuiGraphicStyle Style; 9 | [NMS(Size = 0x80)] 10 | public string Image; 11 | public List Children; 12 | [NMS(Size = 0x80)] 13 | public string DataFilename; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiPreset.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiPreset : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Font; 7 | 8 | [NMS(Size = 0xA)] 9 | public GcNGuiPresetGraphic[] Layer; 10 | 11 | [NMS(Size = 0xA)] 12 | public GcNGuiPresetGraphic[] Graphic; 13 | 14 | [NMS(Size = 0xA)] 15 | public GcNGuiPresetText[] Text; 16 | 17 | public GcNGuiLayoutData SpacingLayout; 18 | 19 | [NMS(Size = 4, Ignore = true)] 20 | public byte[] Padding514C; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiPresetGraphic.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiPresetGraphic : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string PresetID; 7 | public GcNGuiLayoutData Layout; 8 | [NMS(Size = 0x4)] 9 | public byte[] Padding3C; 10 | 11 | public TkNGuiGraphicStyle Style; 12 | [NMS(Size = 0x80)] 13 | public string Image; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiPresetText.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiPresetText : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string PresetID; 7 | public GcNGuiLayoutData Layout; 8 | [NMS(Size = 0x4)] 9 | public byte[] Padding3C; 10 | 11 | public TkNGuiTextStyle Style; 12 | public TkNGuiGraphicStyle GraphicStyle; 13 | [NMS(Size = 0x80)] 14 | public string Image; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiSpacingData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiSpacingData : NMSTemplate 4 | { 5 | public GcNGuiElementData Data; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiSpecialTextImageData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiSpecialTextImageData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Name; 7 | public bool ScaleToFitFont; 8 | public Vector2f Size; 9 | 10 | [NMS(Size = 0x80)] 11 | public string Path; 12 | 13 | [NMS(Size = 4, Ignore = true)] 14 | public byte[] Padding9C; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiSpecialTextImages.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcNGuiSpecialTextImages : NMSTemplate 6 | { 7 | public List SpecialImages; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiSpecialTextStyleData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcNGuiSpecialTextStyleData : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Name; 9 | 10 | public List StyleProperties; 11 | public GcNGuiStyleAnimationData Animation; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiSpecialTextStyles.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcNGuiSpecialTextStyles : NMSTemplate 6 | { 7 | public List SpecialStyles; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiStyleAnimationData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcNGuiStyleAnimationData : NMSTemplate 6 | { 7 | public float Length; 8 | public List KeyFrames; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiStyleAnimationKeyframeData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcNGuiStyleAnimationKeyframeData : NMSTemplate 6 | { 7 | public float Position; 8 | public List StyleProperties; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNGuiTextData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNGuiTextData : NMSTemplate 4 | { 5 | public GcNGuiElementData Data; 6 | public TkNGuiTextStyle Style; 7 | public TkNGuiGraphicStyle GraphicStyle; 8 | 9 | [NMS(Size = 0x80)] 10 | public string Image; 11 | 12 | [NMS(Size = 0x200)] 13 | public string Text; 14 | 15 | public bool Special; 16 | [NMS(Size = 0xF, Ignore = true)] 17 | public byte[] Padding1; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNPCComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNPCComponentData : NMSTemplate 4 | { 5 | public GcAlienRace AlienRace; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcNodeActivationAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcNodeActivationAction : NMSTemplate 4 | { 5 | public int NodeActiveState; 6 | public string[] NodeActiveStateValues() 7 | { 8 | return new[] { "Activate", "Deactivate", "Toggle" }; 9 | } 10 | 11 | [NMS(Size = 0x80)] 12 | public string Name; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcObjectPlacementComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcObjectPlacementComponentData : NMSTemplate 4 | { 5 | [NMS(Size = 0x20)] 6 | public string GroupNodeName; 7 | 8 | public int ActivationType; 9 | public float FractionOfNodesActive; 10 | public int MaxNodesActivated; 11 | public int MaxGroupsActivated; 12 | public bool UseRaycast; 13 | 14 | [NMS(Size = 3, Ignore = true)] 15 | public byte[] Padding31; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcOutpostLSystemPair.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcOutpostLSystemPair : NMSTemplate // 0x320 bytes 4 | { 5 | [NMS(Size = 0x20)] 6 | public string Locator; 7 | [NMS(Size = 6)] 8 | public NMSString0x80[] LSystems; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPainAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPainAction : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Damage; 7 | public float Radius; 8 | public bool AffectsPlayer; 9 | 10 | [NMS(Size = 3, Ignore = true)] 11 | public byte[] Padding15; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPaletteData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPaletteData : NMSTemplate 4 | { 5 | public int NumColours; 6 | public string[] NumColoursValues() 7 | { 8 | return new[] { "Inactive", "1", "4", "16", "All" }; 9 | } 10 | 11 | [NMS(Size = 0xC, Ignore = true)] 12 | public byte[] Padding4; 13 | 14 | [NMS(Size = 0x40)] 15 | public Colour[] Colours; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPaletteList.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPaletteList : NMSTemplate 4 | { 5 | [NMS(Size = 0x26)] 6 | public GcPaletteData[] Palettes; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcParticleAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcParticleAction : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Effect; 7 | [NMS(Size = 0x20)] 8 | public string Joint; 9 | public bool Exact; 10 | 11 | [NMS(Size = 7, Ignore = true)] 12 | public byte[] Padding31; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetBuildingData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcPlanetBuildingData : NMSTemplate // size = 0x18 6 | { 7 | public List Buildings; 8 | public float Spacing; 9 | 10 | [NMS(Size = 0x4, Ignore = true)] 11 | public byte[] Padding14; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetClass.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetClass : NMSTemplate 4 | { 5 | public int PlanetClass; 6 | public string[] PlanetClassValues() 7 | { 8 | return new[] { "Default", "Initial", "InInitialSystem" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetColourData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetColourData : NMSTemplate 4 | { 5 | [NMS(Size = 0x26)] 6 | public GcColourPaletteData[] Palettes; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetGenerationInputData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetGenerationInputData : NMSTemplate 4 | { 5 | public GcSeed Seed; 6 | public GcGalaxyStarTypes StarType; 7 | public GcPlanetClass PlanetClass; 8 | [NMS(Size = 0x10)] 9 | public string CommonSubstance; 10 | [NMS(Size = 0x10)] 11 | public string RareSubstance; 12 | public GcPlanetSize PlanetSize; 13 | public GcBiomeType BiomeType; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetHazardData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetHazardData : NMSTemplate 4 | { 5 | [NMS(Size = 5)] 6 | public float[] Temperature; 7 | 8 | [NMS(Size = 5)] 9 | public float[] Toxicity; 10 | 11 | [NMS(Size = 5)] 12 | public float[] Radiation; 13 | 14 | [NMS(Size = 5)] 15 | public float[] OutputTemperature; 16 | 17 | [NMS(Size = 5)] 18 | public float[] OutputToxicity; 19 | 20 | [NMS(Size = 5)] 21 | public float[] OutputRadiation; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetHeavyAirData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetHeavyAirData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Filename; 7 | [NMS(Size = 5)] 8 | public GcHeavyAirColourData[] Colours; 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetInfo.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetInfo : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string PlanetDescription; 7 | [NMS(Size = 0x80)] 8 | public string PlanetType; 9 | [NMS(Size = 0x80)] 10 | public string Weather; 11 | [NMS(Size = 0x80)] 12 | public string Resources; 13 | [NMS(Size = 0x80)] 14 | public string Flora; 15 | [NMS(Size = 0x80)] 16 | public string Fauna; 17 | [NMS(Size = 0x80)] 18 | public string Sentinels; 19 | 20 | public bool IsWeatherExtreme; 21 | public bool AreSentinelsExtreme; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetLife.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetLife : NMSTemplate 4 | { 5 | public int LifeSetting; 6 | public string[] LifeSettingValues() 7 | { 8 | return new[] { "Dead", "Low", "Mid", "Full" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetSentinelData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetSentinelData : NMSTemplate 4 | { 5 | public int SentinelLevel; 6 | public string[] SentinelLevelValues() 7 | { 8 | return new[] { "Default", "Aggressive" }; 9 | } 10 | 11 | public int MaxActiveDrones; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetSize.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetSize : NMSTemplate 4 | { 5 | public int PlanetSize; 6 | public string[] PlanetSizeValues() 7 | { 8 | return new[] { "Large", "Medium", "Small", "Moon" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlanetWeatherColourData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlanetWeatherColourData : NMSTemplate 4 | { 5 | public Colour SkyColour; 6 | public Colour SkyUpperColour; 7 | public Colour SkySolarColour; 8 | public Colour HorizonColour; 9 | public Colour SunColour; 10 | public Colour FogColour; 11 | public Colour HeightFogColour; 12 | 13 | [NMS(Size = 0x10)] 14 | public byte[] SkyGradientSpeed; // not sure what type this is? 15 | 16 | public Colour LightColour; 17 | public Colour CloudColour1; 18 | public Colour CloudColour2; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayAnimAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlayAnimAction : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Anim; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayAudioAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlayAudioAction : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Sound; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayerDamageTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcPlayerDamageTable : NMSTemplate 6 | { 7 | public List DamageTable; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayerHazardTable.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlayerHazardTable : NMSTemplate 4 | { 5 | [NMS(Size = 6)] 6 | public GcPlayerHazardData[] Table; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayerMissionProgress.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlayerMissionProgress : NMSTemplate // 0x18 bytes 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Mission; 7 | public int Progress; 8 | 9 | [NMS(Size = 4, Ignore = true)] 10 | public byte[] Padding14; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayerMissionProgressMapEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlayerMissionProgressMapEntry : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Mission; 7 | public int MinProgress; 8 | public int MaxProgress; 9 | public int NewProgress; 10 | 11 | [NMS(Size = 4, Ignore = true)] 12 | public byte[] Padding1C; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayerMissionProgressMapTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcPlayerMissionProgressMapTable : NMSTemplate 6 | { 7 | public List GcMissionProgressTable; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayerSpawnStateData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlayerSpawnStateData : NMSTemplate 4 | { 5 | public Vector4f PlayerPositionInSystem; 6 | public Vector4f PlayerTransformAt; 7 | public Vector4f ShipPositionInSystem; 8 | public Vector4f ShipTransformAt; 9 | public int LastKnownPlayerState; 10 | public string[] LastKnownPlayerStateValues() 11 | { 12 | return new[] { "OnFoot", "InShip", "OnStation" }; 13 | } 14 | 15 | [NMS(Size = 0xC, Ignore = true)] 16 | public byte[] Padding44; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayerStat.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPlayerStat : NMSTemplate // 0x20 bytes 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | 8 | public GcStatValueData Value; 9 | 10 | [NMS(Size = 4, Ignore = true)] 11 | public byte[] Padding1C; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPlayerStatsGroup.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcPlayerStatsGroup : NMSTemplate // 0x28 bytes 6 | { 7 | [NMS(Size = 0x10)] 8 | public string GroupId; 9 | 10 | public ulong Address; 11 | 12 | public List Stats; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcPrimaryAxis.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcPrimaryAxis : NMSTemplate 4 | { 5 | public int PrimaryAxis; 6 | public string[] PrimaryAxisValues() 7 | { 8 | return new[] { "Z", "ZNeg" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcProductCategory.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcProductCategory : NMSTemplate 4 | { 5 | public int ProductCategory; 6 | 7 | public string[] ProductCategoryValues() 8 | { 9 | return new[] { "Component", "Device", "Consumable", "Curiousity", "Generic", "None" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcProductTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcProductTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcProjectileDataTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcProjectileDataTable : NMSTemplate 6 | { 7 | public List Table; 8 | public List Lasers; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcProjectileImpactData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcProjectileImpactData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Effect; 7 | public GcProjectileImpactType ImpactType; 8 | [NMS(Size = 4, Ignore = true)] 9 | public byte[] Padding14; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcProjectileImpactType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcProjectileImpactType : NMSTemplate 4 | { 5 | public int Impact; 6 | public string[] ImpactValues() 7 | { 8 | return new[] { "Default", "Terrain", "Substance", "Rock", "Asteroid", "Shield", "Creature", "Robot", "Freighter", "Cargo", "Ship", "Plant" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRarity.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRarity : NMSTemplate 4 | { 5 | public int Rarity; 6 | 7 | public string[] RarityValues() 8 | { 9 | return new[] { "Common", "Uncommon", "Rare", "Extraordinary", "None" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRealityCommonFactions.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRealityCommonFactions : NMSTemplate 4 | { 5 | public int AIFaction; 6 | public string[] AIFactionValues() 7 | { 8 | return new[] { "FactionA", "FactionB", "FactionC", "FactionD", "Pirate", "Police" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRealityCraftingRecipeData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRealityCraftingRecipeData : NMSTemplate // 0x58 bytes 4 | { 5 | [NMS(Size = 3)] 6 | public GcRealitySubstanceCraftingMix[] Inputs; 7 | 8 | [NMS(Size = 0x10)] 9 | public string OutputID; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRealitySubstanceCategory.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRealitySubstanceCategory : NMSTemplate 4 | { 5 | public int SubstanceCategory; 6 | 7 | public string[] SubstanceCategoryValues() 8 | { 9 | return new[] { "Commodity", "Technology", "Fuel", "Tradeable", "Special", "None" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRealitySubstanceCraftingMix.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRealitySubstanceCraftingMix : NMSTemplate // 0x18 bytes 4 | { 5 | [NMS(Size = 0x10)] 6 | public string ID; 7 | 8 | public int Ratio; 9 | 10 | [NMS(Size = 4, Ignore = true)] 11 | public byte[] Padding14; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcResourceElement.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcResourceElement : NMSTemplate // size = 0x2A8 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Filename; 7 | [NMS(Ignore = true)] 8 | public long EmptyNode1; 9 | public GcSeed GenerationSeed; 10 | [NMS(Size = 0x200)] 11 | public string AltId; 12 | public TkProceduralTextureChosenOptionList Texture; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardAction : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Reward; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardChangeGlobalMission.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardChangeGlobalMission : NMSTemplate 4 | { 5 | public int GlobalMission; 6 | 7 | public string[] GlobalMissionValues() 8 | { 9 | return new[] { "Atlas", "BlackHole", "Anomaly", "Explore" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardDamage.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardDamage : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string PlayerDamage; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardDamageTech.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardDamageTech : NMSTemplate 4 | { 5 | public GcTechnologyCategory Category; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardDestructEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs { 2 | public class GcRewardDestructEntry : NMSTemplate 3 | { 4 | public float HealthFactor; 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardDestructRarities.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardDestructRarities : NMSTemplate 4 | { 5 | public GcRewardDestructEntry Common; 6 | public GcRewardDestructEntry Uncommon; 7 | public GcRewardDestructEntry Rare; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardDestructTable.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardDestructTable : NMSTemplate 4 | { 5 | [NMS(Size = 5)] 6 | public GcRewardDestructRarities[] Categories; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardEnergy.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardEnergy : NMSTemplate 4 | { 5 | public float Amount; // might be int 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardHazard.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardHazard : NMSTemplate 4 | { 5 | public int AmountMin; 6 | public int AmountMax; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardHealth.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardHealth : NMSTemplate 4 | { 5 | public int AmountMin; 6 | public int AmountMax; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardMoney.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardMoney : NMSTemplate 4 | { 5 | public int AmountMin; 6 | public int AmountMax; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardMultiSpecificProducts.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcRewardMultiSpecificProducts : NMSTemplate 6 | { 7 | public List ProductIds; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardProduct.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardProduct : NMSTemplate 4 | { 5 | public GcRealitySubstanceCategory Category; 6 | public GcRarity Rarity; 7 | public int ItemLevel; 8 | [NMS(Size = 4, EnumValue = new[] { "Component", "Device", "Consumable", "Curiosity" })] 9 | public bool[] AllowedProductTypes; 10 | public int AmountMin; 11 | public int AmountMax; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardProductRecipe.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardProductRecipe : NMSTemplate 4 | { 5 | public GcRealitySubstanceCategory Category; 6 | public GcRarity Rarity; 7 | public bool IgnoreRarity; 8 | public int ItemLevel; 9 | [NMS(Size = 4, EnumValue = new[] { "Component", "Device", "Consumable", "Curiosity" })] 10 | public bool[] AllowedProductTypes; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardRepairTech.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardRepairTech : NMSTemplate 4 | { 5 | public GcTechnologyCategory Category; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardScan.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardScan : NMSTemplate 4 | { 5 | public GcScanData ScanData; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardShield.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardShield : NMSTemplate 4 | { 5 | public int AmountMin; 6 | public int AmountMax; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardShowBlackHoles.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardShowBlackHoles : NMSTemplate 4 | { 5 | public bool Dummy; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardSignalScan.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardSignalScan : NMSTemplate 4 | { 5 | public int SignalScanType; 6 | public string[] SignalScanTypeValues() 7 | { 8 | return new[] { "None", "DropPod", "Shelter", "Search", "Relic", "Industrial" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardSpecificProduct.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardSpecificProduct : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public int AmountMin; 8 | public int AmountMax; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardSpecificProductRecipe.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardSpecificProductRecipe : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardSpecificShip.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardSpecificShip : NMSTemplate 4 | { 5 | public GcResourceElement ShipResource; 6 | public GcInventoryLayout ShipLayout; 7 | public GcInventoryContainer ShipInventory; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardSpecificTech.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardSpecificTech : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string TechId; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardSpecificTechFromList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcRewardSpecificTechFromList : NMSTemplate 6 | { 7 | public List TechList; 8 | 9 | public int TechListRewardOrder; 10 | public string[] TechListRewardOrderValues() 11 | { 12 | return new[] { "OneRandom", "InOrder" }; 13 | } 14 | 15 | [NMS(Size = 4, Ignore = true)] 16 | public byte[] Padding14; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardSpecificWeapon.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardSpecificWeapon : NMSTemplate 4 | { 5 | public GcInventoryContainer WeaponInventory; 6 | public GcInventoryLayout WeaponLayout; 7 | public GcExactResource WeaponResource; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardStanding.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardStanding : NMSTemplate 4 | { 5 | public GcAlienRace Race; 6 | public int AmountMin; 7 | public int AmountMax; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardSubstance.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardSubstance : NMSTemplate 4 | { 5 | public GcRealitySubstanceCategory Category; 6 | public GcRarity Rarity; 7 | public int ItemLevel; 8 | public int AmountMin; 9 | public int AmountMax; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcRewardTable : NMSTemplate 6 | { 7 | public List Table; 8 | public List GenericTable; 9 | public List InteractionTable; 10 | public List EntitlementTable; 11 | public List TechRewardOrder; 12 | public List ProductRewardOrder; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardTableCategory.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardTableCategory : NMSTemplate 4 | { 5 | public GcRewardTableItemList Small; // This actually is a GcRewardTableItemList[3], values are GcSizes 6 | public GcRewardTableItemList Medium; 7 | public GcRewardTableItemList Large; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardTableEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardTableEntry : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public GcRewardTableCategory Common; // This actually is a GcRewardTableCategory[3], values are GcRarity 8 | public GcRewardTableCategory Uncommon; 9 | public GcRewardTableCategory Rare; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardTableItem.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardTableItem : NMSTemplate 4 | { 5 | public float PercentageChance; 6 | public NMSTemplate Reward; // Generic 7 | [NMS(Size = 0x40)] 8 | public string LabelID; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardTableItemList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcRewardTableItemList : NMSTemplate 6 | { 7 | public bool EntitlementLinked; 8 | [NMS(Size = 0x20)] 9 | public string EntitlementId; 10 | public int RewardChoice; 11 | public string[] RewardChoiceValues() 12 | { 13 | return new[] { "GiveAll", "Select", "TryEach" }; 14 | } 15 | 16 | public List List; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardTeachWord.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardTeachWord : NMSTemplate 4 | { 5 | public GcAlienRace Race; 6 | public int AmountMin; 7 | public int AmountMax; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardTechRecipe.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardTechRecipe : NMSTemplate 4 | { 5 | public GcTechnologyCategory Category; 6 | [NMS(Size = 0x10)] 7 | public string RewardGroup; 8 | 9 | [NMS(Size = 4, Ignore = true)] 10 | public byte[] Padding14; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardTimeWarp.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardTimeWarp : NMSTemplate 4 | { 5 | public bool Dummy; // unused? 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcRewardWeapon.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcRewardWeapon : NMSTemplate 4 | { 5 | public GcRarity Rarity; 6 | public int ItemLevel; 7 | public int AmountMin; 8 | public int AmountMax; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSavedEntitlement.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSavedEntitlement : NMSTemplate // 0x100 bytes 4 | { 5 | [NMS(Size = 0x100)] 6 | public string EntitlementId; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSavedInteractionRaceData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSavedInteractionRaceData : NMSTemplate // 0x18 bytes 4 | { 5 | [NMS(Size = 6)] 6 | public float[] SavedRaceIndicies; // unsure if this is float[] or not, code for this template is very strange 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcScanData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcScanData : NMSTemplate 4 | { 5 | public int ScanType; 6 | public string[] ScanTypeValues() 7 | { 8 | return new[] { "Tool", "Beacon", "RadioTower", "Observatory", "DistressSignal", "Waypoint", "Ship", "DebugPlanet", "DebugSpace" }; 9 | } 10 | 11 | public float PulseRange; 12 | public float PulseTime; 13 | public bool PlayAudioMarkers; 14 | public float ChargeTime; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcScanEventSave.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcScanEventSave : NMSTemplate // 0x50 bytes 4 | { 5 | public int Table; 6 | [NMS(Size = 4, Ignore = true)] 7 | public byte[] Padding4; 8 | 9 | [NMS(Size = 0x10)] 10 | public string Event; 11 | 12 | public ulong GalacticAddress; 13 | 14 | public GcSeed BuildingSeed; 15 | 16 | public Vector4f BuildingLocation; 17 | 18 | public GcBuildingClassification BuildingClass; 19 | 20 | [NMS(Size = 0xC, Ignore = true)] 21 | public byte[] Padding44; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcScanEventTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcScanEventTable : NMSTemplate 6 | { 7 | public List Events; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcScannableComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcScannableComponentData : NMSTemplate 4 | { 5 | public float ScanRange; 6 | [NMS(Size = 0x20)] 7 | public string ScanName; 8 | public float ScanTime; 9 | 10 | public GcScannerIconTypes IconType; 11 | public bool PermanentIcon; 12 | public float PermanentIconRadius; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcScannerIconTypes.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcScannerIconTypes : NMSTemplate 4 | { 5 | public int ScanIconType; 6 | public string[] ScanIconTypeValues() 7 | { 8 | return new[] 9 | { 10 | "None", "Health", "Shield", "Hazard", "Tech", "Signal", "Fuel", "Mineral", "Multi", "Artifact", "TechRecipe", "RareProp" 11 | }; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcScareCreaturesAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcScareCreaturesAction : NMSTemplate 4 | { 5 | public float HearRadius; 6 | public float FleeRadius; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSeed.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSeed : NMSTemplate 4 | { 5 | /* 0x00 */ public long Seed; 6 | /* 0x08 */ public bool UseSeedValue; 7 | 8 | [NMS(Size = 7, Ignore = true)] 9 | /* 0x09 */ public byte[] Padding9; // todo: is this always here? might be padding inside the parent template instead 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSelectableObjectData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSelectableObjectData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Filename; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSelectableObjectList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcSelectableObjectList : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Name; 9 | public GcAlienRace Race; 10 | public List Options; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSelectableObjectSpawnData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSelectableObjectSpawnData : NMSTemplate 4 | { 5 | public GcResourceElement Resource; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSelectableObjectSpawnList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcSelectableObjectSpawnList : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Name; 9 | public List Objects; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSelectableObjectTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcSelectableObjectTable : NMSTemplate 6 | { 7 | public List Lists; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcShieldComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcShieldComponentData : NMSTemplate 4 | { 5 | public int Type; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcShipAIPerformanceArray.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcShipAIPerformanceArray : NMSTemplate 6 | { 7 | public List Array; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcShipAIPlanetPatrolData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcShipAIPlanetPatrolData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Squad; 7 | 8 | public float PlayerOffset; 9 | public float PlayerFalloff; 10 | public float PathOffset; 11 | public float WaypointDistance; 12 | public float PathSpeed; 13 | public float AlongPathForce; 14 | public float ToPathForce; 15 | public float BrakeForce; 16 | public float AlignForce; 17 | 18 | [NMS(Size = 4, Ignore = true)] 19 | public byte[] Padding34; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcShipHUDTargetIconData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcShipHUDTargetIconData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Corner; 7 | [NMS(Size = 0x80)] 8 | public string LineHorizontal; 9 | [NMS(Size = 0x80)] 10 | public string LineVertical; 11 | 12 | [NMS(Size = 0x80)] 13 | public string GlowCorner; 14 | [NMS(Size = 0x80)] 15 | public string GlowLineHorizontal; 16 | [NMS(Size = 0x80)] 17 | public string GlowLineVertical; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcShootableComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcShootableComponentData : NMSTemplate 4 | { 5 | public int Health; 6 | public bool AutoAimTarget; 7 | public bool PlayerOnly; 8 | public bool ImpactShake; 9 | [NMS(Size = 1, Ignore = true)] 10 | public byte[] Padding7; 11 | [NMS(Size = 0x10)] 12 | public string ImpactShakeEffect; 13 | 14 | public GcProjectileImpactType ImpactType; 15 | public int IncreaseWanted; 16 | public float IncreaseWantedThresholdTime; 17 | public bool UseMiningDamage; 18 | public int MinDamage; 19 | public bool StaticUntilShot; 20 | 21 | [NMS(Size = 3, Ignore = true)] 22 | public byte[] Padding2D; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSizeIndicator.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSizeIndicator : NMSTemplate 4 | { 5 | public int SizeIndicator; 6 | public string[] SizeIndicatorValues() 7 | { 8 | return new[] { "Small", "Medium", "Large" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSolarSystemClass.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSolarSystemClass : NMSTemplate 4 | { 5 | public int SolarSystemClass; 6 | public string[] SolarSystemClassValues() 7 | { 8 | return new[] { "Default", "Initial", "Anomaly", "GameStart" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSolarSystemLocator.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSolarSystemLocator : NMSTemplate // 0x60 bytes 4 | { 5 | [NMS(Size = 0x20)] 6 | public string Name; 7 | public GcSolarSystemLocatorTypes LocatorType; 8 | [NMS(Size = 0xC, Ignore = true)] 9 | public byte[] Padding24; 10 | 11 | public Vector4f Position; 12 | public Vector4f Direction; 13 | public float Radius; 14 | 15 | [NMS(Size = 0xC, Ignore = true)] 16 | public byte[] Padding54; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSolarSystemLocatorChoice.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSolarSystemLocatorChoice : NMSTemplate 4 | { 5 | public int Choice; 6 | public string[] ChoiceValues() 7 | { 8 | return new[] { "LookupName", "AnyOfType", "SpecificIndex", "InFrontOfPlayer" }; 9 | } 10 | 11 | [NMS(Size = 0x20)] 12 | public string Name; // 0x20 13 | public GcSolarSystemLocatorTypes LocatorType; 14 | public int Index; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSolarSystemLocatorTypes.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSolarSystemLocatorTypes : NMSTemplate 4 | { 5 | public int LocatorType; 6 | public string[] LocatorTypeValues() 7 | { 8 | return new[] { "Generic1", "Generic2", "Generic3", "Generic4" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSolarSystemTraderSpawnData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSolarSystemTraderSpawnData : NMSTemplate 4 | { 5 | public int MaxToSpawn; 6 | public float InitialTakeoffDelay; 7 | public Vector2f SequenceTakeoffDelay; 8 | public int ChanceToDelayLaunch; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSpaceStationSpawnData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSpaceStationSpawnData : NMSTemplate 4 | { 5 | public int SpawnMode; 6 | public string[] SpawnModeValues() 7 | { 8 | return new[] { "None", "UseSeed", "UseAltID" }; 9 | } 10 | 11 | [NMS(Size = 4, Ignore = true)] 12 | public byte[] Padding4; 13 | public GcSeed Seed; 14 | [NMS(Size = 0x100)] 15 | public string AltId; 16 | [NMS(Size = 8, Ignore = true)] 17 | public byte[] Padding118; 18 | public Vector4f SpawnPosition; 19 | public Vector4f SpawnFacing; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSpaceshipClasses.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSpaceshipClasses : NMSTemplate 4 | { 5 | public int ShipClass; 6 | public string[] ShipClassValues() 7 | { 8 | return new[] { "Freighter", "Dropship", "Fighter", "Scientific", "Shuttle" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSpaceshipComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSpaceshipComponentData : NMSTemplate 4 | { 5 | public GcSpaceshipClasses ShipClass; 6 | [NMS(Size = 0x80)] 7 | public string Cockpit; 8 | public float MaxHeadTurn; 9 | public float MaxHeadPitchUp; 10 | public float MaxHeadPitchDown; 11 | public int BaseHealth; 12 | public float FoVFixedDistance; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSpawnAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSpawnAction : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Event; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSpawnComponentOption.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSpawnComponentOption : NMSTemplate // 0x2C8 bytes 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Name; 7 | public GcSeed Seed; 8 | public GcResourceElement SpecificModel; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSpawnDensity.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSpawnDensity : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Name; 7 | public bool Active; 8 | public int CoverageType; 9 | public string[] CoverageTypeValues() 10 | { 11 | return new[] { "Total", "SmoothPatch" }; 12 | } 13 | 14 | public float PatchSize; 15 | public float RegionScale; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSpawnDensityList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcSpawnDensityList : NMSTemplate 6 | { 7 | public List DensityList; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatDefinition.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStatDefinition : NMSTemplate 4 | { 5 | public GcStatType Type; 6 | public GcStatTrackType TrackType; 7 | public GcStatDisplayType DisplayType; 8 | public GcStatValueData DefaultValue; 9 | 10 | [NMS(Size = 0x10)] 11 | public string Id; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatDefinitionTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcStatDefinitionTable : NMSTemplate 6 | { 7 | public List StatDefinitionTable; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatDisplayType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStatDisplayType : NMSTemplate 4 | { 5 | public int StatDisplayType; 6 | public string[] StatDisplayTypeValues() 7 | { 8 | return new[] { "None", "Sols", "Distance" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatGroupData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcStatGroupData : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string GroupName; 9 | public List TrackedStats; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatGroupTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcStatGroupTable : NMSTemplate 6 | { 7 | public List Table; // called GcStatGroupTable in exe, C# won't let us use same name as class for members though 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatLevelData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStatLevelData : NMSTemplate 4 | { 5 | [NMS(Size = 0x20)] 6 | public string LevelName; 7 | public GcStatValueData Value; 8 | [NMS(Size = 0x4, Ignore = true)] 9 | public byte[] Padding2C; 10 | [NMS(Size = 0x10)] 11 | public string TrophyToUnlock; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatTrackType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStatTrackType : NMSTemplate 4 | { 5 | public int StatTrackType; 6 | public string[] StatTrackTypeValues() 7 | { 8 | return new[] { "Set", "Add", "Max", "Min" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStatType : NMSTemplate // not the same as GcStatsTypes 4 | { 5 | public int StatType; 6 | public string[] StatTypeValues() 7 | { 8 | return new[] { "Int", "Float", "AvgRate" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatValueData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStatValueData : NMSTemplate 4 | { 5 | public int IntValue; 6 | public float FloatValue; 7 | public float Denominator; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStateTimeEvent.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStateTimeEvent : NMSTemplate 4 | { 5 | public float Seconds; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStats.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStats : NMSTemplate 4 | { 5 | [NMS(Size = 4)] 6 | public GcStatsGroup[] Stats; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatsBonus.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStatsBonus : NMSTemplate 4 | { 5 | public GcStatsTypes StatsTypes; 6 | public float Bonus; 7 | public int Level; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatsEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStatsEntry : NMSTemplate 4 | { 5 | public GcStatsTypes StatsType; 6 | public Colour Colour; 7 | public float RangeMin; 8 | public float RangeMax; 9 | public bool LessIsBetter; 10 | 11 | [NMS(Ignore = true)] 12 | public int EmptyNode1; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStatsGroup.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcStatsGroup : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Id; 9 | 10 | public TkTextureResource Icon; 11 | 12 | public List StatIds; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStyleProp_Colour.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStyleProp_Colour : NMSTemplate 4 | { 5 | public Colour Colour; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStyleProp_Font.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStyleProp_Font : NMSTemplate 4 | { 5 | public int FontIndex; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcStyleProp_Size.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcStyleProp_Size : NMSTemplate 4 | { 5 | public float FontSize; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSubstanceAmount.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSubstanceAmount : NMSTemplate // 0x20 bytes 4 | { 5 | public int AmountMin; 6 | public int AmountMax; 7 | [NMS(Size = 0x10)] 8 | public string Specific; 9 | 10 | public GcRealitySubstanceCategory SubstanceCategory; 11 | public GcRarity Rarity; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcSubstanceTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcSubstanceTable : NMSTemplate 6 | { 7 | public List Table; 8 | public List Crafting; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTechnologyCategory.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTechnologyCategory : NMSTemplate 4 | { 5 | public int TechnologyCategory; 6 | 7 | public string[] TechnologyCategoryValues() 8 | { 9 | return new[] { "Ship", "Weapon", "Suit", "Personal", "All", "None" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTechnologyRarity.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTechnologyRarity : NMSTemplate 4 | { 5 | public int TechnologyRarity; 6 | 7 | public string[] TechnologyRarityValues() 8 | { 9 | return new[] { "Normal", "VeryCommon", "Common", "Rare", "VeryRare", "Impossible", "Always" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTechnologyRequirement.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTechnologyRequirement : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string ID; 7 | 8 | public GcInventoryType InventoryType; 9 | public int Amount; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTechnologyTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcTechnologyTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTerrainTileType.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTerrainTileType : NMSTemplate 4 | { 5 | public int TileType; 6 | 7 | public string[] TileTypeValues() 8 | { 9 | return new[] 10 | { 11 | "Air", "Base", "Rock", "Mountain", "Underwater", "Cave", "Dirt", "Liquid", "Substance" 12 | }; 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTextPreset.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTextPreset : NMSTemplate 4 | { 5 | public GcFontTypesEnum FontType; 6 | public NMSTemplate TextStyle; 7 | 8 | public float Height; 9 | public Colour Colour; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTextPresetTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcTextPresetTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTextStyleOutline.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTextStyleOutline : NMSTemplate 4 | { 5 | public Colour OutlineColour; 6 | public Vector2f OutlineOffset; 7 | 8 | [NMS(Size = 8, Ignore = true)] 9 | public byte[] Padding18; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTextStylePlain.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTextStylePlain : NMSTemplate 4 | { 5 | public bool Dummy; // unused? 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTextStyleShadow.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTextStyleShadow : NMSTemplate 4 | { 5 | public Colour ShadowColour; 6 | public Vector2f ShadowOffset; 7 | 8 | [NMS(Size = 8, Ignore = true)] 9 | public byte[] Padding18; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTexturePrefetchData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcTexturePrefetchData : NMSTemplate 6 | { 7 | public List Textures; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTileTypeOptions.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcTileTypeOptions : NMSTemplate 6 | { 7 | public List Options; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTradeSettings.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTradeSettings : NMSTemplate 4 | { 5 | public GcTradeData SpaceStation; 6 | public GcTradeData Shop; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTriggerActionComponentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcTriggerActionComponentData : NMSTemplate 6 | { 7 | public bool HideModel; 8 | public bool StartInactive; 9 | public List States; 10 | public bool Persistent; 11 | [NMS(Size = 7, Ignore = true)] 12 | public byte[] Padding19; 13 | [NMS(Size = 0x10)] 14 | public string PersistentState; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcTurretComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcTurretComponentData : NMSTemplate 4 | { 5 | public int GunType; 6 | public string[] GunTypeValues() 7 | { 8 | return new[] { "Laser", "Projectile" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcUniverseAddressData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcUniverseAddressData : NMSTemplate // 0x18 bytes 4 | { 5 | public int RealityIndex; 6 | 7 | public GcGalacticAddressData GalacticAddress; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcUserSettingsData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcUserSettingsData : NMSTemplate 4 | { 5 | /* 0x00 */ public bool InvertLookControls; 6 | /* 0x01 */ public bool InvertFlightControls; 7 | /* 0x02 */ public bool Vibration; 8 | 9 | /* 0x04 */ public int ScreenBrightness; 10 | /* 0x08 */ public int MusicVolume; 11 | /* 0x0C */ public int SfxVolume; 12 | /* 0x10 */ public int LookSensitivity; 13 | /* 0x14 */ public int FlightSensitivity; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcWarpAction.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcWarpAction : NMSTemplate 4 | { 5 | public int WarpType; 6 | public string[] WarpTypeValues() 7 | { 8 | return new[] { "BlackHole" }; // one value? :D:D 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcWaterGlobals.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcWaterGlobals : NMSTemplate 4 | { 5 | public bool WaterRippleEffects; 6 | } 7 | } -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcWaypointComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcWaypointComponentData : NMSTemplate 4 | { 5 | public TkTextureResource Icon; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcWeatherColourModifiers.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcWeatherColourModifiers : NMSTemplate 4 | { 5 | public GcColourModifier SkyColour; 6 | public GcColourModifier HorizonColour; 7 | public GcColourModifier SunColour; 8 | public GcColourModifier FogColour; 9 | public GcColourModifier HeightFogColour; 10 | public GcColourModifier LightColour; 11 | public GcColourModifier CloudColour1; 12 | public GcColourModifier CloudColour2; 13 | 14 | [NMS(Size = 5)] 15 | public GcColourModifier[] HeavyAirColour; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcWeatherColourSettingList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class GcWeatherColourSettingList : NMSTemplate 6 | { 7 | public List Settings; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcWeatherOptions.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcWeatherOptions : NMSTemplate 4 | { 5 | public int Weather; 6 | public string[] WeatherValues() 7 | { 8 | return new[] { "Clear", "Dust", "Humid", "Snow", "Toxic", "Scorched", "Radioactive" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcWeatherTable.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcWeatherTable : NMSTemplate 4 | { 5 | [NMS(Size = 7)] 6 | public NMSString0x80[] Table; 7 | 8 | [NMS(Size = 5)] 9 | public GcHazardValues[] DefaultTemperature; 10 | 11 | [NMS(Size = 5)] 12 | public GcHazardValues[] DefaultToxicity; 13 | 14 | [NMS(Size = 5)] 15 | public GcHazardValues[] DefaultRadiation; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/GcWordKnowledge.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcWordKnowledge : NMSTemplate // 0x18 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Word; 7 | 8 | [NMS(Size = 6)] 9 | public bool[] Races; 10 | 11 | [NMS(Size = 2, Ignore = true)] 12 | public byte[] Padding16; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/MBINCompilerTestTemplate.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class MBINCompilerTestTemplate : NMSTemplate 6 | { 7 | public bool TestBoolTrue; 8 | public bool TestBoolFalse; 9 | public bool TestBool3; 10 | public short TestInt16; 11 | public int TestInt32; 12 | public long TestInt64; 13 | public float TestFloat; 14 | public int TestEnumYes; 15 | public int TestEnumNo; 16 | [NMS(Size = 0x10)] 17 | public string TestString; 18 | public VariableSizeString TestDynamicString; 19 | public List Test0x80ByteStringList; 20 | public List TestListInt; 21 | // todo: public List TestGenericList 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/NMSString0x10.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class NMSString0x10 : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Value; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/NMSString0x100.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | // todo: maybe get rid of this and just read strings directly into the list, if all strings are the same size? 4 | public class NMSString0x100 : NMSTemplate 5 | { 6 | [NMS(Size = 0x100)] 7 | public string Value; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/NMSString0x20.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class NMSString0x20 : NMSTemplate 4 | { 5 | [NMS(Size = 0x20)] 6 | public string Value; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/NMSString0x80.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | // todo: maybe get rid of this and just read strings directly into the list, if all strings are the same size? 4 | public class NMSString0x80 : NMSTemplate 5 | { 6 | [NMS(Size = 0x80)] 7 | public string Value; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkActionButtonLookup.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkActionButtonLookup : NMSTemplate 6 | { 7 | public List Lookup; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkActionButtonMap.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkActionButtonMap : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string ActionId; 9 | public bool ScaleToFitFont; 10 | public TkInputEnum InputButton; 11 | public List Platforms; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimMetadata.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkAnimMetadata : NMSTemplate 6 | { 7 | public int FrameCount; 8 | public int NodeCount; 9 | 10 | public List NodeData; 11 | public List AnimFrameData; 12 | 13 | public TkAnimNodeFrameData StillFrameData; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimNodeData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkAnimNodeData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Node; 7 | 8 | public bool CanCompress; // set to 0xFE, with following 3 padding bytes also set to 0xFE, might be padding indicating that this is 0? currently treated as 1... 9 | public int RotIndex; 10 | public int TransIndex; 11 | public int ScaleIndex; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimNodeFrameData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkAnimNodeFrameData : NMSTemplate 6 | { 7 | public List Rotations; 8 | public List Translations; // actually Vector3f 9 | public List Scales; // actually Vector3f 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimPoseComponentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkAnimPoseComponentData : NMSTemplate 6 | { 7 | public List PoseAnims; 8 | 9 | [NMS(Size = 0x80)] 10 | public string Filename; 11 | 12 | public List Correlations; 13 | public List Examples; 14 | public List CorrelationMat; 15 | 16 | public float AdultCorrelationValue; 17 | 18 | [NMS(Size = 4, Ignore = true)] 19 | public byte[] PaddingC4; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimPoseCorrelationData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkAnimPoseCorrelationData : NMSTemplate // 0x28 bytes 4 | { 5 | [NMS(Size = 0x10)] 6 | public string ItemA; 7 | [NMS(Size = 0x10)] 8 | public string ItemB; 9 | public float Correlation; 10 | [NMS(Size = 4, Ignore = true)] 11 | public byte[] Padding24; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimPoseData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkAnimPoseData : NMSTemplate // 0x18 bytes 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Anim; 7 | public int FrameStart; 8 | public int FrameEnd; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimPoseExampleData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkAnimPoseExampleData : NMSTemplate // 0x10 bytes 6 | { 7 | public List Elements; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimPoseExampleElement.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkAnimPoseExampleElement : NMSTemplate // 0x18 bytes 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Anim; 7 | public float Value; 8 | [NMS(Size = 4, Ignore = true)] 9 | public byte[] Padding14; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimationComponentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkAnimationComponentData : NMSTemplate 6 | { 7 | public TkAnimationData Idle; 8 | public List Anims; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAnimationDataTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkAnimationDataTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAttachmentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkAttachmentData : NMSTemplate 6 | { 7 | public List Components; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAudioAnimTrigger.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkAudioAnimTrigger : NMSTemplate // 0x98 bytes 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Sound; 7 | [NMS(Size = 0x10)] 8 | public string Anim; 9 | 10 | public int FrameStart; 11 | 12 | [NMS(Size = 4, Ignore = true)] 13 | public byte[] Padding94; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkAudioComponentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkAudioComponentData : NMSTemplate 6 | { 7 | [NMS(Size = 0x80)] 8 | public string Ambient; 9 | 10 | public int MaxDistance; 11 | 12 | public List AnimTriggers; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkButtonImageLookup.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkButtonImageLookup : NMSTemplate 6 | { 7 | public List Lookup; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkButtonPathMapping.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkButtonPathMapping : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | [NMS(Size = 0x80)] 8 | public string Path; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkCameraWanderData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkCameraWanderData : NMSTemplate 4 | { 5 | public bool CamWander; 6 | public float CamWanderPhase; 7 | public float CamWanderAmplitude; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkControllerButtonLookup.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkControllerButtonLookup : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | [NMS(Size = 0x80)] 8 | public string ButtonImageLookupFilename; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkControllerList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkControllerList : NMSTemplate 6 | { 7 | public List Controllers; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkControllerSpecification.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkControllerSpecification : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Id; 7 | public TkButtonImageLookup ImageLookup; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkEngineSettings.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | // doesn't seem to be used by the game, TkEngineSettings template isn't inside the exe 4 | // and the only file using this template (METADATA/ENGINE/TKENGINESETTINGS.MBIN) isn't referenced 5 | // file is probably a leftover from early development 6 | 7 | public class TkEngineSettings : NMSTemplate 8 | { 9 | public float ScreenWidth; 10 | public float ScreenHeight; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkEntitlementList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkEntitlementList : NMSTemplate 6 | { 7 | public List Entitlements; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkImGuiData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkImGuiData : NMSTemplate 4 | { 5 | public TkImGuiWindowData MainWindow; 6 | public bool Maximised; 7 | public int DimensionX; 8 | public int DimensionY; 9 | [NMS(Size = 0xA)] 10 | public NMSString0x80[] RecentToolbox; 11 | [NMS(Size = 0x80)] 12 | public TkImGuiWindowData[] WindowTable; 13 | public int WindowCount; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkImGuiWindowData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkImGuiWindowData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Type; 7 | 8 | public int WindowX; 9 | public int WindowY; 10 | public int WindowW; 11 | public int WindowH; 12 | public int WindowMinW; 13 | public int WindowMinH; 14 | public bool WindowResize; 15 | public int WindowScroll; 16 | public int WindowTab; 17 | public bool WindowOpen; 18 | public bool WindowMinimised; 19 | public bool WindowUsed; 20 | 21 | [NMS(Size = 1, Ignore = true)] 22 | public byte[] PaddingA7; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkInputFrame.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkInputFrame : NMSTemplate // 0x1C bytes 4 | { 5 | public Vector2f LeftStick; 6 | public Vector2f RightStick; 7 | public float LeftTrigger; 8 | public float RightTrigger; 9 | public short Buttons; 10 | 11 | [NMS(Size = 2, Ignore = true)] 12 | public byte[] Padding1A; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkInputFrameArray.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkInputFrameArray : NMSTemplate 4 | { 5 | [NMS(Size = 0x4E20)] // INPUTTEST.MBIN has a different count of these? uncertain because we can't tell the MBIN header size.. 6 | public TkInputFrame[] Array; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkJointBindingData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkJointBindingData : NMSTemplate 4 | { 5 | [NMS(Size = 16)] 6 | public float[] InvBindMatrix; // 4x4 matrix 7 | 8 | [NMS(Size = 3)] 9 | public float[] BindTranslate; // Vector3f 10 | 11 | [NMS(Size = 4)] 12 | public float[] BindRotate; // Quaternion 13 | 14 | [NMS(Size = 3)] 15 | public float[] BindScale; // Vector3f 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkJointExtentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkJointExtentData : NMSTemplate 4 | { 5 | [NMS(Size = 3)] 6 | public float[] JointExtentMin; // Vector3f 7 | 8 | [NMS(Size = 3)] 9 | public float[] JointExtentMax; // Vector3f 10 | 11 | [NMS(Size = 3)] 12 | public float[] JointExtentCenter; // Vector3f 13 | 14 | [NMS(Size = 3)] 15 | public float[] JointExtentStdDev; // Vector3f 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkJointMirrorAxis.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkJointMirrorAxis : NMSTemplate 4 | { 5 | public float TransMirrorAxisX; 6 | public float TransMirrorAxisY; 7 | public float TransMirrorAxisZ; 8 | 9 | public float RotAdjustX; 10 | public float RotAdjustY; 11 | public float RotAdjustZ; 12 | public float RotAdjustW; 13 | 14 | public float RotMirrorAxisX; 15 | public float RotMirrorAxisY; 16 | public float RotMirrorAxisZ; 17 | 18 | public int MirrorAxisMode; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLSystemGlobalRestriction.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkLSystemGlobalRestriction : NMSTemplate 6 | { 7 | [NMS(Size = 0x20)] 8 | public string Name; 9 | [NMS(Size = 0x80)] 10 | public string Model; 11 | 12 | public List Restrictions; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLSystemGlobalVariation.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkLSystemGlobalVariation : NMSTemplate 4 | { 5 | [NMS(Size = 0x20)] 6 | public string Name; 7 | [NMS(Size = 0x80)] 8 | public string Model; 9 | 10 | public int Variations; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLSystemInnerRule.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkLSystemInnerRule : NMSTemplate // 0x38 bytes 6 | { 7 | [NMS(Size = 0x20)] 8 | public string LocatorType; 9 | public int MergeProbabilityOptions; 10 | public string[] MergeProbabilityOptionsValues() 11 | { 12 | return new[] { "Balance", "Prioritize", "Replace" }; 13 | } 14 | 15 | public List Entries; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLSystemLocatorEntry.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkLSystemLocatorEntry : NMSTemplate // 0x98 bytes 6 | { 7 | [NMS(Size = 0x80)] 8 | public string Model; 9 | 10 | public float Probability; 11 | public List Restrictions; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLSystemRestrictionData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkLSystemRestrictionData : NMSTemplate 4 | { 5 | public int Amount; 6 | public int Restriction; 7 | public string[] RestrictionValues() 8 | { 9 | return new[] { "NoMoreThan", "AtLeast", "AtLeastIfICan" }; 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLSystemRule.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkLSystemRule : NMSTemplate // 0xB8 bytes 6 | { 7 | [NMS(Size = 0x20)] 8 | public string Name; 9 | [NMS(Size = 0x80)] 10 | public string Model; 11 | 12 | public List Rules; 13 | 14 | public int RuleType; 15 | public string[] RuleTypeValues() 16 | { 17 | return new[] { "Default", "BaseRule" }; 18 | } 19 | 20 | [NMS(Size = 4, Ignore = true)] 21 | public byte[] PaddingB4; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLSystemRuleTemplate.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkLSystemRuleTemplate : NMSTemplate 4 | { 5 | [NMS(Size = 0x20)] 6 | public string Name; 7 | [NMS(Size = 0x80)] 8 | public string LSystem; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLSystemRulesData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkLSystemRulesData : NMSTemplate 6 | { 7 | public List GlobalRestriction; 8 | 9 | public List GlobalVariation; 10 | 11 | public List Rules; 12 | 13 | public List Templates; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLanguageFontTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkLanguageFontTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLanguageFontTableEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkLanguageFontTableEntry : NMSTemplate 4 | { 5 | public TkLanguages Language; 6 | [NMS(Size = 0x80)] 7 | public string GameFont; 8 | [NMS(Size = 0x80)] 9 | public string GameFont2; 10 | [NMS(Size = 0x80)] 11 | public string ConsoleFont; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLanguages.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkLanguages : NMSTemplate 4 | { 5 | public int Language; 6 | public string[] LanguageValues() 7 | { 8 | return new[] { "Default", "English", "USEnglish", "French", "Italian", "German", "Spanish", "Russian", "Polish", "Dutch", "Portuguese", "LatinAmericanSpanish", "BrazilianPortuguese", "Japanese", "TraditionalChinese", "SimplifiedChinese", "Korean" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLanguagesAllowedData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkLanguagesAllowedData : NMSTemplate 6 | { 7 | public List Allowed; 8 | public TkLanguages Language; 9 | 10 | [NMS(Size = 4, Ignore = true)] 11 | public byte[] Padding14; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkLocalisationTable.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkLocalisationTable : NMSTemplate 6 | { 7 | public List Table; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkMaterialData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkMaterialData : NMSTemplate 6 | { 7 | [NMS(Size = 0x80)] 8 | public string Name; 9 | [NMS(Size = 0x20)] 10 | public string Class; 11 | public int TransparencyLayerID; 12 | public bool CastShadow; 13 | public bool DisableZTest; 14 | [NMS(Size = 0x80)] 15 | public string Link; 16 | [NMS(Size = 0x80)] 17 | public string Shader; 18 | public List Flags; 19 | public List Uniforms; 20 | public List Samplers; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkMaterialUniform.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkMaterialUniform : NMSTemplate 6 | { 7 | [NMS(Size = 0x20)] 8 | public string Name; 9 | public Vector4f Values; 10 | public List ExtendedValues; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkModelDescriptorList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkModelDescriptorList : NMSTemplate 6 | { 7 | public List List; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkModelRendererCameraData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkModelRendererCameraData : NMSTemplate // 0x40 bytes 4 | { 5 | public float Distance; 6 | [NMS(Size = 0xC, Ignore = true)] 7 | public byte[] Padding4; 8 | 9 | public Vector4f Offset; 10 | public float Pitch; 11 | public float Rotate; 12 | public float LightPitch; 13 | public float LightRotate; 14 | public TkCameraWanderData Wander; 15 | 16 | [NMS(Size = 4, Ignore = true)] 17 | public byte[] Padding3C; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkModelResource.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkModelResource : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Filename; 7 | [NMS(Ignore = true)] 8 | public int EmptyNode1; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNGuiAlignment.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNGuiAlignment : NMSTemplate 4 | { 5 | public int Vertical; 6 | public int Horizontal; 7 | 8 | public string[] VerticalValues() 9 | { 10 | return new[] { "Top", "Middle", "Bottom" }; 11 | } 12 | 13 | 14 | public string[] HorizontalValues() 15 | { 16 | return new[] { "Left", "Center", "Right" }; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNGuiEditorLayout.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNGuiEditorLayout : NMSTemplate 4 | { 5 | [NMS(Size = 0x100)] 6 | public TkNGuiWindowLayoutData[] Windows; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNGuiEditorStyleData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkNGuiEditorStyleData : NMSTemplate 6 | { 7 | public List Sizes; 8 | 9 | [NMS(Size = 5)] 10 | public Colour[] SkinColours; 11 | 12 | public float SkinFontHeight; 13 | 14 | [NMS(Size = 0x80)] 15 | public string Font; 16 | 17 | public List GraphicStyles; 18 | public List TextStyles; 19 | 20 | [NMS(Size = 8, Ignore = true)] 21 | public byte[] Padding108; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNGuiLayoutList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkNGuiLayoutList : NMSTemplate 6 | { 7 | public List Layouts; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNGuiLayoutListData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNGuiLayoutListData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Name; 7 | [NMS(Size = 0x80)] 8 | public string Filename; 9 | [NMS(Size = 0x80)] 10 | public string Default; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNGuiTextStyle.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNGuiTextStyle : NMSTemplate 4 | { 5 | public TkNGuiTextStyleData Default; 6 | public TkNGuiTextStyleData Highlight; 7 | public TkNGuiTextStyleData Active; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNGuiWindowLayoutData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNGuiWindowLayoutData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Name; 7 | 8 | public float PositionX; 9 | public float PositionY; 10 | public float SizeX; 11 | public float SizeY; 12 | public float Separator; 13 | public int WindowState; 14 | public string[] WindowStateValues() 15 | { 16 | return new[] { "Open", "Minimised", "Closed" }; 17 | } 18 | 19 | [NMS(Size = 8)] 20 | public NMSString0x20[] Tabs; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNoiseCaveData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNoiseCaveData : NMSTemplate 4 | { 5 | public int MaximumLOD; 6 | public TkNoiseFeatureData Mouth; 7 | public TkNoiseFeatureData Tunnel; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNoiseFlattenOptions.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNoiseFlattenOptions : NMSTemplate 4 | { 5 | public int Flattening; 6 | public string[] FlatteningValues() 7 | { 8 | return new[] { "None", "Natural", "Artificial", "AddResource" }; 9 | } 10 | 11 | public int WaterPlacement; 12 | public string[] WaterPlacementValues() 13 | { 14 | return new[] { "None", "Underwater" }; 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNoiseFlattenPoint.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNoiseFlattenPoint : NMSTemplate // 0x28 bytes 4 | { 5 | public float Density; 6 | public float FlattenRadius; 7 | public float TurbulenceFrequency; 8 | public float TurbulenceAmplitude; 9 | public int TurbulenceOctaves; 10 | public TkNoiseFlattenOptions FlattenType; 11 | public int Classification; 12 | public int Placement; 13 | public bool AddWaypoint; 14 | public bool AddShelter; 15 | public bool AddLandingPad; 16 | 17 | [NMS(Size = 1, Ignore = true)] 18 | public byte[] Padding27; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNoiseOffsetEnum.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNoiseOffsetEnum : NMSTemplate 4 | { 5 | public int OffsetType; 6 | public string[] OffsetTypeValues() 7 | { 8 | return new[] { "Zero", "Base", "All", "SeaLevel" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNoiseSuperFormulaData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNoiseSuperFormulaData : NMSTemplate 4 | { 5 | public float Form_m; 6 | public float Form_n1; 7 | public float Form_n2; 8 | public float Form_n3; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNoiseUberData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNoiseUberData : NMSTemplate // 0x28 bytes 4 | { 5 | public int Octaves; 6 | public float SharpToRoundFeatures; 7 | public float AmplifyFeatures; 8 | public float PerturbFeatures; 9 | public float AltitudeErosion; 10 | public float RidgeErosion; 11 | public float SlopeErosion; 12 | public float Lacunarity; 13 | public float Gain; 14 | public int DebugNoiseType; 15 | public string[] DebugNoiseTypeValues() 16 | { 17 | return new[] { "Plane", "Check", "Sine", "Uber" }; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkNoiseVoxelTypeEnum.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkNoiseVoxelTypeEnum : NMSTemplate 4 | { 5 | public int NoiseVoxelType; 6 | public string[] NoiseVoxelTypeValues() 7 | { 8 | return new[] { "Base", "Rock", "Mountain", "Sand", "Cave", "Substance_1", "Substance_2", "Substance_3", "RandomRock", "RandomRockOrSubstance" }; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkPhysicsComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkPhysicsComponentData : NMSTemplate 4 | { 5 | public TkPhysicsData Data; 6 | public NMSTemplate Unknown20; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkPhysicsData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkPhysicsData : NMSTemplate 4 | { 5 | public float Mass; 6 | public float Friction; 7 | public float RollingFriction; 8 | public float AngularDamping; 9 | public float LinearDamping; 10 | public float Gravity; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkPlatformButtonPair.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkPlatformButtonPair : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string PlatformId; 7 | [NMS(Size = 0x10)] 8 | public string ButtonId; 9 | public Vector2f Size; 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkProceduralModelComponentData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkProceduralModelComponentData : NMSTemplate 6 | { 7 | public List List; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkProceduralTextureChosenOption.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkProceduralTextureChosenOption : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Layer; 7 | [NMS(Size = 0x10)] 8 | public string Group; 9 | public TkPaletteTexture Palette; 10 | public bool OverrideColour; 11 | public Colour Colour; 12 | [NMS(Size = 0x10)] 13 | public string OptionName; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkProceduralTextureChosenOptionList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkProceduralTextureChosenOptionList : NMSTemplate 6 | { 7 | // list entries are aligned 0x10, not the default 0x8 todo: attribute for this! 8 | // this can be seen at 1402BF509 (1.0 gog), where the alignment argument is being set to 0x10 9 | public List Samplers; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkProceduralTextureChosenOptionSampler.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkProceduralTextureChosenOptionSampler : NMSTemplate 6 | { 7 | public List Options; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkProceduralTextureLayer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkProceduralTextureLayer : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Name; 9 | 10 | public float Probability; 11 | public int Unknown14; 12 | 13 | [NMS(Size = 0x10)] 14 | public string Group; 15 | 16 | public bool SelectToMatchBase; 17 | public List Textures; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkProceduralTextureList.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkProceduralTextureList : NMSTemplate 4 | { 5 | public TkProceduralTextureLayer Layer1; 6 | public TkProceduralTextureLayer Layer2; 7 | public TkProceduralTextureLayer Layer3; 8 | public TkProceduralTextureLayer Layer4; 9 | public TkProceduralTextureLayer Layer5; 10 | public TkProceduralTextureLayer Layer6; 11 | public TkProceduralTextureLayer Layer7; 12 | public TkProceduralTextureLayer Layer8; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkRagdollData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkRagdollData : NMSTemplate 6 | { 7 | public float Density; 8 | public float Gravity; 9 | public List ChainEnds; 10 | public List ExcludeJoints; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkReferenceComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkReferenceComponentData : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Reference; 7 | [NMS(Size = 0x80)] 8 | public string LSystem; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkResourceDescriptorData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkResourceDescriptorData : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string Id; 9 | [NMS(Size = 0x80)] 10 | public string Name; 11 | public List ReferencePaths; 12 | public float Chance; 13 | public List Children; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkResourceDescriptorList.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkResourceDescriptorList : NMSTemplate 6 | { 7 | [NMS(Size = 0x10)] 8 | public string TypeId; 9 | public List Descriptors; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkRotationComponentData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkRotationComponentData : NMSTemplate 4 | { 5 | public float Speed; 6 | 7 | [NMS(Size = 0xC, Ignore = true)] 8 | public byte[] Padding4; 9 | 10 | public Vector4f Axis; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkSceneNodeAttributeData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkSceneNodeAttributeData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Name; 7 | [NMS(Size = 0x10)] 8 | public string AltID; 9 | [NMS(Size = 0x100)] 10 | public string Value; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkSceneNodeData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkSceneNodeData : NMSTemplate 6 | { 7 | [NMS(Size = 0x80)] 8 | public string Name; 9 | [NMS(Size = 0x10)] 10 | public string Type; 11 | public TkTransformData Transform; 12 | [NMS(Ignore = true)] 13 | public int EmptyNode1; 14 | public List Attributes; 15 | public List Children; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkShearWindData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkShearWindData : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string Name; 7 | public float OverallWindStrength; 8 | public float LdsWindStrength; 9 | public float LdsWindSpeed; 10 | public float ShearWindSpeed; 11 | public float WindShearVertpushStrength; 12 | public float WindShearGradientStrength; 13 | public float WindShearToDotLdsFactor; 14 | public TkShearWindOctaveData Octave0; 15 | public TkShearWindOctaveData Octave1; 16 | public TkShearWindOctaveData Octave2; 17 | public TkShearWindOctaveData Octave3; 18 | 19 | [NMS(Size = 4, Ignore = true)] 20 | public byte[] Padding7C; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkShearWindOctaveData.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | 7 | namespace MBINCompiler.Models.Structs 8 | { 9 | public class TkShearWindOctaveData : NMSTemplate 10 | { 11 | public float MinStrength; 12 | public float MaxStrength; 13 | public float StrengthVariationFreq; 14 | public float WaveSize; 15 | public float WaveFrequency; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkTextureResource.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkTextureResource : NMSTemplate 4 | { 5 | [NMS(Size = 0x80)] 6 | public string Filename; 7 | [NMS(Ignore = true)] 8 | public int EmptyNode1; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkTrailData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkTrailData : NMSTemplate 4 | { 5 | public float Density; 6 | public float Width; 7 | public int Points; 8 | public float Threshold; 9 | public int FrontPoints; 10 | public float FrontUvEnd; 11 | public Colour ColourStart; 12 | public Colour ColourEnd; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkTransformData.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkTransformData : NMSTemplate 4 | { 5 | public float TransX; 6 | public float TransY; 7 | public float TransZ; 8 | public float RotX; 9 | public float RotY; 10 | public float RotZ; 11 | public float ScaleX; 12 | public float ScaleY; 13 | public float ScaleZ; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkTrophyData.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkTrophyData : NMSTemplate 6 | { 7 | public List Trophies; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkTrophyEntry.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkTrophyEntry : NMSTemplate 4 | { 5 | [NMS(Size = 0x10)] 6 | public string TrophyId; 7 | public int Ps4Id; 8 | [NMS(Size = 0x40)] 9 | public string PCId; 10 | 11 | [NMS(Size = 4, Ignore = true)] 12 | public byte[] Padding54; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkVertexElement.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkVertexElement : NMSTemplate 4 | { 5 | public int SemanticID; 6 | public int Size; 7 | public int Type; // 0x140b(Vec4) or 0x1401(Vec2) 8 | public int Offset; 9 | public int Normalise; 10 | 11 | public int Instancing; 12 | public string[] InstancingValues() 13 | { 14 | return new[] { "PerVertex", "PerModel" }; 15 | } 16 | 17 | [NMS(Size = 8)] 18 | public string PlatformData; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkVertexLayout.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace MBINCompiler.Models.Structs 4 | { 5 | public class TkVertexLayout : NMSTemplate 6 | { 7 | public int ElementCount; 8 | public int Stride; 9 | 10 | [NMS(Size = 8)] 11 | public string PlatformData; 12 | 13 | public List VertexElements; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkVoxelGeneratorSettingsArray.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkVoxelGeneratorSettingsArray : NMSTemplate 4 | { 5 | [NMS(Size = 0xA)] 6 | public TkVoxelGeneratorSettingsElement[] TerrainSettings; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/TkVoxelGeneratorSettingsElement.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class TkVoxelGeneratorSettingsElement : NMSTemplate 4 | { 5 | public TkVoxelGeneratorData Min; 6 | public TkVoxelGeneratorData Max; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/Unfinished/GcPlacementGlobals.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | // doesn't seem like the game uses any of the values here? 4 | public class GcPlacementGlobals : NMSTemplate 5 | { 6 | public float Unknown0; 7 | public float Unknown4; 8 | public float Unknown8; 9 | public int UnknownC; 10 | 11 | public float Unknown10; 12 | public float Unknown14; 13 | public float Unknown18; 14 | public int Unknown1C; 15 | 16 | public float Unknown20; 17 | public float Unknown24; 18 | public float Unknown28; 19 | public float Unknown2C; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/Unfinished/GcSmokeTestOptions.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class GcSmokeTestOptions : NMSTemplate 4 | { 5 | public float Unknown0; // 20.0 6 | public float Unknown4; // 0.1 7 | public float Unknown8; // 4.5 8 | public float UnknownC; // 5 9 | 10 | public int Unknown10; // 0 (unused?) 11 | public int Unknown14; // 0 12 | public int Unknown18; // 0 (unused?) 13 | public int Unknown1C; // 25 (unused?) 14 | 15 | public float Unknown20; // 0.3 16 | public float Unknown24; // 60.0 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/VariableSizeString.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class VariableSizeString : NMSTemplate 4 | { 5 | public string Value; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/Vector2f.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class Vector2f : NMSTemplate 4 | { 5 | public float x; 6 | public float y; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/Vector3i.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class Vector3i : NMSTemplate 4 | { 5 | public int x; 6 | public int y; 7 | public int z; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /MBINCompiler/Models/Structs/Vector4f.cs: -------------------------------------------------------------------------------- 1 | namespace MBINCompiler.Models.Structs 2 | { 3 | public class Vector4f : NMSTemplate 4 | { 5 | public float x; 6 | public float y; 7 | public float z; 8 | public float t; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /MBINCompilerTests/MBINCompilerTestTemplate.MBIN: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/emoose/MBINCompiler/378645f59a2ad95c2508859f7b09b67617f8b212/MBINCompilerTests/MBINCompilerTestTemplate.MBIN -------------------------------------------------------------------------------- /MBINCompilerTests/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | C:\NMS 7 | 8 | 9 | --------------------------------------------------------------------------------