#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(non_camel_case_types, non_snake_case, unused_imports, clippy::all, clippy::pedantic, clippy::suspicious)]
use crate::*;
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyGameModeEnum")]
pub enum MyGameModeEnum {
#[default]
Creative,
Survival,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyOnlineModeEnum")]
pub enum MyOnlineModeEnum {
#[default]
OFFLINE,
PUBLIC,
FRIENDS,
PRIVATE,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyBlockLimitsEnabledEnum")]
pub enum MyBlockLimitsEnabledEnum {
#[default]
NONE,
GLOBALLY,
PER_FACTION,
PER_PLAYER,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyEnvironmentHostilityEnum")]
pub enum MyEnvironmentHostilityEnum {
#[default]
SAFE,
NORMAL,
CATACLYSM,
CATACLYSM_UNREAL,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "LimitBlocksByOption")]
pub enum MyObjectBuilder_SessionSettings_LimitBlocksByOption {
#[default]
BlockPairName,
Tag,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_SessionSettings")]
pub struct MyObjectBuilder_SessionSettings {
#[proto(tag = 1)]
#[serde(rename = "GameMode", default)]
pub game_mode: MyGameModeEnum,
#[proto(tag = 3)]
#[serde_inline_default(3f32)]
#[serde(rename = "InventorySizeMultiplier")]
pub inventory_size_multiplier: f32,
#[proto(tag = 5)]
#[serde_inline_default(1f32)]
#[serde(rename = "BlocksInventorySizeMultiplier")]
pub blocks_inventory_size_multiplier: f32,
#[proto(tag = 7)]
#[serde_inline_default(3f32)]
#[serde(rename = "AssemblerSpeedMultiplier")]
pub assembler_speed_multiplier: f32,
#[proto(tag = 9)]
#[serde_inline_default(3f32)]
#[serde(rename = "AssemblerEfficiencyMultiplier")]
pub assembler_efficiency_multiplier: f32,
#[proto(tag = 11)]
#[serde_inline_default(3f32)]
#[serde(rename = "RefinerySpeedMultiplier")]
pub refinery_speed_multiplier: f32,
#[proto(tag = 13)]
#[serde(rename = "OnlineMode", default)]
pub online_mode: MyOnlineModeEnum,
#[proto(tag = 15)]
#[serde_inline_default(4)]
#[serde(rename = "MaxPlayers")]
pub max_players: i32,
#[proto(tag = 17)]
#[serde_inline_default(100)]
#[serde(rename = "MaxFloatingObjects")]
pub max_floating_objects: i32,
#[proto(tag = 18)]
#[serde_inline_default(32)]
#[serde(rename = "TotalBotLimit")]
pub total_bot_limit: i32,
#[proto(tag = 19)]
#[serde_inline_default(5)]
#[serde(rename = "MaxBackupSaves")]
pub max_backup_saves: i32,
#[proto(tag = 21)]
#[serde_inline_default(50000)]
#[serde(rename = "MaxGridSize")]
pub max_grid_size: i32,
#[proto(tag = 23)]
#[serde_inline_default(100000)]
#[serde(rename = "MaxBlocksPerPlayer")]
pub max_blocks_per_player: i32,
#[proto(tag = 25)]
#[serde_inline_default(600000)]
#[serde(rename = "TotalPCU")]
pub total_pc_u: i32,
#[proto(tag = 27)]
#[serde_inline_default(25000)]
#[serde(rename = "PiratePCU")]
pub pirate_pc_u: i32,
#[proto(tag = 28)]
#[serde_inline_default(25000)]
#[serde(rename = "GlobalEncounterPCU")]
pub global_encounter_pc_u: i32,
#[proto(tag = 29)]
#[serde(rename = "MaxFactionsCount", default)]
pub max_factions_count: i32,
#[proto(tag = 31)]
#[serde(rename = "BlockLimitsEnabled", default)]
pub block_limits_enabled: MyBlockLimitsEnabledEnum,
#[proto(tag = 33)]
#[serde(rename = "EnableRemoteBlockRemoval", default)]
pub enable_remote_block_removal: bool,
#[proto(tag = 35)]
#[serde(rename = "EnvironmentHostility", default)]
pub environment_hostility: MyEnvironmentHostilityEnum,
#[proto(tag = 37)]
#[serde(rename = "AutoHealing", default)]
pub auto_healing: bool,
#[proto(tag = 39)]
#[serde(rename = "EnableCopyPaste", default)]
pub enable_copy_paste: bool,
#[proto(tag = 41)]
#[serde(rename = "WeaponsEnabled", default)]
pub weapons_enabled: bool,
#[proto(tag = 43)]
#[serde(rename = "ShowPlayerNamesOnHud", default)]
pub show_player_names_on_hud: bool,
#[proto(tag = 45)]
#[serde(rename = "ThrusterDamage", default)]
pub thruster_damage: bool,
#[proto(tag = 47)]
#[serde(rename = "CargoShipsEnabled", default)]
pub cargo_ships_enabled: bool,
#[proto(tag = 49)]
#[serde(rename = "EnableSpectator", default)]
pub enable_spectator: bool,
#[proto(tag = 51)]
#[serde(rename = "WorldSizeKm", default)]
pub world_size_km: i32,
#[proto(tag = 53)]
#[serde(rename = "RespawnShipDelete", default)]
pub respawn_ship_delete: bool,
#[proto(tag = 55)]
#[serde(rename = "ResetOwnership", default)]
pub reset_ownership: bool,
#[proto(tag = 57)]
#[serde_inline_default(2f32)]
#[serde(rename = "WelderSpeedMultiplier")]
pub welder_speed_multiplier: f32,
#[proto(tag = 59)]
#[serde_inline_default(2f32)]
#[serde(rename = "GrinderSpeedMultiplier")]
pub grinder_speed_multiplier: f32,
#[proto(tag = 61)]
#[serde(rename = "RealisticSound", default)]
pub realistic_sound: bool,
#[proto(tag = 63)]
#[serde_inline_default(0.33f32)]
#[serde(rename = "HackSpeedMultiplier")]
pub hack_speed_multiplier: f32,
#[proto(tag = 65)]
#[serde(rename = "PermanentDeath", default)]
pub permanent_death: crate::compat::Nullable<bool>,
#[proto(tag = 67)]
#[serde_inline_default(5)]
#[serde(rename = "AutoSaveInMinutes")]
pub auto_save_in_minutes: u32,
#[proto(tag = 69)]
#[serde(rename = "EnableSaving", default)]
pub enable_saving: bool,
#[proto(tag = 71)]
#[serde(rename = "InfiniteAmmo", default)]
pub infinite_ammo: bool,
#[proto(tag = 73)]
#[serde(rename = "EnableContainerDrops", default)]
pub enable_container_drops: bool,
#[proto(tag = 75)]
#[serde(rename = "SpawnShipTimeMultiplier", default)]
pub spawn_ship_time_multiplier: f32,
#[proto(tag = 77)]
#[serde(rename = "ProceduralDensity", default)]
pub procedural_density: f32,
#[proto(tag = 79)]
#[serde(rename = "ProceduralSeed", default)]
pub procedural_seed: i32,
#[proto(tag = 81)]
#[serde(rename = "DestructibleBlocks", default)]
pub destructible_blocks: bool,
#[proto(tag = 83)]
#[serde(rename = "EnableIngameScripts", default)]
pub enable_ingame_scripts: bool,
#[proto(tag = 85)]
#[serde_inline_default(15000)]
#[serde(rename = "ViewDistance")]
pub view_distance: i32,
#[proto(tag = 87)]
#[serde(rename = "EnableToolShake", default)]
pub enable_tool_shake: bool,
#[proto(tag = 89)]
#[serde_inline_default(4)]
#[serde(rename = "VoxelGeneratorVersion")]
pub voxel_generator_version: i32,
#[proto(tag = 91)]
#[serde(rename = "EnableOxygen", default)]
pub enable_oxygen: bool,
#[proto(tag = 93)]
#[serde(rename = "EnableOxygenPressurization", default)]
pub enable_oxygen_pressurization: bool,
#[proto(tag = 95)]
#[serde(rename = "Enable3rdPersonView", default)]
pub enable3rd_person_view: bool,
#[proto(tag = 97)]
#[serde(rename = "EnableEncounters", default)]
pub enable_encounters: bool,
#[proto(tag = 99)]
#[serde(rename = "EnableConvertToStation", default)]
pub enable_convert_to_station: bool,
#[proto(tag = 101)]
#[serde(rename = "StationVoxelSupport", default)]
pub station_voxel_support: bool,
#[proto(tag = 103)]
#[serde(rename = "EnableSunRotation", default)]
pub enable_sun_rotation: bool,
#[proto(tag = 105)]
#[serde(rename = "EnableRespawnShips", default)]
pub enable_respawn_ships: bool,
#[proto(tag = 107)]
#[serde(rename = "ScenarioEditMode", default)]
pub scenario_edit_mode: bool,
#[proto(tag = 109)]
#[serde(rename = "Scenario", default)]
pub scenario: bool,
#[proto(tag = 110)]
#[serde(rename = "UpdateRespawnDictionary", default)]
pub update_respawn_dictionary: bool,
#[proto(tag = 111)]
#[serde(rename = "CanJoinRunning", default)]
pub can_join_running: bool,
#[proto(tag = 113)]
#[serde_inline_default(8)]
#[serde(rename = "PhysicsIterations")]
pub physics_iterations: i32,
#[proto(tag = 115)]
#[serde_inline_default(120f32)]
#[serde(rename = "SunRotationIntervalMinutes")]
pub sun_rotation_interval_minutes: f32,
#[proto(tag = 117)]
#[serde(rename = "EnableJetpack", default)]
pub enable_jetpack: bool,
#[proto(tag = 119)]
#[serde(rename = "SpawnWithTools", default)]
pub spawn_with_tools: bool,
#[proto(tag = 120)]
#[serde_inline_default(30)]
#[serde(rename = "BlueprintShareTimeout")]
pub blueprint_share_timeout: i32,
#[proto(tag = 124)]
#[serde(rename = "BlueprintShare", default)]
pub blueprint_share: bool,
#[proto(tag = 121)]
#[serde(rename = "StartInRespawnScreen", default)]
pub start_in_respawn_screen: bool,
#[proto(tag = 123)]
#[serde(rename = "EnableVoxelDestruction", default)]
pub enable_voxel_destruction: bool,
#[proto(tag = 125)]
#[serde_inline_default(5)]
#[serde(rename = "MaxDrones")]
pub max_drones: i32,
#[proto(tag = 127)]
#[serde(rename = "EnableDrones", default)]
pub enable_drones: bool,
#[proto(tag = 129)]
#[serde(rename = "EnableWolfs", default)]
pub enable_wolfs: bool,
#[proto(tag = 131)]
#[serde(rename = "EnableSpiders", default)]
pub enable_spiders: bool,
#[proto(tag = 133)]
#[serde_inline_default(1f32)]
#[serde(rename = "FloraDensityMultiplier")]
pub flora_density_multiplier: f32,
#[proto(tag = 139)]
#[serde(rename = "BlockTypeLimits", default)]
pub block_type_limits: crate::compat::VarMap<String,i32>,
#[proto(tag = 141)]
#[serde(rename = "EnableScripterRole", default)]
pub enable_scripter_role: bool,
#[proto(tag = 143)]
#[serde_inline_default(5)]
#[serde(rename = "MinDropContainerRespawnTime")]
pub min_drop_container_respawn_time: i32,
#[proto(tag = 145)]
#[serde_inline_default(20)]
#[serde(rename = "MaxDropContainerRespawnTime")]
pub max_drop_container_respawn_time: i32,
#[proto(tag = 147)]
#[serde(rename = "EnableTurretsFriendlyFire", default)]
pub enable_turrets_friendly_fire: bool,
#[proto(tag = 149)]
#[serde(rename = "EnableSubgridDamage", default)]
pub enable_subgrid_damage: bool,
#[proto(tag = 151)]
#[serde_inline_default(3000)]
#[serde(rename = "SyncDistance")]
pub sync_distance: i32,
#[proto(tag = 153)]
#[serde(rename = "ExperimentalMode", default)]
pub experimental_mode: bool,
#[proto(tag = 155)]
#[serde(rename = "AdaptiveSimulationQuality", default)]
pub adaptive_simulation_quality: bool,
#[proto(tag = 157)]
#[serde(rename = "EnableVoxelHand", default)]
pub enable_voxel_hand: bool,
#[proto(tag = 158)]
#[serde(rename = "RemoveOldIdentitiesH", default)]
pub remove_old_identities_h: i32,
#[proto(tag = 159)]
#[serde(rename = "TrashRemovalEnabled", default)]
pub trash_removal_enabled: bool,
#[proto(tag = 160)]
#[serde_inline_default(15)]
#[serde(rename = "StopGridsPeriodMin")]
pub stop_grids_period_min: i32,
#[proto(tag = 161)]
#[serde_inline_default(7706)]
#[serde(rename = "TrashFlagsValue")]
pub trash_flags_value: i32,
#[proto(tag = 162)]
#[serde(rename = "AFKTimeountMin", default)]
pub afk_timeount_min: i32,
#[proto(tag = 163)]
#[serde_inline_default(20)]
#[serde(rename = "BlockCountThreshold")]
pub block_count_threshold: i32,
#[proto(tag = 165)]
#[serde_inline_default(500f32)]
#[serde(rename = "PlayerDistanceThreshold")]
pub player_distance_threshold: f32,
#[proto(tag = 167)]
#[serde(rename = "OptimalGridCount", default)]
pub optimal_grid_count: i32,
#[proto(tag = 169)]
#[serde(rename = "PlayerInactivityThreshold", default)]
pub player_inactivity_threshold: f32,
#[proto(tag = 171)]
#[serde_inline_default(15)]
#[serde(rename = "PlayerCharacterRemovalThreshold")]
pub player_character_removal_threshold: i32,
#[proto(tag = 173)]
#[serde(rename = "VoxelTrashRemovalEnabled", default)]
pub voxel_trash_removal_enabled: bool,
#[proto(tag = 175)]
#[serde_inline_default(5000f32)]
#[serde(rename = "VoxelPlayerDistanceThreshold")]
pub voxel_player_distance_threshold: f32,
#[proto(tag = 177)]
#[serde_inline_default(5000f32)]
#[serde(rename = "VoxelGridDistanceThreshold")]
pub voxel_grid_distance_threshold: f32,
#[proto(tag = 179)]
#[serde_inline_default(24)]
#[serde(rename = "VoxelAgeThreshold")]
pub voxel_age_threshold: i32,
#[proto(tag = 181)]
#[serde(rename = "EnableResearch", default)]
pub enable_research: bool,
#[proto(tag = 183)]
#[serde(rename = "EnableGoodBotHints", default)]
pub enable_good_bot_hints: bool,
#[proto(tag = 185)]
#[serde_inline_default(16000f32)]
#[serde(rename = "OptimalSpawnDistance")]
pub optimal_spawn_distance: f32,
#[proto(tag = 187)]
#[serde(rename = "EnableAutorespawn", default)]
pub enable_autorespawn: bool,
#[proto(tag = 188)]
#[serde(rename = "EnableBountyContracts", default)]
pub enable_bounty_contracts: bool,
#[proto(tag = 189)]
#[serde(rename = "EnableSupergridding", default)]
pub enable_supergridding: bool,
#[proto(tag = 191)]
#[serde(rename = "EnableEconomy", default)]
pub enable_economy: bool,
#[proto(tag = 194)]
#[serde_inline_default(2f32)]
#[serde(rename = "DepositsCountCoefficient")]
pub deposits_count_coefficient: f32,
#[proto(tag = 197)]
#[serde_inline_default(30f32)]
#[serde(rename = "DepositSizeDenominator")]
pub deposit_size_denominator: f32,
#[proto(tag = 198)]
#[serde(rename = "WeatherSystem", default)]
pub weather_system: bool,
#[proto(tag = 199)]
#[serde(rename = "WeatherLightingDamage", default)]
pub weather_lighting_damage: bool,
#[proto(tag = 200)]
#[serde_inline_default(1f32)]
#[serde(rename = "HarvestRatioMultiplier")]
pub harvest_ratio_multiplier: f32,
#[proto(tag = 203)]
#[serde_inline_default(10)]
#[serde(rename = "TradeFactionsCount")]
pub trade_factions_count: i32,
#[proto(tag = 206)]
#[serde_inline_default(5000000f64)]
#[serde(rename = "StationsDistanceInnerRadius")]
pub stations_distance_inner_radius: f64,
#[proto(tag = 209)]
#[serde_inline_default(5000000f64)]
#[serde(rename = "StationsDistanceOuterRadiusStart")]
pub stations_distance_outer_radius_start: f64,
#[proto(tag = 212)]
#[serde_inline_default(10000000f64)]
#[serde(rename = "StationsDistanceOuterRadiusEnd")]
pub stations_distance_outer_radius_end: f64,
#[proto(tag = 215)]
#[serde_inline_default(300)]
#[serde(rename = "EconomyTickInSeconds")]
pub economy_tick_in_seconds: i32,
#[proto(tag = 216)]
#[serde_inline_default(120)]
#[serde(rename = "NPCGridClaimTimeLimit")]
pub npc_grid_claim_time_limit: i32,
#[proto(tag = 217)]
#[serde(rename = "SimplifiedSimulation", default)]
pub simplified_simulation: bool,
#[proto(tag = 219)]
#[serde(rename = "SuppressedWarnings", default)]
#[serde(serialize_with = "xml_array_item::Warning::serialize",
deserialize_with = "xml_array_item::Warning::deserialize")]
pub suppressed_warnings: Vec<String>,
#[proto(tag = 222)]
#[serde(rename = "EnablePcuTrading", default)]
pub enable_pcu_trading: bool,
#[proto(tag = 220)]
#[serde(rename = "FamilySharing", default)]
pub family_sharing: bool,
#[proto(tag = 224)]
#[serde(rename = "EnableSelectivePhysicsUpdates", default)]
pub enable_selective_physics_updates: bool,
#[proto(tag = 228)]
#[serde(rename = "PredefinedAsteroids", default)]
pub predefined_asteroids: bool,
#[proto(tag = 232)]
#[serde(rename = "UseConsolePCU", default)]
pub use_console_pc_u: bool,
#[proto(tag = 236)]
#[serde_inline_default(99)]
#[serde(rename = "MaxPlanets")]
pub max_planets: i32,
#[proto(tag = 240)]
#[serde(rename = "OffensiveWordsFiltering", default)]
pub offensive_words_filtering: bool,
#[proto(tag = 245)]
#[serde(rename = "AdjustableMaxVehicleSpeed", default)]
pub adjustable_max_vehicle_speed: bool,
#[proto(tag = 246)]
#[serde(rename = "EnableMatchComponent", default)]
pub enable_match_component: bool,
#[proto(tag = 247)]
#[serde(rename = "PreMatchDuration", default)]
pub pre_match_duration: f32,
#[proto(tag = 248)]
#[serde(rename = "MatchDuration", default)]
pub match_duration: f32,
#[proto(tag = 249)]
#[serde(rename = "PostMatchDuration", default)]
pub post_match_duration: f32,
#[proto(tag = 250)]
#[serde(rename = "EnableFriendlyFire", default)]
pub enable_friendly_fire: bool,
#[proto(tag = 251)]
#[serde(rename = "EnableTeamBalancing", default)]
pub enable_team_balancing: bool,
#[proto(tag = 252)]
#[serde_inline_default(1f32)]
#[serde(rename = "CharacterSpeedMultiplier")]
pub character_speed_multiplier: f32,
#[proto(tag = 253)]
#[serde(rename = "EnableRecoil", default)]
pub enable_recoil: bool,
#[proto(tag = 254)]
#[serde_inline_default(1f32)]
#[serde(rename = "EnvironmentDamageMultiplier")]
pub environment_damage_multiplier: f32,
#[proto(tag = 255)]
#[serde(rename = "EnableGamepadAimAssist", default)]
pub enable_gamepad_aim_assist: bool,
#[proto(tag = 256)]
#[serde_inline_default(5f32)]
#[serde(rename = "BackpackDespawnTimer")]
pub backpack_despawn_timer: f32,
#[proto(tag = 257)]
#[serde(rename = "EnableFactionPlayerNames", default)]
pub enable_faction_player_names: bool,
#[proto(tag = 258)]
#[serde(rename = "EnableTeamScoreCounters", default)]
pub enable_team_score_counters: bool,
#[proto(tag = 259)]
#[serde(rename = "EnableSpaceSuitRespawn", default)]
pub enable_space_suit_respawn: bool,
#[proto(tag = 260)]
#[serde(rename = "MatchRestartWhenEmptyTime", default)]
pub match_restart_when_empty_time: i32,
#[proto(tag = 261)]
#[serde(rename = "EnableFactionVoiceChat", default)]
pub enable_faction_voice_chat: bool,
#[proto(tag = 262)]
#[serde(rename = "EnableOrca", default)]
pub enable_orca: bool,
#[proto(tag = 264)]
#[serde_inline_default(50)]
#[serde(rename = "MaxProductionQueueLength")]
pub max_production_queue_length: i32,
#[proto(tag = 266)]
#[serde_inline_default(15000)]
#[serde(rename = "PrefetchShapeRayLengthLimit")]
pub prefetch_shape_ray_length_limit: i64,
#[proto(tag = 268)]
#[serde_inline_default(20f32)]
#[serde(rename = "EnemyTargetIndicatorDistance")]
pub enemy_target_indicator_distance: f32,
#[proto(tag = 270)]
#[serde(rename = "EnableTrashSettingsPlatformOverride", default)]
pub enable_trash_settings_platform_override: bool,
#[proto(tag = 271)]
#[serde(rename = "MinimumWorldSize", default)]
pub minimum_world_size: i32,
#[proto(tag = 272)]
#[serde_inline_default(100)]
#[serde(rename = "MaxCargoBags")]
pub max_cargo_bags: i32,
#[proto(tag = 273)]
#[serde_inline_default(30)]
#[serde(rename = "TrashCleanerCargoBagsMaxLiveTime")]
pub trash_cleaner_cargo_bags_max_live_time: i32,
#[proto(tag = 274)]
#[serde(rename = "ScrapEnabled", default)]
pub scrap_enabled: bool,
#[proto(tag = 275)]
#[serde_inline_default(200)]
#[serde(rename = "BroadcastControllerMaxOfflineTransmitDistance")]
pub broadcast_controller_max_offline_transmit_distance: i32,
#[proto(tag = 276)]
#[serde(rename = "TemporaryContainers", default)]
pub temporary_containers: bool,
#[proto(tag = 278)]
#[serde_inline_default(15)]
#[serde(rename = "GlobalEncounterTimer")]
pub global_encounter_timer: i32,
#[proto(tag = 280)]
#[serde_inline_default(1)]
#[serde(rename = "GlobalEncounterCap")]
pub global_encounter_cap: i32,
#[proto(tag = 282)]
#[serde(rename = "GlobalEncounterEnableRemovalTimer", default)]
pub global_encounter_enable_removal_timer: bool,
#[proto(tag = 284)]
#[serde_inline_default(90)]
#[serde(rename = "GlobalEncounterMinRemovalTimer")]
pub global_encounter_min_removal_timer: i32,
#[proto(tag = 286)]
#[serde_inline_default(180)]
#[serde(rename = "GlobalEncounterMaxRemovalTimer")]
pub global_encounter_max_removal_timer: i32,
#[proto(tag = 288)]
#[serde_inline_default(30)]
#[serde(rename = "GlobalEncounterRemovalTimeClock")]
pub global_encounter_removal_time_clock: i32,
#[proto(tag = 290)]
#[serde_inline_default(0.35f32)]
#[serde(rename = "EncounterDensity")]
pub encounter_density: f32,
#[proto(tag = 292)]
#[serde_inline_default(6)]
#[serde(rename = "EncounterGeneratorVersion")]
pub encounter_generator_version: i32,
#[proto(tag = 296)]
#[serde(rename = "EnablePlanetaryEncounters", default)]
pub enable_planetary_encounters: bool,
#[proto(tag = 298)]
#[serde_inline_default(15f32)]
#[serde(rename = "PlanetaryEncounterTimerMin")]
pub planetary_encounter_timer_min: f32,
#[proto(tag = 300)]
#[serde_inline_default(30f32)]
#[serde(rename = "PlanetaryEncounterTimerMax")]
pub planetary_encounter_timer_max: f32,
#[proto(tag = 301)]
#[serde_inline_default(5f32)]
#[serde(rename = "PlanetaryEncounterTimerFirst")]
pub planetary_encounter_timer_first: f32,
#[proto(tag = 302)]
#[serde_inline_default(7000)]
#[serde(rename = "PlanetaryEncounterExistingStructuresRange")]
pub planetary_encounter_existing_structures_range: i32,
#[proto(tag = 304)]
#[serde_inline_default(10000)]
#[serde(rename = "PlanetaryEncounterAreaLockdownRange")]
pub planetary_encounter_area_lockdown_range: i32,
#[proto(tag = 306)]
#[serde_inline_default(6000)]
#[serde(rename = "PlanetaryEncounterDesiredSpawnRange")]
pub planetary_encounter_desired_spawn_range: i32,
#[proto(tag = 308)]
#[serde_inline_default(20000)]
#[serde(rename = "PlanetaryEncounterPresenceRange")]
pub planetary_encounter_presence_range: i32,
#[proto(tag = 310)]
#[serde_inline_default(120f32)]
#[serde(rename = "PlanetaryEncounterDespawnTimeout")]
pub planetary_encounter_despawn_timeout: f32,
#[proto(tag = 316)]
#[serde(rename = "LimitBlocksBy", default)]
pub limit_blocks_by: MyObjectBuilder_SessionSettings_LimitBlocksByOption,
#[proto(tag = 320)]
#[serde_inline_default(100)]
#[serde(rename = "MaxHudChatMessageCount")]
pub max_hud_chat_message_count: i32,
#[proto(tag = 325)]
#[serde(rename = "EnableShareInertiaTensor", default)]
pub enable_share_inertia_tensor: bool,
#[proto(tag = 330)]
#[serde(rename = "EnableUnsafePistonImpulses", default)]
pub enable_unsafe_piston_impulses: bool,
#[proto(tag = 335)]
#[serde(rename = "EnableUnsafeRotorTorques", default)]
pub enable_unsafe_rotor_torques: bool,
#[proto(tag = 340)]
#[serde(rename = "EnableRadiation", default)]
pub enable_radiation: bool,
#[proto(tag = 345)]
#[serde(rename = "SolarRadiationIntensity", default)]
pub solar_radiation_intensity: f32,
#[proto(tag = 350)]
#[serde(rename = "ResetForageableItems", default)]
pub reset_forageable_items: bool,
#[proto(tag = 351)]
#[serde_inline_default(30)]
#[serde(rename = "ResetForageableItemsTimeM")]
pub reset_forageable_items_time_m: i32,
#[proto(tag = 352)]
#[serde_inline_default(3000)]
#[serde(rename = "ResetForageableItemsDistance")]
pub reset_forageable_items_distance: i32,
#[proto(tag = 353)]
#[serde(rename = "FoodConsumptionRate", default)]
pub food_consumption_rate: f32,
#[proto(tag = 354)]
#[serde(rename = "EnableSurvivalBuffs", default)]
pub enable_survival_buffs: bool,
#[proto(tag = 355)]
#[serde(rename = "EnableReducedStatsOnRespawn", default)]
pub enable_reduced_stats_on_respawn: bool,
#[proto(tag = 360)]
#[serde(rename = "RandomizeSeed", default)]
pub randomize_seed: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "WorkshopId")]
pub struct WorkshopId {
#[proto(tag = 1)]
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<u64>,
#[proto(tag = 4)]
#[serde(rename = "ServiceName", default)]
pub service_name: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyServerData")]
pub struct MyCachedServerItem_MyServerData {
#[proto(tag = 1)]
#[serde(rename = "Settings", default)]
pub settings: MyObjectBuilder_SessionSettings,
#[proto(tag = 4)]
#[serde(rename = "ExperimentalMode", default)]
pub experimental_mode: bool,
#[proto(tag = 7)]
#[serde(rename = "Mods", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub mods: Vec<WorkshopId>,
#[proto(tag = 10)]
#[serde(rename = "Description", default)]
pub description: String,
#[proto(tag = 14)]
#[serde(rename = "UsedServices", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub used_services: Vec<String>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyPositionAndOrientation")]
pub struct MyPositionAndOrientation {
#[proto(tag = 1)]
#[serde(rename = "Position")]
pub position: crate::math::SerializableVector3D,
#[proto(skip)]
#[serde(rename = "Forward")]
pub forward: crate::math::SerializableVector3F,
#[proto(skip)]
#[serde(rename = "Up")]
pub up: crate::math::SerializableVector3F,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyCameraControllerEnum")]
pub enum MyCameraControllerEnum {
#[default]
#[deku(id = "0")]
Spectator,
#[deku(id = "1")]
Entity,
#[deku(id = "2")]
ThirdPersonSpectator,
#[deku(id = "3")]
SpectatorDelta,
#[deku(id = "4")]
SpectatorFixed,
#[deku(id = "5")]
SpectatorOrbit,
#[deku(id = "6")]
SpectatorFreeMouse,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 4)]
#[serde(rename = "MyToolbarType")]
pub enum MyToolbarType {
#[default]
#[deku(id = "0")]
Character,
#[deku(id = "1")]
SmallCockpit,
#[deku(id = "2")]
LargeCockpit,
#[deku(id = "3")]
Ship,
#[deku(id = "4")]
Seat,
#[deku(id = "5")]
ButtonPanel,
#[deku(id = "6")]
Spectator,
#[deku(id = "7")]
None,
#[deku(id = "8")]
BuildCockpit,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_ToolbarItem")]
pub struct MyObjectBuilder_ToolbarItem {}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "Slot")]
pub struct MyObjectBuilder_Toolbar_Slot {
#[proto(tag = 1)]
#[serde(rename = "Index", default)]
pub index: crate::compat::BitAligned<i32>,
#[proto(tag = 4)]
#[serde(rename = "Item", default)]
pub item: crate::compat::VarString,
#[proto(tag = 7)]
#[serde(rename = "Data", default)]
pub data: MyObjectBuilder_ToolbarItem,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Toolbar")]
pub struct MyObjectBuilder_Toolbar {
#[proto(tag = 10)]
#[serde(rename = "ToolbarType", default)]
pub toolbar_type: MyToolbarType,
#[proto(tag = 13)]
#[serde(rename = "SelectedSlot", default)]
pub selected_slot: crate::compat::Nullable<crate::compat::BitAligned<i32>>,
#[proto(tag = 16)]
#[serde(rename = "Slots", default)]
pub slots: crate::compat::VarVec<MyObjectBuilder_Toolbar_Slot>,
#[proto(tag = 17)]
#[serde(rename = "SlotsGamepad", default)]
pub slots_gamepad: crate::compat::VarVec<MyObjectBuilder_Toolbar_Slot>,
#[proto(skip)]
#[serde(rename = "ColorMaskHSVList", default)]
pub color_mask_hsv_list: crate::compat::VarVec<crate::math::Vector3F>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Eq, Hash, PartialOrd, Ord)]
#[serde(rename = "PlayerId")]
pub struct MyObjectBuilder_Checkpoint_PlayerId {
#[proto(tag = 183)]
#[serde(rename = "ClientId", default)]
pub client_id: u64,
#[proto(tag = 185)]
#[serde(rename = "SerialId", default)]
pub serial_id: i32,
#[proto(tag = 186)]
#[serde(rename = "HashedId", default)]
pub hashed_id: u64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ScriptManager")]
pub struct MyObjectBuilder_ScriptManager {
#[proto(tag = 1)]
#[serde(rename = "variables", default)]
pub variables: crate::compat::VarMap<String,Vec<u8>>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_FactionMember")]
pub struct MyObjectBuilder_FactionMember {
#[proto(tag = 1)]
#[serde(rename = "PlayerId", default)]
pub player_id: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "IsLeader", default)]
pub is_leader: crate::compat::BitBool,
#[proto(tag = 7)]
#[serde(rename = "IsFounder", default)]
pub is_founder: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyFactionTypes")]
pub enum MyFactionTypes {
#[default]
#[deku(id = "0")]
None,
#[deku(id = "1")]
PlayerMade,
#[deku(id = "2")]
Miner,
#[deku(id = "3")]
Trader,
#[deku(id = "4")]
Builder,
#[deku(id = "5")]
Pirate,
#[deku(id = "6")]
Military,
#[deku(id = "7")]
Custom,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "MyStationTypeEnum")]
pub enum MyStationTypeEnum {
#[default]
#[deku(id = "0")]
MiningStation,
#[deku(id = "1")]
OrbitalStation,
#[deku(id = "2")]
Outpost,
#[deku(id = "3")]
SpaceStation,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyObjectBuilderType")]
pub struct MyObjectBuilderType {
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "SerializableDefinitionId")]
pub struct SerializableDefinitionId {
#[proto(skip)]
#[serde(skip)]
pub subtype_name: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "@TypeIdStringAttribute", default)]
pub type_id_string_attribute: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "TypeIdString", default)]
pub type_id_string: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "@SubtypeIdAttribute", default)]
pub subtype_id_attribute: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "ItemTypes")]
pub enum ItemTypes {
#[default]
#[deku(id = "0")]
PhysicalItem,
#[deku(id = "1")]
Oxygen,
#[deku(id = "2")]
Hydrogen,
#[deku(id = "3")]
Grid,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 1)]
#[serde(rename = "StoreItemTypes")]
pub enum StoreItemTypes {
#[default]
#[deku(id = "0")]
Offer,
#[deku(id = "1")]
Order,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_StoreItem")]
pub struct MyObjectBuilder_StoreItem {
#[proto(tag = 1)]
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
#[proto(tag = 3)]
#[serde(rename = "Item", default)]
pub item: crate::compat::Nullable<SerializableDefinitionId>,
#[proto(tag = 4)]
#[serde(rename = "ItemType", default)]
pub item_type: ItemTypes,
#[proto(tag = 5)]
#[serde(rename = "Amount", default)]
pub amount: crate::compat::BitAligned<i32>,
#[proto(tag = 7)]
#[serde(rename = "RemovedAmount", default)]
pub removed_amount: crate::compat::BitAligned<i32>,
#[proto(tag = 9)]
#[serde(rename = "PricePerUnit", default)]
pub price_per_unit: crate::compat::BitAligned<i32>,
#[proto(tag = 11)]
#[serde(rename = "StoreItemType", default)]
pub store_item_type: StoreItemTypes,
#[proto(tag = 13)]
#[serde(rename = "UpdateCount", default)]
pub update_count: crate::compat::BitAligned<i32>,
#[proto(tag = 15)]
#[serde(rename = "PrefabName", default)]
pub prefab_name: crate::compat::VarString,
#[proto(tag = 17)]
#[serde(rename = "PrefabTotalPcu", default)]
pub prefab_total_pcu: crate::compat::BitAligned<i32>,
#[proto(tag = 19)]
#[serde(rename = "PricePerUnitDiscount", default)]
pub price_per_unit_discount: crate::compat::BitAligned<f32>,
#[proto(tag = 21)]
#[serde(rename = "IsCustomStoreItem", default)]
pub is_custom_store_item: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Station")]
pub struct MyObjectBuilder_Station {
#[proto(tag = 1)]
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
#[proto(tag = 2)]
#[serde(rename = "Position")]
pub position: crate::math::SerializableVector3D,
#[proto(tag = 3)]
#[serde(rename = "Up")]
pub up: crate::math::SerializableVector3F,
#[proto(tag = 5)]
#[serde(rename = "Forward")]
pub forward: crate::math::SerializableVector3F,
#[proto(tag = 7)]
#[serde(rename = "StationType", default)]
pub station_type: MyStationTypeEnum,
#[proto(tag = 9)]
#[serde(rename = "IsDeepSpaceStation", default)]
pub is_deep_space_station: crate::compat::BitBool,
#[proto(tag = 11)]
#[serde(rename = "StationEntityId", default)]
pub station_entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 13)]
#[serde(rename = "FactionId", default)]
pub faction_id: crate::compat::BitAligned<i64>,
#[proto(tag = 15)]
#[serde(rename = "PrefabName", default)]
pub prefab_name: crate::compat::VarString,
#[proto(tag = 19)]
#[serde(rename = "SafeZoneEntityId", default)]
pub safe_zone_entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 21)]
#[serde(rename = "StoreItems", default)]
pub store_items: crate::compat::VarVec<MyObjectBuilder_StoreItem>,
#[proto(tag = 23)]
#[serde(rename = "IsOnPlanetWithAtmosphere", default)]
pub is_on_planet_with_atmosphere: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Faction")]
pub struct MyObjectBuilder_Faction {
#[proto(tag = 10)]
#[serde(rename = "FactionId", default)]
pub faction_id: crate::compat::BitAligned<i64>,
#[proto(tag = 13)]
#[serde(rename = "Tag", default)]
pub tag: crate::compat::VarString,
#[proto(tag = 16)]
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[proto(tag = 19)]
#[serde(rename = "Description", default)]
pub description: crate::compat::VarString,
#[proto(tag = 22)]
#[serde(rename = "PrivateInfo", default)]
pub private_info: crate::compat::VarString,
#[proto(tag = 25)]
#[serde(rename = "Members", default)]
pub members: crate::compat::VarVec<MyObjectBuilder_FactionMember>,
#[proto(tag = 28)]
#[serde(rename = "JoinRequests", default)]
pub join_requests: crate::compat::VarVec<MyObjectBuilder_FactionMember>,
#[proto(tag = 31)]
#[serde(rename = "AutoAcceptMember", default)]
pub auto_accept_member: crate::compat::BitBool,
#[proto(tag = 34)]
#[serde(rename = "AutoAcceptPeace", default)]
pub auto_accept_peace: crate::compat::BitBool,
#[proto(tag = 37)]
#[serde(rename = "AcceptHumans", default)]
pub accept_humans: crate::compat::BitBool,
#[proto(tag = 40)]
#[serde(rename = "EnableFriendlyFire", default)]
pub enable_friendly_fire: crate::compat::BitBool,
#[proto(tag = 43)]
#[serde(rename = "FactionType", default)]
pub faction_type: MyFactionTypes,
#[proto(tag = 44)]
#[serde(rename = "FactionTypeString", default)]
pub faction_type_string: crate::compat::VarString,
#[proto(tag = 46)]
#[serde(rename = "Stations", default)]
pub stations: crate::compat::VarVec<MyObjectBuilder_Station>,
#[proto(tag = 49)]
#[serde(rename = "CustomColor")]
pub custom_color: crate::math::SerializableVector3F,
#[proto(tag = 51)]
#[serde(rename = "IconColor")]
pub icon_color: crate::math::SerializableVector3F,
#[proto(tag = 52)]
#[serde(rename = "FactionIcon", default)]
pub faction_icon: crate::compat::VarString,
#[proto(tag = 53)]
#[serde(rename = "TransferedPCUDelta", default)]
pub transfered_pcu_delta: crate::compat::BitAligned<i32>,
#[proto(tag = 56)]
#[serde(rename = "Score", default)]
pub score: crate::compat::BitAligned<i32>,
#[proto(tag = 59)]
#[serde(rename = "ObjectivePercentageCompleted", default)]
pub objective_percentage_completed: crate::compat::BitAligned<f32>,
#[proto(tag = 61)]
#[serde(rename = "FactionIconWorkshopId", default)]
pub faction_icon_workshop_id: crate::compat::Nullable<WorkshopId>,
#[proto(tag = 64)]
#[serde(rename = "DamageInflicted", default)]
pub damage_inflicted: crate::compat::VarMap<i64,f32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyRelationsBetweenFactions")]
pub enum MyRelationsBetweenFactions {
#[default]
Neutral,
Enemies,
Allies,
Friends,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionRelation")]
pub struct MyObjectBuilder_FactionRelation {
#[proto(tag = 1)]
#[serde(rename = "FactionId1", default)]
pub faction_id1: i64,
#[proto(tag = 4)]
#[serde(rename = "FactionId2", default)]
pub faction_id2: i64,
#[proto(tag = 7)]
#[serde(rename = "Relation", default)]
pub relation: MyRelationsBetweenFactions,
#[proto(tag = 10)]
#[serde(rename = "Reputation", default)]
pub reputation: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_PlayerFactionRelation")]
pub struct MyObjectBuilder_PlayerFactionRelation {
#[proto(tag = 1)]
#[serde(rename = "PlayerId", default)]
pub player_id: i64,
#[proto(tag = 4)]
#[serde(rename = "FactionId", default)]
pub faction_id: i64,
#[proto(tag = 7)]
#[serde(rename = "Relation", default)]
pub relation: MyRelationsBetweenFactions,
#[proto(tag = 10)]
#[serde(rename = "Reputation", default)]
pub reputation: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionRequests")]
pub struct MyObjectBuilder_FactionRequests {
#[proto(tag = 10)]
#[serde(rename = "FactionId", default)]
pub faction_id: i64,
#[proto(tag = 13)]
#[serde(rename = "FactionRequests", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub faction_requests: Vec<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionsVisEntry")]
pub struct MyObjectBuilder_FactionsVisEntry {
#[proto(tag = 1)]
#[serde(rename = "PlayerId", default)]
pub player_id: u64,
#[proto(tag = 3)]
#[serde(rename = "SerialId", default)]
pub serial_id: i32,
#[proto(tag = 4)]
#[serde(rename = "IdentityId", default)]
pub identity_id: i64,
#[proto(tag = 5)]
#[serde(rename = "DiscoveredFactions", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub discovered_factions: Vec<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionCollection")]
pub struct MyObjectBuilder_FactionCollection {
#[proto(tag = 16)]
#[serde(rename = "Factions", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub factions: Vec<MyObjectBuilder_Faction>,
#[proto(tag = 19)]
#[serde(rename = "Players", default)]
pub players: crate::compat::VarMap<i64,i64>,
#[proto(tag = 22)]
#[serde(rename = "Relations", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub relations: Vec<MyObjectBuilder_FactionRelation>,
#[proto(tag = 25)]
#[serde(rename = "RelationsWithPlayers", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub relations_with_players: Vec<MyObjectBuilder_PlayerFactionRelation>,
#[proto(tag = 28)]
#[serde(rename = "Requests", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub requests: Vec<MyObjectBuilder_FactionRequests>,
#[proto(tag = 31)]
#[serde(rename = "PlayerToFactionsVis", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub player_to_factions_vis: Vec<MyObjectBuilder_FactionsVisEntry>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "ModItem")]
pub struct MyObjectBuilder_Checkpoint_ModItem {
#[proto(tag = 70)]
#[serde(rename = "Name", default)]
pub name: String,
#[proto(tag = 73)]
#[serde(rename = "PublishedFileId", default)]
pub published_file_id: u64,
#[proto(tag = 74)]
#[serde(rename = "PublishedServiceName", default)]
pub published_service_name: String,
#[proto(tag = 76)]
#[serde(rename = "IsDependency", default)]
pub is_dependency: bool,
#[proto(tag = 79)]
#[serde(rename = "@FriendlyName", default)]
pub friendly_name: String,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyPromoteLevel")]
pub enum MyPromoteLevel {
#[default]
#[deku(id = "0")]
None,
#[deku(id = "1")]
Scripter,
#[deku(id = "2")]
Moderator,
#[deku(id = "3")]
SpaceMaster,
#[deku(id = "4")]
Admin,
#[deku(id = "5")]
Owner,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "RespawnCooldownItem")]
pub struct MyObjectBuilder_Checkpoint_RespawnCooldownItem {
#[proto(tag = 91)]
#[serde(rename = "PlayerSteamId", default)]
pub player_steam_id: u64,
#[proto(tag = 94)]
#[serde(rename = "PlayerSerialId", default)]
pub player_serial_id: i32,
#[proto(tag = 95)]
#[serde(rename = "IdentityId", default)]
pub identity_id: i64,
#[proto(tag = 97)]
#[serde(rename = "RespawnShipId", default)]
pub respawn_ship_id: String,
#[proto(tag = 100)]
#[serde(rename = "Cooldown", default)]
pub cooldown: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Identity")]
pub struct MyObjectBuilder_Identity {
#[proto(tag = 1)]
#[serde(rename = "IdentityId", default)]
pub identity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
#[proto(tag = 7)]
#[serde(rename = "CharacterEntityId", default)]
pub character_entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 10)]
#[serde(rename = "Model", default)]
pub model: crate::compat::VarString,
#[proto(tag = 13)]
#[serde(rename = "ColorMask", default)]
pub color_mask: crate::compat::Nullable<crate::math::SerializableVector3F>,
#[proto(tag = 16)]
#[serde(rename = "BlockLimitModifier", default)]
pub block_limit_modifier: crate::compat::BitAligned<i32>,
#[proto(tag = 19)]
#[serde(rename = "LastLoginTime", default)]
pub last_login_time: crate::compat::DateTime,
#[proto(tag = 22)]
#[serde(rename = "SavedCharacters", default)]
pub saved_characters: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 25)]
#[serde(rename = "LastLogoutTime", default)]
pub last_logout_time: crate::compat::DateTime,
#[proto(tag = 28)]
#[serde(rename = "RespawnShips", default)]
pub respawn_ships: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(skip)]
#[serde(rename = "LastDeathPosition", default)]
pub last_death_position: crate::compat::Nullable<crate::math::Vector3D>,
#[proto(tag = 33)]
#[serde(rename = "ActiveContracts", default)]
pub active_contracts: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 35)]
#[serde(rename = "TransferedPCUDelta", default)]
pub transfered_pcu_delta: crate::compat::BitAligned<i32>,
#[proto(tag = 38)]
#[serde(rename = "IsGlobalEncounterSpawner", default)]
pub is_global_encounter_spawner: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Client")]
pub struct MyObjectBuilder_Client {
#[proto(tag = 1)]
#[serde(rename = "SteamId", default)]
pub steam_id: crate::compat::BitAligned<u64>,
#[proto(tag = 4)]
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[proto(tag = 7)]
#[serde(rename = "IsAdmin", default)]
pub is_admin: crate::compat::BitBool,
#[proto(tag = 10)]
#[serde(rename = "ClientService", default)]
pub client_service: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "CameraControllerSettings")]
pub struct CameraControllerSettings {
#[proto(tag = 1)]
#[serde(rename = "IsFirstPerson", default)]
pub is_first_person: crate::compat::BitBool,
#[proto(tag = 4)]
#[serde(rename = "Distance", default)]
pub distance: crate::compat::BitAligned<f64>,
#[proto(tag = 7)]
#[serde(rename = "HeadAngle", default)]
pub head_angle: crate::compat::Nullable<crate::math::SerializableVector2F>,
#[proto(skip)]
#[serde(rename = "@EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Player")]
pub struct MyObjectBuilder_Player {
#[proto(tag = 10)]
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
#[proto(tag = 13)]
#[serde(rename = "IdentityId", default)]
pub identity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 16)]
#[serde(rename = "Connected", default)]
pub connected: crate::compat::BitBool,
#[proto(tag = 19)]
#[serde(rename = "ForceRealPlayer", default)]
pub force_real_player: crate::compat::BitBool,
#[proto(tag = 22)]
#[serde(rename = "Toolbar", default)]
pub toolbar: MyObjectBuilder_Toolbar,
#[proto(tag = 25)]
#[serde(rename = "EntityCameraData", default)]
pub entity_camera_data: crate::compat::VarVec<CameraControllerSettings>,
#[proto(tag = 28)]
#[serde(rename = "BuildColorSlots", default)]
pub build_color_slots: crate::compat::VarVec<crate::math::Vector3F>,
#[proto(tag = 30)]
#[serde(rename = "CreativeToolsEnabled", default)]
pub creative_tools_enabled: crate::compat::BitBool,
#[proto(tag = 33)]
#[serde(rename = "RemoteAdminSettings", default)]
pub remote_admin_settings: crate::compat::BitAligned<i32>,
#[proto(tag = 38)]
#[serde(rename = "PromoteLevel", default)]
pub promote_level: MyPromoteLevel,
#[proto(skip)]
#[serde(rename = "SteamID", default)]
pub steam_i_d: crate::compat::BitAligned<u64>,
#[proto(skip)]
#[serde(rename = "PlayerEntity", default)]
pub player_entity: crate::compat::BitAligned<i64>,
#[proto(skip)]
#[serde(rename = "PlayerModel", default)]
pub player_model: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "PlayerId", default)]
pub player_id: crate::compat::BitAligned<i64>,
#[proto(skip)]
#[serde(rename = "LastActivity", default)]
pub last_activity: crate::compat::BitAligned<i64>,
#[proto(tag = 31)]
#[serde(rename = "BuildArmorSkin", default)]
pub build_armor_skin: crate::compat::VarString,
#[proto(tag = 35)]
#[serde(rename = "BuildColorSlot", default)]
pub build_color_slot: crate::compat::BitAligned<i32>,
#[proto(tag = 40)]
#[serde(rename = "IsWildlifeAgent", default)]
pub is_wildlife_agent: crate::compat::BitBool,
#[proto(tag = 45)]
#[serde(rename = "PlatformIcon", default)]
pub platform_icon: crate::compat::VarString,
#[proto(tag = 50)]
#[serde(rename = "GameAcronym", default)]
pub game_acronym: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_PlayerChatItem")]
pub struct MyObjectBuilder_PlayerChatItem {
#[proto(tag = 25)]
#[serde(rename = "@Text", default)]
pub text: String,
#[proto(tag = 28)]
#[serde(rename = "IdentityIdUniqueNumber", default)]
pub identity_id_unique_number: i64,
#[proto(tag = 31)]
#[serde(rename = "TimestampMs", default)]
pub timestamp_ms: i64,
#[proto(tag = 34)]
#[serde(rename = "Sent", default)]
pub sent: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_PlayerChatHistory")]
pub struct MyObjectBuilder_PlayerChatHistory {
#[proto(tag = 10)]
#[serde(rename = "Chat", default)]
#[serde(serialize_with = "xml_array_item::PCI::serialize",
deserialize_with = "xml_array_item::PCI::deserialize")]
pub chat: Vec<MyObjectBuilder_PlayerChatItem>,
#[proto(tag = 13)]
#[serde(rename = "IdentityId", default)]
pub identity_id: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_GlobalChatItem")]
pub struct MyObjectBuilder_GlobalChatItem {
#[proto(tag = 52)]
#[serde(rename = "@Text", default)]
pub text: String,
#[proto(tag = 55)]
#[serde(rename = "IdentityIdUniqueNumber", default)]
pub identity_id_unique_number: i64,
#[proto(tag = 58)]
#[serde(rename = "@Author", default)]
pub author: String,
#[proto(tag = 61)]
#[serde(rename = "@Font", default)]
pub font: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_GlobalChatHistory")]
pub struct MyObjectBuilder_GlobalChatHistory {
#[proto(tag = 22)]
#[serde(rename = "Chat", default)]
#[serde(serialize_with = "xml_array_item::GCI::serialize",
deserialize_with = "xml_array_item::GCI::deserialize")]
pub chat: Vec<MyObjectBuilder_GlobalChatItem>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_ChatHistory")]
pub struct MyObjectBuilder_ChatHistory {
#[proto(tag = 1)]
#[serde(rename = "IdentityId", default)]
pub identity_id: i64,
#[proto(tag = 4)]
#[serde(rename = "PlayerChatHistory", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub player_chat_history: Vec<MyObjectBuilder_PlayerChatHistory>,
#[proto(tag = 7)]
#[serde(rename = "GlobalChatHistory", default)]
pub global_chat_history: MyObjectBuilder_GlobalChatHistory,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionChatItem")]
pub struct MyObjectBuilder_FactionChatItem {
#[proto(tag = 37)]
#[serde(rename = "@Text", default)]
pub text: String,
#[proto(tag = 40)]
#[serde(rename = "IdentityIdUniqueNumber", default)]
pub identity_id_unique_number: i64,
#[proto(tag = 43)]
#[serde(rename = "TimestampMs", default)]
pub timestamp_ms: i64,
#[proto(tag = 46)]
#[serde(rename = "PlayersToSendToUniqueNumber", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub players_to_send_to_unique_number: Vec<i64>,
#[proto(tag = 49)]
#[serde(rename = "IsAlreadySentTo", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub is_already_sent_to: Vec<bool>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_FactionChatHistory")]
pub struct MyObjectBuilder_FactionChatHistory {
#[proto(tag = 16)]
#[serde(rename = "Chat", default)]
#[serde(serialize_with = "xml_array_item::FCI::serialize",
deserialize_with = "xml_array_item::FCI::deserialize")]
pub chat: Vec<MyObjectBuilder_FactionChatItem>,
#[proto(tag = 19)]
#[serde(rename = "FactionId1", default)]
pub faction_id1: i64,
#[proto(skip)]
#[serde(rename = "FactionId2", default)]
pub faction_id2: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Eq, Hash, PartialOrd, Ord)]
#[serde(rename = "Color")]
pub struct Color {
#[proto(tag = 1)]
#[serde(rename = "PackedValue", default)]
pub packed_value: crate::compat::BitAligned<u32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "Entry")]
pub struct MyObjectBuilder_Gps_Entry {
#[proto(tag = 1)]
#[serde(rename = "name", default)]
pub name: String,
#[proto(tag = 4)]
#[serde(rename = "description", default)]
pub description: String,
#[proto(tag = 7)]
#[serde(rename = "coords")]
pub coords: crate::math::Vector3D,
#[proto(tag = 10)]
#[serde(rename = "isFinal", default)]
pub is_final: bool,
#[proto(tag = 13)]
#[serde(rename = "showOnHud", default)]
pub show_on_hud: bool,
#[proto(tag = 16)]
#[serde(rename = "alwaysVisible", default)]
pub always_visible: bool,
#[proto(tag = 19)]
#[serde(rename = "color")]
pub color: Color,
#[proto(tag = 22)]
#[serde(rename = "entityId", default)]
pub entity_id: i64,
#[proto(tag = 28)]
#[serde(rename = "isObjective", default)]
pub is_objective: bool,
#[proto(tag = 31)]
#[serde(rename = "contractId", default)]
pub contract_id: i64,
#[proto(tag = 33)]
#[serde(rename = "IsGlobalEncounterGPS", default)]
pub is_global_encounter_gp_s: bool,
#[proto(tag = 25)]
#[serde(rename = "DisplayName", default)]
pub display_name: String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Gps")]
pub struct MyObjectBuilder_Gps {
#[proto(tag = 35)]
#[serde(rename = "Entries", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub entries: Vec<MyObjectBuilder_Gps_Entry>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_SessionComponent")]
pub struct MyObjectBuilder_SessionComponent {
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "PlayerItem")]
pub struct MyObjectBuilder_Checkpoint_PlayerItem {
#[proto(tag = 55)]
#[serde(rename = "PlayerId", default)]
pub player_id: i64,
#[proto(tag = 58)]
#[serde(rename = "IsDead", default)]
pub is_dead: bool,
#[proto(tag = 61)]
#[serde(rename = "Name", default)]
pub name: String,
#[proto(tag = 64)]
#[serde(rename = "SteamId", default)]
pub steam_id: u64,
#[proto(tag = 67)]
#[serde(rename = "Model", default)]
pub model: String,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Checkpoint")]
pub struct MyObjectBuilder_Checkpoint {
#[proto(tag = 1)]
#[serde(rename = "CurrentSector")]
pub current_sector: crate::math::SerializableVector3I,
#[proto(tag = 4)]
#[serde(rename = "ElapsedGameTime", default)]
pub elapsed_game_time: i64,
#[proto(tag = 7)]
#[serde(rename = "SessionName", default)]
pub session_name: String,
#[proto(tag = 10)]
#[serde(rename = "SpectatorPosition")]
pub spectator_position: MyPositionAndOrientation,
#[proto(tag = 11)]
#[serde(rename = "SpectatorSpeed")]
pub spectator_speed: crate::math::SerializableVector2F,
#[proto(tag = 13)]
#[serde(rename = "SpectatorIsLightOn", default)]
pub spectator_is_light_on: bool,
#[proto(tag = 16)]
#[serde_inline_default(MyCameraControllerEnum::Spectator)]
#[serde(rename = "CameraController")]
pub camera_controller: MyCameraControllerEnum,
#[proto(tag = 19)]
#[serde(rename = "CameraEntity", default)]
pub camera_entity: i64,
#[proto(tag = 22)]
#[serde_inline_default(-1)]
#[serde(rename = "ControlledObject")]
pub controlled_object: i64,
#[proto(tag = 25)]
#[serde(rename = "Password", default)]
pub password: String,
#[proto(tag = 28)]
#[serde(rename = "Description", default)]
pub description: String,
#[proto(tag = 31)]
#[serde(rename = "LastSaveTime", default)]
pub last_save_time: crate::compat::DateTime,
#[proto(tag = 34)]
#[serde(rename = "SpectatorDistance", default)]
pub spectator_distance: f32,
#[proto(tag = 37)]
#[serde(rename = "WorkshopId", default)]
pub workshop_id: crate::compat::Nullable<u64>,
#[proto(tag = 38)]
#[serde(rename = "WorkshopServiceName", default)]
pub workshop_service_name: String,
#[proto(tag = 39)]
#[serde(rename = "WorkshopId1", default)]
pub workshop_id1: crate::compat::Nullable<u64>,
#[proto(tag = 41)]
#[serde(rename = "WorkshopServiceName1", default)]
pub workshop_service_name1: String,
#[proto(tag = 40)]
#[serde(rename = "CharacterToolbar", default)]
pub character_toolbar: MyObjectBuilder_Toolbar,
#[proto(tag = 43)]
#[serde(rename = "ControlledEntities", default)]
pub controlled_entities: crate::compat::VarMap<i64,MyObjectBuilder_Checkpoint_PlayerId>,
#[proto(tag = 46)]
#[serde(rename = "Settings", default)]
pub settings: MyObjectBuilder_SessionSettings,
#[proto(skip)]
#[serde(rename = "ScriptManagerData", default)]
pub script_manager_data: MyObjectBuilder_ScriptManager,
#[proto(tag = 49)]
#[serde(rename = "AppVersion", default)]
pub app_version: i32,
#[proto(tag = 52)]
#[serde(rename = "Factions", default)]
pub factions: MyObjectBuilder_FactionCollection,
#[proto(tag = 54)]
#[serde(rename = "PlayersDeadInCryopods", default)]
pub players_dead_in_cryopods: crate::compat::VarMap<u64,i64>,
#[proto(tag = 82)]
#[serde(rename = "Mods", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub mods: Vec<MyObjectBuilder_Checkpoint_ModItem>,
#[proto(tag = 85)]
#[serde(rename = "PromotedUsers", default)]
pub promoted_users: crate::compat::VarMap<u64,MyPromoteLevel>,
#[proto(skip)]
#[serde(rename = "CreativeTools", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub creative_tools: Vec<u64>,
#[proto(tag = 88)]
#[serde(rename = "Scenario")]
pub scenario: SerializableDefinitionId,
#[proto(tag = 103)]
#[serde(rename = "RespawnCooldowns", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub respawn_cooldowns: Vec<MyObjectBuilder_Checkpoint_RespawnCooldownItem>,
#[proto(tag = 106)]
#[serde(rename = "Identities", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub identities: Vec<MyObjectBuilder_Identity>,
#[proto(tag = 109)]
#[serde(rename = "Clients", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub clients: Vec<MyObjectBuilder_Client>,
#[proto(tag = 112)]
#[serde(rename = "PreviousEnvironmentHostility", default)]
pub previous_environment_hostility: crate::compat::Nullable<MyEnvironmentHostilityEnum>,
#[proto(tag = 113)]
#[serde(rename = "SharedToolbar", default)]
pub shared_toolbar: u64,
#[proto(tag = 115)]
#[serde(rename = "AllPlayersData", default)]
pub all_players_data: crate::compat::VarMap<MyObjectBuilder_Checkpoint_PlayerId,MyObjectBuilder_Player>,
#[proto(tag = 118)]
#[serde(rename = "AllPlayersColors", default)]
pub all_players_colors: crate::compat::VarMap<MyObjectBuilder_Checkpoint_PlayerId,Vec<crate::math::Vector3F>>,
#[proto(tag = 121)]
#[serde(rename = "ChatHistory", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub chat_history: Vec<MyObjectBuilder_ChatHistory>,
#[proto(tag = 124)]
#[serde(rename = "FactionChatHistory", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub faction_chat_history: Vec<MyObjectBuilder_FactionChatHistory>,
#[proto(tag = 127)]
#[serde(rename = "NonPlayerIdentities", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub non_player_identities: Vec<i64>,
#[proto(tag = 130)]
#[serde(rename = "Gps", default)]
pub gps: crate::compat::VarMap<i64,MyObjectBuilder_Gps>,
#[proto(tag = 132)]
#[serde(rename = "ContainerGridIds", default)]
pub container_grid_ids: crate::compat::VarMap<u64,Vec<i64>>,
#[proto(tag = 133)]
#[serde(rename = "WorldBoundaries", default)]
pub world_boundaries: crate::compat::Nullable<crate::math::SerializableBoundingBoxD>,
#[proto(tag = 136)]
#[serde(rename = "SessionComponents", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub session_components: Vec<MyObjectBuilder_SessionComponent>,
#[proto(tag = 139)]
#[serde(rename = "GameDefinition")]
pub game_definition: SerializableDefinitionId,
#[proto(tag = 142)]
#[serde(rename = "SessionComponentEnabled", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub session_component_enabled: Vec<String>,
#[proto(tag = 145)]
#[serde(rename = "SessionComponentDisabled", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub session_component_disabled: Vec<String>,
#[proto(tag = 148)]
#[serde(rename = "InGameTime", default)]
pub in_game_time: crate::compat::DateTime,
#[proto(skip)]
#[serde(rename = "CustomLoadingScreenImage", default)]
pub custom_loading_screen_image: String,
#[proto(skip)]
#[serde(rename = "CustomLoadingScreenText", default)]
pub custom_loading_screen_text: String,
#[proto(tag = 160)]
#[serde(rename = "CustomSkybox", default)]
pub custom_skybox: String,
#[proto(tag = 163)]
#[serde_inline_default(9)]
#[serde(rename = "RequiresDX")]
pub requires_d_x: i32,
#[proto(tag = 166)]
#[serde(rename = "VicinityModelsCache", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub vicinity_models_cache: Vec<String>,
#[proto(tag = 169)]
#[serde(rename = "VicinityArmorModelsCache", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub vicinity_armor_models_cache: Vec<String>,
#[proto(tag = 172)]
#[serde(rename = "VicinityVoxelCache", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub vicinity_voxel_cache: Vec<String>,
#[proto(tag = 179)]
#[serde(rename = "WorldId", default)]
pub world_id: crate::compat::Guid,
#[proto(tag = 175)]
#[serde(rename = "ConnectedPlayers", default)]
pub connected_players: crate::compat::VarMap<MyObjectBuilder_Checkpoint_PlayerId,MyObjectBuilder_Player>,
#[proto(tag = 178)]
#[serde(rename = "DisconnectedPlayers", default)]
pub disconnected_players: crate::compat::VarMap<MyObjectBuilder_Checkpoint_PlayerId,i64>,
#[proto(skip)]
#[serde(rename = "AllPlayers", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub all_players: Vec<MyObjectBuilder_Checkpoint_PlayerItem>,
#[proto(tag = 181)]
#[serde(rename = "RemoteAdminSettings", default)]
pub remote_admin_settings: crate::compat::VarMap<u64,i32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyGlobalEventTypeEnum")]
pub enum MyGlobalEventTypeEnum {
#[default]
InvalidEventType,
SpawnNeutralShip,
MeteorShower,
MeteorWave,
SpawnCargoShip,
April2014,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_GlobalEventBase")]
pub struct MyObjectBuilder_GlobalEventBase {
#[proto(tag = 1)]
#[serde(rename = "DefinitionId", default)]
pub definition_id: crate::compat::Nullable<SerializableDefinitionId>,
#[proto(tag = 4)]
#[serde(rename = "Enabled", default)]
pub enabled: bool,
#[proto(tag = 7)]
#[serde(rename = "ActivationTimeMs", default)]
pub activation_time_ms: i64,
#[proto(tag = 10)]
#[serde(rename = "EventType", default)]
pub event_type: MyGlobalEventTypeEnum,
#[proto(tag = 13)]
#[serde(rename = "TargetIdentity", default)]
pub target_identity: i64,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_GlobalEvents")]
pub struct MyObjectBuilder_GlobalEvents {
#[proto(tag = 1)]
#[serde(rename = "Events", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub events: Vec<MyObjectBuilder_GlobalEventBase>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyEncounterId")]
pub struct MyEncounterId {
#[proto(tag = 1)]
#[serde(rename = "BoundingBox")]
pub bounding_box: crate::math::BoundingBoxD,
#[proto(tag = 4)]
#[serde(rename = "Seed", default)]
pub seed: crate::compat::BitAligned<i32>,
#[proto(tag = 7)]
#[serde(rename = "EncounterId", default)]
pub encounter_id: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Encounters")]
pub struct MyObjectBuilder_Encounters {
#[proto(tag = 10)]
#[serde(rename = "SavedEncounters", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub saved_encounters: Vec<MyEncounterId>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_EnvironmentSettings")]
pub struct MyObjectBuilder_EnvironmentSettings {
#[proto(tag = 1)]
#[serde(rename = "SunAzimuth", default)]
pub sun_azimuth: f32,
#[proto(tag = 4)]
#[serde(rename = "SunElevation", default)]
pub sun_elevation: f32,
#[proto(tag = 7)]
#[serde(rename = "SunIntensity", default)]
pub sun_intensity: f32,
#[proto(tag = 10)]
#[serde(rename = "FogMultiplier", default)]
pub fog_multiplier: f32,
#[proto(tag = 13)]
#[serde(rename = "FogDensity", default)]
pub fog_density: f32,
#[proto(tag = 16)]
#[serde(rename = "FogColor")]
pub fog_color: crate::math::SerializableVector3F,
#[proto(tag = 19)]
#[serde(rename = "EnvironmentDefinition")]
pub environment_definition: SerializableDefinitionId,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyPersistentEntityFlags2")]
pub enum MyPersistentEntityFlags2 {
Enabled = 2,
CastShadows = 4,
InScene = 16,
}
impl MyPersistentEntityFlags2 {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_ComponentBase")]
pub struct MyObjectBuilder_ComponentBase {
#[proto(tag = 1)]
#[serde(rename = "RemoveExistingComponentOnNewInsert", default)]
pub remove_existing_component_on_new_insert: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ComponentData")]
pub struct MyObjectBuilder_ComponentContainer_ComponentData {
#[proto(tag = 1)]
#[serde(rename = "TypeId", default)]
pub type_id: crate::compat::VarString,
#[proto(tag = 4)]
#[serde(rename = "Component", default)]
pub component: MyObjectBuilder_ComponentBase,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_ComponentContainer")]
pub struct MyObjectBuilder_ComponentContainer {
#[proto(tag = 7)]
#[serde(rename = "Components", default)]
pub components: crate::compat::VarVec<MyObjectBuilder_ComponentContainer_ComponentData>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_EntityBase")]
pub struct MyObjectBuilder_EntityBase {
#[proto(tag = 1)]
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "PersistentFlags")]
pub persistent_flags: crate::compat::BitField<MyPersistentEntityFlags2>,
#[proto(tag = 7)]
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[proto(tag = 10)]
#[serde(rename = "PositionAndOrientation", default)]
pub position_and_orientation: crate::compat::Nullable<MyPositionAndOrientation>,
#[proto(tag = 11)]
#[serde(rename = "LocalPositionAndOrientation", default)]
pub local_position_and_orientation: crate::compat::Nullable<MyPositionAndOrientation>,
#[proto(tag = 13)]
#[serde(rename = "ComponentContainer", default)]
pub component_container: MyObjectBuilder_ComponentContainer,
#[proto(skip)]
#[serde(rename = "EntityDefinitionId", default)]
pub entity_definition_id: crate::compat::Nullable<SerializableDefinitionId>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Sector")]
pub struct MyObjectBuilder_Sector {
#[proto(tag = 1)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3I,
#[proto(tag = 7)]
#[serde(rename = "SectorEvents", default)]
pub sector_events: MyObjectBuilder_GlobalEvents,
#[proto(tag = 10)]
#[serde(rename = "AppVersion", default)]
pub app_version: i32,
#[proto(tag = 13)]
#[serde(rename = "Encounters", default)]
pub encounters: MyObjectBuilder_Encounters,
#[proto(tag = 16)]
#[serde(rename = "Environment", default)]
pub environment: MyObjectBuilder_EnvironmentSettings,
#[proto(tag = 19)]
#[serde(rename = "VoxelHandVolumeChanged", default)]
pub voxel_hand_volume_changed: u64,
#[proto(tag = 4)]
#[serde(rename = "SectorObjects", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub sector_objects: Vec<MyObjectBuilder_EntityBase>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "Vector3S")]
pub struct Vector3S {
#[proto(tag = 1)]
#[serde(rename = "X", default)]
pub X: i32,
#[proto(tag = 4)]
#[serde(rename = "Y", default)]
pub Y: i32,
#[proto(tag = 7)]
#[serde(rename = "Z", default)]
pub Z: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "Vector3B")]
pub struct Vector3B {
#[proto(tag = 1)]
#[serde(rename = "X", default)]
pub X: crate::compat::BitAligned<u32>,
#[proto(tag = 4)]
#[serde(rename = "Y", default)]
pub Y: crate::compat::BitAligned<u32>,
#[proto(tag = 7)]
#[serde(rename = "Z", default)]
pub Z: crate::compat::BitAligned<u32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "SavedSector")]
pub struct MyObjectBuilder_Planet_SavedSector {
#[proto(tag = 1)]
#[serde(rename = "IdPos")]
pub id_pos: Vector3S,
#[proto(tag = 4)]
#[serde(rename = "IdDir")]
pub id_dir: Vector3B,
#[proto(tag = 7)]
#[serde(rename = "RemovedItems", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub removed_items: Vec<i32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyAtmosphereSettings")]
pub struct MyAtmosphereSettings {
#[proto(tag = 1)]
#[serde(rename = "RayleighScattering")]
pub rayleigh_scattering: crate::math::Vector3F,
#[proto(tag = 4)]
#[serde(rename = "MieScattering", default)]
pub mie_scattering: f32,
#[proto(tag = 7)]
#[serde(rename = "MieColorScattering")]
pub mie_color_scattering: crate::math::Vector3F,
#[proto(tag = 10)]
#[serde(rename = "RayleighHeight", default)]
pub rayleigh_height: f32,
#[proto(tag = 13)]
#[serde(rename = "RayleighHeightSpace", default)]
pub rayleigh_height_space: f32,
#[proto(tag = 16)]
#[serde(rename = "RayleighTransitionModifier", default)]
pub rayleigh_transition_modifier: f32,
#[proto(tag = 19)]
#[serde(rename = "MieHeight", default)]
pub mie_height: f32,
#[proto(tag = 22)]
#[serde(rename = "MieG", default)]
pub mie_g: f32,
#[proto(tag = 25)]
#[serde(rename = "Intensity", default)]
pub intensity: f32,
#[proto(tag = 28)]
#[serde(rename = "FogIntensity", default)]
pub fog_intensity: f32,
#[proto(tag = 31)]
#[serde(rename = "SeaLevelModifier", default)]
pub sea_level_modifier: f32,
#[proto(tag = 34)]
#[serde(rename = "AtmosphereTopModifier", default)]
pub atmosphere_top_modifier: f32,
#[proto(tag = 37)]
#[serde(rename = "Scale", default)]
pub scale: f32,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Planet")]
pub struct MyObjectBuilder_Planet {
#[proto(tag = 10)]
#[serde(rename = "Radius", default)]
pub radius: f32,
#[proto(tag = 13)]
#[serde(rename = "HasAtmosphere", default)]
pub has_atmosphere: bool,
#[proto(tag = 16)]
#[serde(rename = "AtmosphereRadius", default)]
pub atmosphere_radius: f32,
#[proto(tag = 19)]
#[serde(rename = "MinimumSurfaceRadius", default)]
pub minimum_surface_radius: f32,
#[proto(tag = 22)]
#[serde(rename = "MaximumHillRadius", default)]
pub maximum_hill_radius: f32,
#[proto(tag = 25)]
#[serde(rename = "AtmosphereWavelengths")]
pub atmosphere_wavelengths: crate::math::Vector3F,
#[proto(tag = 28)]
#[serde(rename = "SavedEnviromentSectors", default)]
#[serde(serialize_with = "xml_array_item::Sector::serialize",
deserialize_with = "xml_array_item::Sector::deserialize")]
pub saved_enviroment_sectors: Vec<MyObjectBuilder_Planet_SavedSector>,
#[proto(tag = 31)]
#[serde(rename = "GravityFalloff", default)]
pub gravity_falloff: f32,
#[proto(tag = 34)]
#[serde(rename = "MarkAreaEmpty", default)]
pub mark_area_empty: bool,
#[proto(tag = 37)]
#[serde(rename = "AtmosphereSettings", default)]
pub atmosphere_settings: crate::compat::Nullable<MyAtmosphereSettings>,
#[proto(tag = 40)]
#[serde_inline_default(1f32)]
#[serde(rename = "SurfaceGravity")]
pub surface_gravity: f32,
#[proto(tag = 43)]
#[serde(rename = "SpawnsFlora", default)]
pub spawns_flora: bool,
#[proto(tag = 46)]
#[serde(rename = "ShowGPS", default)]
pub show_gp_s: bool,
#[proto(tag = 49)]
#[serde(rename = "SpherizeWithDistance", default)]
pub spherize_with_distance: bool,
#[proto(tag = 52)]
#[serde(rename = "PlanetGenerator", default)]
pub planet_generator: String,
#[proto(tag = 55)]
#[serde(rename = "Seed", default)]
pub seed: i32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_World")]
pub struct MyObjectBuilder_World {
#[proto(tag = 1)]
#[serde(rename = "Checkpoint", default)]
pub checkpoint: MyObjectBuilder_Checkpoint,
#[proto(tag = 4)]
#[serde(rename = "Sector", default)]
pub sector: MyObjectBuilder_Sector,
#[proto(tag = 7)]
#[serde(rename = "VoxelMaps", default)]
pub voxel_maps: crate::compat::VarMap<String,Vec<i32>>,
#[proto(skip)]
#[serde(rename = "Clusters", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub clusters: Vec<crate::math::BoundingBoxD>,
#[proto(skip)]
#[serde(rename = "Planets", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub planets: Vec<MyObjectBuilder_Planet>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyFixedPoint")]
pub struct MyFixedPoint {
#[proto(tag = 1)]
#[serde(rename = "RawValue", default)]
pub raw_value: crate::compat::BitAligned<i64>,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyItemFlags")]
pub enum MyItemFlags {
Damaged = 2,
}
impl MyItemFlags {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Base")]
pub struct MyObjectBuilder_Base {
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BitReaderWriter")]
pub struct BitReaderWriter {
#[serde(rename = "IsReading", default)]
pub is_reading: crate::compat::BitBool,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_AutopilotWaypoint")]
pub struct MyObjectBuilder_AutopilotWaypoint {
#[proto(tag = 1)]
#[serde(rename = "Coords")]
pub coords: crate::math::Vector3D,
#[proto(tag = 4)]
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[proto(tag = 7)]
#[serde(rename = "Actions", default)]
pub actions: crate::compat::VarVec<MyObjectBuilder_ToolbarItem>,
#[proto(tag = 10)]
#[serde(rename = "Indexes", default)]
pub indexes: crate::compat::VarVec<crate::compat::BitAligned<i32>>,
#[proto(tag = 14)]
#[serde(rename = "Draw", default)]
pub draw: crate::compat::BitBool,
#[proto(tag = 18)]
#[serde(rename = "ForceRotation", default)]
pub force_rotation: crate::compat::BitBool,
#[proto(tag = 25)]
#[serde(rename = "RelatedEntityId", default)]
pub related_entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 29)]
#[serde(rename = "Matrix")]
pub matrix: MyPositionAndOrientation,
#[proto(tag = 30)]
#[serde(rename = "RelatedMatrixCurrent", default)]
pub related_matrix_current: crate::compat::Nullable<MyPositionAndOrientation>,
#[proto(tag = 31)]
#[serde(rename = "RelatedEntityMatrix")]
pub related_entity_matrix: MyPositionAndOrientation,
#[proto(tag = 34)]
#[serde(rename = "RelatedEntityWorldOffset")]
pub related_entity_world_offset: crate::math::Vector3D,
#[proto(tag = 37)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "StoppingTimeMultiplier")]
pub stopping_time_multiplier: crate::compat::BitAligned<f32>,
#[proto(tag = 40)]
#[serde(rename = "AdaptiveRotationSpeed", default)]
pub adaptive_rotation_speed: crate::compat::BitBool,
#[proto(tag = 43)]
#[serde(rename = "AreaUp")]
pub area_up: crate::math::Vector3D,
#[proto(tag = 46)]
#[serde(rename = "SerializeForCopy", default)]
pub serialize_for_copy: crate::compat::BitBool,
#[proto(tag = 49)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "DistancePrecisionMultiplier")]
pub distance_precision_multiplier: crate::compat::BitAligned<f32>,
#[proto(tag = 52)]
#[serde(rename = "IsCorrectRotationNeeded", default)]
pub is_correct_rotation_needed: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_AutopilotClipboard")]
pub struct MyObjectBuilder_AutopilotClipboard {
#[proto(tag = 1)]
#[serde(rename = "RemoteEntityId", default)]
pub remote_entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "FlightMode", default)]
pub flight_mode: crate::compat::BitAligned<i32>,
#[proto(tag = 7)]
#[serde(rename = "indexes", default)]
pub indexes: crate::compat::VarVec<crate::compat::BitAligned<i32>>,
#[proto(tag = 10)]
#[serde(rename = "Waypoints", default)]
pub waypoints: crate::compat::VarVec<MyObjectBuilder_AutopilotWaypoint>,
#[proto(tag = 13)]
#[serde(rename = "Direction", default)]
pub direction: crate::compat::BitAligned<i32>,
#[proto(tag = 16)]
#[serde(rename = "DockingModeEnabled", default)]
pub docking_mode_enabled: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 5)]
#[serde(rename = "TypeCode")]
pub enum TypeCode {
#[default]
#[deku(id = "0")]
Empty,
#[deku(id = "1")]
Object,
#[deku(id = "2")]
DBNull,
#[deku(id = "3")]
Boolean,
#[deku(id = "4")]
Char,
#[deku(id = "5")]
SByte,
#[deku(id = "6")]
Byte,
#[deku(id = "7")]
Int16,
#[deku(id = "8")]
UInt16,
#[deku(id = "9")]
Int32,
#[deku(id = "10")]
UInt32,
#[deku(id = "11")]
Int64,
#[deku(id = "12")]
UInt64,
#[deku(id = "13")]
Single,
#[deku(id = "14")]
Double,
#[deku(id = "15")]
Decimal,
#[deku(id = "16")]
DateTime,
#[deku(id = "18")]
String,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_ToolbarItemActionParameter")]
pub struct MyObjectBuilder_ToolbarItemActionParameter {
#[proto(tag = 1)]
#[serde(rename = "TypeCode", default)]
pub type_code: TypeCode,
#[proto(tag = 4)]
#[serde(rename = "Value", default)]
pub value: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ToolbarItem")]
pub struct ToolbarItem {
#[proto(tag = 1)]
#[serde(rename = "EntityID", default)]
pub entity_i_d: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "GroupName", default)]
pub group_name: crate::compat::VarString,
#[proto(tag = 7)]
#[serde(rename = "Action", default)]
pub action: crate::compat::VarString,
#[proto(tag = 10)]
#[serde(rename = "Parameters", default)]
pub parameters: crate::compat::VarVec<MyObjectBuilder_ToolbarItemActionParameter>,
#[proto(tag = 13)]
#[serde(rename = "CustomIconTitle", default)]
pub custom_icon_title: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "GunId", default)]
pub gun_id: crate::compat::Nullable<SerializableDefinitionId>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 3)]
#[serde(rename = "SpriteType")]
pub enum SpriteType {
#[default]
#[deku(id = "0")]
TEXTURE,
#[deku(id = "2")]
TEXT,
#[deku(id = "4")]
CLIP_RECT,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 2)]
#[serde(rename = "TextAlignment")]
pub enum TextAlignment {
#[default]
#[deku(id = "0")]
LEFT,
#[deku(id = "1")]
RIGHT,
#[deku(id = "2")]
CENTER,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MySerializableSprite")]
pub struct MySerializableSprite {
#[proto(tag = 1)]
#[serde_inline_default(SpriteType::TEXTURE)]
#[serde(rename = "Type")]
pub r#type: SpriteType,
#[proto(tag = 4)]
#[serde(rename = "Position", default)]
pub position: crate::compat::Nullable<crate::math::SerializableVector2F>,
#[proto(tag = 7)]
#[serde(rename = "Size", default)]
pub size: crate::compat::Nullable<crate::math::SerializableVector2F>,
#[proto(tag = 10)]
#[serde(rename = "Color", default)]
pub color: crate::compat::Nullable<crate::compat::BitAligned<u32>>,
#[proto(tag = 13)]
#[serde(rename = "Data", default)]
pub data: crate::compat::VarString,
#[proto(tag = 16)]
#[serde(rename = "FontId", default)]
pub font_id: crate::compat::VarString,
#[proto(tag = 19)]
#[serde_inline_default(TextAlignment::CENTER)]
#[serde(rename = "Alignment")]
pub alignment: TextAlignment,
#[proto(tag = 22)]
#[serde(rename = "RotationOrScale", default)]
pub rotation_or_scale: crate::compat::BitAligned<f32>,
#[proto(tag = 25)]
#[serde(rename = "Index", default)]
pub index: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MySerializableSpriteCollection")]
pub struct MySerializableSpriteCollection {
#[proto(tag = 1)]
#[serde(rename = "Sprites", default)]
pub sprites: crate::compat::VarVec<MySerializableSprite>,
#[proto(tag = 4)]
#[serde(rename = "Length", default)]
pub length: crate::compat::BitAligned<i32>,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "UseActionEnum")]
pub enum UseActionEnum {
Manipulate = 1,
OpenTerminal = 2,
OpenInventory = 4,
UseFinished = 8,
Close = 16,
PickUp = 32,
BuildPlanner = 64,
Deposit = 128,
Harvest = 256,
Plant = 512,
}
impl UseActionEnum {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "UseActionResult")]
pub enum UseActionResult {
#[default]
#[deku(id = "0")]
OK,
#[deku(id = "1")]
UsedBySomeoneElse,
#[deku(id = "2")]
AccessDenied,
#[deku(id = "3")]
Closed,
#[deku(id = "4")]
Unpowered,
#[deku(id = "5")]
CockpitDamaged,
#[deku(id = "6")]
MissingDLC,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Eq, Hash, PartialOrd, Ord)]
#[serde(rename = "MyStringHash")]
pub struct MyStringHash {
#[proto(tag = 1)]
#[serde(rename = "m_hash", default)]
pub m_hash: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyStatChangeInfo")]
pub struct MyStatSyncData_MyStatChangeInfo {
#[serde(rename = "DamageType")]
pub damage_type: MyStringHash,
#[serde(rename = "DamageSound", default)]
pub damage_sound: crate::compat::VarString,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyStatSyncData")]
pub struct MyEntityStat_MyStatSyncData {
#[serde(rename = "StatId")]
pub stat_id: MyStringHash,
#[serde(rename = "Amount", default)]
pub amount: crate::compat::BitAligned<f32>,
#[serde(rename = "RegenLeft", default)]
pub regen_left: crate::compat::BitAligned<f32>,
#[serde(rename = "ChangeInfo")]
pub change_info: MyStatSyncData_MyStatChangeInfo,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyStatAction")]
pub struct MyStatLogic_MyStatAction {
#[proto(tag = 1)]
#[serde(rename = "StatId")]
pub stat_id: MyStringHash,
#[proto(tag = 4)]
#[serde(rename = "Cost", default)]
pub cost: crate::compat::BitAligned<f32>,
#[proto(tag = 7)]
#[serde(rename = "AmountToActivate", default)]
pub amount_to_activate: crate::compat::BitAligned<f32>,
#[proto(tag = 10)]
#[serde(rename = "CanPerformWithout", default)]
pub can_perform_without: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 2)]
#[serde(rename = "MyShootActionEnum")]
pub enum MyShootActionEnum {
#[default]
#[deku(id = "0")]
PrimaryAction,
#[deku(id = "1")]
SecondaryAction,
#[deku(id = "2")]
TertiaryAction,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Missile")]
pub struct MyObjectBuilder_Missile {
#[proto(tag = 1)]
#[serde(rename = "WeaponDefinitionId")]
pub weapon_definition_id: SerializableDefinitionId,
#[proto(tag = 4)]
#[serde(rename = "AmmoMagazineId")]
pub ammo_magazine_id: SerializableDefinitionId,
#[proto(tag = 7)]
#[serde(rename = "LinearVelocity")]
pub linear_velocity: crate::math::Vector3F,
#[proto(tag = 10)]
#[serde(rename = "Owner", default)]
pub owner: crate::compat::BitAligned<i64>,
#[proto(tag = 13)]
#[serde(rename = "OriginEntity", default)]
pub origin_entity: crate::compat::BitAligned<i64>,
#[proto(tag = 16)]
#[serde(rename = "LauncherId", default)]
pub launcher_id: crate::compat::BitAligned<i64>,
#[proto(tag = 19)]
#[serde(rename = "HealthPool", default)]
pub health_pool: crate::compat::BitAligned<f32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "TargetFocusResult")]
pub enum TargetFocusResult {
#[default]
#[deku(id = "0")]
Ok,
#[deku(id = "1")]
IsNotInLoS,
#[deku(id = "2")]
IsOutOfRange,
#[deku(id = "3")]
Other,
#[deku(id = "4")]
Filter,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_AutopilotBase")]
pub struct MyObjectBuilder_AutopilotBase {}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "Matrix")]
pub struct Matrix {
#[proto(tag = 1)]
#[serde(rename = "M11", default)]
pub M11: crate::compat::BitAligned<f32>,
#[proto(tag = 4)]
#[serde(rename = "M12", default)]
pub M12: crate::compat::BitAligned<f32>,
#[proto(tag = 7)]
#[serde(rename = "M13", default)]
pub M13: crate::compat::BitAligned<f32>,
#[proto(tag = 10)]
#[serde(rename = "M14", default)]
pub M14: crate::compat::BitAligned<f32>,
#[proto(tag = 13)]
#[serde(rename = "M21", default)]
pub M21: crate::compat::BitAligned<f32>,
#[proto(tag = 16)]
#[serde(rename = "M22", default)]
pub M22: crate::compat::BitAligned<f32>,
#[proto(tag = 19)]
#[serde(rename = "M23", default)]
pub M23: crate::compat::BitAligned<f32>,
#[proto(tag = 22)]
#[serde(rename = "M24", default)]
pub M24: crate::compat::BitAligned<f32>,
#[proto(tag = 25)]
#[serde(rename = "M31", default)]
pub M31: crate::compat::BitAligned<f32>,
#[proto(tag = 28)]
#[serde(rename = "M32", default)]
pub M32: crate::compat::BitAligned<f32>,
#[proto(tag = 31)]
#[serde(rename = "M33", default)]
pub M33: crate::compat::BitAligned<f32>,
#[proto(tag = 34)]
#[serde(rename = "M34", default)]
pub M34: crate::compat::BitAligned<f32>,
#[proto(tag = 37)]
#[serde(rename = "M41", default)]
pub M41: crate::compat::BitAligned<f32>,
#[proto(tag = 40)]
#[serde(rename = "M42", default)]
pub M42: crate::compat::BitAligned<f32>,
#[proto(tag = 43)]
#[serde(rename = "M43", default)]
pub M43: crate::compat::BitAligned<f32>,
#[proto(tag = 46)]
#[serde(rename = "M44", default)]
pub M44: crate::compat::BitAligned<f32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 1)]
#[serde(rename = "MyConveyorSorterMode")]
pub enum MyConveyorSorterMode {
#[default]
#[deku(id = "0")]
Whitelist,
#[deku(id = "1")]
Blacklist,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "Group")]
pub struct MyDisconnectHelper_Group {
#[serde(rename = "FirstBlockIndex", default)]
pub first_block_index: crate::compat::BitAligned<i32>,
#[serde(rename = "BlockCount", default)]
pub block_count: crate::compat::BitAligned<i32>,
#[serde(rename = "IsValid", default)]
pub is_valid: crate::compat::BitBool,
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BlockPositionId")]
pub struct MyCubeGrid_BlockPositionId {
#[proto(tag = 22)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3I,
#[proto(tag = 25)]
#[serde(rename = "CompoundId", default)]
pub compound_id: crate::compat::BitAligned<u32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyBlockVisuals")]
pub struct MyCubeGrid_MyBlockVisuals {
#[proto(tag = 28)]
#[serde(rename = "ColorMaskHSV", default)]
pub color_mask_hs_v: crate::compat::BitAligned<u32>,
#[proto(tag = 31)]
#[serde(rename = "SkinId")]
pub skin_id: MyStringHash,
#[proto(tag = 33)]
#[serde(rename = "ApplyColor", default)]
pub apply_color: crate::compat::BitBool,
#[proto(tag = 35)]
#[serde(rename = "ApplySkin", default)]
pub apply_skin: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyBlockOrientation")]
pub struct MyBlockOrientation {
#[proto(tag = 1)]
#[serde(rename = "Forward", default)]
pub forward: crate::compat::direction::Direction,
#[proto(tag = 4)]
#[serde(rename = "Up", default)]
pub up: crate::compat::direction::Direction,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyRuntimeObjectBuilderId")]
pub struct MyRuntimeObjectBuilderId {
#[proto(tag = 1)]
#[serde(rename = "Value", default)]
pub value: u32,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "DefinitionIdBlit")]
pub struct DefinitionIdBlit {
#[proto(skip)]
#[serde(rename = "TypeId")]
#[deku(skip)]
pub type_id: MyRuntimeObjectBuilderId,
#[proto(tag = 4)]
#[serde(rename = "SubtypeId")]
pub subtype_id: MyStringHash,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyBlockLocation")]
pub struct MyCubeGrid_MyBlockLocation {
#[proto(tag = 1)]
#[serde(rename = "Min")]
pub min: crate::math::Vector3I,
#[proto(tag = 4)]
#[serde(rename = "Max")]
pub max: crate::math::Vector3I,
#[proto(tag = 7)]
#[serde(rename = "CenterPos")]
pub center_pos: crate::math::Vector3I,
#[proto(tag = 10)]
#[serde(rename = "Orientation")]
pub orientation: MyBlockOrientation,
#[proto(tag = 13)]
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 16)]
#[serde(rename = "BlockDefinition")]
pub block_definition: DefinitionIdBlit,
#[proto(tag = 19)]
#[serde(rename = "Owner", default)]
pub owner: crate::compat::BitAligned<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "SerializableBlockOrientation")]
pub struct SerializableBlockOrientation {
#[proto(tag = 1)]
#[serde(rename = "@Forward", default)]
pub forward: crate::compat::direction::Direction,
#[proto(tag = 4)]
#[serde(rename = "@Up", default)]
pub up: crate::compat::direction::Direction,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_PhysicalObject")]
pub struct MyObjectBuilder_PhysicalObject {
#[proto(tag = 1)]
#[serde(rename = "Flags", default)]
pub flags: crate::compat::BitField<MyItemFlags>,
#[proto(tag = 4)]
#[serde(rename = "DurabilityHP", default)]
pub durability_h_p: crate::compat::Nullable<crate::compat::BitAligned<f32>>,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_InventoryItem")]
pub struct MyObjectBuilder_InventoryItem {
#[proto(tag = 1)]
#[serde(rename = "Amount")]
pub amount: MyFixedPoint,
#[proto(tag = 4)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "Scale")]
pub scale: crate::compat::BitAligned<f32>,
#[proto(tag = 7)]
#[serde(rename = "Content", default)]
pub content: MyObjectBuilder_PhysicalObject,
#[proto(tag = 10)]
#[serde(rename = "PhysicalContent", default)]
pub physical_content: MyObjectBuilder_PhysicalObject,
#[proto(tag = 13)]
#[serde(rename = "ItemId", default)]
pub item_id: crate::compat::BitAligned<u32>,
#[proto(skip)]
#[serde(rename = "Obsolete_AmountDecimal")]
pub obsolete_amount_decimal: crate::compat::Decimal,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyInventoryFlags")]
pub enum MyInventoryFlags {
CanReceive = 1,
CanSend = 2,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyObjectBuilder_Inventory")]
pub struct MyObjectBuilder_Inventory {
#[proto(tag = 1)]
#[serde(rename = "Items", default, deserialize_with = "crate::compat::xml_vec::deserialize")]
pub items: Vec<MyObjectBuilder_InventoryItem>,
#[proto(tag = 4)]
#[serde(rename = "nextItemId", default)]
pub next_item_id: u32,
#[proto(tag = 7)]
#[serde(rename = "Volume", default)]
pub volume: crate::compat::Nullable<MyFixedPoint>,
#[proto(tag = 10)]
#[serde(rename = "Mass", default)]
pub mass: crate::compat::Nullable<MyFixedPoint>,
#[proto(tag = 13)]
#[serde(rename = "MaxItemCount", default)]
pub max_item_count: crate::compat::Nullable<i32>,
#[proto(tag = 16)]
#[serde(rename = "Size", default)]
pub size: crate::compat::Nullable<crate::math::SerializableVector3F>,
#[proto(tag = 19)]
#[serde(rename = "InventoryFlags", default)]
pub inventory_flags: crate::compat::Nullable<crate::compat::BitField<MyInventoryFlags>>,
#[proto(tag = 22)]
#[serde(rename = "RemoveEntityOnEmpty", default)]
pub remove_entity_on_empty: bool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_StockpileItem")]
pub struct MyObjectBuilder_StockpileItem {
#[proto(tag = 1)]
#[serde(rename = "Amount", default)]
pub amount: crate::compat::BitAligned<i32>,
#[proto(tag = 4)]
#[serde(rename = "PhysicalContent", default)]
pub physical_content: MyObjectBuilder_PhysicalObject,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_ConstructionStockpile")]
pub struct MyObjectBuilder_ConstructionStockpile {
#[proto(tag = 1)]
#[serde(rename = "Items", default)]
pub items: crate::compat::VarVec<MyObjectBuilder_StockpileItem>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "MyOwnershipShareModeEnum")]
pub enum MyOwnershipShareModeEnum {
#[default]
#[deku(id = "0")]
None,
#[deku(id = "1")]
Faction,
#[deku(id = "2")]
All,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MySubBlockId")]
pub struct MyObjectBuilder_CubeBlock_MySubBlockId {
#[proto(tag = 43)]
#[serde(rename = "SubGridId", default)]
pub sub_grid_id: crate::compat::BitAligned<i64>,
#[proto(tag = 46)]
#[serde(rename = "SubGridName", default)]
pub sub_grid_name: crate::compat::VarString,
#[proto(tag = 49)]
#[serde(rename = "SubBlockPosition")]
pub sub_block_position: crate::math::SerializableVector3I,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_CubeBlock")]
pub struct MyObjectBuilder_CubeBlock {
#[proto(tag = 1)]
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[proto(tag = 7)]
#[serde(rename = "Min")]
pub min: crate::math::SerializableVector3I,
#[proto(tag = 10)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "IntegrityPercent")]
pub integrity_percent: crate::compat::BitAligned<f32>,
#[proto(tag = 13)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "BuildPercent")]
pub build_percent: crate::compat::BitAligned<f32>,
#[proto(tag = 16)]
#[serde(rename = "BlockOrientation")]
pub block_orientation: SerializableBlockOrientation,
#[proto(skip)]
#[serde(rename = "ConstructionInventory", default)]
#[deku(skip)]
pub construction_inventory: MyObjectBuilder_Inventory,
#[proto(tag = 22)]
#[serde(rename = "ColorMaskHSV")]
pub color_mask_hs_v: crate::math::SerializableVector3F,
#[proto(tag = 25)]
#[serde(rename = "SkinSubtypeId", default)]
pub skin_subtype_id: crate::compat::VarString,
#[proto(tag = 28)]
#[serde(rename = "ConstructionStockpile", default)]
pub construction_stockpile: MyObjectBuilder_ConstructionStockpile,
#[proto(tag = 31)]
#[serde(rename = "Owner", default)]
pub owner: crate::compat::BitAligned<i64>,
#[proto(tag = 34)]
#[serde(rename = "BuiltBy", default)]
pub built_by: crate::compat::BitAligned<i64>,
#[proto(tag = 37)]
#[serde_inline_default(MyOwnershipShareModeEnum::None)]
#[serde(rename = "ShareMode")]
pub share_mode: MyOwnershipShareModeEnum,
#[proto(skip)]
#[serde(rename = "DeformationRatio", default)]
pub deformation_ratio: crate::compat::BitAligned<f32>,
#[proto(tag = 52)]
#[serde(rename = "SubBlocks", default)]
pub sub_blocks: crate::compat::VarVec<MyObjectBuilder_CubeBlock_MySubBlockId>,
#[proto(tag = 55)]
#[serde(rename = "MultiBlockId", default)]
pub multi_block_id: crate::compat::BitAligned<i32>,
#[proto(tag = 58)]
#[serde(rename = "MultiBlockDefinition", default)]
pub multi_block_definition: crate::compat::Nullable<SerializableDefinitionId>,
#[proto(tag = 61)]
#[serde_inline_default(crate::compat::BitAligned(-1))]
#[serde(rename = "MultiBlockIndex")]
pub multi_block_index: crate::compat::BitAligned<i32>,
#[proto(tag = 64)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "BlockGeneralDamageModifier")]
pub block_general_damage_modifier: crate::compat::BitAligned<f32>,
#[proto(tag = 67)]
#[serde(rename = "ComponentContainer", default)]
pub component_container: MyObjectBuilder_ComponentContainer,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "Vector3UByte")]
pub struct Vector3UByte {
#[proto(tag = 1)]
#[serde(rename = "X", default)]
pub X: crate::compat::BitAligned<i32>,
#[proto(tag = 4)]
#[serde(rename = "Y", default)]
pub Y: crate::compat::BitAligned<i32>,
#[proto(tag = 7)]
#[serde(rename = "Z", default)]
pub Z: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyBlockBuildArea")]
pub struct MyCubeGrid_MyBlockBuildArea {
#[serde(rename = "DefinitionId")]
pub definition_id: DefinitionIdBlit,
#[serde(rename = "ColorMaskHSV", default)]
pub color_mask_hs_v: crate::compat::BitAligned<u32>,
#[serde(rename = "PosInGrid")]
pub pos_in_grid: crate::math::Vector3I,
#[serde(rename = "BlockMin")]
pub block_min: Vector3B,
#[serde(rename = "BlockMax")]
pub block_max: Vector3B,
#[serde(rename = "BuildAreaSize")]
pub build_area_size: Vector3UByte,
#[serde(rename = "StepDelta")]
pub step_delta: Vector3B,
#[serde(rename = "OrientationForward", default)]
pub orientation_forward: crate::compat::direction::Direction,
#[serde(rename = "OrientationUp", default)]
pub orientation_up: crate::compat::direction::Direction,
#[serde(rename = "SkinId")]
pub skin_id: MyStringHash,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyIntegrityChangeEnum")]
pub enum MyIntegrityChangeEnum {
#[default]
#[deku(id = "0")]
Damage,
#[deku(id = "1")]
ConstructionBegin,
#[deku(id = "2")]
ConstructionEnd,
#[deku(id = "3")]
ConstructionProcess,
#[deku(id = "4")]
DeconstructionBegin,
#[deku(id = "5")]
DeconstructionEnd,
#[deku(id = "6")]
DeconstructionProcess,
#[deku(id = "7")]
Repair,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyStockpileItem")]
pub struct MyStockpileItem {
#[proto(tag = 1)]
#[serde(rename = "Amount", default)]
pub amount: crate::compat::BitAligned<i32>,
#[proto(tag = 4)]
#[serde(rename = "Content", default)]
pub content: MyObjectBuilder_PhysicalObject,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 1)]
#[serde(rename = "MyCubeSize")]
pub enum MyCubeSize {
#[default]
#[deku(id = "0")]
Large,
#[deku(id = "1")]
Small,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "SerializableVector3UByte")]
pub struct SerializableVector3UByte {
#[proto(skip)]
#[serde(rename = "X", default)]
pub X: crate::compat::BitAligned<i32>,
#[proto(skip)]
#[serde(rename = "Y", default)]
pub Y: crate::compat::BitAligned<i32>,
#[proto(skip)]
#[serde(rename = "Z", default)]
pub Z: crate::compat::BitAligned<i32>,
#[proto(skip)]
#[serde(rename = "@x", default)]
pub x: crate::compat::BitAligned<i32>,
#[proto(skip)]
#[serde(rename = "@y", default)]
pub y: crate::compat::BitAligned<i32>,
#[proto(skip)]
#[serde(rename = "@z", default)]
pub z: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BoneInfo")]
pub struct BoneInfo {
#[proto(tag = 1)]
#[serde(rename = "BonePosition")]
pub bone_position: crate::math::SerializableVector3I,
#[proto(tag = 2)]
#[serde(rename = "BoneOffset")]
pub bone_offset: SerializableVector3UByte,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_ConveyorPacket")]
pub struct MyObjectBuilder_ConveyorPacket {
#[proto(tag = 1)]
#[serde(rename = "Item", default)]
pub item: MyObjectBuilder_InventoryItem,
#[proto(tag = 4)]
#[serde(rename = "LinePosition", default)]
pub line_position: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "SerializableLineSectionInformation")]
pub struct SerializableLineSectionInformation {
#[proto(tag = 1)]
#[serde(rename = "@Direction", default)]
pub direction: crate::compat::direction::Direction,
#[proto(tag = 4)]
#[serde(rename = "@Length", default)]
pub length: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "LineType")]
pub enum MyObjectBuilder_ConveyorLine_LineType {
#[default]
#[deku(id = "0")]
DEFAULT_LINE,
#[deku(id = "1")]
SMALL_LINE,
#[deku(id = "2")]
LARGE_LINE,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "LineConductivity")]
pub enum MyObjectBuilder_ConveyorLine_LineConductivity {
#[default]
#[deku(id = "0")]
FULL,
#[deku(id = "1")]
FORWARD,
#[deku(id = "2")]
BACKWARD,
#[deku(id = "3")]
NONE,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_ConveyorLine")]
pub struct MyObjectBuilder_ConveyorLine {
#[proto(tag = 1)]
#[serde(rename = "StartPosition")]
pub start_position: crate::math::SerializableVector3I,
#[proto(tag = 4)]
#[serde(rename = "StartDirection", default)]
pub start_direction: crate::compat::direction::Direction,
#[proto(tag = 7)]
#[serde(rename = "EndPosition")]
pub end_position: crate::math::SerializableVector3I,
#[proto(tag = 10)]
#[serde(rename = "EndDirection", default)]
pub end_direction: crate::compat::direction::Direction,
#[proto(tag = 13)]
#[serde(rename = "PacketsForward", default)]
pub packets_forward: crate::compat::VarVec<MyObjectBuilder_ConveyorPacket>,
#[proto(tag = 16)]
#[serde(rename = "PacketsBackward", default)]
pub packets_backward: crate::compat::VarVec<MyObjectBuilder_ConveyorPacket>,
#[proto(tag = 19)]
#[serde(rename = "Sections", default)]
pub sections: crate::compat::VarVec<SerializableLineSectionInformation>,
#[proto(tag = 22)]
#[serde_inline_default(MyObjectBuilder_ConveyorLine_LineType::DEFAULT_LINE)]
#[serde(rename = "ConveyorLineType")]
pub conveyor_line_type: MyObjectBuilder_ConveyorLine_LineType,
#[proto(tag = 25)]
#[serde_inline_default(MyObjectBuilder_ConveyorLine_LineConductivity::FULL)]
#[serde(rename = "ConveyorLineConductivity")]
pub conveyor_line_conductivity: MyObjectBuilder_ConveyorLine_LineConductivity,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_BlockGroup")]
pub struct MyObjectBuilder_BlockGroup {
#[proto(tag = 1)]
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[proto(tag = 4)]
#[serde(rename = "Blocks", default)]
pub blocks: crate::compat::VarVec<crate::math::Vector3I>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "OxygenRoom")]
pub struct OxygenRoom {
#[proto(tag = 112)]
#[serde(rename = "StartingPosition")]
pub starting_position: crate::math::Vector3I,
#[proto(tag = 115)]
#[serde(rename = "@OxygenAmount", default)]
pub oxygen_amount: crate::compat::BitAligned<f32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 1)]
#[serde(rename = "MyUpdateTiersGridPresence")]
pub enum MyUpdateTiersGridPresence {
#[default]
#[deku(id = "0")]
Normal,
#[deku(id = "1")]
Tier1,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "MyUpdateTiersPlayerPresence")]
pub enum MyUpdateTiersPlayerPresence {
#[default]
#[deku(id = "0")]
Normal,
#[deku(id = "1")]
Tier1,
#[deku(id = "2")]
Tier2,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_CubeGrid")]
pub struct MyObjectBuilder_CubeGrid {
#[proto(tag = 1)]
#[serde(rename = "GridSizeEnum", default)]
pub grid_size_enum: MyCubeSize,
#[proto(tag = 4)]
#[serde(rename = "CubeBlocks", default)]
pub cube_blocks: crate::compat::VarVec<MyObjectBuilder_CubeBlock>,
#[proto(tag = 7)]
#[serde(rename = "IsStatic", default)]
pub is_static: crate::compat::BitBool,
#[proto(tag = 10)]
#[serde(rename = "IsUnsupportedStation", default)]
pub is_unsupported_station: crate::compat::BitBool,
#[proto(tag = 13)]
#[serde(rename = "Skeleton", default)]
pub skeleton: crate::compat::VarVec<BoneInfo>,
#[proto(tag = 16)]
#[serde(rename = "LinearVelocity")]
pub linear_velocity: crate::math::SerializableVector3F,
#[proto(tag = 19)]
#[serde(rename = "AngularVelocity")]
pub angular_velocity: crate::math::SerializableVector3F,
#[proto(tag = 22)]
#[serde(rename = "XMirroxPlane", default)]
pub x_mirrox_plane: crate::compat::Nullable<crate::math::SerializableVector3I>,
#[proto(tag = 25)]
#[serde(rename = "YMirroxPlane", default)]
pub y_mirrox_plane: crate::compat::Nullable<crate::math::SerializableVector3I>,
#[proto(tag = 28)]
#[serde(rename = "ZMirroxPlane", default)]
pub z_mirrox_plane: crate::compat::Nullable<crate::math::SerializableVector3I>,
#[proto(tag = 31)]
#[serde(rename = "XMirroxOdd", default)]
pub x_mirrox_odd: crate::compat::BitBool,
#[proto(tag = 34)]
#[serde(rename = "YMirroxOdd", default)]
pub y_mirrox_odd: crate::compat::BitBool,
#[proto(tag = 37)]
#[serde(rename = "ZMirroxOdd", default)]
pub z_mirrox_odd: crate::compat::BitBool,
#[proto(tag = 40)]
#[serde(rename = "DampenersEnabled", default)]
pub dampeners_enabled: crate::compat::BitBool,
#[proto(tag = 43)]
#[serde(rename = "UsePositionForSpawn", default)]
pub use_position_for_spawn: crate::compat::BitBool,
#[proto(tag = 46)]
#[serde_inline_default(crate::compat::BitAligned(0.3f32))]
#[serde(rename = "PlanetSpawnHeightRatio")]
pub planet_spawn_height_ratio: crate::compat::BitAligned<f32>,
#[proto(tag = 49)]
#[serde_inline_default(crate::compat::BitAligned(500f32))]
#[serde(rename = "SpawnRangeMin")]
pub spawn_range_min: crate::compat::BitAligned<f32>,
#[proto(tag = 52)]
#[serde_inline_default(crate::compat::BitAligned(650f32))]
#[serde(rename = "SpawnRangeMax")]
pub spawn_range_max: crate::compat::BitAligned<f32>,
#[proto(tag = 55)]
#[serde(rename = "ConveyorLines", default)]
pub conveyor_lines: crate::compat::VarVec<MyObjectBuilder_ConveyorLine>,
#[proto(tag = 58)]
#[serde(rename = "BlockGroups", default)]
pub block_groups: crate::compat::VarVec<MyObjectBuilder_BlockGroup>,
#[proto(tag = 61)]
#[serde(rename = "Handbrake", default)]
pub handbrake: crate::compat::BitBool,
#[proto(tag = 64)]
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
#[proto(tag = 67)]
#[serde(rename = "OxygenAmount", default)]
pub oxygen_amount: crate::compat::VarVec<crate::compat::BitAligned<f32>>,
#[proto(tag = 70)]
#[serde(rename = "DestructibleBlocks", default)]
pub destructible_blocks: crate::compat::BitBool,
#[proto(tag = 73)]
#[serde(rename = "JumpDriveDirection", default)]
pub jump_drive_direction: crate::compat::Nullable<crate::math::Vector3D>,
#[proto(tag = 76)]
#[serde(rename = "JumpRemainingTime", default)]
pub jump_remaining_time: crate::compat::Nullable<crate::compat::BitAligned<f32>>,
#[proto(tag = 79)]
#[serde(rename = "CreatePhysics", default)]
pub create_physics: crate::compat::BitBool,
#[proto(tag = 85)]
#[serde(rename = "IsRespawnGrid", default)]
pub is_respawn_grid: crate::compat::BitBool,
#[proto(tag = 88)]
#[serde_inline_default(crate::compat::BitAligned(-1))]
#[serde(rename = "playedTime")]
pub played_time: crate::compat::BitAligned<i32>,
#[proto(tag = 91)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "GridGeneralDamageModifier")]
pub grid_general_damage_modifier: crate::compat::BitAligned<f32>,
#[proto(tag = 94)]
#[serde(rename = "LocalCoordSys", default)]
pub local_coord_sys: crate::compat::BitAligned<i64>,
#[proto(tag = 97)]
#[serde(rename = "Editable", default)]
pub editable: crate::compat::BitBool,
#[proto(tag = 100)]
#[serde(rename = "TargetingTargets", default)]
pub targeting_targets: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 103)]
#[serde(rename = "TargetingWhitelist", default)]
pub targeting_whitelist: crate::compat::BitBool,
#[proto(tag = 106)]
#[serde(rename = "IsPowered", default)]
pub is_powered: crate::compat::BitBool,
#[proto(tag = 109)]
#[serde(rename = "OxygenRooms", default)]
pub oxygen_rooms: crate::compat::VarVec<OxygenRoom>,
#[proto(tag = 120)]
#[serde(rename = "Immune", default)]
pub immune: crate::compat::BitBool,
#[proto(tag = 123)]
#[serde_inline_default(MyUpdateTiersGridPresence::Normal)]
#[serde(rename = "GridPresenceTier")]
pub grid_presence_tier: MyUpdateTiersGridPresence,
#[proto(tag = 126)]
#[serde_inline_default(MyUpdateTiersPlayerPresence::Normal)]
#[serde(rename = "PlayerPresenceTier")]
pub player_presence_tier: MyUpdateTiersPlayerPresence,
#[proto(tag = 129)]
#[serde(rename = "IsNpcSpawnedGrid", default)]
pub is_npc_spawned_grid: crate::compat::BitBool,
#[proto(tag = 132)]
#[serde(rename = "NPCGridClaimElapsed", default)]
pub npc_grid_claim_elapsed: crate::compat::Nullable<crate::compat::BitAligned<i32>>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MatrixI")]
pub struct MatrixI {
#[serde(rename = "Right", default)]
pub right: crate::compat::direction::Direction,
#[serde(rename = "Up", default)]
pub up: crate::compat::direction::Direction,
#[serde(rename = "Backward", default)]
pub backward: crate::compat::direction::Direction,
#[serde(rename = "Translation")]
pub translation: crate::math::Vector3I,
#[serde(rename = "Left", default)]
pub left: crate::compat::direction::Direction,
#[serde(rename = "Down", default)]
pub down: crate::compat::direction::Direction,
#[serde(rename = "Forward", default)]
pub forward: crate::compat::direction::Direction,
#[serde(rename = "RightVector")]
pub right_vector: crate::math::Vector3I,
#[serde(rename = "LeftVector")]
pub left_vector: crate::math::Vector3I,
#[serde(rename = "UpVector")]
pub up_vector: crate::math::Vector3I,
#[serde(rename = "DownVector")]
pub down_vector: crate::math::Vector3I,
#[serde(rename = "BackwardVector")]
pub backward_vector: crate::math::Vector3I,
#[serde(rename = "ForwardVector")]
pub forward_vector: crate::math::Vector3I,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 2)]
#[serde(rename = "MyMultipleEnabledEnum")]
pub enum MyMultipleEnabledEnum {
#[default]
#[deku(id = "0")]
NoObjects,
#[deku(id = "1")]
AllDisabled,
#[deku(id = "2")]
Mixed,
#[deku(id = "3")]
AllEnabled,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyTestDynamicReason")]
pub enum MyCubeGrid_MyTestDynamicReason {
#[default]
#[deku(id = "0")]
NoReason,
#[deku(id = "1")]
GridCopied,
#[deku(id = "2")]
GridSplit,
#[deku(id = "3")]
GridSplitByBlock,
#[deku(id = "4")]
ConvertToShip,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "HandbrakeToggleResult")]
pub enum MyCubeGrid_HandbrakeToggleResult {
#[default]
#[deku(id = "1")]
RELEASED,
#[deku(id = "2")]
ENGAGED_SUCCESSFULLY,
#[deku(id = "3")]
FAILED_TO_ENGAGE,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyHudIndicatorFlagsEnum")]
pub enum MyHudIndicatorFlagsEnum {
SHOW_TEXT = 1,
SHOW_BORDER_INDICATORS = 2,
SHOW_DISTANCE = 16,
ALPHA_CORRECTION_BY_DISTANCE = 32,
SHOW_ICON = 1024,
SHOW_FOCUS_MARK = 2048,
}
impl MyHudIndicatorFlagsEnum {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
pub const SHOW_ALL: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::ALL;
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_HudEntityParams")]
pub struct MyObjectBuilder_HudEntityParams {
#[proto(tag = 1)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[proto(tag = 2)]
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 3)]
#[serde(rename = "Text", default)]
pub text: crate::compat::VarString,
#[proto(tag = 4)]
#[serde(rename = "FlagsEnum")]
pub flags_enum: crate::compat::BitField<MyHudIndicatorFlagsEnum>,
#[proto(tag = 5)]
#[serde(rename = "Owner", default)]
pub owner: crate::compat::BitAligned<i64>,
#[proto(tag = 6)]
#[serde(rename = "Share", default)]
pub share: MyOwnershipShareModeEnum,
#[proto(tag = 7)]
#[serde(rename = "BlinkingTime", default)]
pub blinking_time: crate::compat::BitAligned<f32>,
#[proto(tag = 9)]
#[serde(rename = "Waypoints", default)]
pub waypoints: crate::compat::VarVec<MyPositionAndOrientation>,
#[proto(tag = 11)]
#[serde(rename = "ForceShow", default)]
pub force_show: crate::compat::BitBool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyCapsuleShapeParams")]
pub struct MyVoxelBase_MyCapsuleShapeParams {
#[serde(rename = "A")]
pub A: crate::math::Vector3D,
#[serde(rename = "B")]
pub B: crate::math::Vector3D,
#[serde(rename = "Radius", default)]
pub radius: crate::compat::BitAligned<f32>,
#[serde(rename = "Transformation")]
pub transformation: crate::math::MatrixD,
#[serde(rename = "Material", default)]
pub material: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 2)]
#[serde(rename = "OperationType")]
pub enum MyVoxelBase_OperationType {
#[default]
#[deku(id = "0")]
Fill,
#[deku(id = "1")]
Paint,
#[deku(id = "2")]
Cut,
#[deku(id = "3")]
Revert,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyRampShapeParams")]
pub struct MyVoxelBase_MyRampShapeParams {
#[serde(rename = "Box")]
pub r#box: crate::math::BoundingBoxD,
#[serde(rename = "RampNormal")]
pub ramp_normal: crate::math::Vector3D,
#[serde(rename = "RampNormalW", default)]
pub ramp_normal_w: crate::compat::BitAligned<f64>,
#[serde(rename = "Transformation")]
pub transformation: crate::math::MatrixD,
#[serde(rename = "Material", default)]
pub material: crate::compat::BitAligned<i32>,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyStorageDataTypeFlags")]
pub enum MyStorageDataTypeFlags {
Content = 1,
Material = 2,
}
impl MyStorageDataTypeFlags {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
pub const CONTENT_AND_MATERIAL: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{Content | Material});
pub const ALL: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::ALL;
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BoundingBoxI")]
pub struct BoundingBoxI {
#[proto(tag = 1)]
#[serde(rename = "Min")]
pub min: crate::math::Vector3I,
#[proto(tag = 4)]
#[serde(rename = "Max")]
pub max: crate::math::Vector3I,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BoundingSphere")]
pub struct BoundingSphere {
#[serde(rename = "Center")]
pub center: crate::math::Vector3F,
#[serde(rename = "Radius", default)]
pub radius: crate::compat::BitAligned<f32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "CutOut")]
pub struct NetworkCutoutData_CutOut {
#[serde(rename = "Sphere")]
pub sphere: BoundingSphere,
#[serde(rename = "ApplyDamagedMaterial", default)]
pub apply_damaged_material: crate::compat::BitBool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "NetworkCutoutData")]
pub struct MyShipMiningSystem_NetworkCutoutData {
#[serde(rename = "StorageOffset")]
pub storage_offset: crate::math::Vector3I,
#[serde(rename = "AffectedRange")]
pub affected_range: BoundingBoxI,
#[serde(rename = "CutOuts", default)]
pub cut_outs: crate::compat::VarVec<NetworkCutoutData_CutOut>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "LadderInfo")]
pub struct MyObjectBuilder_Character_LadderInfo {
#[proto(tag = 200)]
#[serde(rename = "BaseMatrix")]
pub base_matrix: MyPositionAndOrientation,
#[proto(tag = 205)]
#[serde(rename = "IncrementToBase")]
pub increment_to_base: crate::math::SerializableVector3F,
#[proto(tag = 207)]
#[serde(rename = "EnableJetpackOnExit", default)]
pub enable_jetpack_on_exit: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ComponentItem")]
pub struct MyObjectBuilder_Character_ComponentItem {
#[proto(tag = 197)]
#[serde(rename = "ComponentId")]
pub component_id: SerializableDefinitionId,
#[proto(tag = 199)]
#[serde(rename = "Count", default)]
pub count: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BuildPlanItem")]
pub struct MyObjectBuilder_Character_BuildPlanItem {
#[proto(tag = 185)]
#[serde(rename = "BlockId")]
pub block_id: SerializableDefinitionId,
#[proto(tag = 188)]
#[serde(rename = "IsInProgress", default)]
pub is_in_progress: crate::compat::BitBool,
#[proto(tag = 190)]
#[serde(rename = "Components", default)]
pub components: crate::compat::VarVec<MyObjectBuilder_Character_ComponentItem>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyCueId")]
pub struct MyCueId {
#[proto(tag = 1)]
#[serde(rename = "Hash")]
pub hash: MyStringHash,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyDamageInformation")]
pub struct MyDamageInformation {
#[proto(tag = 1)]
#[serde(rename = "IsDeformation", default)]
pub is_deformation: crate::compat::BitBool,
#[proto(tag = 4)]
#[serde(rename = "Amount", default)]
pub amount: crate::compat::BitAligned<f32>,
#[proto(tag = 7)]
#[serde(rename = "Type")]
pub r#type: MyStringHash,
#[proto(tag = 10)]
#[serde(rename = "AttackerId", default)]
pub attacker_id: crate::compat::BitAligned<i64>,
#[proto(tag = 13)]
#[serde(rename = "ExtraInfo", default)]
pub extra_info: crate::compat::Nullable<MyStringHash>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 1)]
#[serde(rename = "MyPlaybackCommand")]
pub enum MyPlaybackCommand {
#[default]
#[deku(id = "0")]
Play,
#[deku(id = "1")]
Stop,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 1)]
#[serde(rename = "MyBlendOption")]
pub enum MyBlendOption {
#[default]
#[deku(id = "0")]
Immediate,
#[deku(id = "1")]
WaitForPreviousEnd,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyFrameOption")]
pub enum MyFrameOption {
#[default]
#[deku(id = "0")]
Default,
#[deku(id = "1")]
PlayOnce,
#[deku(id = "2")]
JustFirstFrame,
#[deku(id = "3")]
StayOnLastFrame,
#[deku(id = "4")]
Loop,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyAnimationCommand")]
pub struct MyAnimationCommand {
#[serde(rename = "AnimationSubtypeName", default)]
pub animation_subtype_name: crate::compat::VarString,
#[serde(rename = "PlaybackCommand", default)]
pub playback_command: MyPlaybackCommand,
#[serde(rename = "BlendOption", default)]
pub blend_option: MyBlendOption,
#[serde(rename = "FrameOption", default)]
pub frame_option: MyFrameOption,
#[serde(rename = "Area", default)]
pub area: crate::compat::VarString,
#[serde(rename = "BlendTime", default)]
pub blend_time: crate::compat::BitAligned<f32>,
#[serde(rename = "TimeScale", default)]
pub time_scale: crate::compat::BitAligned<f32>,
#[serde(rename = "ExcludeLegsWhenMoving", default)]
pub exclude_legs_when_moving: crate::compat::BitBool,
#[serde(rename = "KeepContinuingAnimations", default)]
pub keep_continuing_animations: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 3)]
#[serde(rename = "StateEnum")]
pub enum MyLaserAntenna_StateEnum {
#[default]
#[deku(id = "0")]
idle,
#[deku(id = "1")]
rot_GPS,
#[deku(id = "2")]
search_GPS,
#[deku(id = "3")]
rot_Rec,
#[deku(id = "4")]
contact_Rec,
#[deku(id = "5")]
connected,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "MyTopBlockSize")]
pub enum MyMechanicalConnectionBlockBase_MyTopBlockSize {
#[default]
#[deku(id = "0")]
Normal,
#[deku(id = "1")]
Medium,
#[deku(id = "2")]
Small,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "LimitResult")]
pub enum MySession_LimitResult {
#[default]
#[deku(id = "0")]
Passed,
#[deku(id = "1")]
MaxGridSize,
#[deku(id = "2")]
NoFaction,
#[deku(id = "3")]
BlockTypeLimit,
#[deku(id = "4")]
MaxBlocksPerPlayer,
#[deku(id = "5")]
PCU,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "MyRotationDirection")]
pub enum MyRotationDirection {
#[default]
#[deku(id = "0")]
AUTO,
#[deku(id = "1")]
CW,
#[deku(id = "2")]
CCW,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyContractCreationDataWrapper_Deliver")]
pub struct MyContractBlock_MyContractCreationDataWrapper_Deliver {
#[serde(rename = "RewardMoney", default)]
pub reward_money: crate::compat::BitAligned<i32>,
#[serde(rename = "StartingDeposit", default)]
pub starting_deposit: crate::compat::BitAligned<i32>,
#[serde(rename = "DurationInMin", default)]
pub duration_in_min: crate::compat::BitAligned<i32>,
#[serde(rename = "TargetBlockId", default)]
pub target_block_id: crate::compat::BitAligned<i64>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyContractCreationDataWrapper_ObtainAndDeliver")]
pub struct MyContractBlock_MyContractCreationDataWrapper_ObtainAndDeliver {
#[serde(rename = "RewardMoney", default)]
pub reward_money: crate::compat::BitAligned<i32>,
#[serde(rename = "StartingDeposit", default)]
pub starting_deposit: crate::compat::BitAligned<i32>,
#[serde(rename = "DurationInMin", default)]
pub duration_in_min: crate::compat::BitAligned<i32>,
#[serde(rename = "TargetBlockId", default)]
pub target_block_id: crate::compat::BitAligned<i64>,
#[serde(rename = "ItemTypeId")]
pub item_type_id: SerializableDefinitionId,
#[serde(rename = "ItemAmount", default)]
pub item_amount: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyContractCreationDataWrapper_Repair")]
pub struct MyContractBlock_MyContractCreationDataWrapper_Repair {
#[serde(rename = "RewardMoney", default)]
pub reward_money: crate::compat::BitAligned<i32>,
#[serde(rename = "StartingDeposit", default)]
pub starting_deposit: crate::compat::BitAligned<i32>,
#[serde(rename = "DurationInMin", default)]
pub duration_in_min: crate::compat::BitAligned<i32>,
#[serde(rename = "TargetGridId", default)]
pub target_grid_id: crate::compat::BitAligned<i64>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyContractCreationDataWrapper_Find")]
pub struct MyContractBlock_MyContractCreationDataWrapper_Find {
#[serde(rename = "RewardMoney", default)]
pub reward_money: crate::compat::BitAligned<i32>,
#[serde(rename = "StartingDeposit", default)]
pub starting_deposit: crate::compat::BitAligned<i32>,
#[serde(rename = "DurationInMin", default)]
pub duration_in_min: crate::compat::BitAligned<i32>,
#[serde(rename = "TargetGridId", default)]
pub target_grid_id: crate::compat::BitAligned<i64>,
#[serde(rename = "SearchRadius", default)]
pub search_radius: crate::compat::BitAligned<f64>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyContractStateEnum")]
pub enum MyContractStateEnum {
#[default]
#[deku(id = "0")]
Inactive,
#[deku(id = "1")]
Active,
#[deku(id = "2")]
Finished,
#[deku(id = "3")]
Failed,
#[deku(id = "4")]
ToBeDisposed,
#[deku(id = "5")]
Disposed,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_ContractCondition")]
pub struct MyObjectBuilder_ContractCondition {
#[proto(tag = 1)]
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
#[proto(tag = 2)]
#[serde(rename = "IsFinished", default)]
pub is_finished: crate::compat::BitBool,
#[proto(tag = 3)]
#[serde(rename = "ContractId", default)]
pub contract_id: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "SubId", default)]
pub sub_id: crate::compat::BitAligned<i32>,
#[proto(tag = 5)]
#[serde(rename = "StationEndId", default)]
pub station_end_id: crate::compat::BitAligned<i64>,
#[proto(tag = 9)]
#[serde(rename = "FactionEndId", default)]
pub faction_end_id: crate::compat::BitAligned<i64>,
#[proto(tag = 11)]
#[serde(rename = "BlockEndId", default)]
pub block_end_id: crate::compat::BitAligned<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_Contract")]
pub struct MyObjectBuilder_Contract {
#[proto(tag = 1)]
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
#[proto(tag = 2)]
#[serde(rename = "IsPlayerMade", default)]
pub is_player_made: crate::compat::BitBool,
#[proto(tag = 3)]
#[serde(rename = "State", default)]
pub state: MyContractStateEnum,
#[proto(tag = 5)]
#[serde(rename = "Owners", default)]
pub owners: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 7)]
#[serde(rename = "RewardMoney", default)]
pub reward_money: crate::compat::BitAligned<i64>,
#[proto(tag = 9)]
#[serde(rename = "RewardReputation", default)]
pub reward_reputation: crate::compat::BitAligned<i32>,
#[proto(tag = 11)]
#[serde(rename = "StartingDeposit", default)]
pub starting_deposit: crate::compat::BitAligned<i64>,
#[proto(tag = 13)]
#[serde(rename = "FailReputationPrice", default)]
pub fail_reputation_price: crate::compat::BitAligned<i32>,
#[proto(tag = 15)]
#[serde(rename = "StartFaction", default)]
pub start_faction: crate::compat::BitAligned<i64>,
#[proto(tag = 17)]
#[serde(rename = "StartStation", default)]
pub start_station: crate::compat::BitAligned<i64>,
#[proto(tag = 18)]
#[serde(rename = "StartBlock", default)]
pub start_block: crate::compat::BitAligned<i64>,
#[proto(tag = 19)]
#[serde(rename = "Creation", default)]
pub creation: crate::compat::BitAligned<i64>,
#[proto(tag = 21)]
#[serde(rename = "TicksToDiscard", default)]
pub ticks_to_discard: crate::compat::Nullable<crate::compat::BitAligned<i32>>,
#[proto(tag = 23)]
#[serde(rename = "RemainingTimeInS", default)]
pub remaining_time_in_s: crate::compat::Nullable<crate::compat::BitAligned<f64>>,
#[proto(tag = 25)]
#[serde(rename = "ContractCondition", default)]
pub contract_condition: MyObjectBuilder_ContractCondition,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyEntityInfoWrapper")]
pub struct MyContractBlock_MyEntityInfoWrapper {
#[serde(rename = "NamePrefix", default)]
pub name_prefix: crate::compat::VarString,
#[serde(rename = "NameSuffix", default)]
pub name_suffix: crate::compat::VarString,
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 5)]
#[serde(rename = "MyContractResults")]
pub enum MyContractResults {
#[default]
#[deku(id = "0")]
Success,
#[deku(id = "1")]
Error_Unknown,
#[deku(id = "2")]
Error_MissingKeyStructure,
#[deku(id = "3")]
Error_InvalidData,
#[deku(id = "4")]
Fail_CannotAccess,
#[deku(id = "5")]
Fail_NotPossible,
#[deku(id = "6")]
Fail_ActivationConditionsNotMet,
#[deku(id = "7")]
Fail_ActivationConditionsNotMet_InsufficientFunds,
#[deku(id = "8")]
Fail_ActivationConditionsNotMet_InsufficientSpace,
#[deku(id = "9")]
Fail_FinishConditionsNotMet,
#[deku(id = "10")]
Fail_FinishConditionsNotMet_MissingPackage,
#[deku(id = "11")]
Fail_FinishConditionsNotMet_IncorrectTargetEntity,
#[deku(id = "12")]
Fail_ContractNotFound_Activation,
#[deku(id = "13")]
Fail_ContractNotFound_Abandon,
#[deku(id = "14")]
Fail_ContractNotFound_Finish,
#[deku(id = "15")]
Fail_FinishConditionsNotMet_NotEnoughItems,
#[deku(id = "16")]
Fail_ActivationConditionsNotMet_ContractLimitReachedHard,
#[deku(id = "17")]
Fail_ActivationConditionsNotMet_TargetOffline,
#[deku(id = "18")]
Fail_FinishConditionsNotMet_NotEnoughSpace,
#[deku(id = "19")]
Fail_ActivationConditionsNotMet_YouAreTargetOfThisHunt,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyTargetEntityInfoWrapper")]
pub struct MyContractBlock_MyTargetEntityInfoWrapper {
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 4)]
#[serde(rename = "MyContractCreationResults")]
pub enum MyContractCreationResults {
#[default]
#[deku(id = "0")]
Success,
#[deku(id = "1")]
Fail_Common,
#[deku(id = "2")]
Fail_Impossible,
#[deku(id = "3")]
Fail_NoAccess,
#[deku(id = "4")]
Fail_GridNotFound,
#[deku(id = "5")]
Fail_BlockNotFound,
#[deku(id = "6")]
#[serde(rename = "Error")]
Error_,
#[deku(id = "7")]
Error_MissingKeyStructure,
#[deku(id = "8")]
Fail_NotAnOwnerOfBlock,
#[deku(id = "9")]
Fail_NotAnOwnerOfGrid,
#[deku(id = "10")]
Fail_NotEnoughFunds,
#[deku(id = "11")]
Fail_CreationLimitHard,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "UpdateType")]
pub enum UpdateType {
Terminal = 1,
Trigger = 2,
Mod = 8,
Script = 16,
Update1 = 32,
Update10 = 64,
Update100 = 128,
Once = 256,
IGC = 512,
}
impl UpdateType {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyStoreItem")]
pub struct MyStoreItem {
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
#[serde(rename = "Item", default)]
pub item: crate::compat::Nullable<SerializableDefinitionId>,
#[serde(rename = "ItemType", default)]
pub item_type: ItemTypes,
#[serde(rename = "Amount", default)]
pub amount: crate::compat::BitAligned<i32>,
#[serde(rename = "RemovedAmount", default)]
#[deku(skip)]
pub removed_amount: crate::compat::BitAligned<i32>,
#[serde(rename = "UpdateCount", default)]
#[deku(skip)]
pub update_count: crate::compat::BitAligned<i32>,
#[serde(rename = "PricePerUnit", default)]
pub price_per_unit: crate::compat::BitAligned<i32>,
#[serde(rename = "StoreItemType", default)]
pub store_item_type: StoreItemTypes,
#[serde(rename = "IsActive", default)]
pub is_active: crate::compat::BitBool,
#[serde(rename = "PrefabName", default)]
pub prefab_name: crate::compat::VarString,
#[serde(rename = "PrefabTotalPcu", default)]
pub prefab_total_pcu: crate::compat::BitAligned<i32>,
#[serde(rename = "PricePerUnitDiscount", default)]
pub price_per_unit_discount: crate::compat::BitAligned<f32>,
#[serde(rename = "IsCustomStoreItem", default)]
pub is_custom_store_item: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 5)]
#[serde(rename = "MyStoreBuyItemResults")]
pub enum MyStoreBuyItemResults {
#[default]
#[deku(id = "0")]
Success,
#[deku(id = "1")]
ItemNotFound,
#[deku(id = "2")]
WrongAmount,
#[deku(id = "3")]
NotEnoughMoney,
#[deku(id = "4")]
ItemsTimeout,
#[deku(id = "5")]
NotEnoughInventorySpace,
#[deku(id = "6")]
WrongInventory,
#[deku(id = "7")]
SpawnFailed,
#[deku(id = "8")]
FreePositionNotFound,
#[deku(id = "9")]
NotEnoughStoreBlockInventorySpace,
#[deku(id = "10")]
NotEnoughAmount,
#[deku(id = "11")]
NotEnoughPCU,
#[deku(id = "12")]
NotEnoughSpaceInTank,
#[deku(id = "13")]
StoreNotOwnedByFaction,
#[deku(id = "14")]
LimitsGridSize,
#[deku(id = "15")]
LimitsNoFaction,
#[deku(id = "16")]
LimitsPerBlockType,
#[deku(id = "17")]
LimitsPlayer,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyStoreBuyItemResult")]
pub struct MyStoreBuyItemResult {
#[serde(rename = "ItemId", default)]
pub item_id: crate::compat::BitAligned<i64>,
#[serde(rename = "Amount", default)]
pub amount: crate::compat::BitAligned<i32>,
#[serde(rename = "Result", default)]
pub result: MyStoreBuyItemResults,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyStoreSellItemResults")]
pub enum MyStoreSellItemResults {
#[default]
#[deku(id = "0")]
Success,
#[deku(id = "1")]
ItemNotFound,
#[deku(id = "2")]
WrongAmount,
#[deku(id = "3")]
ItemsTimeout,
#[deku(id = "4")]
NotEnoughAmount,
#[deku(id = "5")]
NotEnoughMoney,
#[deku(id = "6")]
NotEnoughInventorySpace,
#[deku(id = "7")]
NoFaction,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyStoreSellItemResult")]
pub struct MyStoreSellItemResult {
#[serde(rename = "ItemId", default)]
pub item_id: crate::compat::BitAligned<i64>,
#[serde(rename = "Amount", default)]
pub amount: crate::compat::BitAligned<i32>,
#[serde(rename = "Result", default)]
pub result: MyStoreSellItemResults,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "MyStoreCreationResult")]
pub enum MyStoreCreationResult {
#[default]
#[deku(id = "0")]
Success,
#[deku(id = "1")]
Fail_CreationLimitHard,
#[deku(id = "2")]
Fail_PricePerUnitIsLowerThanMinimum,
#[deku(id = "3")]
#[serde(rename = "Error")]
Error_,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 8)]
#[serde(rename = "MyKeys")]
pub enum MyKeys {
#[default]
#[deku(id = "0")]
None,
#[deku(id = "1")]
LeftButton,
#[deku(id = "2")]
RightButton,
#[deku(id = "3")]
Cancel,
#[deku(id = "4")]
MiddleButton,
#[deku(id = "5")]
ExtraButton1,
#[deku(id = "6")]
ExtraButton2,
#[deku(id = "8")]
Back,
#[deku(id = "9")]
Tab,
#[deku(id = "12")]
Clear,
#[deku(id = "13")]
Enter,
#[deku(id = "16")]
Shift,
#[deku(id = "17")]
Control,
#[deku(id = "18")]
Alt,
#[deku(id = "19")]
Pause,
#[deku(id = "20")]
CapsLock,
#[deku(id = "21")]
Kana,
#[deku(id = "21")]
Hangeul,
#[deku(id = "21")]
Hangul,
#[deku(id = "23")]
Junja,
#[deku(id = "24")]
Final,
#[deku(id = "25")]
Hanja,
#[deku(id = "25")]
Kanji,
#[deku(id = "25")]
Ctrl_Y,
#[deku(id = "26")]
Ctrl_Z,
#[deku(id = "27")]
Escape,
#[deku(id = "28")]
Convert,
#[deku(id = "29")]
NonConvert,
#[deku(id = "30")]
Accept,
#[deku(id = "31")]
ModeChange,
#[deku(id = "32")]
Space,
#[deku(id = "33")]
PageUp,
#[deku(id = "34")]
PageDown,
#[deku(id = "35")]
End,
#[deku(id = "36")]
Home,
#[deku(id = "37")]
Left,
#[deku(id = "38")]
Up,
#[deku(id = "39")]
Right,
#[deku(id = "40")]
Down,
#[deku(id = "41")]
Select,
#[deku(id = "42")]
Print,
#[deku(id = "43")]
Execute,
#[deku(id = "44")]
Snapshot,
#[deku(id = "45")]
Insert,
#[deku(id = "46")]
Delete,
#[deku(id = "47")]
Help,
#[deku(id = "48")]
D0,
#[deku(id = "49")]
D1,
#[deku(id = "50")]
D2,
#[deku(id = "51")]
D3,
#[deku(id = "52")]
D4,
#[deku(id = "53")]
D5,
#[deku(id = "54")]
D6,
#[deku(id = "55")]
D7,
#[deku(id = "56")]
D8,
#[deku(id = "57")]
D9,
#[deku(id = "65")]
A,
#[deku(id = "66")]
B,
#[deku(id = "67")]
C,
#[deku(id = "68")]
D,
#[deku(id = "69")]
E,
#[deku(id = "70")]
F,
#[deku(id = "71")]
G,
#[deku(id = "72")]
H,
#[deku(id = "73")]
I,
#[deku(id = "74")]
J,
#[deku(id = "75")]
K,
#[deku(id = "76")]
L,
#[deku(id = "77")]
M,
#[deku(id = "78")]
N,
#[deku(id = "79")]
O,
#[deku(id = "80")]
P,
#[deku(id = "81")]
Q,
#[deku(id = "82")]
R,
#[deku(id = "83")]
S,
#[deku(id = "84")]
T,
#[deku(id = "85")]
U,
#[deku(id = "86")]
V,
#[deku(id = "87")]
W,
#[deku(id = "88")]
X,
#[deku(id = "89")]
Y,
#[deku(id = "90")]
Z,
#[deku(id = "91")]
LeftWindows,
#[deku(id = "92")]
RightWindows,
#[deku(id = "93")]
Apps,
#[deku(id = "95")]
Sleep,
#[deku(id = "96")]
NumPad0,
#[deku(id = "97")]
NumPad1,
#[deku(id = "98")]
NumPad2,
#[deku(id = "99")]
NumPad3,
#[deku(id = "100")]
NumPad4,
#[deku(id = "101")]
NumPad5,
#[deku(id = "102")]
NumPad6,
#[deku(id = "103")]
NumPad7,
#[deku(id = "104")]
NumPad8,
#[deku(id = "105")]
NumPad9,
#[deku(id = "106")]
Multiply,
#[deku(id = "107")]
Add,
#[deku(id = "108")]
Separator,
#[deku(id = "109")]
Subtract,
#[deku(id = "110")]
Decimal,
#[deku(id = "111")]
Divide,
#[deku(id = "112")]
F1,
#[deku(id = "113")]
F2,
#[deku(id = "114")]
F3,
#[deku(id = "115")]
F4,
#[deku(id = "116")]
F5,
#[deku(id = "117")]
F6,
#[deku(id = "118")]
F7,
#[deku(id = "119")]
F8,
#[deku(id = "120")]
F9,
#[deku(id = "121")]
F10,
#[deku(id = "122")]
F11,
#[deku(id = "123")]
F12,
#[deku(id = "124")]
F13,
#[deku(id = "125")]
F14,
#[deku(id = "126")]
F15,
#[deku(id = "127")]
F16,
#[deku(id = "128")]
F17,
#[deku(id = "129")]
F18,
#[deku(id = "130")]
F19,
#[deku(id = "131")]
F20,
#[deku(id = "132")]
F21,
#[deku(id = "133")]
F22,
#[deku(id = "134")]
F23,
#[deku(id = "135")]
F24,
#[deku(id = "144")]
NumLock,
#[deku(id = "145")]
ScrollLock,
#[deku(id = "146")]
NEC_Equal,
#[deku(id = "146")]
Fujitsu_Jisho,
#[deku(id = "147")]
Fujitsu_Masshou,
#[deku(id = "148")]
Fujitsu_Touroku,
#[deku(id = "149")]
Fujitsu_Loya,
#[deku(id = "150")]
Fujitsu_Roya,
#[deku(id = "160")]
LeftShift,
#[deku(id = "161")]
RightShift,
#[deku(id = "162")]
LeftControl,
#[deku(id = "163")]
RightControl,
#[deku(id = "164")]
LeftAlt,
#[deku(id = "165")]
RightAlt,
#[deku(id = "166")]
BrowserBack,
#[deku(id = "167")]
BrowserForward,
#[deku(id = "168")]
BrowserRefresh,
#[deku(id = "169")]
BrowserStop,
#[deku(id = "170")]
BrowserSearch,
#[deku(id = "171")]
BrowserFavorites,
#[deku(id = "172")]
BrowserHome,
#[deku(id = "173")]
VolumeMute,
#[deku(id = "174")]
VolumeDown,
#[deku(id = "175")]
VolumeUp,
#[deku(id = "176")]
MediaNextTrack,
#[deku(id = "177")]
MediaPrevTrack,
#[deku(id = "178")]
MediaStop,
#[deku(id = "179")]
MediaPlayPause,
#[deku(id = "180")]
LaunchMail,
#[deku(id = "181")]
LaunchMediaSelect,
#[deku(id = "182")]
LaunchApplication1,
#[deku(id = "183")]
LaunchApplication2,
#[deku(id = "186")]
OemSemicolon,
#[deku(id = "187")]
OemPlus,
#[deku(id = "188")]
OemComma,
#[deku(id = "189")]
OemMinus,
#[deku(id = "190")]
OemPeriod,
#[deku(id = "191")]
OemQuestion,
#[deku(id = "192")]
OemTilde,
#[deku(id = "202")]
ChatPadGreen,
#[deku(id = "203")]
ChatPadOrange,
#[deku(id = "219")]
OemOpenBrackets,
#[deku(id = "220")]
OemPipe,
#[deku(id = "221")]
OemCloseBrackets,
#[deku(id = "222")]
OemQuotes,
#[deku(id = "223")]
Oem8,
#[deku(id = "225")]
OEMAX,
#[deku(id = "226")]
OemBackslash,
#[deku(id = "227")]
ICOHelp,
#[deku(id = "228")]
ICO00,
#[deku(id = "229")]
ProcessKey,
#[deku(id = "230")]
ICOClear,
#[deku(id = "231")]
Packet,
#[deku(id = "233")]
OEMReset,
#[deku(id = "234")]
OEMJump,
#[deku(id = "235")]
OEMPA1,
#[deku(id = "236")]
OEMPA2,
#[deku(id = "237")]
OEMPA3,
#[deku(id = "238")]
OEMWSCtrl,
#[deku(id = "239")]
OEMCUSel,
#[deku(id = "240")]
OEMATTN,
#[deku(id = "241")]
OEMFinish,
#[deku(id = "242")]
OEMCopy,
#[deku(id = "243")]
OEMAuto,
#[deku(id = "244")]
OEMENLW,
#[deku(id = "245")]
OEMBackTab,
#[deku(id = "246")]
ATTN,
#[deku(id = "247")]
CRSel,
#[deku(id = "248")]
EXSel,
#[deku(id = "249")]
EREOF,
#[deku(id = "250")]
Play,
#[deku(id = "251")]
Zoom,
#[deku(id = "252")]
Noname,
#[deku(id = "253")]
PA1,
#[deku(id = "254")]
OEMClear,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "AllPlayerData")]
pub struct MyPlayerCollection_AllPlayerData {
#[proto(tag = 1)]
#[serde(rename = "SteamId", default)]
pub steam_id: crate::compat::BitAligned<u64>,
#[proto(tag = 4)]
#[serde(rename = "SerialId", default)]
pub serial_id: crate::compat::BitAligned<i32>,
#[proto(tag = 7)]
#[serde(rename = "Player", default)]
pub player: MyObjectBuilder_Player,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "AllMembersDataMsg")]
pub struct AllMembersDataMsg {
#[serde(rename = "Identities", default)]
pub identities: crate::compat::VarVec<MyObjectBuilder_Identity>,
#[serde(rename = "Players", default)]
pub players: crate::compat::VarVec<MyPlayerCollection_AllPlayerData>,
#[serde(rename = "Factions", default)]
pub factions: crate::compat::VarVec<MyObjectBuilder_Faction>,
#[serde(rename = "Clients", default)]
pub clients: crate::compat::VarVec<MyObjectBuilder_Client>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ChatMessageCustomData")]
pub struct ChatMessageCustomData {
#[serde(rename = "AuthorName", default)]
pub author_name: crate::compat::VarString,
#[serde(rename = "SenderId", default)]
pub sender_id: crate::compat::Nullable<crate::compat::BitAligned<u64>>,
#[serde(rename = "TextColor", default)]
pub text_color: crate::compat::Nullable<Color>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ChatMsg")]
pub struct ChatMsg {
#[serde(rename = "Text", default)]
pub text: crate::compat::VarString,
#[serde(rename = "Author", default)]
pub author: crate::compat::BitAligned<u64>,
#[serde(rename = "Channel", default)]
pub channel: crate::compat::BitAligned<i32>,
#[serde(rename = "TargetId", default)]
pub target_id: crate::compat::BitAligned<i64>,
#[serde(rename = "CrossChatEnabled", default)]
pub cross_chat_enabled: crate::compat::BitBool,
#[serde(rename = "CustomData", default)]
pub custom_data: crate::compat::Nullable<ChatMessageCustomData>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BlockList")]
pub struct BlockList {
#[serde(rename = "BlockedUsers", default)]
pub blocked_users: crate::compat::VarVec<crate::compat::BitAligned<u64>>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ScriptedChatMsg")]
pub struct ScriptedChatMsg {
#[serde(rename = "Text", default)]
pub text: crate::compat::VarString,
#[serde(rename = "Author", default)]
pub author: crate::compat::VarString,
#[serde(rename = "Target", default)]
pub target: crate::compat::BitAligned<i64>,
#[serde(rename = "Font", default)]
pub font: crate::compat::VarString,
#[serde(rename = "Color")]
pub color: Color,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 6)]
#[serde(rename = "MyGuiSounds")]
pub enum MyGuiSounds {
#[default]
#[deku(id = "0")]
HudClick,
#[deku(id = "1")]
HudUse,
#[deku(id = "2")]
HudRotateBlock,
#[deku(id = "3")]
HudPlaceBlock,
#[deku(id = "4")]
HudDeleteBlock,
#[deku(id = "5")]
HudColorBlock,
#[deku(id = "6")]
HudMouseClick,
#[deku(id = "7")]
HudMouseOver,
#[deku(id = "8")]
HudUnable,
#[deku(id = "9")]
HudGPSNotification1,
#[deku(id = "10")]
HudGPSNotification2,
#[deku(id = "11")]
HudGPSNotification3,
#[deku(id = "12")]
PlayDropItem,
#[deku(id = "13")]
HudVocInventoryFull,
#[deku(id = "14")]
HudVocMeteorInbound,
#[deku(id = "15")]
HudVocHealthLow,
#[deku(id = "16")]
HudVocHealthCritical,
#[deku(id = "17")]
HudVocFuelLow,
#[deku(id = "18")]
HudVocFuelCrit,
#[deku(id = "19")]
None,
#[deku(id = "20")]
HudVocEnergyLow,
#[deku(id = "21")]
HudVocStationFuelLow,
#[deku(id = "22")]
HudVocShipFuelLow,
#[deku(id = "23")]
HudVocEnergyCrit,
#[deku(id = "24")]
HudVocStationFuelCrit,
#[deku(id = "25")]
HudVocShipFuelCrit,
#[deku(id = "26")]
HudVocEnergyNo,
#[deku(id = "27")]
HudVocStationFuelNo,
#[deku(id = "28")]
HudVocShipFuelNo,
#[deku(id = "29")]
HudCraftBarProgressLoop,
#[deku(id = "30")]
HudErrorMessage,
#[deku(id = "31")]
HudOpenCraftWin,
#[deku(id = "32")]
HudOpenInventory,
#[deku(id = "33")]
HudItem,
#[deku(id = "34")]
PlayTakeItem,
#[deku(id = "35")]
HudPlaceItem,
#[deku(id = "36")]
HudAntennaOn,
#[deku(id = "37")]
HudAntennaOff,
#[deku(id = "38")]
HudBrakeOff,
#[deku(id = "39")]
HudBrakeOn,
#[deku(id = "40")]
HudObjectiveComplete,
#[deku(id = "41")]
HudBleep,
#[deku(id = "42")]
HudQuestlogDetail,
#[deku(id = "43")]
HudLockingProgress,
#[deku(id = "44")]
HudLockingSuccess,
#[deku(id = "45")]
HudLockingLost,
#[deku(id = "46")]
MatchVictory,
#[deku(id = "47")]
MatchDraw,
#[deku(id = "48")]
MatchDefeat,
#[deku(id = "49")]
HudVocFoodLow,
#[deku(id = "50")]
HudVocRadiationImmunityLow,
#[deku(id = "51")]
HudVocRadiationCritical,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 4)]
#[serde(rename = "MyGuiDrawAlignEnum")]
pub enum MyGuiDrawAlignEnum {
#[default]
#[deku(id = "0")]
HORISONTAL_LEFT_AND_VERTICAL_TOP,
#[deku(id = "1")]
HORISONTAL_LEFT_AND_VERTICAL_CENTER,
#[deku(id = "2")]
HORISONTAL_LEFT_AND_VERTICAL_BOTTOM,
#[deku(id = "3")]
HORISONTAL_CENTER_AND_VERTICAL_TOP,
#[deku(id = "4")]
HORISONTAL_CENTER_AND_VERTICAL_CENTER,
#[deku(id = "5")]
HORISONTAL_CENTER_AND_VERTICAL_BOTTOM,
#[deku(id = "6")]
HORISONTAL_RIGHT_AND_VERTICAL_TOP,
#[deku(id = "7")]
HORISONTAL_RIGHT_AND_VERTICAL_CENTER,
#[deku(id = "8")]
HORISONTAL_RIGHT_AND_VERTICAL_BOTTOM,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyUIString")]
pub struct MyUIString {
#[serde(rename = "Text", default)]
pub text: crate::compat::VarString,
#[serde(rename = "NormalizedCoord")]
pub normalized_coord: crate::math::Vector2F,
#[serde(rename = "Scale", default)]
pub scale: crate::compat::BitAligned<f32>,
#[serde(rename = "Font", default)]
pub font: crate::compat::VarString,
#[serde(rename = "DrawAlign", default)]
pub draw_align: MyGuiDrawAlignEnum,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyColumn")]
pub struct MyGuiScreenBoard_MyColumn {
#[serde(rename = "HeaderText", default)]
pub header_text: crate::compat::VarString,
#[serde(rename = "HeaderDrawAlign", default)]
pub header_draw_align: MyGuiDrawAlignEnum,
#[serde(rename = "ColumnDrawAlign", default)]
pub column_draw_align: MyGuiDrawAlignEnum,
#[serde(rename = "Width", default)]
pub width: crate::compat::BitAligned<f32>,
#[serde(rename = "Visible", default)]
pub visible: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 4)]
#[serde(rename = "MyExplosionTypeEnum")]
pub enum MyExplosionTypeEnum {
#[default]
#[deku(id = "0")]
MISSILE_EXPLOSION,
#[deku(id = "1")]
BOMB_EXPLOSION,
#[deku(id = "2")]
AMMO_EXPLOSION,
#[deku(id = "3")]
GRID_DEFORMATION,
#[deku(id = "4")]
GRID_DESTRUCTION,
#[deku(id = "5")]
WARHEAD_EXPLOSION_02,
#[deku(id = "6")]
WARHEAD_EXPLOSION_15,
#[deku(id = "7")]
WARHEAD_EXPLOSION_30,
#[deku(id = "8")]
WARHEAD_EXPLOSION_50,
#[deku(id = "9")]
CUSTOM,
#[deku(id = "10")]
ProjectileExplosion,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyExplosionFlags")]
pub enum MyExplosionFlags {
CREATE_DEBRIS = 1,
AFFECT_VOXELS = 2,
APPLY_FORCE_AND_DAMAGE = 4,
CREATE_DECALS = 8,
FORCE_DEBRIS = 16,
CREATE_PARTICLE_EFFECT = 32,
CREATE_SHRAPNELS = 64,
APPLY_DEFORMATION = 128,
CREATE_PARTICLE_DEBRIS = 256,
FORCE_CUSTOM_END_OF_LIFE_EFFECT = 512,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyExplosionInfoSimplified")]
pub struct MyExplosionInfoSimplified {
#[serde(rename = "Damage", default)]
pub damage: crate::compat::BitAligned<f32>,
#[serde(rename = "Center")]
pub center: crate::math::Vector3D,
#[serde(rename = "Radius", default)]
pub radius: crate::compat::BitAligned<f32>,
#[serde(rename = "Type", default)]
pub r#type: MyExplosionTypeEnum,
#[serde(rename = "Flags")]
pub flags: crate::compat::BitField<MyExplosionFlags>,
#[serde(rename = "VoxelCenter")]
pub voxel_center: crate::math::Vector3D,
#[serde(rename = "ParticleScale", default)]
pub particle_scale: crate::compat::BitAligned<f32>,
#[serde(rename = "Velocity")]
pub velocity: crate::math::Vector3F,
#[serde(rename = "IgnoreFriendlyFireSetting", default)]
pub ignore_friendly_fire_setting: crate::compat::BitBool,
#[serde(rename = "CustomEffect", default)]
pub custom_effect: crate::compat::VarString,
#[serde(rename = "CustomSound", default)]
pub custom_sound: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyHighlightData")]
pub struct MyHighlightData {
#[proto(tag = 5)]
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 10)]
#[serde(rename = "OutlineColor", default)]
pub outline_color: crate::compat::Nullable<Color>,
#[proto(tag = 15)]
#[serde(rename = "Thickness", default)]
pub thickness: crate::compat::BitAligned<i32>,
#[proto(tag = 20)]
#[serde(rename = "PulseTimeInFrames", default)]
pub pulse_time_in_frames: crate::compat::BitAligned<u64>,
#[proto(tag = 25)]
#[serde(rename = "PlayerId", default)]
pub player_id: crate::compat::BitAligned<i64>,
#[proto(tag = 30)]
#[serde(rename = "IgnoreUseObjectData", default)]
pub ignore_use_object_data: crate::compat::BitBool,
#[proto(tag = 35)]
#[serde(rename = "SubPartNames", default)]
pub sub_part_names: crate::compat::VarString,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "HighlightMsg")]
pub struct MyHighlightSystem_HighlightMsg {
#[serde(rename = "Data")]
pub data: MyHighlightData,
#[serde(rename = "ExclusiveKey", default)]
pub exclusive_key: crate::compat::BitAligned<i32>,
#[serde(rename = "IsExclusive", default)]
pub is_exclusive: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_WeatherEffect")]
pub struct MyObjectBuilder_WeatherEffect {
#[proto(tag = 5)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[proto(tag = 7)]
#[serde(rename = "Velocity")]
pub velocity: crate::math::Vector3D,
#[proto(tag = 10)]
#[serde(rename = "Weather", default)]
pub weather: crate::compat::VarString,
#[proto(tag = 15)]
#[serde(rename = "Radius", default)]
pub radius: crate::compat::BitAligned<f32>,
#[proto(tag = 20)]
#[serde(rename = "Life", default)]
pub life: crate::compat::BitAligned<i32>,
#[proto(tag = 21)]
#[serde(rename = "MaxLife", default)]
pub max_life: crate::compat::BitAligned<i32>,
#[proto(tag = 25)]
#[serde(rename = "Intensity", default)]
pub intensity: crate::compat::BitAligned<f32>,
#[proto(tag = 30)]
#[serde(rename = "StartPoint")]
pub start_point: crate::math::Vector3D,
#[proto(tag = 35)]
#[serde(rename = "NextLightning", default)]
pub next_lightning: crate::compat::BitAligned<i32>,
#[proto(tag = 40)]
#[serde(rename = "NextLightningCharacter", default)]
pub next_lightning_character: crate::compat::BitAligned<i32>,
#[proto(tag = 45)]
#[serde(rename = "NextLightningGrid", default)]
pub next_lightning_grid: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_WeatherPlanetData")]
pub struct MyObjectBuilder_WeatherPlanetData {
#[proto(tag = 5)]
#[serde(rename = "PlanetId", default)]
pub planet_id: crate::compat::BitAligned<i64>,
#[proto(tag = 10)]
#[serde(rename = "NextWeather", default)]
pub next_weather: crate::compat::BitAligned<i32>,
#[proto(tag = 30)]
#[serde(rename = "Weathers", default)]
pub weathers: crate::compat::VarVec<MyObjectBuilder_WeatherEffect>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "Vector4")]
pub struct Vector4 {
#[proto(tag = 1)]
#[serde(rename = "X", default)]
pub X: crate::compat::BitAligned<f32>,
#[proto(tag = 4)]
#[serde(rename = "Y", default)]
pub Y: crate::compat::BitAligned<f32>,
#[proto(tag = 7)]
#[serde(rename = "Z", default)]
pub Z: crate::compat::BitAligned<f32>,
#[proto(tag = 10)]
#[serde(rename = "W", default)]
pub W: crate::compat::BitAligned<f32>,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_WeatherLightning")]
pub struct MyObjectBuilder_WeatherLightning {
#[proto(tag = 5)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[proto(tag = 10)]
#[serde(rename = "Life", default)]
pub life: crate::compat::BitAligned<i32>,
#[proto(tag = 15)]
#[serde_inline_default(crate::compat::BitAligned(7))]
#[serde(rename = "MaxLife")]
pub max_life: crate::compat::BitAligned<i32>,
#[proto(tag = 20)]
#[serde_inline_default(crate::compat::BitAligned(5000f32))]
#[serde(rename = "BoltLength")]
pub bolt_length: crate::compat::BitAligned<f32>,
#[proto(tag = 25)]
#[serde_inline_default(crate::compat::BitAligned(50))]
#[serde(rename = "BoltParts")]
pub bolt_parts: crate::compat::BitAligned<i32>,
#[proto(tag = 30)]
#[serde_inline_default(crate::compat::BitAligned(100))]
#[serde(rename = "BoltVariation")]
pub bolt_variation: crate::compat::BitAligned<i32>,
#[proto(tag = 35)]
#[serde_inline_default(crate::compat::BitAligned(30f32))]
#[serde(rename = "BoltRadius")]
pub bolt_radius: crate::compat::BitAligned<f32>,
#[proto(tag = 40)]
#[serde(rename = "Damage", default)]
pub damage: crate::compat::BitAligned<i32>,
#[proto(tag = 45)]
#[serde(rename = "Sound", default)]
pub sound: crate::compat::VarString,
#[proto(tag = 50)]
#[serde(rename = "Color")]
pub color: Vector4,
#[proto(tag = 55)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "BoltImpulseMultiplier")]
pub bolt_impulse_multiplier: crate::compat::BitAligned<f32>,
#[proto(tag = 65)]
#[serde_inline_default(crate::compat::BitAligned(1f32))]
#[serde(rename = "ExplosionRadius")]
pub explosion_radius: crate::compat::BitAligned<f32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 1)]
#[serde(rename = "MyContractNotificationTypes")]
pub enum MyContractNotificationTypes {
#[default]
#[deku(id = "0")]
ContractSuccessful,
#[deku(id = "1")]
ContractFailed,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "MyMatchState")]
pub enum MyMatchState {
#[default]
#[deku(id = "0")]
PreMatch,
#[deku(id = "1")]
Match,
#[deku(id = "2")]
PostMatch,
#[deku(id = "3")]
Finished,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyEntityListInfoItem")]
pub struct MyEntityList_MyEntityListInfoItem {
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "BlockCount", default)]
pub block_count: crate::compat::BitAligned<i32>,
#[serde(rename = "PCU", default)]
pub PCU: crate::compat::Nullable<crate::compat::BitAligned<i32>>,
#[serde(rename = "Mass", default)]
pub mass: crate::compat::BitAligned<f32>,
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[serde(rename = "OwnerName", default)]
pub owner_name: crate::compat::VarString,
#[serde(rename = "Owner", default)]
pub owner: crate::compat::BitAligned<i64>,
#[serde(rename = "Speed", default)]
pub speed: crate::compat::BitAligned<f32>,
#[serde(rename = "DistanceFromPlayers", default)]
pub distance_from_players: crate::compat::BitAligned<f32>,
#[serde(rename = "OwnerLoginTime", default)]
pub owner_login_time: crate::compat::BitAligned<f32>,
#[serde(rename = "OwnerLogoutTime", default)]
pub owner_logout_time: crate::compat::Nullable<crate::compat::BitAligned<f32>>,
#[serde(rename = "PlayerPresenceTier", default)]
pub player_presence_tier: MyUpdateTiersPlayerPresence,
#[serde(rename = "GridPresenceTier", default)]
pub grid_presence_tier: MyUpdateTiersGridPresence,
#[serde(rename = "IsReplicated", default)]
pub is_replicated: crate::compat::Nullable<crate::compat::BitBool>,
#[serde(rename = "IsGrid", default)]
pub is_grid: crate::compat::BitBool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ForageableItemInfo")]
pub struct MySessionComponentTrash_ForageableItemInfo {
#[serde(rename = "ItemID", default)]
pub item_i_d: crate::compat::BitAligned<i32>,
#[serde(rename = "SectorID", default)]
pub sector_i_d: crate::compat::BitAligned<i64>,
#[serde(rename = "PlanetID", default)]
pub planet_i_d: crate::compat::BitAligned<i64>,
#[serde(rename = "WorldAABB")]
pub world_aab_b: crate::math::BoundingBoxD,
#[serde(rename = "WorldPosition")]
pub world_position: crate::math::Vector3D,
#[serde(rename = "RemovedAt", default)]
pub removed_at: crate::compat::TimeSpan,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "Category")]
pub enum MySessionComponentWarningSystem_Category {
#[default]
#[deku(id = "0")]
Graphics,
#[deku(id = "1")]
Blocks,
#[deku(id = "2")]
Other,
#[deku(id = "3")]
UnsafeGrids,
#[deku(id = "4")]
BlockLimits,
#[deku(id = "5")]
Server,
#[deku(id = "6")]
Performance,
#[deku(id = "7")]
General,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "WarningData")]
pub struct MySessionComponentWarningSystem_WarningData {
#[serde(rename = "LastOccurence", default)]
pub last_occurence: crate::compat::Nullable<crate::compat::DateTime>,
#[serde(rename = "Category", default)]
pub category: MySessionComponentWarningSystem_Category,
#[serde(rename = "TitleIdKey", default)]
pub title_id_key: crate::compat::VarString,
#[serde(rename = "TitleString", default)]
pub title_string: crate::compat::VarString,
#[serde(rename = "DescriptionIdKey", default)]
pub description_id_key: crate::compat::VarString,
#[serde(rename = "DescriptionString", default)]
pub description_string: crate::compat::VarString,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyReputationChangeWrapper")]
pub struct MyFactionCollection_MyReputationChangeWrapper {
#[serde(rename = "FactionId", default)]
pub faction_id: crate::compat::BitAligned<i64>,
#[serde(rename = "RepTotal", default)]
pub rep_total: crate::compat::BitAligned<i32>,
#[serde(rename = "Change", default)]
pub change: crate::compat::BitAligned<i32>,
#[serde(rename = "ShowNotification", default)]
pub show_notification: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "ReputationChangeReason")]
pub enum ReputationChangeReason {
#[default]
#[deku(id = "0")]
None,
#[deku(id = "1")]
Hostility,
#[deku(id = "2")]
Contract,
#[deku(id = "3")]
Admin,
#[deku(id = "4")]
Mod,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 4)]
#[serde(rename = "MyFactionStateChange")]
pub enum MyFactionStateChange {
#[default]
#[deku(id = "0")]
RemoveFaction,
#[deku(id = "1")]
SendPeaceRequest,
#[deku(id = "2")]
CancelPeaceRequest,
#[deku(id = "3")]
AcceptPeace,
#[deku(id = "4")]
DeclareWar,
#[deku(id = "5")]
SendFriendRequest,
#[deku(id = "6")]
CancelFriendRequest,
#[deku(id = "7")]
AcceptFriendRequest,
#[deku(id = "8")]
FactionMemberSendJoin,
#[deku(id = "9")]
FactionMemberCancelJoin,
#[deku(id = "10")]
FactionMemberAcceptJoin,
#[deku(id = "11")]
FactionMemberKick,
#[deku(id = "12")]
FactionMemberPromote,
#[deku(id = "13")]
FactionMemberDemote,
#[deku(id = "14")]
FactionMemberLeave,
#[deku(id = "15")]
FactionMemberNotPossibleJoin,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "AddFactionMsg")]
pub struct MyFactionCollection_AddFactionMsg {
#[proto(tag = 1)]
#[serde(rename = "FounderId", default)]
pub founder_id: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "FactionId", default)]
pub faction_id: crate::compat::BitAligned<i64>,
#[proto(tag = 7)]
#[serde(rename = "FactionTag", default)]
pub faction_tag: crate::compat::VarString,
#[proto(tag = 10)]
#[serde(rename = "FactionName", default)]
pub faction_name: crate::compat::VarString,
#[proto(tag = 13)]
#[serde(rename = "FactionDescription", default)]
pub faction_description: crate::compat::VarString,
#[proto(tag = 16)]
#[serde(rename = "FactionPrivateInfo", default)]
pub faction_private_info: crate::compat::VarString,
#[proto(tag = 19)]
#[serde(rename = "CreateFromDefinition", default)]
pub create_from_definition: crate::compat::BitBool,
#[proto(tag = 25)]
#[serde(rename = "FactionColor")]
pub faction_color: crate::math::SerializableVector3F,
#[proto(tag = 26)]
#[serde(rename = "FactionIconColor")]
pub faction_icon_color: crate::math::SerializableVector3F,
#[proto(tag = 28)]
#[serde(rename = "FactionIconGroupId", default)]
pub faction_icon_group_id: crate::compat::Nullable<SerializableDefinitionId>,
#[proto(tag = 31)]
#[serde(rename = "FactionIconId", default)]
pub faction_icon_id: crate::compat::BitAligned<i32>,
#[proto(tag = 35)]
#[serde(rename = "FactionScore", default)]
pub faction_score: crate::compat::BitAligned<i32>,
#[proto(tag = 38)]
#[serde(rename = "FactionObjectivePercentageCompleted", default)]
pub faction_objective_percentage_completed: crate::compat::BitAligned<f32>,
#[proto(tag = 41)]
#[serde(rename = "isNPCFaction", default)]
pub is_npc_faction: crate::compat::BitBool,
#[proto(tag = 44)]
#[serde(rename = "Type", default)]
pub r#type: crate::compat::VarString,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "PlayerId")]
pub struct MyPlayer_PlayerId {
#[serde(rename = "SteamId", default)]
pub steam_id: crate::compat::BitAligned<u64>,
#[serde(rename = "SerialId", default)]
pub serial_id: crate::compat::BitAligned<i32>,
#[serde(rename = "IsValid", default)]
#[deku(skip)]
pub is_valid: crate::compat::BitBool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "AddMsg")]
pub struct MyGpsCollection_AddMsg {
#[serde(rename = "IdentityId", default)]
pub identity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
#[serde(rename = "Description", default)]
pub description: crate::compat::VarString,
#[serde(rename = "Coords")]
pub coords: crate::math::Vector3D,
#[serde(rename = "ShowOnHud", default)]
pub show_on_hud: crate::compat::BitBool,
#[serde(rename = "IsFinal", default)]
pub is_final: crate::compat::BitBool,
#[serde(rename = "AlwaysVisible", default)]
pub always_visible: crate::compat::BitBool,
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "ContractId", default)]
pub contract_id: crate::compat::BitAligned<i64>,
#[serde(rename = "GPSColor")]
pub gps_color: Color,
#[serde(rename = "IsContainerGPS", default)]
pub is_container_gp_s: crate::compat::BitBool,
#[serde(rename = "PlaySoundOnCreation", default)]
pub play_sound_on_creation: crate::compat::BitBool,
#[serde(rename = "IsObjective", default)]
pub is_objective: crate::compat::BitBool,
#[serde(rename = "IsGlobalEncounterGPS", default)]
pub is_global_encounter_gp_s: crate::compat::BitBool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ModifyMsg")]
pub struct MyGpsCollection_ModifyMsg {
#[serde(rename = "IdentityId", default)]
pub identity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "Hash", default)]
pub hash: crate::compat::BitAligned<i32>,
#[serde(rename = "Name", default)]
pub name: crate::compat::VarString,
#[serde(rename = "Description", default)]
pub description: crate::compat::VarString,
#[serde(rename = "Coords")]
pub coords: crate::math::Vector3D,
#[serde(rename = "GPSColor")]
pub gps_color: Color,
#[serde(rename = "ContractId", default)]
pub contract_id: crate::compat::BitAligned<i64>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "NewPlayerRequestParameters")]
pub struct MyPlayerCollection_NewPlayerRequestParameters {
#[proto(skip)]
#[serde(rename = "ClientSteamId", default)]
pub client_steam_id: crate::compat::BitAligned<u64>,
#[proto(skip)]
#[serde(rename = "PlayerSerialId", default)]
pub player_serial_id: crate::compat::BitAligned<i32>,
#[proto(skip)]
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "PlatformIcon", default)]
pub platform_icon: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "GameAcronym", default)]
pub game_acronym: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "CharacterModel", default)]
pub character_model: crate::compat::VarString,
#[proto(skip)]
#[serde(rename = "RealPlayer", default)]
pub real_player: crate::compat::BitBool,
#[proto(skip)]
#[serde(rename = "InitialPlayer", default)]
pub initial_player: crate::compat::BitBool,
#[proto(skip)]
#[serde(rename = "IsWildlifeEntity", default)]
pub is_wildlife_entity: crate::compat::BitBool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyTypeLimitData")]
pub struct MyBlockLimits_MyTypeLimitData {
#[serde(rename = "BlockPairName", default)]
pub block_pair_name: crate::compat::VarString,
#[serde(rename = "BlocksBuilt", default)]
pub blocks_built: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyGridLimitData")]
pub struct MyBlockLimits_MyGridLimitData {
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "BlocksBuilt", default)]
pub blocks_built: crate::compat::BitAligned<i32>,
#[serde(rename = "PCUBuilt", default)]
pub pcu_built: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "RespawnMsg")]
pub struct MyPlayerCollection_RespawnMsg {
#[serde(rename = "JoinGame", default)]
pub join_game: crate::compat::BitBool,
#[serde(rename = "NewIdentity", default)]
pub new_identity: crate::compat::BitBool,
#[serde(rename = "RespawnEntityId", default)]
pub respawn_entity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "RespawnShipId", default)]
pub respawn_ship_id: crate::compat::VarString,
#[serde(rename = "PlayerSerialId", default)]
pub player_serial_id: crate::compat::BitAligned<i32>,
#[serde(rename = "ModelName", default)]
pub model_name: crate::compat::VarString,
#[serde(rename = "Color")]
pub color: Color,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyStationDebugDrawStructure")]
pub struct MyGuiScreenDebugEconomy_MyStationDebugDrawStructure {
#[serde(rename = "Start")]
pub start: crate::math::SerializableVector3D,
#[serde(rename = "End")]
pub end: crate::math::SerializableVector3D,
#[serde(rename = "TypeId", default)]
pub type_id: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "SpawnAsteroidInfo")]
pub struct MyGuiScreenDebugSpawnMenu_SpawnAsteroidInfo {
#[serde(rename = "Asteroid", default)]
pub asteroid: crate::compat::VarString,
#[serde(rename = "RandomSeed", default)]
pub random_seed: crate::compat::BitAligned<i32>,
#[serde(rename = "WorldMatrix")]
pub world_matrix: crate::math::MatrixD,
#[serde(rename = "IsProcedural", default)]
pub is_procedural: crate::compat::BitBool,
#[serde(rename = "ProceduralRadius", default)]
pub procedural_radius: crate::compat::BitAligned<f32>,
#[serde(rename = "VoxelMaterial", default)]
pub voxel_material: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BoundingBox")]
pub struct BoundingBox {
#[proto(tag = 1)]
#[serde(rename = "Min")]
pub min: crate::math::Vector3F,
#[proto(tag = 4)]
#[serde(rename = "Max")]
pub max: crate::math::Vector3F,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "Entity")]
pub struct Layer_Entity {
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
#[serde(rename = "Bounds", default)]
pub bounds: crate::compat::Nullable<crate::math::BoundingBoxD>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "Layer")]
pub struct MyGuiScreenDebugNetwork_Layer {
#[serde(rename = "Bounds")]
pub bounds: BoundingBox,
#[serde(rename = "Entities", default)]
pub entities: crate::compat::VarVec<Layer_Entity>,
#[serde(rename = "PCU", default)]
pub PCU: crate::compat::BitAligned<i32>,
#[serde(rename = "Enabled", default)]
pub enabled: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "ValidationFailedRecord")]
pub struct ValidationFailedRecord {
#[proto(tag = 1)]
#[serde(rename = "PlayerId", default)]
pub player_id: crate::compat::BitAligned<u64>,
#[proto(tag = 4)]
#[serde(rename = "TimeAgo", default)]
pub time_ago: crate::compat::BitAligned<u32>,
#[proto(tag = 7)]
#[serde(rename = "Explanation", default)]
pub explanation: crate::compat::VarString,
#[proto(tag = 11)]
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<u32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 4)]
#[serde(rename = "MyEntityTypeEnum")]
pub enum MyEntityList_MyEntityTypeEnum {
#[default]
#[deku(id = "0")]
Grids,
#[deku(id = "1")]
SmallGrids,
#[deku(id = "2")]
LargeGrids,
#[deku(id = "3")]
Characters,
#[deku(id = "4")]
FloatingObjects,
#[deku(id = "5")]
Planets,
#[deku(id = "6")]
Asteroids,
#[deku(id = "7")]
Replicated,
#[deku(id = "8")]
NotReplicated,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 4)]
#[serde(rename = "MyEntityCyclingOrder")]
pub enum MyEntityCyclingOrder {
#[default]
#[deku(id = "0")]
Characters,
#[deku(id = "1")]
BiggestGrids,
#[deku(id = "2")]
Fastest,
#[deku(id = "3")]
BiggestDistanceFromPlayers,
#[deku(id = "4")]
MostActiveDrills,
#[deku(id = "5")]
MostActiveReactors,
#[deku(id = "6")]
MostActiveProductionBuildings,
#[deku(id = "7")]
MostActiveSensors,
#[deku(id = "8")]
MostActiveThrusters,
#[deku(id = "9")]
MostWheels,
#[deku(id = "10")]
StaticObjects,
#[deku(id = "11")]
FloatingObjects,
#[deku(id = "12")]
Gps,
#[deku(id = "13")]
Planets,
#[deku(id = "14")]
OwnerLoginTime,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "CyclingOptions")]
pub struct CyclingOptions {
#[serde(rename = "Enabled", default)]
pub enabled: crate::compat::BitBool,
#[serde(rename = "OnlySmallGrids", default)]
pub only_small_grids: crate::compat::BitBool,
#[serde(rename = "OnlyLargeGrids", default)]
pub only_large_grids: crate::compat::BitBool,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 2)]
#[serde(rename = "EntityListAction")]
pub enum MyEntityList_EntityListAction {
#[default]
#[deku(id = "0")]
Remove,
#[deku(id = "1")]
Stop,
#[deku(id = "2")]
Depower,
#[deku(id = "3")]
Power,
}
#[::enumflags2::bitflags(default = Stationary | Linear | Accelerating | WithBlockCount | DistanceFromPlayer | RevertMaterials | RevertAsteroids)]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MyTrashRemovalFlags")]
pub enum MyTrashRemovalFlags {
Fixed = 1,
Stationary = 2,
Linear = 8,
Accelerating = 16,
Powered = 32,
Controlled = 64,
WithProduction = 128,
WithMedBay = 256,
WithBlockCount = 512,
DistanceFromPlayer = 1024,
RevertMaterials = 2048,
RevertAsteroids = 4096,
RevertWithFloatingsPresent = 8192,
Indestructible = 16384,
RevertBoulders = 32768,
RevertCloseToNPCGrids = 65536,
}
impl MyTrashRemovalFlags {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
pub const DEFAULT: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{Stationary | Linear | Accelerating | WithBlockCount | DistanceFromPlayer | RevertMaterials | RevertAsteroids});
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "AdminSettingsEnum")]
pub enum AdminSettingsEnum {
Invulnerable = 1,
ShowPlayers = 2,
UseTerminals = 4,
Untargetable = 8,
KeepOriginalOwnershipOnPaste = 16,
IgnoreSafeZones = 32,
IgnorePcu = 64,
}
impl AdminSettingsEnum {
pub const NONE: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::EMPTY;
pub const MODERATOR_ACCESS: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{ShowPlayers | KeepOriginalOwnershipOnPaste});
pub const SPACE_MASTER_ACCESS: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{UseTerminals});
pub const ADMIN_ONLY: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{Invulnerable | Untargetable | IgnoreSafeZones | IgnorePcu});
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "AdminSettings")]
pub struct MyGuiScreenAdminMenu_AdminSettings {
#[serde(rename = "Flags")]
pub flags: crate::compat::BitField<MyTrashRemovalFlags>,
#[serde(rename = "Enable", default)]
pub enable: crate::compat::BitBool,
#[serde(rename = "BlockCount", default)]
pub block_count: crate::compat::BitAligned<i32>,
#[serde(rename = "PlayerDistance", default)]
pub player_distance: crate::compat::BitAligned<f32>,
#[serde(rename = "GridCount", default)]
pub grid_count: crate::compat::BitAligned<i32>,
#[serde(rename = "PlayerInactivity", default)]
pub player_inactivity: crate::compat::BitAligned<f32>,
#[serde(rename = "CharacterRemovalThreshold", default)]
pub character_removal_threshold: crate::compat::BitAligned<i32>,
#[serde(rename = "AfkTimeout", default)]
pub afk_timeout: crate::compat::BitAligned<i32>,
#[serde(rename = "StopGridsPeriod", default)]
pub stop_grids_period: crate::compat::BitAligned<i32>,
#[serde(rename = "RemoveOldIdentities", default)]
pub remove_old_identities: crate::compat::BitAligned<i32>,
#[serde(rename = "VoxelEnable", default)]
pub voxel_enable: crate::compat::BitBool,
#[serde(rename = "VoxelDistanceFromPlayer", default)]
pub voxel_distance_from_player: crate::compat::BitAligned<f32>,
#[serde(rename = "VoxelDistanceFromGrid", default)]
pub voxel_distance_from_grid: crate::compat::BitAligned<f32>,
#[serde(rename = "VoxelAge", default)]
pub voxel_age: crate::compat::BitAligned<i32>,
#[serde(rename = "TrashCleanerCargoBagsMaxLiveTime", default)]
pub trash_cleaner_cargo_bags_max_live_time: crate::compat::BitAligned<i32>,
#[serde(rename = "MaxCargoBags", default)]
pub max_cargo_bags: crate::compat::BitAligned<i32>,
#[serde(rename = "ResetForageableItems", default)]
pub reset_forageable_items: crate::compat::BitBool,
#[serde(rename = "ResetForageableItemsTimeM", default)]
pub reset_forageable_items_time_m: crate::compat::BitAligned<i32>,
#[serde(rename = "ResetForageableItemsDistance", default)]
pub reset_forageable_items_distance: crate::compat::BitAligned<i32>,
#[serde(rename = "AdminSettingsFlags")]
pub admin_settings_flags: crate::compat::BitField<AdminSettingsEnum>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyEntityListShortInfoItem")]
pub struct MyEntityList_MyEntityListShortInfoItem {
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "GridBuiltByIdInfo")]
pub struct MyTerminalInfoController_GridBuiltByIdInfo {
#[serde(rename = "GridName", default)]
pub grid_name: crate::compat::VarString,
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "PCUBuilt", default)]
pub pcu_built: crate::compat::BitAligned<i32>,
#[serde(rename = "BlockCount", default)]
pub block_count: crate::compat::BitAligned<i32>,
#[serde(rename = "UnsafeBlocks", default)]
pub unsafe_blocks: crate::compat::VarVec<crate::compat::VarString>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyTradeResponseReason")]
pub enum MyTradeResponseReason {
#[default]
#[deku(id = "0")]
AlreadyTrading,
#[deku(id = "1")]
Offline,
#[deku(id = "2")]
Dead,
#[deku(id = "3")]
Ok,
#[deku(id = "4")]
Cancel,
#[deku(id = "5")]
Abort,
#[deku(id = "6")]
Complete,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_SubmitOffer")]
pub struct MyObjectBuilder_SubmitOffer {
#[proto(skip)]
#[serde(rename = "InventoryItems", default)]
pub inventory_items: crate::compat::VarVec<MyObjectBuilder_InventoryItem>,
#[proto(skip)]
#[serde(rename = "CurrencyAmount", default)]
pub currency_amount: crate::compat::BitAligned<i64>,
#[proto(skip)]
#[serde(rename = "PCUAmount", default)]
pub pcu_amount: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyCreateCoordSysBuffer")]
pub struct MyCoordinateSystem_MyCreateCoordSysBuffer {
#[serde(rename = "Id", default)]
pub id: crate::compat::BitAligned<i64>,
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[serde(rename = "Rotation")]
pub rotation: crate::math::Quaternion,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 3)]
#[serde(rename = "ChatChannel")]
pub enum ChatChannel {
#[default]
#[deku(id = "0")]
Global,
#[deku(id = "1")]
GlobalScripted,
#[deku(id = "2")]
Faction,
#[deku(id = "3")]
Private,
#[deku(id = "4")]
ChatBot,
#[deku(id = "5")]
BroadcastController,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyUnifiedChatItem")]
pub struct MyUnifiedChatItem {
#[serde(rename = "AuthorFont", default)]
pub author_font: crate::compat::VarString,
#[serde(rename = "Text", default)]
pub text: crate::compat::VarString,
#[serde(rename = "Timestamp", default)]
pub timestamp: crate::compat::DateTime,
#[serde(rename = "Channel", default)]
pub channel: ChatChannel,
#[serde(rename = "CustomAuthor", default)]
pub custom_author: crate::compat::VarString,
#[serde(rename = "SenderId", default)]
pub sender_id: crate::compat::BitAligned<i64>,
#[serde(rename = "TargetId", default)]
pub target_id: crate::compat::BitAligned<i64>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 4)]
#[serde(rename = "MyGameInventoryItemSlot")]
pub enum MyGameInventoryItemSlot {
#[default]
#[deku(id = "0")]
None,
#[deku(id = "1")]
Face,
#[deku(id = "2")]
Helmet,
#[deku(id = "3")]
Gloves,
#[deku(id = "4")]
Boots,
#[deku(id = "5")]
Suit,
#[deku(id = "6")]
Rifle,
#[deku(id = "7")]
Welder,
#[deku(id = "8")]
Grinder,
#[deku(id = "9")]
Drill,
#[deku(id = "10")]
Emote,
#[deku(id = "11")]
Armor,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "TransferMessageData")]
pub struct MyBlockLimits_TransferMessageData {
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "GridName", default)]
pub grid_name: crate::compat::VarString,
#[serde(rename = "BlocksBuilt", default)]
pub blocks_built: crate::compat::BitAligned<i32>,
#[serde(rename = "PCUBuilt", default)]
pub pcu_built: crate::compat::BitAligned<i32>,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyHitIndicatorTarget")]
pub enum MySession_MyHitIndicatorTarget {
#[default]
#[deku(id = "0")]
Character,
#[deku(id = "1")]
Headshot,
#[deku(id = "2")]
Kill,
#[deku(id = "3")]
Grid,
#[deku(id = "4")]
Other,
#[deku(id = "5")]
Friend,
#[deku(id = "6")]
None,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u8", bits = 3)]
#[serde(rename = "ProfilingBlockType")]
pub enum MySimpleProfiler_ProfilingBlockType {
#[default]
#[deku(id = "0")]
GPU,
#[deku(id = "1")]
MOD,
#[deku(id = "2")]
BLOCK,
#[deku(id = "3")]
RENDER,
#[deku(id = "4")]
OTHER,
#[deku(id = "5")]
INTERNAL,
#[deku(id = "6")]
INTERNALGPU,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "MyObjectSeedType")]
pub enum MyObjectSeedType {
#[default]
#[deku(id = "0")]
Empty,
#[deku(id = "1")]
Asteroid,
#[deku(id = "2")]
AsteroidCluster,
#[deku(id = "3")]
EncounterAlone,
#[deku(id = "4")]
EncounterSingle,
#[deku(id = "5")]
Planet,
#[deku(id = "6")]
Moon,
#[deku(id = "7")]
Station,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite, Hash, Eq, PartialOrd, Ord)]
#[serde(rename = "MyObjectSeedParams")]
pub struct MyObjectSeedParams {
#[proto(tag = 1)]
#[serde(rename = "Index", default)]
pub index: crate::compat::BitAligned<i32>,
#[proto(tag = 4)]
#[serde(rename = "Seed", default)]
pub seed: crate::compat::BitAligned<i32>,
#[proto(tag = 7)]
#[serde(rename = "Type", default)]
pub r#type: MyObjectSeedType,
#[proto(tag = 10)]
#[serde(rename = "Generated", default)]
pub generated: crate::compat::BitBool,
#[proto(tag = 13)]
#[serde_inline_default(crate::compat::BitAligned(-1))]
#[serde(rename = "m_proxyId")]
pub m_proxy_id: crate::compat::BitAligned<i32>,
#[proto(tag = 16)]
#[serde(rename = "GeneratorSeed", default)]
pub generator_seed: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "Author")]
pub struct MyCubeBuilder_Author {
#[serde(rename = "EntityId", default)]
pub entity_id: crate::compat::BitAligned<i64>,
#[serde(rename = "IdentityId", default)]
pub identity_id: crate::compat::BitAligned<i64>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "BuildData")]
pub struct MyCubeBuilder_BuildData {
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[serde(rename = "Forward")]
pub forward: crate::math::Vector3F,
#[serde(rename = "Up")]
pub up: crate::math::Vector3F,
#[serde(rename = "AbsolutePosition", default)]
pub absolute_position: crate::compat::BitBool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "GridSpawnRequestData")]
pub struct MyCubeBuilder_GridSpawnRequestData {
#[serde(rename = "Author")]
pub author: MyCubeBuilder_Author,
#[serde(rename = "Definition")]
pub definition: DefinitionIdBlit,
#[serde(rename = "Position")]
pub position: MyCubeBuilder_BuildData,
#[serde(rename = "InstantBuild", default)]
pub instant_build: crate::compat::BitBool,
#[serde(rename = "ForceStatic", default)]
pub force_static: crate::compat::BitBool,
#[serde(rename = "Visuals")]
pub visuals: MyCubeGrid_MyBlockVisuals,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "RelativeOffset")]
pub struct MyCubeGrid_RelativeOffset {
#[serde(rename = "Use", default)]
pub r#use: crate::compat::BitBool,
#[serde(rename = "RelativeToEntity", default)]
pub relative_to_entity: crate::compat::BitBool,
#[serde(rename = "SpawnerId", default)]
pub spawner_id: crate::compat::BitAligned<i64>,
#[serde(rename = "OriginalSpawnPoint")]
pub original_spawn_point: crate::math::Vector3D,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyPasteGridParameters")]
pub struct MyCubeGrid_MyPasteGridParameters {
#[serde(rename = "Entities", default)]
pub entities: crate::compat::VarVec<MyObjectBuilder_CubeGrid>,
#[serde(rename = "ClientsideDLCs", default)]
pub clientside_dl_cs: crate::compat::VarVec<crate::compat::BitAligned<u64>>,
#[serde(rename = "DetectDisconnects", default)]
pub detect_disconnects: crate::compat::BitBool,
#[serde(rename = "InstantBuild", default)]
pub instant_build: crate::compat::BitBool,
#[serde(rename = "ObjectVelocity")]
pub object_velocity: crate::math::Vector3F,
#[serde(rename = "Offset")]
pub offset: MyCubeGrid_RelativeOffset,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MySingleOwnershipRequest")]
pub struct MyCubeGrid_MySingleOwnershipRequest {
#[proto(tag = 28)]
#[serde(rename = "BlockId", default)]
pub block_id: crate::compat::BitAligned<i64>,
#[proto(tag = 31)]
#[serde(rename = "Owner", default)]
pub owner: crate::compat::BitAligned<i64>,
#[proto(tag = 50)]
#[serde(rename = "Sender", default)]
pub sender: crate::compat::BitAligned<u64>,
#[proto(tag = 55)]
#[serde(rename = "BatchGuid", default)]
pub batch_guid: crate::compat::Guid,
#[proto(tag = 60)]
#[serde(rename = "GridId", default)]
pub grid_id: crate::compat::BitAligned<i64>,
#[proto(tag = 65)]
#[serde(rename = "ShareMode", default)]
pub share_mode: MyOwnershipShareModeEnum,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_FloatingObject")]
pub struct MyObjectBuilder_FloatingObject {
#[proto(tag = 1)]
#[serde(rename = "Item", default)]
pub item: MyObjectBuilder_InventoryItem,
#[proto(tag = 4)]
#[serde(rename = "ModelVariant", default)]
pub model_variant: crate::compat::BitAligned<i32>,
#[proto(tag = 7)]
#[serde(rename = "OreSubtypeId", default)]
pub ore_subtype_id: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 1)]
#[serde(rename = "MySafeZoneAccess")]
pub enum MySafeZoneAccess {
#[default]
#[deku(id = "0")]
Whitelist,
#[deku(id = "1")]
Blacklist,
}
#[::enumflags2::bitflags]
#[repr(u32)]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize)]
#[serde(rename = "MySafeZoneAction")]
pub enum MySafeZoneAction {
Damage = 1,
Shooting = 2,
Drilling = 4,
Welding = 8,
Grinding = 16,
VoxelHand = 32,
Building = 64,
LandingGearLock = 128,
ConvertToStation = 256,
BuildingProjections = 512,
}
impl MySafeZoneAction {
pub const ALL: ::enumflags2::BitFlags<Self> = ::enumflags2::BitFlags::<Self>::ALL;
pub const ADMIN_IGNORE: ::enumflags2::BitFlags<Self> = ::enumflags2::make_bitflags!(Self::{Shooting | Drilling | Welding | Grinding | VoxelHand | Building | ConvertToStation | BuildingProjections});
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 1)]
#[serde(rename = "MySafeZoneShape")]
pub enum MySafeZoneShape {
#[default]
#[deku(id = "0")]
Sphere,
#[deku(id = "1")]
Box,
}
#[::serde_inline_default::serde_inline_default]
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyObjectBuilder_SafeZone")]
pub struct MyObjectBuilder_SafeZone {
#[proto(tag = 1)]
#[serde_inline_default(crate::compat::BitAligned(50f32))]
#[serde(rename = "Radius")]
pub radius: crate::compat::BitAligned<f32>,
#[proto(tag = 4)]
#[serde(rename = "Enabled", default)]
pub enabled: crate::compat::BitBool,
#[proto(tag = 5)]
#[serde(rename = "SafeZoneBlockId", default)]
pub safe_zone_block_id: crate::compat::BitAligned<i64>,
#[proto(tag = 7)]
#[serde(rename = "AccessTypePlayers", default)]
pub access_type_players: MySafeZoneAccess,
#[proto(tag = 10)]
#[serde(rename = "AccessTypeFactions", default)]
pub access_type_factions: MySafeZoneAccess,
#[proto(tag = 13)]
#[serde(rename = "AccessTypeGrids", default)]
pub access_type_grids: MySafeZoneAccess,
#[proto(tag = 16)]
#[serde(rename = "AccessTypeFloatingObjects", default)]
pub access_type_floating_objects: MySafeZoneAccess,
#[proto(tag = 19)]
#[serde(rename = "AllowedActions")]
pub allowed_actions: crate::compat::BitField<MySafeZoneAction>,
#[proto(tag = 22)]
#[serde(rename = "Factions", default)]
pub factions: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 25)]
#[serde(rename = "Players", default)]
pub players: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 28)]
#[serde(rename = "Entities", default)]
pub entities: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 31)]
#[serde(rename = "Size")]
pub size: crate::math::Vector3F,
#[proto(tag = 34)]
#[serde(rename = "Shape", default)]
pub shape: MySafeZoneShape,
#[proto(tag = 37)]
#[serde(rename = "DisplayName", default)]
pub display_name: crate::compat::VarString,
#[proto(tag = 40)]
#[serde(rename = "ContainedEntities", default)]
pub contained_entities: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 41)]
#[serde(rename = "ContainedGrids", default)]
pub contained_grids: crate::compat::VarVec<crate::compat::BitAligned<i64>>,
#[proto(tag = 43)]
#[serde(rename = "IsVisible", default)]
pub is_visible: crate::compat::BitBool,
#[proto(tag = 46)]
#[serde(rename = "ModelColor")]
pub model_color: crate::math::SerializableVector3F,
#[proto(tag = 49)]
#[serde(rename = "Texture", default)]
pub texture: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyHitInfo")]
pub struct MyHitInfo {
#[proto(tag = 1)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3D,
#[proto(tag = 4)]
#[serde(rename = "Normal")]
pub normal: crate::math::Vector3F,
#[proto(tag = 7)]
#[serde(rename = "Velocity")]
pub velocity: crate::math::Vector3D,
#[proto(tag = 10)]
#[serde(rename = "ShapeKey", default)]
pub shape_key: crate::compat::BitAligned<u32>,
}
#[::proto_rs::proto_message]
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "DoDamageSlimBlockMsg")]
pub struct MySlimBlock_DoDamageSlimBlockMsg {
#[proto(tag = 1)]
#[serde(rename = "GridEntityId", default)]
pub grid_entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 4)]
#[serde(rename = "Position")]
pub position: crate::math::Vector3I,
#[proto(tag = 7)]
#[serde(rename = "Damage", default)]
pub damage: crate::compat::BitAligned<f32>,
#[proto(tag = 10)]
#[serde(rename = "Type")]
pub r#type: MyStringHash,
#[proto(tag = 13)]
#[serde(rename = "HitInfo", default)]
pub hit_info: crate::compat::Nullable<MyHitInfo>,
#[proto(tag = 16)]
#[serde(rename = "AttackerEntityId", default)]
pub attacker_entity_id: crate::compat::BitAligned<i64>,
#[proto(tag = 22)]
#[serde(rename = "ExtraInfo")]
pub extra_info: MyStringHash,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 6)]
#[serde(rename = "RenderProfilerCommand")]
pub enum RenderProfilerCommand {
#[default]
#[deku(id = "0")]
Enable,
#[deku(id = "1")]
ToggleEnabled,
#[deku(id = "2")]
JumpToLevel,
#[deku(id = "3")]
JumpToRoot,
#[deku(id = "4")]
Pause,
#[deku(id = "5")]
NextFrame,
#[deku(id = "6")]
PreviousFrame,
#[deku(id = "7")]
DisableFrameSelection,
#[deku(id = "8")]
NextThread,
#[deku(id = "9")]
PreviousThread,
#[deku(id = "10")]
IncreaseLevel,
#[deku(id = "11")]
DecreaseLevel,
#[deku(id = "12")]
IncreaseLocalArea,
#[deku(id = "13")]
DecreaseLocalArea,
#[deku(id = "14")]
IncreaseRange,
#[deku(id = "15")]
DecreaseRange,
#[deku(id = "16")]
Reset,
#[deku(id = "17")]
SetLevel,
#[deku(id = "18")]
ChangeSortingOrder,
#[deku(id = "19")]
CopyPathToClipboard,
#[deku(id = "20")]
TryGoToPathInClipboard,
#[deku(id = "21")]
GetFomServer,
#[deku(id = "22")]
GetFromClient,
#[deku(id = "23")]
SaveToFile,
#[deku(id = "24")]
LoadFromFile,
#[deku(id = "25")]
SwapBlockOptimized,
#[deku(id = "26")]
ToggleOptimizationsEnabled,
#[deku(id = "27")]
ResetAllOptimizations,
#[deku(id = "28")]
SwitchBlockRender,
#[deku(id = "29")]
SwitchGraphContent,
#[deku(id = "30")]
SwitchShallowProfile,
#[deku(id = "31")]
ToggleAutoScale,
#[deku(id = "32")]
SwitchAverageTimes,
#[deku(id = "33")]
SubtractFromFile,
#[deku(id = "34")]
EnableAutoScale,
#[deku(id = "35")]
EnableShallowProfile,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "RespawnCooldownEntry")]
pub struct MySpaceRespawnComponent_RespawnCooldownEntry {
#[serde(rename = "ControllerId", default)]
pub controller_id: crate::compat::BitAligned<i32>,
#[serde(rename = "ShipId", default)]
pub ship_id: crate::compat::VarString,
#[serde(rename = "RelativeRespawnTime", default)]
pub relative_respawn_time: crate::compat::BitAligned<i32>,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MOTDData")]
pub struct MySpaceRespawnComponent_MOTDData {
#[serde(rename = "Url", default)]
pub url: crate::compat::VarString,
#[serde(rename = "Message", default)]
pub message: crate::compat::VarString,
#[serde(rename = "HasMessage", default)]
#[deku(skip)]
pub has_message: crate::compat::BitBool,
#[serde(rename = "HasUrl", default)]
#[deku(skip)]
pub has_url: crate::compat::BitBool,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyRespawnPointInfo")]
pub struct MySpaceRespawnComponent_MyRespawnPointInfo {
#[serde(rename = "MedicalRoomId", default)]
pub medical_room_id: crate::compat::BitAligned<i64>,
#[serde(rename = "MedicalRoomGridId", default)]
pub medical_room_grid_id: crate::compat::BitAligned<i64>,
#[serde(rename = "MedicalRoomName", default)]
pub medical_room_name: crate::compat::VarString,
#[serde(rename = "OxygenLevel", default)]
pub oxygen_level: crate::compat::BitAligned<f32>,
#[serde(rename = "OwnerId", default)]
pub owner_id: crate::compat::BitAligned<i64>,
#[serde(rename = "PrefferedCameraPosition")]
pub preffered_camera_position: crate::math::Vector3D,
#[serde(rename = "MedicalRoomPosition")]
pub medical_room_position: crate::math::Vector3D,
#[serde(rename = "MedicalRoomUp")]
pub medical_room_up: crate::math::Vector3D,
#[serde(rename = "MedicalRoomVelocity")]
pub medical_room_velocity: crate::math::Vector3F,
}
#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[serde(rename = "MyPlanetInfo")]
pub struct MyGuiScreenMedicals_MyPlanetInfo {
#[serde(rename = "PlanetId", default)]
pub planet_id: crate::compat::BitAligned<i64>,
#[serde(rename = "PlanetName", default)]
pub planet_name: crate::compat::VarString,
#[serde(rename = "WorldAABB")]
pub world_aab_b: crate::math::BoundingBoxD,
#[serde(rename = "Gravity", default)]
pub gravity: crate::compat::BitAligned<f32>,
#[serde(rename = "OxygenLevel", default)]
pub oxygen_level: crate::compat::BitAligned<f32>,
#[serde(rename = "Difficulty", default)]
pub difficulty: crate::compat::VarString,
#[serde(rename = "DropPodForDetail", default)]
pub drop_pod_for_detail: crate::compat::VarString,
#[serde(rename = "RespawnShipForCooldownCheck", default)]
pub respawn_ship_for_cooldown_check: crate::compat::VarString,
}
#[::proto_rs::proto_message]
#[derive(Default, Debug, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord, ::serde::Serialize, ::serde::Deserialize, ::deku::DekuRead, ::deku::DekuWrite)]
#[deku(id_type = "u32", bits = 3)]
#[serde(rename = "StatType")]
pub enum MyGuiScreenDebugCharacterStats_StatType {
#[default]
#[deku(id = "0")]
Health,
#[deku(id = "1")]
Radiation,
#[deku(id = "2")]
RadiationImmunity,
#[deku(id = "3")]
Oxygen,
#[deku(id = "4")]
Hydrogen,
#[deku(id = "5")]
Energy,
#[deku(id = "6")]
Food,
}
pub mod xml_array_item {
crate::compat::define_xml_array_item!(Warning);
crate::compat::define_xml_array_item!(PCI);
crate::compat::define_xml_array_item!(GCI);
crate::compat::define_xml_array_item!(FCI);
crate::compat::define_xml_array_item!(Sector);
}