From 2d32f4f6f494d37656f78395e7ebecf539de0f38 Mon Sep 17 00:00:00 2001 From: monkeyman192 Date: Mon, 15 Dec 2025 19:48:17 +1100 Subject: [PATCH] Update for NMS version 157371 --- nmspy/common.py | 3 +- nmspy/data/basic_types.py | 38 +- nmspy/data/enums/__init__.py | 1 + nmspy/data/enums/internal_enums.py | 8 + nmspy/data/exported_types.py | 26521 +++++++++------------------ nmspy/data/types.py | 294 +- pyproject.toml | 2 +- tools/create.py | 208 +- tools/data.json | 80 + uv.lock | 2 +- 10 files changed, 9456 insertions(+), 17701 deletions(-) diff --git a/nmspy/common.py b/nmspy/common.py index 1380b5f..142893b 100644 --- a/nmspy/common.py +++ b/nmspy/common.py @@ -24,7 +24,8 @@ def game_state(self) -> Optional[nms.cGcGameState]: @property def simulation(self) -> Optional[nms.cGcSimulation]: if self.GcApplication is not None: - return self.GcApplication.mpData.contents.mSimulation + if self.GcApplication.mpData: + return self.GcApplication.mpData.contents.mSimulation @property def player(self) -> Optional[nms.cGcPlayer]: diff --git a/nmspy/data/basic_types.py b/nmspy/data/basic_types.py index db0f72c..a9b4e60 100644 --- a/nmspy/data/basic_types.py +++ b/nmspy/data/basic_types.py @@ -288,8 +288,37 @@ def __hash__(self) -> int: return fnv_1a(str(self), self._size) +class cTkFixedWString(ctypes.Structure): + """Equivalent of cTkFixedString""" + + _size: int + value: bytes + + def set(self, val: str): + """Set the value of the string.""" + new_len = len(val) + self.value = val[: self._size].encode() + (self._size - new_len) * b"\x00" + + def __class_getitem__(cls: type["cTkFixedWString"], key: int): + _cls: type["cTkFixedWString"] = types.new_class( + f"cTkFixedWString<0x{key:X}>", (cls,) + ) + _cls._size = key + _cls._fields_ = [("value", ctypes.c_wchar * key)] + return _cls + + def __str__(self) -> str: + return self.value.decode() + + def __eq__(self, other: str) -> bool: + return str(self) == other + + def __repr__(self) -> str: + return str(self) + + class cTkFixedString(ctypes.Structure): - """Equivalent of MBINCompilers' NMSString0xXXX. Specify the size in bytes.""" + """Equivalent of cTkFixedString""" _size: int value: bytes @@ -601,5 +630,12 @@ def __str__(self): cTkFixedString0x200 = cTkFixedString[0x200] cTkFixedString0x400 = cTkFixedString[0x400] cTkFixedString0x800 = cTkFixedString[0x800] +cTkFixedWString0x20 = cTkFixedWString[0x20] +cTkFixedWString0x40 = cTkFixedWString[0x40] +cTkFixedWString0x80 = cTkFixedWString[0x80] +cTkFixedWString0x100 = cTkFixedWString[0x100] +cTkFixedWString0x200 = cTkFixedWString[0x200] +cTkFixedWString0x400 = cTkFixedWString[0x400] +cTkFixedWString0x800 = cTkFixedWString[0x800] # Vector type aliases cTkBigPos = cTkPhysRelVec3 diff --git a/nmspy/data/enums/__init__.py b/nmspy/data/enums/__init__.py index 15683f3..728b928 100644 --- a/nmspy/data/enums/__init__.py +++ b/nmspy/data/enums/__init__.py @@ -7,6 +7,7 @@ eStormState, eLanguageRegion, EnvironmentLocation, + EPulseDriveState, ) # The following list is auto-generated. diff --git a/nmspy/data/enums/internal_enums.py b/nmspy/data/enums/internal_enums.py index 7915763..a29868d 100644 --- a/nmspy/data/enums/internal_enums.py +++ b/nmspy/data/enums/internal_enums.py @@ -97,3 +97,11 @@ class Enum(IntEnum): InSpaceObject = 0xD Nexus = 0xE Anomaly = 0xF + + +class EPulseDriveState(IntEnum): + None_ = 0x0 + Charge = 0x1 + Jumping = 0x2 + CrashStop = 0x3 + Cooldown = 0x4 diff --git a/nmspy/data/exported_types.py b/nmspy/data/exported_types.py index 525407c..2518a0e 100644 --- a/nmspy/data/exported_types.py +++ b/nmspy/data/exported_types.py @@ -17,9 +17,7 @@ class eFlatteningEnum(IntEnum): Flatten = 0x1 TerrainEdits = 0x2 - Flattening: Annotated[ - c_enum32[eFlatteningEnum], Field(c_enum32[eFlatteningEnum], 0x0) - ] + Flattening: Annotated[c_enum32[eFlatteningEnum], 0x0] class eWaterPlacementEnum(IntEnum): None_ = 0x0 @@ -27,14 +25,12 @@ class eWaterPlacementEnum(IntEnum): Underwater = 0x2 UnderwaterOnly = 0x3 - WaterPlacement: Annotated[ - c_enum32[eWaterPlacementEnum], Field(c_enum32[eWaterPlacementEnum], 0x4) - ] + WaterPlacement: Annotated[c_enum32[eWaterPlacementEnum], 0x4] @partial_struct class cTkNoiseFlattenPoint(Structure): - FlattenType: Annotated[cTkNoiseFlattenOptions, Field(cTkNoiseFlattenOptions, 0x0)] + FlattenType: Annotated[cTkNoiseFlattenOptions, 0x0] Classification: Annotated[int, Field(ctypes.c_int32, 0x8)] Density: Annotated[float, Field(ctypes.c_float, 0xC)] FlattenRadius: Annotated[float, Field(ctypes.c_float, 0x10)] @@ -49,8 +45,8 @@ class cTkNoiseFlattenPoint(Structure): @partial_struct class cTkNoiseFlattenFixedPosition(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - FlattenPoint: Annotated[cTkNoiseFlattenPoint, Field(cTkNoiseFlattenPoint, 0x10)] + Position: Annotated[basic.Vector3f, 0x0] + FlattenPoint: Annotated[cTkNoiseFlattenPoint, 0x10] @partial_struct @@ -64,9 +60,7 @@ class eDebugNoiseTypeEnum(IntEnum): Sine = 0x2 Uber = 0x3 - DebugNoiseType: Annotated[ - c_enum32[eDebugNoiseTypeEnum], Field(c_enum32[eDebugNoiseTypeEnum], 0x8) - ] + DebugNoiseType: Annotated[c_enum32[eDebugNoiseTypeEnum], 0x8] Gain: Annotated[float, Field(ctypes.c_float, 0xC)] Lacunarity: Annotated[float, Field(ctypes.c_float, 0x10)] Octaves: Annotated[int, Field(ctypes.c_int32, 0x14)] @@ -119,7 +113,7 @@ class eNoiseTypeEnum(IntEnum): Glacial = 0x9 Plateau = 0xA - NoiseType: Annotated[c_enum32[eNoiseTypeEnum], Field(c_enum32[eNoiseTypeEnum], 0x8)] + NoiseType: Annotated[c_enum32[eNoiseTypeEnum], 0x8] Octaves: Annotated[int, Field(ctypes.c_int32, 0xC)] RegionRatio: Annotated[float, Field(ctypes.c_float, 0x10)] RegionScale: Annotated[float, Field(ctypes.c_float, 0x14)] @@ -150,28 +144,20 @@ class eFeatureTypeEnum(IntEnum): Tube = 0x0 Blob = 0x1 - FeatureType: Annotated[ - c_enum32[eFeatureTypeEnum], Field(c_enum32[eFeatureTypeEnum], 0x0) - ] + FeatureType: Annotated[c_enum32[eFeatureTypeEnum], 0x0] Height: Annotated[float, Field(ctypes.c_float, 0x4)] HeightOffset: Annotated[float, Field(ctypes.c_float, 0x8)] HeightVarianceAmplitude: Annotated[float, Field(ctypes.c_float, 0xC)] HeightVarianceFrequency: Annotated[float, Field(ctypes.c_float, 0x10)] MaximumLOD: Annotated[int, Field(ctypes.c_int32, 0x14)] Octaves: Annotated[int, Field(ctypes.c_int32, 0x18)] - Offset: Annotated[ - c_enum32[enums.cTkNoiseOffsetEnum], - Field(c_enum32[enums.cTkNoiseOffsetEnum], 0x1C), - ] + Offset: Annotated[c_enum32[enums.cTkNoiseOffsetEnum], 0x1C] Ratio: Annotated[float, Field(ctypes.c_float, 0x20)] RegionSize: Annotated[float, Field(ctypes.c_float, 0x24)] SeedOffset: Annotated[int, Field(ctypes.c_int32, 0x28)] SmoothRadius: Annotated[float, Field(ctypes.c_float, 0x2C)] TileBlendMeters: Annotated[float, Field(ctypes.c_float, 0x30)] - VoxelType: Annotated[ - c_enum32[enums.cTkNoiseVoxelTypeEnum], - Field(c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x34), - ] + VoxelType: Annotated[c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x34] Width: Annotated[float, Field(ctypes.c_float, 0x38)] Active: Annotated[bool, Field(ctypes.c_bool, 0x3C)] Subtract: Annotated[bool, Field(ctypes.c_bool, 0x3D)] @@ -180,50 +166,38 @@ class eFeatureTypeEnum(IntEnum): @partial_struct class cTkNoiseCaveData(Structure): - Mouth: Annotated[cTkNoiseFeatureData, Field(cTkNoiseFeatureData, 0x0)] - Tunnel: Annotated[cTkNoiseFeatureData, Field(cTkNoiseFeatureData, 0x40)] + Mouth: Annotated[cTkNoiseFeatureData, 0x0] + Tunnel: Annotated[cTkNoiseFeatureData, 0x40] @partial_struct class cTkControllerButtonLookup(Structure): - ButtonImageLookupFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ButtonImageLookupFilename: Annotated[basic.VariableSizeString, 0x0] + Id: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkControllerList(Structure): - Controllers: Annotated[ - basic.cTkDynamicArray[cTkControllerButtonLookup], - Field(basic.cTkDynamicArray[cTkControllerButtonLookup], 0x0), - ] + Controllers: Annotated[basic.cTkDynamicArray[cTkControllerButtonLookup], 0x0] @partial_struct class cTkOpenVRControllerLookup(Structure): - DeviceSpec: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - ResetVRViewLayerName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - DeviceKeywords: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] + DeviceSpec: Annotated[basic.VariableSizeString, 0x0] + ResetVRViewLayerName: Annotated[basic.TkID0x10, 0x10] + DeviceKeywords: Annotated[basic.cTkFixedString0x20, 0x20] @partial_struct class cTkPlatformButtonPair(Structure): - ButtonId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - PlatformId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Size: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] + ButtonId: Annotated[basic.TkID0x10, 0x0] + PlatformId: Annotated[basic.TkID0x10, 0x10] + Size: Annotated[basic.Vector2f, 0x20] @partial_struct class cTkOpenVRControllerList(Structure): - Devices: Annotated[ - basic.cTkDynamicArray[cTkOpenVRControllerLookup], - Field(basic.cTkDynamicArray[cTkOpenVRControllerLookup], 0x0), - ] + Devices: Annotated[basic.cTkDynamicArray[cTkOpenVRControllerLookup], 0x0] @partial_struct @@ -234,9 +208,7 @@ class eFeedbackTypeEnum(IntEnum): Weapon = 0x2 Vibration = 0x3 - FeedbackType: Annotated[ - c_enum32[eFeedbackTypeEnum], Field(c_enum32[eFeedbackTypeEnum], 0x0) - ] + FeedbackType: Annotated[c_enum32[eFeedbackTypeEnum], 0x0] Frequency: Annotated[float, Field(ctypes.c_float, 0x4)] Position: Annotated[float, Field(ctypes.c_float, 0x8)] Strength: Annotated[float, Field(ctypes.c_float, 0xC)] @@ -244,8 +216,8 @@ class eFeedbackTypeEnum(IntEnum): @partial_struct class cTkVirtualBindingAltLayer(Structure): - HudLayerID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + HudLayerID: Annotated[basic.TkID0x10, 0x0] + ID: Annotated[basic.TkID0x10, 0x10] @partial_struct @@ -256,12 +228,10 @@ class cGcInputActionMapping(Structure): @partial_struct class cGcInputActionMapping2(Structure): - Action: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x0)] - ActionSet: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - Axis: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60)] - Button: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80)] + Action: Annotated[basic.cTkFixedString0x40, 0x0] + ActionSet: Annotated[basic.cTkFixedString0x20, 0x40] + Axis: Annotated[basic.cTkFixedString0x20, 0x60] + Button: Annotated[basic.cTkFixedString0x20, 0x80] @partial_struct @@ -274,7 +244,7 @@ class cTkImGuiWindowData(Structure): WindowW: Annotated[int, Field(ctypes.c_int32, 0x14)] WindowX: Annotated[int, Field(ctypes.c_int32, 0x18)] WindowY: Annotated[int, Field(ctypes.c_int32, 0x1C)] - Type: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x20)] + Type: Annotated[basic.cTkFixedString0x80, 0x20] WindowMinimised: Annotated[bool, Field(ctypes.c_bool, 0xA0)] WindowOpen: Annotated[bool, Field(ctypes.c_bool, 0xA1)] WindowResize: Annotated[bool, Field(ctypes.c_bool, 0xA2)] @@ -284,10 +254,12 @@ class cTkImGuiWindowData(Structure): @partial_struct class cTkImGuiData(Structure): RecentToolbox: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 10, 0x0) + ] + WindowTable: Annotated[ + tuple[cTkImGuiWindowData, ...], Field(cTkImGuiWindowData * 128, 0xA0) ] - WindowTable: Annotated[cTkImGuiWindowData, Field(cTkImGuiWindowData, 0xA0)] - MainWindow: Annotated[cTkImGuiWindowData, Field(cTkImGuiWindowData, 0x52A0)] + MainWindow: Annotated[cTkImGuiWindowData, 0x52A0] DimensionX: Annotated[int, Field(ctypes.c_int32, 0x5344)] DimensionY: Annotated[int, Field(ctypes.c_int32, 0x5348)] WindowCount: Annotated[int, Field(ctypes.c_int32, 0x534C)] @@ -296,30 +268,30 @@ class cTkImGuiData(Structure): @partial_struct class cTkImGuiSettings(Structure): - ActiveTextColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - ActiveWindowBackgroundColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - ActiveWindowTitleColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - BackgroundColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - ButtonColour: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - ButtonHighlightColour: Annotated[basic.Colour, Field(basic.Colour, 0x50)] - ButtonPressedColour: Annotated[basic.Colour, Field(basic.Colour, 0x60)] - CloseButtonClickColour: Annotated[basic.Colour, Field(basic.Colour, 0x70)] - CloseButtonColour: Annotated[basic.Colour, Field(basic.Colour, 0x80)] - CloseButtonHighlightColour: Annotated[basic.Colour, Field(basic.Colour, 0x90)] - EditBoxActiveColour: Annotated[basic.Colour, Field(basic.Colour, 0xA0)] - EditBoxColour: Annotated[basic.Colour, Field(basic.Colour, 0xB0)] - EditBoxSelectedColour: Annotated[basic.Colour, Field(basic.Colour, 0xC0)] - MinimiseButtonClickColour: Annotated[basic.Colour, Field(basic.Colour, 0xD0)] - MinimiseButtonColour: Annotated[basic.Colour, Field(basic.Colour, 0xE0)] - MinimiseButtonHighlightColour: Annotated[basic.Colour, Field(basic.Colour, 0xF0)] - TaskBarColour: Annotated[basic.Colour, Field(basic.Colour, 0x100)] - TaskBarShadow: Annotated[basic.Colour, Field(basic.Colour, 0x110)] - TextColour: Annotated[basic.Colour, Field(basic.Colour, 0x120)] - TextDisabledColour: Annotated[basic.Colour, Field(basic.Colour, 0x130)] - TextShadowColour: Annotated[basic.Colour, Field(basic.Colour, 0x140)] - WindowBackgroundColour: Annotated[basic.Colour, Field(basic.Colour, 0x150)] - WindowHighlight: Annotated[basic.Colour, Field(basic.Colour, 0x160)] - WindowTitleColour: Annotated[basic.Colour, Field(basic.Colour, 0x170)] + ActiveTextColour: Annotated[basic.Colour, 0x0] + ActiveWindowBackgroundColour: Annotated[basic.Colour, 0x10] + ActiveWindowTitleColour: Annotated[basic.Colour, 0x20] + BackgroundColour: Annotated[basic.Colour, 0x30] + ButtonColour: Annotated[basic.Colour, 0x40] + ButtonHighlightColour: Annotated[basic.Colour, 0x50] + ButtonPressedColour: Annotated[basic.Colour, 0x60] + CloseButtonClickColour: Annotated[basic.Colour, 0x70] + CloseButtonColour: Annotated[basic.Colour, 0x80] + CloseButtonHighlightColour: Annotated[basic.Colour, 0x90] + EditBoxActiveColour: Annotated[basic.Colour, 0xA0] + EditBoxColour: Annotated[basic.Colour, 0xB0] + EditBoxSelectedColour: Annotated[basic.Colour, 0xC0] + MinimiseButtonClickColour: Annotated[basic.Colour, 0xD0] + MinimiseButtonColour: Annotated[basic.Colour, 0xE0] + MinimiseButtonHighlightColour: Annotated[basic.Colour, 0xF0] + TaskBarColour: Annotated[basic.Colour, 0x100] + TaskBarShadow: Annotated[basic.Colour, 0x110] + TextColour: Annotated[basic.Colour, 0x120] + TextDisabledColour: Annotated[basic.Colour, 0x130] + TextShadowColour: Annotated[basic.Colour, 0x140] + WindowBackgroundColour: Annotated[basic.Colour, 0x150] + WindowHighlight: Annotated[basic.Colour, 0x160] + WindowTitleColour: Annotated[basic.Colour, 0x170] AltPlacementDistanceScrollSpeed: Annotated[float, Field(ctypes.c_float, 0x180)] ScrollSpeed: Annotated[float, Field(ctypes.c_float, 0x184)] @@ -347,137 +319,105 @@ class eRestrictionEnum(IntEnum): AtLeast = 0x1 AtLeastIfICan = 0x2 - Restriction: Annotated[ - c_enum32[eRestrictionEnum], Field(c_enum32[eRestrictionEnum], 0x4) - ] + Restriction: Annotated[c_enum32[eRestrictionEnum], 0x4] @partial_struct class cTkLSystemGlobalRestriction(Structure): - Model: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Restrictions: Annotated[ - basic.cTkDynamicArray[cTkLSystemRestrictionData], - Field(basic.cTkDynamicArray[cTkLSystemRestrictionData], 0x10), - ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] + Model: Annotated[basic.VariableSizeString, 0x0] + Restrictions: Annotated[basic.cTkDynamicArray[cTkLSystemRestrictionData], 0x10] + Name: Annotated[basic.cTkFixedString0x20, 0x20] @partial_struct class cTkLSystemGlobalVariation(Structure): - Model: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Model: Annotated[basic.VariableSizeString, 0x0] Variations: Annotated[int, Field(ctypes.c_int32, 0x10)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x14)] + Name: Annotated[basic.cTkFixedString0x20, 0x14] @partial_struct class cTkLSystemLocatorEntry(Structure): - Model: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Restrictions: Annotated[ - basic.cTkDynamicArray[cTkLSystemRestrictionData], - Field(basic.cTkDynamicArray[cTkLSystemRestrictionData], 0x10), - ] + Model: Annotated[basic.VariableSizeString, 0x0] + Restrictions: Annotated[basic.cTkDynamicArray[cTkLSystemRestrictionData], 0x10] Probability: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cTkLSystemInnerRule(Structure): - Entries: Annotated[ - basic.cTkDynamicArray[cTkLSystemLocatorEntry], - Field(basic.cTkDynamicArray[cTkLSystemLocatorEntry], 0x0), - ] + Entries: Annotated[basic.cTkDynamicArray[cTkLSystemLocatorEntry], 0x0] class eMergeProbabilityOptionsEnum(IntEnum): Balance = 0x0 Prioritize = 0x1 Replace = 0x2 - MergeProbabilityOptions: Annotated[ - c_enum32[eMergeProbabilityOptionsEnum], - Field(c_enum32[eMergeProbabilityOptionsEnum], 0x10), - ] - LocatorType: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x14) - ] + MergeProbabilityOptions: Annotated[c_enum32[eMergeProbabilityOptionsEnum], 0x10] + LocatorType: Annotated[basic.cTkFixedString0x20, 0x14] @partial_struct class cTkLSystemRule(Structure): - Model: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Rules: Annotated[ - basic.cTkDynamicArray[cTkLSystemInnerRule], - Field(basic.cTkDynamicArray[cTkLSystemInnerRule], 0x10), - ] + Model: Annotated[basic.VariableSizeString, 0x0] + Rules: Annotated[basic.cTkDynamicArray[cTkLSystemInnerRule], 0x10] class eRuleTypeEnum(IntEnum): Default = 0x0 BaseRule = 0x1 - RuleType: Annotated[c_enum32[eRuleTypeEnum], Field(c_enum32[eRuleTypeEnum], 0x20)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x24)] + RuleType: Annotated[c_enum32[eRuleTypeEnum], 0x20] + Name: Annotated[basic.cTkFixedString0x20, 0x24] @partial_struct class cTkLSystemRuleTemplate(Structure): - LSystem: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10)] + LSystem: Annotated[basic.VariableSizeString, 0x0] + Name: Annotated[basic.cTkFixedString0x20, 0x10] @partial_struct class cTkLSystemRulesData(Structure): GlobalRestriction: Annotated[ - basic.cTkDynamicArray[cTkLSystemGlobalRestriction], - Field(basic.cTkDynamicArray[cTkLSystemGlobalRestriction], 0x0), - ] - GlobalVariation: Annotated[ - basic.cTkDynamicArray[cTkLSystemGlobalVariation], - Field(basic.cTkDynamicArray[cTkLSystemGlobalVariation], 0x10), - ] - Rules: Annotated[ - basic.cTkDynamicArray[cTkLSystemRule], - Field(basic.cTkDynamicArray[cTkLSystemRule], 0x20), - ] - Templates: Annotated[ - basic.cTkDynamicArray[cTkLSystemRuleTemplate], - Field(basic.cTkDynamicArray[cTkLSystemRuleTemplate], 0x30), + basic.cTkDynamicArray[cTkLSystemGlobalRestriction], 0x0 ] + GlobalVariation: Annotated[basic.cTkDynamicArray[cTkLSystemGlobalVariation], 0x10] + Rules: Annotated[basic.cTkDynamicArray[cTkLSystemRule], 0x20] + Templates: Annotated[basic.cTkDynamicArray[cTkLSystemRuleTemplate], 0x30] @partial_struct class cTkHeavyAirSystem(Structure): - AmplitudeMax: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - AmplitudeMin: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Colour1: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - Colour2: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - FadeSpeedRange: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x40)] - MajorDirection: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x50)] - RotationSpeedRange: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x60)] - ScaleRange: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70)] - TwinkleRange: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x80)] - Material: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x90)] + AmplitudeMax: Annotated[basic.Vector3f, 0x0] + AmplitudeMin: Annotated[basic.Vector3f, 0x10] + Colour1: Annotated[basic.Colour, 0x20] + Colour2: Annotated[basic.Colour, 0x30] + FadeSpeedRange: Annotated[basic.Vector3f, 0x40] + MajorDirection: Annotated[basic.Vector3f, 0x50] + RotationSpeedRange: Annotated[basic.Vector3f, 0x60] + ScaleRange: Annotated[basic.Vector3f, 0x70] + TwinkleRange: Annotated[basic.Vector3f, 0x80] + Material: Annotated[basic.VariableSizeString, 0x90] Colour1Alpha: Annotated[float, Field(ctypes.c_float, 0xA0)] Colour2Alpha: Annotated[float, Field(ctypes.c_float, 0xA4)] @partial_struct class cTkIdSceneFilename(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Filename: Annotated[basic.VariableSizeString, 0x0] + Id: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkMagicModelData(Structure): - Centre: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Vertices: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x10), - ] + Centre: Annotated[basic.Vector3f, 0x0] + Vertices: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x10] Radius: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cTkInputFrame(Structure): - LeftStick: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] - RightStick: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x8)] + LeftStick: Annotated[basic.Vector2f, 0x0] + RightStick: Annotated[basic.Vector2f, 0x8] LeftTrigger: Annotated[float, Field(ctypes.c_float, 0x10)] RightTrigger: Annotated[float, Field(ctypes.c_float, 0x14)] Buttons: Annotated[int, Field(ctypes.c_int16, 0x18)] @@ -485,16 +425,13 @@ class cTkInputFrame(Structure): @partial_struct class cTkProductIdArray(Structure): - Array: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Array: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct class cTkFoliageData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Material: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + Colour: Annotated[basic.Colour, 0x0] + Material: Annotated[basic.VariableSizeString, 0x10] AngleMultiplier: Annotated[float, Field(ctypes.c_float, 0x20)] Density: Annotated[float, Field(ctypes.c_float, 0x24)] DensityVariance: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -510,22 +447,13 @@ class cTkRawID(Structure): @partial_struct class cTkSketchNodeConnections(Structure): - Connections: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint32], - Field(basic.cTkDynamicArray[ctypes.c_uint32], 0x0), - ] + Connections: Annotated[basic.cTkDynamicArray[ctypes.c_uint32], 0x0] @partial_struct class cTkSketchNodeData(Structure): - Connections: Annotated[ - basic.cTkDynamicArray[cTkSketchNodeConnections], - Field(basic.cTkDynamicArray[cTkSketchNodeConnections], 0x0), - ] - CustomData: Annotated[ - basic.cTkDynamicArray[ctypes.c_byte], - Field(basic.cTkDynamicArray[ctypes.c_byte], 0x10), - ] + Connections: Annotated[basic.cTkDynamicArray[cTkSketchNodeConnections], 0x0] + CustomData: Annotated[basic.cTkDynamicArray[ctypes.c_byte], 0x10] PositionX: Annotated[int, Field(ctypes.c_int32, 0x20)] PositionY: Annotated[int, Field(ctypes.c_int32, 0x24)] SelectedVariant: Annotated[int, Field(ctypes.c_int32, 0x28)] @@ -538,34 +466,27 @@ class eTriggerTypeEnum(IntEnum): QueueLatest = 0x4 QueueAll = 0x5 - TriggerType: Annotated[ - c_enum32[eTriggerTypeEnum], Field(c_enum32[eTriggerTypeEnum], 0x2C) - ] - TypeName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x30)] + TriggerType: Annotated[c_enum32[eTriggerTypeEnum], 0x2C] + TypeName: Annotated[basic.cTkFixedString0x20, 0x30] @partial_struct class cTkTextureResource(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - ResHandle: Annotated[basic.GcResource, Field(basic.GcResource, 0x10)] + Filename: Annotated[basic.VariableSizeString, 0x0] + ResHandle: Annotated[basic.GcResource, 0x10] @partial_struct class cTkTrophyEntry(Structure): - TrophyId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TrophyId: Annotated[basic.TkID0x10, 0x0] Ps4Id: Annotated[int, Field(ctypes.c_int32, 0x10)] - PCId: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x14)] - XboxOneId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x54) - ] + PCId: Annotated[basic.cTkFixedString0x40, 0x14] + XboxOneId: Annotated[basic.cTkFixedString0x20, 0x54] @partial_struct class cTkTrophyData(Structure): - Trophies: Annotated[ - basic.cTkDynamicArray[cTkTrophyEntry], - Field(basic.cTkDynamicArray[cTkTrophyEntry], 0x0), - ] + Trophies: Annotated[basic.cTkDynamicArray[cTkTrophyEntry], 0x0] @partial_struct @@ -574,9 +495,7 @@ class eEmissionRateTypeEnum(IntEnum): PerParticle = 0x0 Distance = 0x1 - EmissionRateType: Annotated[ - c_enum32[eEmissionRateTypeEnum], Field(c_enum32[eEmissionRateTypeEnum], 0x0) - ] + EmissionRateType: Annotated[c_enum32[eEmissionRateTypeEnum], 0x0] OtherEmitterIndex: Annotated[int, Field(ctypes.c_int32, 0x4)] @@ -592,104 +511,74 @@ class eBillboardAlignmentEnum(IntEnum): NegativeZLocal = 0x6 ScreenWorld = 0x7 - BillboardAlignment: Annotated[ - c_enum32[eBillboardAlignmentEnum], Field(c_enum32[eBillboardAlignmentEnum], 0x0) - ] + BillboardAlignment: Annotated[c_enum32[eBillboardAlignmentEnum], 0x0] CameraFacing: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cTkEmitterData(Structure): - Particle: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Particle: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cTkLocalisationEntry(Structure): - Id: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - BrazilianPortuguese: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Dutch: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] - English: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] - French: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x50)] - German: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x60)] - Italian: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x70)] - Japanese: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x80)] - Korean: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x90)] - LatinAmericanSpanish: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xA0) - ] - Polish: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xB0)] - Portuguese: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xC0) - ] - Russian: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xD0)] - SimplifiedChinese: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE0) - ] - Spanish: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xF0)] - TencentChinese: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x100) - ] - TraditionalChinese: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x110) - ] - USEnglish: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x120) - ] + Id: Annotated[basic.cTkFixedString0x20, 0x0] + BrazilianPortuguese: Annotated[basic.VariableSizeString, 0x20] + Dutch: Annotated[basic.VariableSizeString, 0x30] + English: Annotated[basic.VariableSizeString, 0x40] + French: Annotated[basic.VariableSizeString, 0x50] + German: Annotated[basic.VariableSizeString, 0x60] + Italian: Annotated[basic.VariableSizeString, 0x70] + Japanese: Annotated[basic.VariableSizeString, 0x80] + Korean: Annotated[basic.VariableSizeString, 0x90] + LatinAmericanSpanish: Annotated[basic.VariableSizeString, 0xA0] + Polish: Annotated[basic.VariableSizeString, 0xB0] + Portuguese: Annotated[basic.VariableSizeString, 0xC0] + Russian: Annotated[basic.VariableSizeString, 0xD0] + SimplifiedChinese: Annotated[basic.VariableSizeString, 0xE0] + Spanish: Annotated[basic.VariableSizeString, 0xF0] + TencentChinese: Annotated[basic.VariableSizeString, 0x100] + TraditionalChinese: Annotated[basic.VariableSizeString, 0x110] + USEnglish: Annotated[basic.VariableSizeString, 0x120] @partial_struct class cTkLocalisationTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cTkLocalisationEntry], - Field(basic.cTkDynamicArray[cTkLocalisationEntry], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cTkLocalisationEntry], 0x0] @partial_struct class cTkModelResource(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Filename: Annotated[basic.VariableSizeString, 0x0] Seed: Annotated[int, Field(ctypes.c_uint64, 0x10)] - ResHandle: Annotated[basic.GcResource, Field(basic.GcResource, 0x18)] + ResHandle: Annotated[basic.GcResource, 0x18] @partial_struct class cTkLODModelResource(Structure): - LODModel: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] + LODModel: Annotated[cTkModelResource, 0x0] Distance: Annotated[float, Field(ctypes.c_float, 0x20)] SwapThreshold: Annotated[float, Field(ctypes.c_float, 0x24)] @partial_struct class cTkMaterialResource(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - ResHandle: Annotated[basic.GcResource, Field(basic.GcResource, 0x10)] + Filename: Annotated[basic.VariableSizeString, 0x0] + ResHandle: Annotated[basic.GcResource, 0x10] @partial_struct class cTkLanguageFontTableEntry(Structure): - ConsoleFont: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - ConsoleFont2: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - GameFont: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - GameFont2: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - Language: Annotated[ - c_enum32[enums.cTkLanguages], Field(c_enum32[enums.cTkLanguages], 0x40) - ] + ConsoleFont: Annotated[basic.VariableSizeString, 0x0] + ConsoleFont2: Annotated[basic.VariableSizeString, 0x10] + GameFont: Annotated[basic.VariableSizeString, 0x20] + GameFont2: Annotated[basic.VariableSizeString, 0x30] + Language: Annotated[c_enum32[enums.cTkLanguages], 0x40] @partial_struct class cTkLanguageFontTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cTkLanguageFontTableEntry], - Field(basic.cTkDynamicArray[cTkLanguageFontTableEntry], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cTkLanguageFontTableEntry], 0x0] @partial_struct @@ -704,7 +593,7 @@ class eColourAltEnum(IntEnum): MatchGround = 0x6 None_ = 0x7 - ColourAlt: Annotated[c_enum32[eColourAltEnum], Field(c_enum32[eColourAltEnum], 0x0)] + ColourAlt: Annotated[c_enum32[eColourAltEnum], 0x0] Index: Annotated[int, Field(ctypes.c_int32, 0x4)] class ePaletteEnum(IntEnum): @@ -773,28 +662,21 @@ class ePaletteEnum(IntEnum): SpaceStationLights = 0x3E DeepWaterBioLum = 0x3F - Palette: Annotated[c_enum32[ePaletteEnum], Field(c_enum32[ePaletteEnum], 0x8)] + Palette: Annotated[c_enum32[ePaletteEnum], 0x8] @partial_struct class cTkLanguagesAllowedData(Structure): - Allowed: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cTkLanguages]], - Field(basic.cTkDynamicArray[c_enum32[enums.cTkLanguages]], 0x0), - ] - Fallback: Annotated[ - c_enum32[enums.cTkLanguages], Field(c_enum32[enums.cTkLanguages], 0x10) - ] + Allowed: Annotated[basic.cTkDynamicArray[c_enum32[enums.cTkLanguages]], 0x0] + Fallback: Annotated[c_enum32[enums.cTkLanguages], 0x10] @partial_struct class cTkProceduralTexture(Structure): - AverageColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Name: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x10)] - TextureName: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - Palette: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x40)] + AverageColour: Annotated[basic.Colour, 0x0] + Name: Annotated[basic.TkID0x20, 0x10] + TextureName: Annotated[basic.VariableSizeString, 0x30] + Palette: Annotated[cTkPaletteTexture, 0x40] Probability: Annotated[float, Field(ctypes.c_float, 0x4C)] class eTextureGameplayUseEnum(IntEnum): @@ -802,10 +684,7 @@ class eTextureGameplayUseEnum(IntEnum): MatchName = 0x1 DoNotMatchName = 0x2 - TextureGameplayUse: Annotated[ - c_enum32[eTextureGameplayUseEnum], - Field(c_enum32[eTextureGameplayUseEnum], 0x50), - ] + TextureGameplayUse: Annotated[c_enum32[eTextureGameplayUseEnum], 0x50] Multiply: Annotated[bool, Field(ctypes.c_bool, 0x54)] OverrideAverageColour: Annotated[bool, Field(ctypes.c_bool, 0x55)] @@ -824,9 +703,7 @@ class eAssertsLevelEnum(IntEnum): Skipped = 0x2 Enabled = 0x3 - AssertsLevel: Annotated[ - c_enum32[eAssertsLevelEnum], Field(c_enum32[eAssertsLevelEnum], 0x0) - ] + AssertsLevel: Annotated[c_enum32[eAssertsLevelEnum], 0x0] class eEnabledChannelsEnum(IntEnum): empty = 0x0 @@ -839,9 +716,7 @@ class eEnabledChannelsEnum(IntEnum): AltWarn = 0x40 AltError = 0x80 - EnabledChannels: Annotated[ - c_enum32[eEnabledChannelsEnum], Field(c_enum32[eEnabledChannelsEnum], 0x4) - ] + EnabledChannels: Annotated[c_enum32[eEnabledChannelsEnum], 0x4] EnableOit: Annotated[int, Field(ctypes.c_int32, 0x8)] class eForceGPUPresetToEnum(IntEnum): @@ -859,9 +734,7 @@ class eForceGPUPresetToEnum(IntEnum): MacOS = 0xB iOS = 0xC - ForceGPUPresetTo: Annotated[ - c_enum32[eForceGPUPresetToEnum], Field(c_enum32[eForceGPUPresetToEnum], 0xC) - ] + ForceGPUPresetTo: Annotated[c_enum32[eForceGPUPresetToEnum], 0xC] FrameFlipRateDefault: Annotated[int, Field(ctypes.c_int32, 0x10)] FrameFlipRateGame: Annotated[int, Field(ctypes.c_int32, 0x14)] FrameFlipRateLoad: Annotated[int, Field(ctypes.c_int32, 0x18)] @@ -873,9 +746,7 @@ class eGameWindowModeEnum(IntEnum): Maximised = 0x3 Minimised = 0x4 - GameWindowMode: Annotated[ - c_enum32[eGameWindowModeEnum], Field(c_enum32[eGameWindowModeEnum], 0x1C) - ] + GameWindowMode: Annotated[c_enum32[eGameWindowModeEnum], 0x1C] HighlightPlacementIndex: Annotated[int, Field(ctypes.c_int32, 0x20)] HmdEyeBufferHeight: Annotated[int, Field(ctypes.c_int32, 0x24)] HmdEyeBufferWidth: Annotated[int, Field(ctypes.c_int32, 0x28)] @@ -909,9 +780,7 @@ class eTrialStatusEnum(IntEnum): ForceTrial = 0x1 ForceFullGame = 0x2 - TrialStatus: Annotated[ - c_enum32[eTrialStatusEnum], Field(c_enum32[eTrialStatusEnum], 0x8C) - ] + TrialStatus: Annotated[c_enum32[eTrialStatusEnum], 0x8C] UpdatePeriod: Annotated[float, Field(ctypes.c_float, 0x90)] UpdatePeriodSteam: Annotated[float, Field(ctypes.c_float, 0x94)] VoiceUpdatePeriod: Annotated[float, Field(ctypes.c_float, 0x98)] @@ -921,18 +790,10 @@ class eTrialStatusEnum(IntEnum): WindowPositionY: Annotated[int, Field(ctypes.c_int32, 0xA8)] WwiseVibrationMultiplierPrimary: Annotated[float, Field(ctypes.c_float, 0xAC)] WwiseVibrationMultiplierSecondary: Annotated[float, Field(ctypes.c_float, 0xB0)] - EditorLayout: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xB4) - ] - ExcludeLogFilter: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1B4) - ] - IncludeLogFilter: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x2B4) - ] - ScratchpadModel: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x3B4) - ] + EditorLayout: Annotated[basic.cTkFixedString0x100, 0xB4] + ExcludeLogFilter: Annotated[basic.cTkFixedString0x100, 0x1B4] + IncludeLogFilter: Annotated[basic.cTkFixedString0x100, 0x2B4] + ScratchpadModel: Annotated[basic.cTkFixedString0x100, 0x3B4] AllowInPlaceNGuiElementRenaming: Annotated[bool, Field(ctypes.c_bool, 0x4B4)] AssertsPopupAlwaysOnTop: Annotated[bool, Field(ctypes.c_bool, 0x4B5)] AutoTabNewlyOpenedWindows: Annotated[bool, Field(ctypes.c_bool, 0x4B6)] @@ -990,18 +851,12 @@ class eTrialStatusEnum(IntEnum): @partial_struct class cTkID256Array(Structure): - Array: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x0), - ] + Array: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x0] @partial_struct class cTkIdArray(Structure): - Array: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Array: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct @@ -1013,19 +868,19 @@ class cTkNavMeshAreaNavigability(Structure): @partial_struct class cTkIdModelResource(Structure): - Model: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Model: Annotated[cTkModelResource, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] @partial_struct class cTkBoundingBoxData(Structure): - Max: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Min: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] + Max: Annotated[basic.Vector3f, 0x0] + Min: Annotated[basic.Vector3f, 0x10] @partial_struct class cTkCameraData(Structure): - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + Offset: Annotated[basic.Vector3f, 0x0] AdjustPitch: Annotated[float, Field(ctypes.c_float, 0x10)] AdjustRoll: Annotated[float, Field(ctypes.c_float, 0x14)] AdjustYaw: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -1056,141 +911,115 @@ class cTkDynamicTreeWindFrequency(Structure): @partial_struct class cTkBigPosData(Structure): - Local: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] + Local: Annotated[basic.Vector3f, 0x0] + Offset: Annotated[basic.Vector3f, 0x10] @partial_struct class cTkBlackboardDefaultValueBool(Structure): - BlackboardKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - BlackboardCategory: Annotated[ - c_enum32[enums.cTkBlackboardCategory], - Field(c_enum32[enums.cTkBlackboardCategory], 0x10), - ] + BlackboardKey: Annotated[basic.TkID0x10, 0x0] + BlackboardCategory: Annotated[c_enum32[enums.cTkBlackboardCategory], 0x10] DefaultValue: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cTkBlackboardDefaultValueFloat(Structure): - BlackboardKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - BlackboardCategory: Annotated[ - c_enum32[enums.cTkBlackboardCategory], - Field(c_enum32[enums.cTkBlackboardCategory], 0x10), - ] + BlackboardKey: Annotated[basic.TkID0x10, 0x0] + BlackboardCategory: Annotated[c_enum32[enums.cTkBlackboardCategory], 0x10] DefaultValue: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cTkBlackboardDefaultValueId(Structure): - BlackboardKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DefaultValue: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - BlackboardCategory: Annotated[ - c_enum32[enums.cTkBlackboardCategory], - Field(c_enum32[enums.cTkBlackboardCategory], 0x20), - ] + BlackboardKey: Annotated[basic.TkID0x10, 0x0] + DefaultValue: Annotated[basic.TkID0x10, 0x10] + BlackboardCategory: Annotated[c_enum32[enums.cTkBlackboardCategory], 0x20] @partial_struct class cTkBlackboardDefaultValueInteger(Structure): - BlackboardKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - BlackboardCategory: Annotated[ - c_enum32[enums.cTkBlackboardCategory], - Field(c_enum32[enums.cTkBlackboardCategory], 0x10), - ] + BlackboardKey: Annotated[basic.TkID0x10, 0x0] + BlackboardCategory: Annotated[c_enum32[enums.cTkBlackboardCategory], 0x10] DefaultValue: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cTkBlackboardDefaultValueVector(Structure): - DefaultValue: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - BlackboardKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - BlackboardCategory: Annotated[ - c_enum32[enums.cTkBlackboardCategory], - Field(c_enum32[enums.cTkBlackboardCategory], 0x20), - ] + DefaultValue: Annotated[basic.Vector3f, 0x0] + BlackboardKey: Annotated[basic.TkID0x10, 0x10] + BlackboardCategory: Annotated[c_enum32[enums.cTkBlackboardCategory], 0x20] @partial_struct class cTkBlackboardKey(Structure): - BlackboardKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - BlackboardCategory: Annotated[ - c_enum32[enums.cTkBlackboardCategory], - Field(c_enum32[enums.cTkBlackboardCategory], 0x10), - ] + BlackboardKey: Annotated[basic.TkID0x10, 0x0] + BlackboardCategory: Annotated[c_enum32[enums.cTkBlackboardCategory], 0x10] @partial_struct class cTkBlackboardValueBool(Structure): - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Key: Annotated[basic.TkID0x10, 0x0] Value: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cTkBlackboardValueFloat(Structure): - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Key: Annotated[basic.TkID0x10, 0x0] Value: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cTkBlackboardValueId(Structure): - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Value: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Key: Annotated[basic.TkID0x10, 0x0] + Value: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkBlackboardValueInteger(Structure): - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Key: Annotated[basic.TkID0x10, 0x0] Value: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cTkBlackboardValueVector(Structure): - Value: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Value: Annotated[basic.Vector3f, 0x0] + Key: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkBehaviourTreeConcurrentSelectorData(Structure): - Children: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Children: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] + Name: Annotated[basic.TkID0x10, 0x10] class eFailWhenEnum(IntEnum): AnyChildFails = 0x0 AllChildrenFail = 0x1 - FailWhen: Annotated[c_enum32[eFailWhenEnum], Field(c_enum32[eFailWhenEnum], 0x20)] + FailWhen: Annotated[c_enum32[eFailWhenEnum], 0x20] class eSucceedWhenEnum(IntEnum): AllChildrenSucceed = 0x0 AnyChildSucceeds = 0x1 - SucceedWhen: Annotated[ - c_enum32[eSucceedWhenEnum], Field(c_enum32[eSucceedWhenEnum], 0x24) - ] + SucceedWhen: Annotated[c_enum32[eSucceedWhenEnum], 0x24] @partial_struct class cTkBehaviourTreePriorityDecoratorData(Structure): - Child: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] + Child: Annotated[basic.NMSTemplate, 0x0] @partial_struct class cTkBehaviourTreeSequentialSelectorData(Structure): - Children: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Children: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] + Name: Annotated[basic.TkID0x10, 0x10] FailWhenAnyChildFails: Annotated[bool, Field(ctypes.c_bool, 0x20)] Looping: Annotated[bool, Field(ctypes.c_bool, 0x21)] @partial_struct class cTkBehaviourTreeSucceedDecoratorData(Structure): - Child: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] + Child: Annotated[basic.NMSTemplate, 0x0] @partial_struct @@ -1218,48 +1047,33 @@ class cTkNavMeshBuildParams(Structure): @partial_struct class cGcPlanetaryNavMeshBuildParams(Structure): - BaseParams: Annotated[cTkNavMeshBuildParams, Field(cTkNavMeshBuildParams, 0x0)] + BaseParams: Annotated[cTkNavMeshBuildParams, 0x0] CellsPerVoxelHeight: Annotated[int, Field(ctypes.c_int32, 0x34)] CellsPerVoxelWidth: Annotated[int, Field(ctypes.c_int32, 0x38)] @partial_struct class cTkNavMeshAreaFlagNavigability(Structure): - Navigability: Annotated[ - cTkNavMeshAreaNavigability, Field(cTkNavMeshAreaNavigability, 0x0) - ] - AreaFlag: Annotated[ - c_enum32[enums.cTkNavMeshAreaFlags], - Field(c_enum32[enums.cTkNavMeshAreaFlags], 0xC), - ] + Navigability: Annotated[cTkNavMeshAreaNavigability, 0x0] + AreaFlag: Annotated[c_enum32[enums.cTkNavMeshAreaFlags], 0xC] @partial_struct class cTkNavMeshAreaGroup(Structure): - Areas: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cTkNavMeshAreaType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cTkNavMeshAreaType]], 0x0), - ] - GroupId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Areas: Annotated[basic.cTkDynamicArray[c_enum32[enums.cTkNavMeshAreaType]], 0x0] + GroupId: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkNavMeshAreaGroupNavigability(Structure): - AreaGroupId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Navigability: Annotated[ - cTkNavMeshAreaNavigability, Field(cTkNavMeshAreaNavigability, 0x10) - ] + AreaGroupId: Annotated[basic.TkID0x10, 0x0] + Navigability: Annotated[cTkNavMeshAreaNavigability, 0x10] @partial_struct class cTkNavMeshAreaTypeNavigability(Structure): - Navigability: Annotated[ - cTkNavMeshAreaNavigability, Field(cTkNavMeshAreaNavigability, 0x0) - ] - AreaType: Annotated[ - c_enum32[enums.cTkNavMeshAreaType], - Field(c_enum32[enums.cTkNavMeshAreaType], 0xC), - ] + Navigability: Annotated[cTkNavMeshAreaNavigability, 0x0] + AreaType: Annotated[c_enum32[enums.cTkNavMeshAreaType], 0xC] @partial_struct @@ -1275,28 +1089,19 @@ class cTkNavMeshFlockingParams(Structure): @partial_struct class cTkNavMeshInclusionParams(Structure): InclusionMinSize: Annotated[float, Field(ctypes.c_float, 0x0)] - AreaType: Annotated[ - c_enum32[enums.cTkNavMeshAreaType], - Field(c_enum32[enums.cTkNavMeshAreaType], 0x4), - ] - InclusionType: Annotated[ - c_enum32[enums.cTkNavMeshInclusionType], - Field(c_enum32[enums.cTkNavMeshInclusionType], 0x5), - ] + AreaType: Annotated[c_enum32[enums.cTkNavMeshAreaType], 0x4] + InclusionType: Annotated[c_enum32[enums.cTkNavMeshInclusionType], 0x5] @partial_struct class cTkSceneBoneRemapping(Structure): - FromBone: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x0)] - ToBone: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x80)] + FromBone: Annotated[basic.cTkFixedString0x80, 0x0] + ToBone: Annotated[basic.cTkFixedString0x80, 0x80] @partial_struct class cTkSceneBoneRemappingTable(Structure): - BoneMappings: Annotated[ - basic.cTkDynamicArray[cTkSceneBoneRemapping], - Field(basic.cTkDynamicArray[cTkSceneBoneRemapping], 0x0), - ] + BoneMappings: Annotated[basic.cTkDynamicArray[cTkSceneBoneRemapping], 0x0] @partial_struct @@ -1319,15 +1124,14 @@ class eNavMeshMovementDebugVisFlagsEnum(IntEnum): ObstacleAvoidance = 0x800 NavMeshMovementDebugVisFlags: Annotated[ - c_enum32[eNavMeshMovementDebugVisFlagsEnum], - Field(c_enum32[eNavMeshMovementDebugVisFlagsEnum], 0x4), + c_enum32[eNavMeshMovementDebugVisFlagsEnum], 0x4 ] @partial_struct class cTkSceneNodeAttributeData(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Value: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + Name: Annotated[basic.TkID0x10, 0x0] + Value: Annotated[basic.VariableSizeString, 0x10] @partial_struct @@ -1350,16 +1154,12 @@ class eSamplingTypeEnum(IntEnum): Adaptive = 0x0 Grid = 0x1 - SamplingType: Annotated[ - c_enum32[eSamplingTypeEnum], Field(c_enum32[eSamplingTypeEnum], 0x34) - ] + SamplingType: Annotated[c_enum32[eSamplingTypeEnum], 0x34] @partial_struct class cTkNavMeshPathingQualitySettings(Structure): - VelocitySamplingParams: Annotated[ - cTkNavMeshVelocitySamplingParams, Field(cTkNavMeshVelocitySamplingParams, 0x0) - ] + VelocitySamplingParams: Annotated[cTkNavMeshVelocitySamplingParams, 0x0] CollisionQueryRange: Annotated[float, Field(ctypes.c_float, 0x38)] HeuristicScale: Annotated[float, Field(ctypes.c_float, 0x3C)] UseRaycastShortcuts: Annotated[bool, Field(ctypes.c_bool, 0x40)] @@ -1380,17 +1180,11 @@ class cTkTransformData(Structure): @partial_struct class cTkSceneNodeData(Structure): - Attributes: Annotated[ - basic.cTkDynamicArray[cTkSceneNodeAttributeData], - Field(basic.cTkDynamicArray[cTkSceneNodeAttributeData], 0x0), - ] - Children: Annotated[ - "basic.cTkDynamicArray[cTkSceneNodeData]", - Field("basic.cTkDynamicArray[cTkSceneNodeData]", 0x10), - ] - Name: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - Type: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - Transform: Annotated[cTkTransformData, Field(cTkTransformData, 0x40)] + Attributes: Annotated[basic.cTkDynamicArray[cTkSceneNodeAttributeData], 0x0] + Children: Annotated["basic.cTkDynamicArray[cTkSceneNodeData]", 0x10] + Name: Annotated[basic.VariableSizeString, 0x20] + Type: Annotated[basic.TkID0x10, 0x30] + Transform: Annotated[cTkTransformData, 0x40] NameHash: Annotated[int, Field(ctypes.c_uint32, 0x64)] PlatformExclusion: Annotated[int, Field(ctypes.c_int8, 0x68)] @@ -1401,27 +1195,21 @@ class cTkMaterialShaderMillComment(Structure): PosMaxY: Annotated[int, Field(ctypes.c_int32, 0x4)] PosMinX: Annotated[int, Field(ctypes.c_int32, 0x8)] PosMinY: Annotated[int, Field(ctypes.c_int32, 0xC)] - Text: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x10)] + Text: Annotated[basic.cTkFixedString0x100, 0x10] @partial_struct class cTkMaterialShaderMillConnect(Structure): Count: Annotated[int, Field(ctypes.c_int32, 0x0)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4)] + Name: Annotated[basic.cTkFixedString0x20, 0x4] Expanded: Annotated[bool, Field(ctypes.c_bool, 0x24)] @partial_struct class cTkMaterialShaderMillNode(Structure): - ColourValue: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Inputs: Annotated[ - basic.cTkDynamicArray[cTkMaterialShaderMillConnect], - Field(basic.cTkDynamicArray[cTkMaterialShaderMillConnect], 0x10), - ] - Outputs: Annotated[ - basic.cTkDynamicArray[cTkMaterialShaderMillConnect], - Field(basic.cTkDynamicArray[cTkMaterialShaderMillConnect], 0x20), - ] + ColourValue: Annotated[basic.Colour, 0x0] + Inputs: Annotated[basic.cTkDynamicArray[cTkMaterialShaderMillConnect], 0x10] + Outputs: Annotated[basic.cTkDynamicArray[cTkMaterialShaderMillConnect], 0x20] FValue: Annotated[float, Field(ctypes.c_float, 0x30)] FValue2: Annotated[float, Field(ctypes.c_float, 0x34)] Id: Annotated[int, Field(ctypes.c_int32, 0x38)] @@ -1429,78 +1217,53 @@ class cTkMaterialShaderMillNode(Structure): IValue2: Annotated[int, Field(ctypes.c_int32, 0x40)] WindowX: Annotated[int, Field(ctypes.c_int32, 0x44)] WindowY: Annotated[int, Field(ctypes.c_int32, 0x48)] - Value: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x4C)] - ParameterName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xCC) - ] - Type: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10C)] + Value: Annotated[basic.cTkFixedString0x80, 0x4C] + ParameterName: Annotated[basic.cTkFixedString0x40, 0xCC] + Type: Annotated[basic.cTkFixedString0x20, 0x10C] ExposeAsParameter: Annotated[bool, Field(ctypes.c_bool, 0x12C)] @partial_struct class cTkMaterialShaderMillLink(Structure): - InputShuffle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - OutputShuffle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + InputShuffle: Annotated[basic.TkID0x10, 0x0] + OutputShuffle: Annotated[basic.TkID0x10, 0x10] Count: Annotated[int, Field(ctypes.c_int32, 0x20)] InputNode: Annotated[int, Field(ctypes.c_int32, 0x24)] OutputNode: Annotated[int, Field(ctypes.c_int32, 0x28)] - InputConnect: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2C) - ] - OutputConnect: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4C) - ] + InputConnect: Annotated[basic.cTkFixedString0x20, 0x2C] + OutputConnect: Annotated[basic.cTkFixedString0x20, 0x4C] @partial_struct class cTkMaterialShaderMillFlag(Structure): - Flag: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + Flag: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct class cTkMaterialShaderMillData(Structure): - ShaderMillCmts: Annotated[ - basic.cTkDynamicArray[cTkMaterialShaderMillComment], - Field(basic.cTkDynamicArray[cTkMaterialShaderMillComment], 0x0), - ] - ShaderMillFlags: Annotated[ - basic.cTkDynamicArray[cTkMaterialShaderMillFlag], - Field(basic.cTkDynamicArray[cTkMaterialShaderMillFlag], 0x10), - ] - ShaderMillLinks: Annotated[ - basic.cTkDynamicArray[cTkMaterialShaderMillLink], - Field(basic.cTkDynamicArray[cTkMaterialShaderMillLink], 0x20), - ] - ShaderMillNodes: Annotated[ - basic.cTkDynamicArray[cTkMaterialShaderMillNode], - Field(basic.cTkDynamicArray[cTkMaterialShaderMillNode], 0x30), - ] + ShaderMillCmts: Annotated[basic.cTkDynamicArray[cTkMaterialShaderMillComment], 0x0] + ShaderMillFlags: Annotated[basic.cTkDynamicArray[cTkMaterialShaderMillFlag], 0x10] + ShaderMillLinks: Annotated[basic.cTkDynamicArray[cTkMaterialShaderMillLink], 0x20] + ShaderMillNodes: Annotated[basic.cTkDynamicArray[cTkMaterialShaderMillNode], 0x30] OutputX: Annotated[int, Field(ctypes.c_int32, 0x40)] OutputY: Annotated[int, Field(ctypes.c_int32, 0x44)] ScrollX: Annotated[float, Field(ctypes.c_float, 0x48)] ScrollY: Annotated[float, Field(ctypes.c_float, 0x4C)] Zoom: Annotated[float, Field(ctypes.c_float, 0x50)] - Description: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x54) - ] - Filename: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x154) - ] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x254)] + Description: Annotated[basic.cTkFixedString0x100, 0x54] + Filename: Annotated[basic.cTkFixedString0x100, 0x154] + Name: Annotated[basic.cTkFixedString0x40, 0x254] @partial_struct class cTkVertexStream(Structure): - VertexStream: Annotated[ - basic.cTkDynamicArray[ctypes.c_byte], - Field(basic.cTkDynamicArray[ctypes.c_byte], 0x0), - ] + VertexStream: Annotated[basic.cTkDynamicArray[ctypes.c_byte], 0x0] @partial_struct class cTkMaterialAlternative(Structure): - MaterialAlternativeId: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - File: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + MaterialAlternativeId: Annotated[basic.TkID0x20, 0x0] + File: Annotated[basic.VariableSizeString, 0x20] class eTextureTypeEnum(IntEnum): Diffuse = 0x0 @@ -1508,36 +1271,28 @@ class eTextureTypeEnum(IntEnum): Ambient = 0x2 Environment = 0x3 - TextureType: Annotated[ - c_enum32[eTextureTypeEnum], Field(c_enum32[eTextureTypeEnum], 0x30) - ] + TextureType: Annotated[c_enum32[eTextureTypeEnum], 0x30] @partial_struct class cTkMaterialUniform_Float(Structure): - Values: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x0)] - ExtendedValues: Annotated[ - basic.cTkDynamicArray[basic.Vector4f], - Field(basic.cTkDynamicArray[basic.Vector4f], 0x10), - ] - Name: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + Values: Annotated[basic.Vector4f, 0x0] + ExtendedValues: Annotated[basic.cTkDynamicArray[basic.Vector4f], 0x10] + Name: Annotated[basic.VariableSizeString, 0x20] @partial_struct class cTkMaterialUniform_UInt(Structure): - Values: Annotated[basic.Vector4i, Field(basic.Vector4i, 0x0)] - ExtendedValues: Annotated[ - basic.cTkDynamicArray[basic.Vector4i], - Field(basic.cTkDynamicArray[basic.Vector4i], 0x10), - ] - Name: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + Values: Annotated[basic.Vector4i, 0x0] + ExtendedValues: Annotated[basic.cTkDynamicArray[basic.Vector4i], 0x10] + Name: Annotated[basic.VariableSizeString, 0x20] @partial_struct class cTkMaterialSampler(Structure): - MaterialAlternativeId: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Map: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - Name: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] + MaterialAlternativeId: Annotated[basic.TkID0x20, 0x0] + Map: Annotated[basic.VariableSizeString, 0x20] + Name: Annotated[basic.VariableSizeString, 0x30] Anisotropy: Annotated[int, Field(ctypes.c_int32, 0x40)] class eTextureAddressModeEnum(IntEnum): @@ -1547,19 +1302,14 @@ class eTextureAddressModeEnum(IntEnum): ClampToBorder = 0x3 Mirror = 0x4 - TextureAddressMode: Annotated[ - c_enum32[eTextureAddressModeEnum], - Field(c_enum32[eTextureAddressModeEnum], 0x44), - ] + TextureAddressMode: Annotated[c_enum32[eTextureAddressModeEnum], 0x44] class eTextureFilterModeEnum(IntEnum): None_ = 0x0 Bilinear = 0x1 Trilinear = 0x2 - TextureFilterMode: Annotated[ - c_enum32[eTextureFilterModeEnum], Field(c_enum32[eTextureFilterModeEnum], 0x48) - ] + TextureFilterMode: Annotated[c_enum32[eTextureFilterModeEnum], 0x48] IsCube: Annotated[bool, Field(ctypes.c_bool, 0x4C)] IsSRGB: Annotated[bool, Field(ctypes.c_bool, 0x4D)] UseCompression: Annotated[bool, Field(ctypes.c_bool, 0x4E)] @@ -1568,15 +1318,9 @@ class eTextureFilterModeEnum(IntEnum): @partial_struct class cTkMeshData(Structure): - IdString: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - MeshDataStream: Annotated[ - basic.cTkDynamicArray[ctypes.c_byte], - Field(basic.cTkDynamicArray[ctypes.c_byte], 0x10), - ] - MeshPositionDataStream: Annotated[ - basic.cTkDynamicArray[ctypes.c_byte], - Field(basic.cTkDynamicArray[ctypes.c_byte], 0x20), - ] + IdString: Annotated[basic.VariableSizeString, 0x0] + MeshDataStream: Annotated[basic.cTkDynamicArray[ctypes.c_byte], 0x10] + MeshPositionDataStream: Annotated[basic.cTkDynamicArray[ctypes.c_byte], 0x20] Hash: Annotated[int, Field(ctypes.c_uint64, 0x30)] IndexDataSize: Annotated[int, Field(ctypes.c_int32, 0x38)] VertexDataSize: Annotated[int, Field(ctypes.c_int32, 0x3C)] @@ -1585,50 +1329,35 @@ class cTkMeshData(Structure): @partial_struct class cTkGeometryStreamData(Structure): - StreamDataArray: Annotated[ - basic.cTkDynamicArray[cTkMeshData], - Field(basic.cTkDynamicArray[cTkMeshData], 0x0), - ] + StreamDataArray: Annotated[basic.cTkDynamicArray[cTkMeshData], 0x0] @partial_struct class cTkAnimNodeFrameData(Structure): - Rotations: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint16], - Field(basic.cTkDynamicArray[ctypes.c_uint16], 0x0), - ] - Scales: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x10), - ] - Translations: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x20), - ] + Rotations: Annotated[basic.cTkDynamicArray[ctypes.c_uint16], 0x0] + Scales: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x10] + Translations: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x20] @partial_struct class cTkIndexStream(Structure): - IndexStream: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x0), - ] + IndexStream: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x0] @partial_struct class cTkJointBindingData(Structure): - InvBindMatrix: Annotated[float, Field(ctypes.c_float, 0x0)] - BindRotate: Annotated[float, Field(ctypes.c_float, 0x40)] - BindScale: Annotated[float, Field(ctypes.c_float, 0x50)] - BindTranslate: Annotated[float, Field(ctypes.c_float, 0x5C)] + InvBindMatrix: Annotated[tuple[float, ...], Field(ctypes.c_float * 16, 0x0)] + BindRotate: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x40)] + BindScale: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x50)] + BindTranslate: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x5C)] @partial_struct class cTkJointExtentData(Structure): - JointExtentCenter: Annotated[float, Field(ctypes.c_float, 0x0)] - JointExtentMax: Annotated[float, Field(ctypes.c_float, 0xC)] - JointExtentMin: Annotated[float, Field(ctypes.c_float, 0x18)] - JointExtentStdDev: Annotated[float, Field(ctypes.c_float, 0x24)] + JointExtentCenter: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x0)] + JointExtentMax: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0xC)] + JointExtentMin: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x18)] + JointExtentStdDev: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x24)] @partial_struct @@ -1652,9 +1381,7 @@ class eInstancingEnum(IntEnum): PerVertex = 0x0 PerModel = 0x1 - Instancing: Annotated[ - c_enum32[eInstancingEnum], Field(c_enum32[eInstancingEnum], 0x0) - ] + Instancing: Annotated[c_enum32[eInstancingEnum], 0x0] Type: Annotated[int, Field(ctypes.c_int32, 0x4)] Normalise: Annotated[bytes, Field(ctypes.c_byte, 0x8)] Offset: Annotated[bytes, Field(ctypes.c_byte, 0x9)] @@ -1664,10 +1391,7 @@ class eInstancingEnum(IntEnum): @partial_struct class cTkVertexLayout(Structure): - VertexElements: Annotated[ - basic.cTkDynamicArray[cTkVertexElement], - Field(basic.cTkDynamicArray[cTkVertexElement], 0x0), - ] + VertexElements: Annotated[basic.cTkDynamicArray[cTkVertexElement], 0x0] PlatformData: Annotated[int, Field(ctypes.c_int64, 0x10)] ElementCount: Annotated[int, Field(ctypes.c_int32, 0x18)] Stride: Annotated[int, Field(ctypes.c_int32, 0x1C)] @@ -1675,7 +1399,7 @@ class cTkVertexLayout(Structure): @partial_struct class cTkMeshMetaData(Structure): - IdString: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + IdString: Annotated[basic.VariableSizeString, 0x0] Hash: Annotated[int, Field(ctypes.c_uint64, 0x10)] IndexDataOffset: Annotated[int, Field(ctypes.c_int32, 0x18)] IndexDataSize: Annotated[int, Field(ctypes.c_int32, 0x1C)] @@ -1688,88 +1412,31 @@ class cTkMeshMetaData(Structure): @partial_struct class cTkRagdollData(Structure): - ChainEnds: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0), - ] - ExcludeJoints: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10), - ] + ChainEnds: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0] + ExcludeJoints: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10] @partial_struct class cTkGeometryData(Structure): - PositionVertexLayout: Annotated[cTkVertexLayout, Field(cTkVertexLayout, 0x0)] - VertexLayout: Annotated[cTkVertexLayout, Field(cTkVertexLayout, 0x20)] - BoundHullVertEd: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x40), - ] - BoundHullVerts: Annotated[ - basic.cTkDynamicArray[basic.Vector4f], - Field(basic.cTkDynamicArray[basic.Vector4f], 0x50), - ] - BoundHullVertSt: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x60), - ] - IndexBuffer: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x70), - ] - JointBindings: Annotated[ - basic.cTkDynamicArray[cTkJointBindingData], - Field(basic.cTkDynamicArray[cTkJointBindingData], 0x80), - ] - JointExtents: Annotated[ - basic.cTkDynamicArray[cTkJointExtentData], - Field(basic.cTkDynamicArray[cTkJointExtentData], 0x90), - ] - JointMirrorAxes: Annotated[ - basic.cTkDynamicArray[cTkJointMirrorAxis], - Field(basic.cTkDynamicArray[cTkJointMirrorAxis], 0xA0), - ] - JointMirrorPairs: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0xB0), - ] - MeshAABBMax: Annotated[ - basic.cTkDynamicArray[basic.Vector4f], - Field(basic.cTkDynamicArray[basic.Vector4f], 0xC0), - ] - MeshAABBMin: Annotated[ - basic.cTkDynamicArray[basic.Vector4f], - Field(basic.cTkDynamicArray[basic.Vector4f], 0xD0), - ] - MeshBaseSkinMat: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0xE0), - ] - MeshVertREnd: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0xF0), - ] - MeshVertRStart: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x100), - ] - ProcGenNodeNames: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x110), - ] - ProcGenParentId: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x120), - ] - SkinMatrixLayout: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x130), - ] - StreamMetaDataArray: Annotated[ - basic.cTkDynamicArray[cTkMeshMetaData], - Field(basic.cTkDynamicArray[cTkMeshMetaData], 0x140), - ] + PositionVertexLayout: Annotated[cTkVertexLayout, 0x0] + VertexLayout: Annotated[cTkVertexLayout, 0x20] + BoundHullVertEd: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x40] + BoundHullVerts: Annotated[basic.cTkDynamicArray[basic.Vector4f], 0x50] + BoundHullVertSt: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x60] + IndexBuffer: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x70] + JointBindings: Annotated[basic.cTkDynamicArray[cTkJointBindingData], 0x80] + JointExtents: Annotated[basic.cTkDynamicArray[cTkJointExtentData], 0x90] + JointMirrorAxes: Annotated[basic.cTkDynamicArray[cTkJointMirrorAxis], 0xA0] + JointMirrorPairs: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0xB0] + MeshAABBMax: Annotated[basic.cTkDynamicArray[basic.Vector4f], 0xC0] + MeshAABBMin: Annotated[basic.cTkDynamicArray[basic.Vector4f], 0xD0] + MeshBaseSkinMat: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0xE0] + MeshVertREnd: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0xF0] + MeshVertRStart: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x100] + ProcGenNodeNames: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x110] + ProcGenParentId: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x120] + SkinMatrixLayout: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x130] + StreamMetaDataArray: Annotated[basic.cTkDynamicArray[cTkMeshMetaData], 0x140] CollisionIndexCount: Annotated[int, Field(ctypes.c_int32, 0x150)] IndexCount: Annotated[int, Field(ctypes.c_int32, 0x154)] Indices16Bit: Annotated[int, Field(ctypes.c_int32, 0x158)] @@ -1788,12 +1455,12 @@ class cTkPhysicsData(Structure): @partial_struct class cGcProceduralTextureColourIndices(Structure): - Alts: Annotated[int, Field(ctypes.c_int32, 0x0)] + Alts: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0x0)] @partial_struct class cTkAnimNodeData(Structure): - Node: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Node: Annotated[basic.VariableSizeString, 0x0] RotIndex: Annotated[int, Field(ctypes.c_int32, 0x10)] ScaleIndex: Annotated[int, Field(ctypes.c_int32, 0x14)] TransIndex: Annotated[int, Field(ctypes.c_int32, 0x18)] @@ -1801,27 +1468,18 @@ class cTkAnimNodeData(Structure): @partial_struct class cTkAnimNodeFrameHalfData(Structure): - Rotations: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint16], - Field(basic.cTkDynamicArray[ctypes.c_uint16], 0x0), - ] - Scales: Annotated[ - basic.cTkDynamicArray[basic.halfVector4], - Field(basic.cTkDynamicArray[basic.halfVector4], 0x10), - ] - Translations: Annotated[ - basic.cTkDynamicArray[basic.halfVector4], - Field(basic.cTkDynamicArray[basic.halfVector4], 0x20), - ] + Rotations: Annotated[basic.cTkDynamicArray[ctypes.c_uint16], 0x0] + Scales: Annotated[basic.cTkDynamicArray[basic.halfVector4], 0x10] + Translations: Annotated[basic.cTkDynamicArray[basic.halfVector4], 0x20] @partial_struct class cTkNGuiTreeViewTemplate(Structure): - FilteredTextColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - HighlightColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - InactiveTextColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - LineColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - TextColour: Annotated[basic.Colour, Field(basic.Colour, 0x40)] + FilteredTextColour: Annotated[basic.Colour, 0x0] + HighlightColour: Annotated[basic.Colour, 0x10] + InactiveTextColour: Annotated[basic.Colour, 0x20] + LineColour: Annotated[basic.Colour, 0x30] + TextColour: Annotated[basic.Colour, 0x40] ElementHeight: Annotated[float, Field(ctypes.c_float, 0x50)] IconMargin: Annotated[float, Field(ctypes.c_float, 0x54)] IconPad: Annotated[float, Field(ctypes.c_float, 0x58)] @@ -1836,25 +1494,28 @@ class cTkNGuiTreeViewTemplate(Structure): @partial_struct class cTkNGuiUserSettings(Structure): - AnimationViewerRecents: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - AnimationViewerRecentWindows: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] + AnimationViewerRecents: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 10, 0x0) + ] + AnimationViewerRecentWindows: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 10, 0xA0) + ] FileBrowserThumbnailSize: Annotated[float, Field(ctypes.c_float, 0x140)] NguiScale: Annotated[float, Field(ctypes.c_float, 0x144)] FavouriteWindows: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x148) + tuple[basic.cTkFixedString0x80, ...], + Field(basic.cTkFixedString0x80 * 20, 0x148), ] FileBrowserFavourites: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xB48) + tuple[basic.cTkFixedString0x100, ...], + Field(basic.cTkFixedString0x100 * 10, 0xB48), ] FileBrowserRecents: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1548) - ] - LastActiveLayout: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1F48) - ] - LastLoadedModel: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x2048) + tuple[basic.cTkFixedString0x100, ...], + Field(basic.cTkFixedString0x100 * 10, 0x1548), ] + LastActiveLayout: Annotated[basic.cTkFixedString0x100, 0x1F48] + LastLoadedModel: Annotated[basic.cTkFixedString0x100, 0x2048] CanSelectRegionDecoratorNodesInDebugEditor: Annotated[ bool, Field(ctypes.c_bool, 0x2148) ] @@ -1876,17 +1537,17 @@ class cTkNGuiWindowLayoutData(Structure): SizeXRelative: Annotated[float, Field(ctypes.c_float, 0x24)] SizeY: Annotated[float, Field(ctypes.c_float, 0x28)] SizeYRelative: Annotated[float, Field(ctypes.c_float, 0x2C)] - Tabs: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x30)] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x1030)] + Tabs: Annotated[ + tuple[basic.cTkFixedString0x80, ...], Field(basic.cTkFixedString0x80 * 32, 0x30) + ] + Name: Annotated[basic.cTkFixedString0x80, 0x1030] class eWindowStateEnum(IntEnum): Open = 0x0 Minimised = 0x1 Closed = 0x2 - WindowState: Annotated[ - c_enum32[eWindowStateEnum], Field(c_enum32[eWindowStateEnum], 0x10B0) - ] + WindowState: Annotated[c_enum32[eWindowStateEnum], 0x10B0] @partial_struct @@ -1903,38 +1564,32 @@ class eNGuiImageAnimTypeEnum(IntEnum): Animated = 0x1 Scrolling = 0x2 - NGuiImageAnimType: Annotated[ - c_enum32[eNGuiImageAnimTypeEnum], Field(c_enum32[eNGuiImageAnimTypeEnum], 0xD) - ] + NGuiImageAnimType: Annotated[c_enum32[eNGuiImageAnimTypeEnum], 0xD] TotalFrames: Annotated[bytes, Field(ctypes.c_byte, 0xE)] @partial_struct class cTkNGuiLayoutListData(Structure): - Default: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x20)] + Default: Annotated[basic.VariableSizeString, 0x0] + Filename: Annotated[basic.VariableSizeString, 0x10] + Name: Annotated[basic.cTkFixedString0x80, 0x20] Autosave: Annotated[bool, Field(ctypes.c_bool, 0xA0)] CanBeDeleted: Annotated[bool, Field(ctypes.c_bool, 0xA1)] @partial_struct class cTkNGuiEditorSavedFavourite(Structure): - Children: Annotated[ - "basic.cTkDynamicArray[cTkNGuiEditorSavedFavourite]", - Field("basic.cTkDynamicArray[cTkNGuiEditorSavedFavourite]", 0x0), - ] - Name: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x10)] + Children: Annotated["basic.cTkDynamicArray[cTkNGuiEditorSavedFavourite]", 0x0] + Name: Annotated[basic.cTkFixedString0x100, 0x10] AddedManually: Annotated[bool, Field(ctypes.c_bool, 0x110)] @partial_struct class cTkNGuiEditorSavedTreeNodeModification(Structure): Children: Annotated[ - "basic.cTkDynamicArray[cTkNGuiEditorSavedTreeNodeModification]", - Field("basic.cTkDynamicArray[cTkNGuiEditorSavedTreeNodeModification]", 0x0), + "basic.cTkDynamicArray[cTkNGuiEditorSavedTreeNodeModification]", 0x0 ] - Name: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x10)] + Name: Annotated[basic.cTkFixedString0x100, 0x10] Modified: Annotated[bool, Field(ctypes.c_bool, 0x110)] @@ -1945,51 +1600,45 @@ class eHorizontalEnum(IntEnum): Center = 0x1 Right = 0x2 - Horizontal: Annotated[ - c_enum32[eHorizontalEnum], Field(c_enum32[eHorizontalEnum], 0x0) - ] + Horizontal: Annotated[c_enum32[eHorizontalEnum], 0x0] class eVerticalEnum(IntEnum): Top = 0x0 Middle = 0x1 Bottom = 0x2 - Vertical: Annotated[c_enum32[eVerticalEnum], Field(c_enum32[eVerticalEnum], 0x1)] + Vertical: Annotated[c_enum32[eVerticalEnum], 0x1] @partial_struct class cTkNGuiEditorLayout(Structure): - FavouriteData: Annotated[ - basic.cTkDynamicArray[cTkNGuiEditorSavedFavourite], - Field(basic.cTkDynamicArray[cTkNGuiEditorSavedFavourite], 0x0), - ] - FavouriteTreeNodeChildCounts: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x10), - ] + FavouriteData: Annotated[basic.cTkDynamicArray[cTkNGuiEditorSavedFavourite], 0x0] + FavouriteTreeNodeChildCounts: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x10] FavouriteTreeNodes: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x100], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x20), + basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x20 ] TreeNodeModificationData: Annotated[ - basic.cTkDynamicArray[cTkNGuiEditorSavedTreeNodeModification], - Field(basic.cTkDynamicArray[cTkNGuiEditorSavedTreeNodeModification], 0x30), + basic.cTkDynamicArray[cTkNGuiEditorSavedTreeNodeModification], 0x30 + ] + Windows: Annotated[ + tuple[cTkNGuiWindowLayoutData, ...], Field(cTkNGuiWindowLayoutData * 272, 0x40) ] - Windows: Annotated[cTkNGuiWindowLayoutData, Field(cTkNGuiWindowLayoutData, 0x40)] @partial_struct class cTkLODDistances(Structure): - Distances: Annotated[float, Field(ctypes.c_float, 0x0)] + Distances: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x0)] @partial_struct class cTkLODSettingsData(Structure): - ImposterOverrideRange: Annotated[int, Field(ctypes.c_int32, 0x0)] - MaxObjectDistanceOverride: Annotated[int, Field(ctypes.c_int32, 0x18)] - RegionLODHiddenRanges: Annotated[int, Field(ctypes.c_int32, 0x30)] - RegionLODRadius: Annotated[int, Field(ctypes.c_int32, 0x48)] - LODAdjust: Annotated[float, Field(ctypes.c_float, 0x60)] + ImposterOverrideRange: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 6, 0x0)] + MaxObjectDistanceOverride: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 6, 0x18) + ] + RegionLODHiddenRanges: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 6, 0x30)] + RegionLODRadius: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 6, 0x48)] + LODAdjust: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x60)] AsteroidCountMultiplier: Annotated[int, Field(ctypes.c_int32, 0x74)] AsteroidDividerMultiplier: Annotated[int, Field(ctypes.c_int32, 0x78)] AsteroidFadeRangeMultiplier: Annotated[float, Field(ctypes.c_float, 0x7C)] @@ -2003,8 +1652,8 @@ class cTkLODSettingsData(Structure): @partial_struct class cTkNGuiEditorStyleColour(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x10)] + Colour: Annotated[basic.Colour, 0x0] + Name: Annotated[basic.cTkFixedString0x80, 0x10] @partial_struct @@ -2036,10 +1685,9 @@ class cTkAnimDetailSettingsData(Structure): @partial_struct class cTkAnimDetailSettings(Structure): AnimDistanceSettings: Annotated[ - basic.cTkDynamicArray[cTkAnimDetailSettingsData], - Field(basic.cTkDynamicArray[cTkAnimDetailSettingsData], 0x0), + basic.cTkDynamicArray[cTkAnimDetailSettingsData], 0x0 ] - AnimLODDistances: Annotated[float, Field(ctypes.c_float, 0x10)] + AnimLODDistances: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x10)] MaxVisibleAngle: Annotated[float, Field(ctypes.c_float, 0x1C)] @@ -2051,8 +1699,7 @@ class eDynamicResScalingAggressivenessEnum(IntEnum): Aggressive = 0x2 DynamicResScalingAggressiveness: Annotated[ - c_enum32[eDynamicResScalingAggressivenessEnum], - Field(c_enum32[eDynamicResScalingAggressivenessEnum], 0x0), + c_enum32[eDynamicResScalingAggressivenessEnum], 0x0 ] FrametimeHeadroomProportion: Annotated[float, Field(ctypes.c_float, 0x4)] LowestDynamicResScalingFactor: Annotated[float, Field(ctypes.c_float, 0x8)] @@ -2060,12 +1707,14 @@ class eDynamicResScalingAggressivenessEnum(IntEnum): @partial_struct class cTkEngineSettingsMapping(Structure): - CloudsMaxIterations: Annotated[int, Field(ctypes.c_int32, 0x0)] - CloudsResolutionScale: Annotated[float, Field(ctypes.c_float, 0x10)] - IKFullBodyIterations: Annotated[float, Field(ctypes.c_float, 0x20)] - ReflectionProbesMultiplier: Annotated[float, Field(ctypes.c_float, 0x30)] - ShadowMultiplier: Annotated[float, Field(ctypes.c_float, 0x40)] - NeedsGameRestart: Annotated[bool, Field(ctypes.c_bool, 0x50)] + CloudsMaxIterations: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0x0)] + CloudsResolutionScale: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x10)] + IKFullBodyIterations: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x20)] + ReflectionProbesMultiplier: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x30) + ] + ShadowMultiplier: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x40)] + NeedsGameRestart: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 54, 0x50)] @partial_struct @@ -2077,24 +1726,14 @@ class cTkWaveInputData(Structure): @partial_struct class cTkGameSettings(Structure): - KeyMapping: Annotated[ - basic.cTkDynamicArray[cGcInputActionMapping], - Field(basic.cTkDynamicArray[cGcInputActionMapping], 0x0), - ] - KeyMapping2: Annotated[ - basic.cTkDynamicArray[cGcInputActionMapping2], - Field(basic.cTkDynamicArray[cGcInputActionMapping2], 0x10), - ] - LastKnownPadType: Annotated[ - c_enum32[enums.cTkPadEnum], Field(c_enum32[enums.cTkPadEnum], 0x20) - ] + KeyMapping: Annotated[basic.cTkDynamicArray[cGcInputActionMapping], 0x0] + KeyMapping2: Annotated[basic.cTkDynamicArray[cGcInputActionMapping2], 0x10] + LastKnownPadType: Annotated[c_enum32[enums.cTkPadEnum], 0x20] @partial_struct class cTkGraphicsDetailPreset(Structure): - DynamicResScalingSettings: Annotated[ - cTkDynamicResScalingSettings, Field(cTkDynamicResScalingSettings, 0x0) - ] + DynamicResScalingSettings: Annotated[cTkDynamicResScalingSettings, 0x0] class eAmbientOcclusionEnum(IntEnum): Off = 0x0 @@ -2105,13 +1744,8 @@ class eAmbientOcclusionEnum(IntEnum): HBAO_Low = 0x5 HBAO_High = 0x6 - AmbientOcclusion: Annotated[ - c_enum32[eAmbientOcclusionEnum], Field(c_enum32[eAmbientOcclusionEnum], 0xC) - ] - AnimationQuality: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x10), - ] + AmbientOcclusion: Annotated[c_enum32[eAmbientOcclusionEnum], 0xC] + AnimationQuality: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x10] class eAnisotropyLevelEnum(IntEnum): _1 = 0x0 @@ -2120,9 +1754,7 @@ class eAnisotropyLevelEnum(IntEnum): _8 = 0x3 _16 = 0x4 - AnisotropyLevel: Annotated[ - c_enum32[eAnisotropyLevelEnum], Field(c_enum32[eAnisotropyLevelEnum], 0x14) - ] + AnisotropyLevel: Annotated[c_enum32[eAnisotropyLevelEnum], 0x14] class eAntiAliasingEnum(IntEnum): None_ = 0x0 @@ -2136,13 +1768,8 @@ class eAntiAliasingEnum(IntEnum): MetalFXSpatial = 0x8 MetalFXTemporal = 0x9 - AntiAliasing: Annotated[ - c_enum32[eAntiAliasingEnum], Field(c_enum32[eAntiAliasingEnum], 0x18) - ] - BaseQuality: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x1C), - ] + AntiAliasing: Annotated[c_enum32[eAntiAliasingEnum], 0x18] + BaseQuality: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x1C] class eDLSSFrameGenerationEnum(IntEnum): On2X = 0x0 @@ -2150,10 +1777,7 @@ class eDLSSFrameGenerationEnum(IntEnum): On3X = 0x2 On4X = 0x3 - DLSSFrameGeneration: Annotated[ - c_enum32[eDLSSFrameGenerationEnum], - Field(c_enum32[eDLSSFrameGenerationEnum], 0x20), - ] + DLSSFrameGeneration: Annotated[c_enum32[eDLSSFrameGenerationEnum], 0x20] class eDLSSQualityEnum(IntEnum): MaxPerformance = 0x0 @@ -2162,9 +1786,7 @@ class eDLSSQualityEnum(IntEnum): UltraPerformance = 0x3 UltraQuality = 0x4 - DLSSQuality: Annotated[ - c_enum32[eDLSSQualityEnum], Field(c_enum32[eDLSSQualityEnum], 0x24) - ] + DLSSQuality: Annotated[c_enum32[eDLSSQualityEnum], 0x24] class eFFXSR2QualityEnum(IntEnum): UltraPerformance = 0x0 @@ -2173,9 +1795,7 @@ class eFFXSR2QualityEnum(IntEnum): Quality = 0x3 Native = 0x4 - FFXSR2Quality: Annotated[ - c_enum32[eFFXSR2QualityEnum], Field(c_enum32[eFFXSR2QualityEnum], 0x28) - ] + FFXSR2Quality: Annotated[c_enum32[eFFXSR2QualityEnum], 0x28] class eFFXSRQualityEnum(IntEnum): Off = 0x0 @@ -2184,18 +1804,14 @@ class eFFXSRQualityEnum(IntEnum): Balanced = 0x3 Performance = 0x4 - FFXSRQuality: Annotated[ - c_enum32[eFFXSRQualityEnum], Field(c_enum32[eFFXSRQualityEnum], 0x2C) - ] + FFXSRQuality: Annotated[c_enum32[eFFXSRQualityEnum], 0x2C] class eMetalFXModeEnum(IntEnum): Off = 0x0 Spatial = 0x1 Temporal = 0x2 - MetalFXMode: Annotated[ - c_enum32[eMetalFXModeEnum], Field(c_enum32[eMetalFXModeEnum], 0x30) - ] + MetalFXMode: Annotated[c_enum32[eMetalFXModeEnum], 0x30] class eMetalFXQualityEnum(IntEnum): UltraQuality = 0x0 @@ -2203,59 +1819,28 @@ class eMetalFXQualityEnum(IntEnum): Balanced = 0x2 Performance = 0x3 - MetalFXQuality: Annotated[ - c_enum32[eMetalFXQualityEnum], Field(c_enum32[eMetalFXQualityEnum], 0x34) - ] + MetalFXQuality: Annotated[c_enum32[eMetalFXQualityEnum], 0x34] class eNVIDIAReflexLowLatencyEnum(IntEnum): On = 0x0 Off = 0x1 OnWithBoost = 0x2 - NVIDIAReflexLowLatency: Annotated[ - c_enum32[eNVIDIAReflexLowLatencyEnum], - Field(c_enum32[eNVIDIAReflexLowLatencyEnum], 0x38), - ] - PlanetQuality: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x3C), - ] - PostProcessingEffects: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x40), - ] - ReflectionsQuality: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x44), - ] - ShadowQuality: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x48), - ] - TerrainTessellation: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x4C), - ] - TextureQuality: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x50), - ] + NVIDIAReflexLowLatency: Annotated[c_enum32[eNVIDIAReflexLowLatencyEnum], 0x38] + PlanetQuality: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x3C] + PostProcessingEffects: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x40] + ReflectionsQuality: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x44] + ShadowQuality: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x48] + TerrainTessellation: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x4C] + TextureQuality: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x50] class eUIQualityEnum(IntEnum): Normal = 0x0 _4K = 0x1 - UIQuality: Annotated[ - c_enum32[eUIQualityEnum], Field(c_enum32[eUIQualityEnum], 0x54) - ] - VolumetricsQuality: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x58), - ] - WaterQuality: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x5C), - ] + UIQuality: Annotated[c_enum32[eUIQualityEnum], 0x54] + VolumetricsQuality: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x58] + WaterQuality: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x5C] class eXESSQualityEnum(IntEnum): UltraPerformance = 0x0 @@ -2266,25 +1851,26 @@ class eXESSQualityEnum(IntEnum): UltraQualityPlus = 0x5 Native = 0x6 - XESSQuality: Annotated[ - c_enum32[eXESSQualityEnum], Field(c_enum32[eXESSQualityEnum], 0x60) - ] + XESSQuality: Annotated[c_enum32[eXESSQualityEnum], 0x60] @partial_struct class cTkNetEntityRefComponentData(Structure): - Reference: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Reference: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cTkProceduralInstanceData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] Index: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cTkProceduralInstance(Structure): - Data: Annotated[cTkProceduralInstanceData, Field(cTkProceduralInstanceData, 0x0)] + Data: Annotated[ + tuple[cTkProceduralInstanceData, ...], + Field(cTkProceduralInstanceData * 16, 0x0), + ] @partial_struct @@ -2301,7 +1887,7 @@ class cTkFoamProperties(Structure): @partial_struct class cTkMeshWaterQualitySettingData(Structure): - WaterMeshConfig: Annotated[cTkWaterMeshConfig, Field(cTkWaterMeshConfig, 0x0)] + WaterMeshConfig: Annotated[cTkWaterMeshConfig, 0x0] EnableDetailNormals: Annotated[bool, Field(ctypes.c_bool, 0x24)] EnableDynamicWaves: Annotated[bool, Field(ctypes.c_bool, 0x25)] EnableFoam: Annotated[bool, Field(ctypes.c_bool, 0x26)] @@ -2312,10 +1898,7 @@ class cTkMeshWaterQualitySettingData(Structure): @partial_struct class cTkProceduralModelComponentData(Structure): - List: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x0), - ] + List: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x0] @partial_struct @@ -2325,35 +1908,25 @@ class ePlanarReflectionsEnum(IntEnum): TerrainOnly = 0x1 TerrainAndScreenspace = 0x2 - PlanarReflections: Annotated[ - c_enum32[ePlanarReflectionsEnum], Field(c_enum32[ePlanarReflectionsEnum], 0x0) - ] + PlanarReflections: Annotated[c_enum32[ePlanarReflectionsEnum], 0x0] class eScreenSpaceReflectionsEnum(IntEnum): Off = 0x0 On = 0x1 - ScreenSpaceReflections: Annotated[ - c_enum32[eScreenSpaceReflectionsEnum], - Field(c_enum32[eScreenSpaceReflectionsEnum], 0x4), - ] + ScreenSpaceReflections: Annotated[c_enum32[eScreenSpaceReflectionsEnum], 0x4] @partial_struct class cTkProceduralModelList(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - List: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x10), - ] + Id: Annotated[basic.TkID0x10, 0x0] + List: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x10] @partial_struct class cTkReferenceComponentData(Structure): - LSystem: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Reference: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] + LSystem: Annotated[basic.VariableSizeString, 0x0] + Reference: Annotated[basic.VariableSizeString, 0x10] @partial_struct @@ -2367,11 +1940,11 @@ class cTkShearWindOctaveData(Structure): @partial_struct class cTkShearWindData(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Octave0: Annotated[cTkShearWindOctaveData, Field(cTkShearWindOctaveData, 0x10)] - Octave1: Annotated[cTkShearWindOctaveData, Field(cTkShearWindOctaveData, 0x24)] - Octave2: Annotated[cTkShearWindOctaveData, Field(cTkShearWindOctaveData, 0x38)] - Octave3: Annotated[cTkShearWindOctaveData, Field(cTkShearWindOctaveData, 0x4C)] + Name: Annotated[basic.TkID0x10, 0x0] + Octave0: Annotated[cTkShearWindOctaveData, 0x10] + Octave1: Annotated[cTkShearWindOctaveData, 0x24] + Octave2: Annotated[cTkShearWindOctaveData, 0x38] + Octave3: Annotated[cTkShearWindOctaveData, 0x4C] LdsWindSpeed: Annotated[float, Field(ctypes.c_float, 0x60)] LdsWindStrength: Annotated[float, Field(ctypes.c_float, 0x64)] OverallWindStrength: Annotated[float, Field(ctypes.c_float, 0x68)] @@ -2384,24 +1957,18 @@ class cTkShearWindData(Structure): @partial_struct class cTkResourceFilterData(Structure): - FilteredResources: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x0), - ] - FilterName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + FilteredResources: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x0] + FilterName: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkResourceFilterList(Structure): - Filters: Annotated[ - basic.cTkDynamicArray[cTkResourceFilterData], - Field(basic.cTkDynamicArray[cTkResourceFilterData], 0x0), - ] + Filters: Annotated[basic.cTkDynamicArray[cTkResourceFilterData], 0x0] @partial_struct class cTkRotationComponentData(Structure): - Axis: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + Axis: Annotated[basic.Vector3f, 0x0] Speed: Annotated[float, Field(ctypes.c_float, 0x10)] SyncGroup: Annotated[int, Field(ctypes.c_int32, 0x14)] AlwaysUpdate: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -2409,47 +1976,32 @@ class cTkRotationComponentData(Structure): @partial_struct class cTkResourceDescriptorData(Structure): - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Children: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x20), - ] - ReferencePaths: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x30), - ] + Id: Annotated[basic.TkID0x20, 0x0] + Children: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x20] + ReferencePaths: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x30] Chance: Annotated[float, Field(ctypes.c_float, 0x40)] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x44)] + Name: Annotated[basic.cTkFixedString0x80, 0x44] @partial_struct class cTkResourceDescriptorList(Structure): - Descriptors: Annotated[ - basic.cTkDynamicArray[cTkResourceDescriptorData], - Field(basic.cTkDynamicArray[cTkResourceDescriptorData], 0x0), - ] - TypeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Descriptors: Annotated[basic.cTkDynamicArray[cTkResourceDescriptorData], 0x0] + TypeId: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkAllowedWaterConditions(Structure): - ConditionWeights: Annotated[float, Field(ctypes.c_float, 0x0)] + ConditionWeights: Annotated[tuple[float, ...], Field(ctypes.c_float * 15, 0x0)] @partial_struct class cTkModelDescriptorList(Structure): - List: Annotated[ - basic.cTkDynamicArray[cTkResourceDescriptorList], - Field(basic.cTkDynamicArray[cTkResourceDescriptorList], 0x0), - ] + List: Annotated[basic.cTkDynamicArray[cTkResourceDescriptorList], 0x0] @partial_struct class cTkDynamicChainComponentData(Structure): - IgnoreJoints: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0), - ] + IgnoreJoints: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0] AirThickness: Annotated[float, Field(ctypes.c_float, 0x10)] AngularDamping: Annotated[float, Field(ctypes.c_float, 0x14)] AngularLimit: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -2468,20 +2020,15 @@ class cTkDynamicChainComponentData(Structure): @partial_struct class cTkRigidBodyComponentData(Structure): - Properties: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] + Properties: Annotated[basic.NMSTemplate, 0x0] class eTargetNodeEnum(IntEnum): Model = 0x0 MasterModel = 0x1 Attachment = 0x2 - TargetNode: Annotated[ - c_enum32[eTargetNodeEnum], Field(c_enum32[eTargetNodeEnum], 0x10) - ] - TriggerVolumeType: Annotated[ - c_enum32[enums.cTkVolumeTriggerType], - Field(c_enum32[enums.cTkVolumeTriggerType], 0x14), - ] + TargetNode: Annotated[c_enum32[eTargetNodeEnum], 0x10] + TriggerVolumeType: Annotated[c_enum32[enums.cTkVolumeTriggerType], 0x14] AddToWorldImmediately: Annotated[bool, Field(ctypes.c_bool, 0x18)] AddToWorldOnPrepare: Annotated[bool, Field(ctypes.c_bool, 0x19)] TriggerVolume: Annotated[bool, Field(ctypes.c_bool, 0x1A)] @@ -2489,28 +2036,20 @@ class eTargetNodeEnum(IntEnum): @partial_struct class cTkDynamicPhysicsComponentData(Structure): - RigidBody: Annotated[ - cTkRigidBodyComponentData, Field(cTkRigidBodyComponentData, 0x0) - ] - Data: Annotated[cTkPhysicsData, Field(cTkPhysicsData, 0x20)] + RigidBody: Annotated[cTkRigidBodyComponentData, 0x0] + Data: Annotated[cTkPhysicsData, 0x20] class ePhysicsSurfacePropertiesEnum(IntEnum): None_ = 0x0 Glass = 0x1 - PhysicsSurfaceProperties: Annotated[ - c_enum32[ePhysicsSurfacePropertiesEnum], - Field(c_enum32[ePhysicsSurfacePropertiesEnum], 0x38), - ] + PhysicsSurfaceProperties: Annotated[c_enum32[ePhysicsSurfacePropertiesEnum], 0x38] SimpleCharacterCollisionFwdOffset: Annotated[float, Field(ctypes.c_float, 0x3C)] SimpleCharacterCollisionHeight: Annotated[float, Field(ctypes.c_float, 0x40)] SimpleCharacterCollisionHeightOffset: Annotated[float, Field(ctypes.c_float, 0x44)] SimpleCharacterCollisionRadius: Annotated[float, Field(ctypes.c_float, 0x48)] SpinOnCreate: Annotated[float, Field(ctypes.c_float, 0x4C)] - TriggerVolumeType: Annotated[ - c_enum32[enums.cTkVolumeTriggerType], - Field(c_enum32[enums.cTkVolumeTriggerType], 0x50), - ] + TriggerVolumeType: Annotated[c_enum32[enums.cTkVolumeTriggerType], 0x50] Animated: Annotated[bool, Field(ctypes.c_bool, 0x54)] DisableGravity: Annotated[bool, Field(ctypes.c_bool, 0x55)] RotateSimpleCharacterCollisionCapsule: Annotated[bool, Field(ctypes.c_bool, 0x56)] @@ -2532,9 +2071,7 @@ class cTkInstanceWindComponentData(Structure): @partial_struct class cTkNavModifierComponentData(Structure): - NavMeshInclusion: Annotated[ - cTkNavMeshInclusionParams, Field(cTkNavMeshInclusionParams, 0x0) - ] + NavMeshInclusion: Annotated[cTkNavMeshInclusionParams, 0x0] @partial_struct @@ -2553,23 +2090,15 @@ class cTkCreatureTailJoints(Structure): StrengthY: Annotated[float, Field(ctypes.c_float, 0x14)] StrengthZ: Annotated[float, Field(ctypes.c_float, 0x18)] SwimPhaseOffset: Annotated[float, Field(ctypes.c_float, 0x1C)] - EndJoint: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - StartJoint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] + EndJoint: Annotated[basic.cTkFixedString0x20, 0x20] + StartJoint: Annotated[basic.cTkFixedString0x20, 0x40] @partial_struct class cTkCreatureTailParams(Structure): - PartName: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Joints: Annotated[ - basic.cTkDynamicArray[cTkCreatureTailJoints], - Field(basic.cTkDynamicArray[cTkCreatureTailJoints], 0x20), - ] - PerBoneSwimStrength: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x30), - ] + PartName: Annotated[basic.TkID0x20, 0x0] + Joints: Annotated[basic.cTkDynamicArray[cTkCreatureTailJoints], 0x20] + PerBoneSwimStrength: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x30] AnimationMix: Annotated[float, Field(ctypes.c_float, 0x40)] MaxTurnForSwim: Annotated[float, Field(ctypes.c_float, 0x44)] MinSwimStrength: Annotated[float, Field(ctypes.c_float, 0x48)] @@ -2587,33 +2116,24 @@ class cTkCreatureTailParams(Structure): @partial_struct class cTkNamedAudioIdArray(Structure): - Values: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x80], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x0), - ] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x10)] + Values: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x0] + Name: Annotated[basic.cTkFixedString0x80, 0x10] @partial_struct class cTkNamedAudioIdArrayTable(Structure): - Array: Annotated[ - basic.cTkDynamicArray[cTkNamedAudioIdArray], - Field(basic.cTkDynamicArray[cTkNamedAudioIdArray], 0x0), - ] + Array: Annotated[basic.cTkDynamicArray[cTkNamedAudioIdArray], 0x0] @partial_struct class cTkAnimStateMachineComponentData(Structure): - InitialStateMachine: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + InitialStateMachine: Annotated[basic.TkID0x20, 0x0] @partial_struct class cTkAudioAnimTrigger(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - OnlyValidWithParts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x10), - ] + Anim: Annotated[basic.TkID0x10, 0x0] + OnlyValidWithParts: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x10] class eAudioTypeEnum(IntEnum): Standard = 0x0 @@ -2621,23 +2141,21 @@ class eAudioTypeEnum(IntEnum): CreatureSnore = 0x2 Projectile = 0x3 - AudioType: Annotated[ - c_enum32[eAudioTypeEnum], Field(c_enum32[eAudioTypeEnum], 0x20) - ] + AudioType: Annotated[c_enum32[eAudioTypeEnum], 0x20] FrameStart: Annotated[int, Field(ctypes.c_int32, 0x24)] - Sound: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x28)] + Sound: Annotated[basic.cTkFixedString0x80, 0x28] @partial_struct class cTkAudioEmitterLine(Structure): - End: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Start: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] + End: Annotated[basic.Vector3f, 0x0] + Start: Annotated[basic.Vector3f, 0x10] Spacing: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cTkAnimationAttachmentData(Structure): - AnimGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + AnimGroup: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -2648,27 +2166,24 @@ class cTkCameraAttachmentData(Structure): @partial_struct class cTkAudioIDArray(Structure): - Array: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x80], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x0), - ] + Array: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x0] @partial_struct class cTkAnimStateMachineParameterTrigger(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] Default: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cTkAnimStateMachineTransitionConditionBoolData(Structure): - Parameter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Parameter: Annotated[basic.TkID0x10, 0x0] CompareValue: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cTkAnimStateMachineTransitionConditionFloatData(Structure): - Parameter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Parameter: Annotated[basic.TkID0x10, 0x0] CompareValue: Annotated[float, Field(ctypes.c_float, 0x10)] class eFloatComparisonModeEnum(IntEnum): @@ -2677,15 +2192,12 @@ class eFloatComparisonModeEnum(IntEnum): GreaterThanEqual = 0x2 GreaterThan = 0x3 - FloatComparisonMode: Annotated[ - c_enum32[eFloatComparisonModeEnum], - Field(c_enum32[eFloatComparisonModeEnum], 0x14), - ] + FloatComparisonMode: Annotated[c_enum32[eFloatComparisonModeEnum], 0x14] @partial_struct class cTkAnimStateMachineTransitionConditionIntData(Structure): - Parameter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Parameter: Annotated[basic.TkID0x10, 0x0] CompareValue: Annotated[int, Field(ctypes.c_int32, 0x10)] class eIntComparisonModeEnum(IntEnum): @@ -2695,9 +2207,7 @@ class eIntComparisonModeEnum(IntEnum): GreaterThanEqual = 0x3 GreaterThan = 0x4 - IntComparisonMode: Annotated[ - c_enum32[eIntComparisonModeEnum], Field(c_enum32[eIntComparisonModeEnum], 0x14) - ] + IntComparisonMode: Annotated[c_enum32[eIntComparisonModeEnum], 0x14] @partial_struct @@ -2708,80 +2218,68 @@ class cTkAnimStateMachineTransitionConditionStateTimeData(Structure): @partial_struct class cTkWeightedAnim(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Anim: Annotated[basic.TkID0x10, 0x0] Weight: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cTkAnimStateMachineParameterBool(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] Default: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cTkWeightedAnimLibrary(Structure): - Anims: Annotated[ - basic.cTkDynamicArray[cTkWeightedAnim], - Field(basic.cTkDynamicArray[cTkWeightedAnim], 0x0), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Anims: Annotated[basic.cTkDynamicArray[cTkWeightedAnim], 0x0] + Id: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkAnimStateMachineParameterFloat(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] Default: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cTkAnimStateMachineParameterInt(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] Default: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cTkAnimPoseData(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Anim: Annotated[basic.TkID0x10, 0x0] FrameEnd: Annotated[int, Field(ctypes.c_int32, 0x10)] FrameStart: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cTkAnimPoseExampleElement(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Anim: Annotated[basic.TkID0x10, 0x0] Value: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cTkAnimPoseExampleData(Structure): - Elements: Annotated[ - basic.cTkDynamicArray[cTkAnimPoseExampleElement], - Field(basic.cTkDynamicArray[cTkAnimPoseExampleElement], 0x0), - ] + Elements: Annotated[basic.cTkDynamicArray[cTkAnimPoseExampleElement], 0x0] @partial_struct class cTkAnimRandomOneShots(Structure): - List: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - Parent: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + List: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + Parent: Annotated[basic.TkID0x10, 0x10] DelayMax: Annotated[float, Field(ctypes.c_float, 0x20)] DelayMin: Annotated[float, Field(ctypes.c_float, 0x24)] @partial_struct class cTkAnimationNotifyAddEffect(Structure): - CharacterLocator: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Effect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Modules: Annotated[ - basic.cTkDynamicArray[basic.LinkableNMSTemplate], - Field(basic.cTkDynamicArray[basic.LinkableNMSTemplate], 0x20), - ] + CharacterLocator: Annotated[basic.TkID0x10, 0x0] + Effect: Annotated[basic.TkID0x10, 0x10] + Modules: Annotated[basic.cTkDynamicArray[basic.LinkableNMSTemplate], 0x20] FacingDirOffset: Annotated[float, Field(ctypes.c_float, 0x30)] Scale: Annotated[float, Field(ctypes.c_float, 0x34)] - Node: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x38)] + Node: Annotated[basic.cTkFixedString0x40, 0x38] Attach: Annotated[bool, Field(ctypes.c_bool, 0x78)] MirrorDuplicate: Annotated[bool, Field(ctypes.c_bool, 0x79)] UseModelFacingDir: Annotated[bool, Field(ctypes.c_bool, 0x7A)] @@ -2799,15 +2297,12 @@ class cTkAnimationNotifyAddEffectGroundInteraction(Structure): @partial_struct class cTkAnimationNotifyGeneric(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] @partial_struct class cTkAnimJointLODData(Structure): - JointNames: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x40], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x0), - ] + JointNames: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x0] LOD: Annotated[int, Field(ctypes.c_int32, 0x10)] @@ -2816,42 +2311,37 @@ class cTkAnimMaskBone(Structure): NameHash: Annotated[int, Field(ctypes.c_int32, 0x0)] RotationWeight: Annotated[float, Field(ctypes.c_float, 0x4)] TranslationWeight: Annotated[float, Field(ctypes.c_float, 0x8)] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xC)] + Name: Annotated[basic.cTkFixedString0x40, 0xC] ChildrenInheritWeights: Annotated[bool, Field(ctypes.c_bool, 0x4C)] LinkWeights: Annotated[bool, Field(ctypes.c_bool, 0x4D)] @partial_struct class cTkAnimationAction(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] EndFrame: Annotated[float, Field(ctypes.c_float, 0x10)] StartFrame: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cTkAnimMask(Structure): - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Bones: Annotated[ - basic.cTkDynamicArray[cTkAnimMaskBone], - Field(basic.cTkDynamicArray[cTkAnimMaskBone], 0x20), - ] + Id: Annotated[basic.TkID0x20, 0x0] + Bones: Annotated[basic.cTkDynamicArray[cTkAnimMaskBone], 0x20] @partial_struct class cTkAnimationMask(Structure): - Mask: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Mask: Annotated[basic.TkID0x20, 0x0] class eAnimMaskTypeEnum(IntEnum): UpperBody = 0x0 - AnimMaskType: Annotated[ - c_enum32[eAnimMaskTypeEnum], Field(c_enum32[eAnimMaskTypeEnum], 0x20) - ] + AnimMaskType: Annotated[c_enum32[eAnimMaskTypeEnum], 0x20] @partial_struct class cTkAnimationNotify(Structure): - Data: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] + Data: Annotated[basic.NMSTemplate, 0x0] EndFrame: Annotated[float, Field(ctypes.c_float, 0x10)] StartFrame: Annotated[float, Field(ctypes.c_float, 0x14)] Track: Annotated[int, Field(ctypes.c_int32, 0x18)] @@ -2864,9 +2354,7 @@ class eRootMotionEnum(IntEnum): EnabledWithGravity = 0x1 EnabledFullControl = 0x2 - RootMotion: Annotated[ - c_enum32[eRootMotionEnum], Field(c_enum32[eRootMotionEnum], 0x0) - ] + RootMotion: Annotated[c_enum32[eRootMotionEnum], 0x0] BlockPlayerMovement: Annotated[bool, Field(ctypes.c_bool, 0x4)] class eBlockPlayerWeaponEnum(IntEnum): @@ -2874,42 +2362,25 @@ class eBlockPlayerWeaponEnum(IntEnum): Sheathed = 0x1 OutButCannotFire = 0x2 - BlockPlayerWeapon: Annotated[ - c_enum32[eBlockPlayerWeaponEnum], Field(c_enum32[eBlockPlayerWeaponEnum], 0x8) - ] + BlockPlayerWeapon: Annotated[c_enum32[eBlockPlayerWeaponEnum], 0x8] @partial_struct class cTkAnimMaskTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cTkAnimMask], - Field(basic.cTkDynamicArray[cTkAnimMask], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cTkAnimMask], 0x0] @partial_struct class cTkAnimationData(Structure): - Mask: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Actions: Annotated[ - basic.cTkDynamicArray[cTkAnimationAction], - Field(basic.cTkDynamicArray[cTkAnimationAction], 0x20), - ] - AdditionalMasks: Annotated[ - basic.cTkDynamicArray[cTkAnimationMask], - Field(basic.cTkDynamicArray[cTkAnimationMask], 0x30), - ] - AdditiveBaseAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - ExtraStartNodes: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x40], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x60), - ] - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x70)] - Notifies: Annotated[ - basic.cTkDynamicArray[cTkAnimationNotify], - Field(basic.cTkDynamicArray[cTkAnimationNotify], 0x80), - ] - GameData: Annotated[cTkAnimationGameData, Field(cTkAnimationGameData, 0x90)] + Mask: Annotated[basic.TkID0x20, 0x0] + Actions: Annotated[basic.cTkDynamicArray[cTkAnimationAction], 0x20] + AdditionalMasks: Annotated[basic.cTkDynamicArray[cTkAnimationMask], 0x30] + AdditiveBaseAnim: Annotated[basic.TkID0x10, 0x40] + Anim: Annotated[basic.TkID0x10, 0x50] + ExtraStartNodes: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x60] + Filename: Annotated[basic.VariableSizeString, 0x70] + Notifies: Annotated[basic.cTkDynamicArray[cTkAnimationNotify], 0x80] + GameData: Annotated[cTkAnimationGameData, 0x90] ActionFrame: Annotated[float, Field(ctypes.c_float, 0x9C)] ActionStartFrame: Annotated[float, Field(ctypes.c_float, 0xA0)] AdditiveBaseFrame: Annotated[float, Field(ctypes.c_float, 0xA4)] @@ -2920,16 +2391,14 @@ class eAnimTypeEnum(IntEnum): OneShotBlendable = 0x2 Control = 0x3 - AnimType: Annotated[c_enum32[eAnimTypeEnum], Field(c_enum32[eAnimTypeEnum], 0xA8)] + AnimType: Annotated[c_enum32[eAnimTypeEnum], 0xA8] class eCreatureSizeEnum(IntEnum): AllSizes = 0x0 SmallOnly = 0x1 LargeOnly = 0x2 - CreatureSize: Annotated[ - c_enum32[eCreatureSizeEnum], Field(c_enum32[eCreatureSizeEnum], 0xAC) - ] + CreatureSize: Annotated[c_enum32[eCreatureSizeEnum], 0xAC] Delay: Annotated[float, Field(ctypes.c_float, 0xB0)] FrameEnd: Annotated[int, Field(ctypes.c_int32, 0xB4)] FrameEndGame: Annotated[int, Field(ctypes.c_int32, 0xB8)] @@ -2938,9 +2407,7 @@ class eCreatureSizeEnum(IntEnum): OffsetMin: Annotated[float, Field(ctypes.c_float, 0xC4)] Priority: Annotated[int, Field(ctypes.c_int32, 0xC8)] Speed: Annotated[float, Field(ctypes.c_float, 0xCC)] - StartNode: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xD0) - ] + StartNode: Annotated[basic.cTkFixedString0x40, 0xD0] Active: Annotated[bool, Field(ctypes.c_bool, 0x110)] Additive: Annotated[bool, Field(ctypes.c_bool, 0x111)] AnimGroupOverride: Annotated[bool, Field(ctypes.c_bool, 0x112)] @@ -2950,46 +2417,38 @@ class eCreatureSizeEnum(IntEnum): @partial_struct class cTkAnimPoseBabyModifier(Structure): - Item: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Item: Annotated[basic.TkID0x10, 0x0] Value: Annotated[float, Field(ctypes.c_float, 0x10)] Weight: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cTkAnimPoseCorrelationData(Structure): - ItemA: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ItemB: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ItemA: Annotated[basic.TkID0x10, 0x0] + ItemB: Annotated[basic.TkID0x10, 0x10] Correlation: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcWonderRecordCustomData(Structure): - ActualType: Annotated[ - c_enum32[enums.cGcWonderType], Field(c_enum32[enums.cGcWonderType], 0x0) - ] - CustomName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x4) - ] + ActualType: Annotated[c_enum32[enums.cGcWonderType], 0x0] + CustomName: Annotated[basic.cTkFixedString0x40, 0x4] @partial_struct class cTkAnim2dBlendNodeData(Structure): - Position: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] - BlendChild: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x8)] + Position: Annotated[basic.Vector2f, 0x0] + BlendChild: Annotated[basic.NMSTemplate, 0x8] @partial_struct class cTkAnim2dBlendNode(Structure): - NodeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - PositionIn: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x10) - ] + NodeId: Annotated[basic.TkID0x10, 0x0] + PositionIn: Annotated[basic.cTkFixedString0x40, 0x10] PositionRangeBegin: Annotated[float, Field(ctypes.c_float, 0x50)] PositionRangeEnd: Annotated[float, Field(ctypes.c_float, 0x54)] PositionSpringTime: Annotated[float, Field(ctypes.c_float, 0x58)] - PositionCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x5C) - ] + PositionCurve: Annotated[c_enum32[enums.cTkCurveType], 0x5C] SelectBlend: Annotated[bool, Field(ctypes.c_bool, 0x5D)] SelectBlendSpring: Annotated[float, Field(ctypes.c_float, 0x60)] PolarInputInterpolation: Annotated[bool, Field(ctypes.c_bool, 0x64)] @@ -3000,104 +2459,81 @@ class eCoordinatesEnum(IntEnum): Polar = 0x0 Cartesian = 0x1 - Coordinates: Annotated[ - c_enum32[eCoordinatesEnum], Field(c_enum32[eCoordinatesEnum], 0x70) - ] + Coordinates: Annotated[c_enum32[eCoordinatesEnum], 0x70] class eBlendOpEnum(IntEnum): Blend = 0x0 Add = 0x1 - BlendOp: Annotated[c_enum32[eBlendOpEnum], Field(c_enum32[eBlendOpEnum], 0x74)] - BlendChildren: Annotated[ - basic.cTkDynamicArray[cTkAnim2dBlendNodeData], - Field(basic.cTkDynamicArray[cTkAnim2dBlendNodeData], 0x78), - ] + BlendOp: Annotated[c_enum32[eBlendOpEnum], 0x74] + BlendChildren: Annotated[basic.cTkDynamicArray[cTkAnim2dBlendNodeData], 0x78] @partial_struct class cTkAnimAnimNode(Structure): - DisplayName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - AnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - PhaseIn: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x30)] - PhaseCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x70) - ] + DisplayName: Annotated[basic.cTkFixedString0x20, 0x0] + AnimId: Annotated[basic.TkID0x10, 0x20] + PhaseIn: Annotated[basic.cTkFixedString0x40, 0x30] + PhaseCurve: Annotated[c_enum32[enums.cTkCurveType], 0x70] PhaseRangeBegin: Annotated[float, Field(ctypes.c_float, 0x74)] PhaseRangeEnd: Annotated[float, Field(ctypes.c_float, 0x78)] - SyncGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] + SyncGroup: Annotated[basic.TkID0x10, 0x80] class eSyncGroupRoleEnum(IntEnum): CanBeLeader = 0x0 AlwaysLeader = 0x1 NeverLeader = 0x2 - SyncGroupRole: Annotated[ - c_enum32[eSyncGroupRoleEnum], Field(c_enum32[eSyncGroupRoleEnum], 0x90) - ] + SyncGroupRole: Annotated[c_enum32[eSyncGroupRoleEnum], 0x90] @partial_struct class cTkAnimBlendNode(Structure): - NodeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - WeightIn: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x10)] + NodeId: Annotated[basic.TkID0x10, 0x0] + WeightIn: Annotated[basic.cTkFixedString0x40, 0x10] WeightRangeBegin: Annotated[float, Field(ctypes.c_float, 0x50)] WeightRangeEnd: Annotated[float, Field(ctypes.c_float, 0x54)] WeightSpringTime: Annotated[float, Field(ctypes.c_float, 0x58)] - WeightCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x5C) - ] + WeightCurve: Annotated[c_enum32[enums.cTkCurveType], 0x5C] InitialWeight: Annotated[float, Field(ctypes.c_float, 0x60)] - BlendLeft: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x68)] - BlendRight: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x78)] + BlendLeft: Annotated[basic.NMSTemplate, 0x68] + BlendRight: Annotated[basic.NMSTemplate, 0x78] @partial_struct class cTkAnimVectorBlendNodeData(Structure): - NodeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - WeightIn: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x10)] + NodeId: Annotated[basic.TkID0x10, 0x0] + WeightIn: Annotated[basic.cTkFixedString0x40, 0x10] WeightRangeBegin: Annotated[float, Field(ctypes.c_float, 0x50)] WeightRangeEnd: Annotated[float, Field(ctypes.c_float, 0x54)] WeightSpringTime: Annotated[float, Field(ctypes.c_float, 0x58)] - WeightCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x5C) - ] + WeightCurve: Annotated[c_enum32[enums.cTkCurveType], 0x5C] InitialWeight: Annotated[float, Field(ctypes.c_float, 0x60)] - BlendChild: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x68)] + BlendChild: Annotated[basic.NMSTemplate, 0x68] @partial_struct class cTkAnimVectorBlendNode(Structure): - BlendChildren: Annotated[ - basic.cTkDynamicArray[cTkAnimVectorBlendNodeData], - Field(basic.cTkDynamicArray[cTkAnimVectorBlendNodeData], 0x0), - ] - NodeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + BlendChildren: Annotated[basic.cTkDynamicArray[cTkAnimVectorBlendNodeData], 0x0] + NodeId: Annotated[basic.TkID0x10, 0x10] class eBlendOperationEnum(IntEnum): Blend = 0x0 Add = 0x1 - BlendOperation: Annotated[ - c_enum32[eBlendOperationEnum], Field(c_enum32[eBlendOperationEnum], 0x20) - ] + BlendOperation: Annotated[c_enum32[eBlendOperationEnum], 0x20] @partial_struct class cGcWonderRecord(Structure): - GenerationID: Annotated[int, Field(ctypes.c_uint64, 0x0)] + GenerationID: Annotated[tuple[int, ...], Field(ctypes.c_uint64 * 2, 0x0)] WonderStatValue: Annotated[float, Field(ctypes.c_float, 0x10)] SeenInFrontend: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcID256Enum(Structure): - Values: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x0), - ] + Values: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x0] @partial_struct @@ -3108,88 +2544,59 @@ class cGcStoryPageSeenData(Structure): @partial_struct class cGcStoryPageSeenDataArray(Structure): - PagesData: Annotated[ - basic.cTkDynamicArray[cGcStoryPageSeenData], - Field(basic.cTkDynamicArray[cGcStoryPageSeenData], 0x0), - ] + PagesData: Annotated[basic.cTkDynamicArray[cGcStoryPageSeenData], 0x0] @partial_struct class cGcIDLookupPath(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Path: Annotated[basic.cTkFixedString0x800, Field(basic.cTkFixedString0x800, 0x10)] - DescriptionField: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x810) - ] - ImageField: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x890) - ] - NameField: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x910) - ] - SubTitleField: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x990) - ] + Id: Annotated[basic.TkID0x10, 0x0] + Path: Annotated[basic.cTkFixedString0x800, 0x10] + DescriptionField: Annotated[basic.cTkFixedString0x80, 0x810] + ImageField: Annotated[basic.cTkFixedString0x80, 0x890] + NameField: Annotated[basic.cTkFixedString0x80, 0x910] + SubTitleField: Annotated[basic.cTkFixedString0x80, 0x990] GlobalSort: Annotated[bool, Field(ctypes.c_bool, 0xA10)] @partial_struct class cGcWikiPage(Structure): - PageID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - ContentImage: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x20)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x38)] - Content: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x50)] - VRAnyHandControlContent: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x90) - ] - VRContent: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xD0) - ] - VRMoveControllerContent: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x110) - ] + PageID: Annotated[basic.cTkFixedString0x20, 0x0] + ContentImage: Annotated[cTkTextureResource, 0x20] + Icon: Annotated[cTkTextureResource, 0x38] + Content: Annotated[basic.cTkFixedString0x40, 0x50] + VRAnyHandControlContent: Annotated[basic.cTkFixedString0x40, 0x90] + VRContent: Annotated[basic.cTkFixedString0x40, 0xD0] + VRMoveControllerContent: Annotated[basic.cTkFixedString0x40, 0x110] @partial_struct class cGcIDLookupPaths(Structure): - Paths: Annotated[ - basic.cTkDynamicArray[cGcIDLookupPath], - Field(basic.cTkDynamicArray[cGcIDLookupPath], 0x0), - ] + Paths: Annotated[basic.cTkDynamicArray[cGcIDLookupPath], 0x0] @partial_struct class cGcCompositeCurveElementData(Structure): Duration: Annotated[float, Field(ctypes.c_float, 0x0)] EndValue: Annotated[float, Field(ctypes.c_float, 0x4)] - CurveType: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8) - ] + CurveType: Annotated[c_enum32[enums.cTkCurveType], 0x8] @partial_struct class cGcCompositeCurveData(Structure): - Elements: Annotated[ - basic.cTkDynamicArray[cGcCompositeCurveElementData], - Field(basic.cTkDynamicArray[cGcCompositeCurveElementData], 0x0), - ] + Elements: Annotated[basic.cTkDynamicArray[cGcCompositeCurveElementData], 0x0] StartValue: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcShipDataNames(Structure): - ResourceName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x0) - ] - DataName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x100) - ] + ResourceName: Annotated[basic.cTkFixedString0x100, 0x0] + DataName: Annotated[basic.cTkFixedString0x20, 0x100] @partial_struct class cGcStoryEntryBranch(Structure): - Entry: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - RequiresMission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Entry: Annotated[basic.cTkFixedString0x20, 0x0] + RequiresMission: Annotated[basic.TkID0x10, 0x20] ConditionMissionComplete: Annotated[bool, Field(ctypes.c_bool, 0x30)] @@ -3200,15 +2607,13 @@ class cGcVibrationData(Structure): SmoothTime: Annotated[float, Field(ctypes.c_float, 0x8)] Variance: Annotated[float, Field(ctypes.c_float, 0xC)] VarianceContrast: Annotated[float, Field(ctypes.c_float, 0x10)] - OutputStrengthCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x14) - ] + OutputStrengthCurve: Annotated[c_enum32[enums.cTkCurveType], 0x14] @partial_struct class cGcWonderCategoryConfig(Structure): - LocID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - StatID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + LocID: Annotated[basic.cTkFixedString0x20, 0x0] + StatID: Annotated[basic.TkID0x10, 0x20] ThresholdValue: Annotated[float, Field(ctypes.c_float, 0x30)] class eWonderCategoryComparisonTypeEnum(IntEnum): @@ -3216,15 +2621,14 @@ class eWonderCategoryComparisonTypeEnum(IntEnum): Min = 0x1 WonderCategoryComparisonType: Annotated[ - c_enum32[eWonderCategoryComparisonTypeEnum], - Field(c_enum32[eWonderCategoryComparisonTypeEnum], 0x34), + c_enum32[eWonderCategoryComparisonTypeEnum], 0x34 ] @partial_struct class cGcVibrationChannelData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Data: Annotated[cGcVibrationData, Field(cGcVibrationData, 0x10)] + Id: Annotated[basic.TkID0x10, 0x0] + Data: Annotated[tuple[cGcVibrationData, ...], Field(cGcVibrationData * 2, 0x10)] class eVRAffectedHandsEnum(IntEnum): Both = 0x0 @@ -3232,19 +2636,14 @@ class eVRAffectedHandsEnum(IntEnum): RightOnly = 0x2 DisableInVR = 0x3 - VRAffectedHands: Annotated[ - c_enum32[eVRAffectedHandsEnum], Field(c_enum32[eVRAffectedHandsEnum], 0x40) - ] + VRAffectedHands: Annotated[c_enum32[eVRAffectedHandsEnum], 0x40] VROnly: Annotated[bool, Field(ctypes.c_bool, 0x44)] VRSwapHandForLeftHanded: Annotated[bool, Field(ctypes.c_bool, 0x45)] @partial_struct class cGcItemShopAvailabilityDifficultyOptionData(Structure): - NeverSoldItems: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + NeverSoldItems: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct @@ -3252,18 +2651,14 @@ class cGcPhotoModeAdjustData(Structure): AdjustMax: Annotated[float, Field(ctypes.c_float, 0x0)] AdjustMaxRange: Annotated[float, Field(ctypes.c_float, 0x4)] AdjustMin: Annotated[float, Field(ctypes.c_float, 0x8)] - AdjustMaxCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xC) - ] - AdjustMinCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xD) - ] + AdjustMaxCurve: Annotated[c_enum32[enums.cTkCurveType], 0xC] + AdjustMinCurve: Annotated[c_enum32[enums.cTkCurveType], 0xD] Inverted: Annotated[bool, Field(ctypes.c_bool, 0xE)] @partial_struct class cGcPhotoModeSettings(Structure): - SunDir: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x0)] + SunDir: Annotated[basic.Vector4f, 0x0] Bloom: Annotated[float, Field(ctypes.c_float, 0x10)] CloudAmount: Annotated[float, Field(ctypes.c_float, 0x14)] DepthOfFieldDistance: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -3277,10 +2672,7 @@ class eDepthOfFieldSettingEnum(IntEnum): On = 0x2 Macro = 0x3 - DepthOfFieldSetting: Annotated[ - c_enum32[eDepthOfFieldSettingEnum], - Field(c_enum32[eDepthOfFieldSettingEnum], 0x28), - ] + DepthOfFieldSetting: Annotated[c_enum32[eDepthOfFieldSettingEnum], 0x28] Filter: Annotated[int, Field(ctypes.c_int32, 0x2C)] Fog: Annotated[float, Field(ctypes.c_float, 0x30)] FoV: Annotated[float, Field(ctypes.c_float, 0x34)] @@ -3291,7 +2683,7 @@ class eDepthOfFieldSettingEnum(IntEnum): @partial_struct class cGcSurvivalBarBoolArray(Structure): - Values: Annotated[bool, Field(ctypes.c_bool, 0x0)] + Values: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 3, 0x0)] @partial_struct @@ -3303,10 +2695,7 @@ class eActiveModeInExocraftEnum(IntEnum): Firing = 0x1 Always = 0x2 - ActiveModeInExocraft: Annotated[ - c_enum32[eActiveModeInExocraftEnum], - Field(c_enum32[eActiveModeInExocraftEnum], 0x4), - ] + ActiveModeInExocraft: Annotated[c_enum32[eActiveModeInExocraftEnum], 0x4] class eActiveModeOnFootEnum(IntEnum): None_ = 0x0 @@ -3314,9 +2703,7 @@ class eActiveModeOnFootEnum(IntEnum): ScopeOrFiring = 0x2 Always = 0x3 - ActiveModeOnFoot: Annotated[ - c_enum32[eActiveModeOnFootEnum], Field(c_enum32[eActiveModeOnFootEnum], 0x8) - ] + ActiveModeOnFoot: Annotated[c_enum32[eActiveModeOnFootEnum], 0x8] class eActiveModeWhenBuildingEnum(IntEnum): None_ = 0x0 @@ -3324,10 +2711,7 @@ class eActiveModeWhenBuildingEnum(IntEnum): SelectionModeOnly = 0x2 Always = 0x3 - ActiveModeWhenBuilding: Annotated[ - c_enum32[eActiveModeWhenBuildingEnum], - Field(c_enum32[eActiveModeWhenBuildingEnum], 0xC), - ] + ActiveModeWhenBuilding: Annotated[c_enum32[eActiveModeWhenBuildingEnum], 0xC] AimingMultiplier: Annotated[float, Field(ctypes.c_float, 0x10)] BuildingMultiplier: Annotated[float, Field(ctypes.c_float, 0x14)] @@ -3335,10 +2719,7 @@ class eCursorLookStickEnabledEnum(IntEnum): None_ = 0x0 Disabled = 0x1 - CursorLookStickEnabled: Annotated[ - c_enum32[eCursorLookStickEnabledEnum], - Field(c_enum32[eCursorLookStickEnabledEnum], 0x18), - ] + CursorLookStickEnabled: Annotated[c_enum32[eCursorLookStickEnabledEnum], 0x18] CursorSensitivityX: Annotated[float, Field(ctypes.c_float, 0x1C)] CursorSensitivityY: Annotated[float, Field(ctypes.c_float, 0x20)] CursorTighteningThreshold: Annotated[float, Field(ctypes.c_float, 0x24)] @@ -3350,8 +2731,7 @@ class eEnableGyroInBuildingFreeCamEnum(IntEnum): Always = 0x2 EnableGyroInBuildingFreeCam: Annotated[ - c_enum32[eEnableGyroInBuildingFreeCamEnum], - Field(c_enum32[eEnableGyroInBuildingFreeCamEnum], 0x2C), + c_enum32[eEnableGyroInBuildingFreeCamEnum], 0x2C ] ExocraftMultiplier: Annotated[float, Field(ctypes.c_float, 0x30)] @@ -3359,54 +2739,40 @@ class eGyroRotationSpaceEnum(IntEnum): Local = 0x0 Player = 0x1 - GyroRotationSpace: Annotated[ - c_enum32[eGyroRotationSpaceEnum], Field(c_enum32[eGyroRotationSpaceEnum], 0x34) - ] + GyroRotationSpace: Annotated[c_enum32[eGyroRotationSpaceEnum], 0x34] class eGyroRotationSpaceHandheldEnum(IntEnum): Local = 0x0 Player = 0x1 - GyroRotationSpaceHandheld: Annotated[ - c_enum32[eGyroRotationSpaceHandheldEnum], - Field(c_enum32[eGyroRotationSpaceHandheldEnum], 0x38), - ] + GyroRotationSpaceHandheld: Annotated[c_enum32[eGyroRotationSpaceHandheldEnum], 0x38] class eHandednessEnum(IntEnum): Left = 0x0 Right = 0x1 - Handedness: Annotated[ - c_enum32[eHandednessEnum], Field(c_enum32[eHandednessEnum], 0x3C) - ] + Handedness: Annotated[c_enum32[eHandednessEnum], 0x3C] class eLookStickEnabledEnum(IntEnum): None_ = 0x0 Disabled = 0x1 Enabled = 0x2 - LookStickEnabled: Annotated[ - c_enum32[eLookStickEnabledEnum], Field(c_enum32[eLookStickEnabledEnum], 0x40) - ] + LookStickEnabled: Annotated[c_enum32[eLookStickEnabledEnum], 0x40] class ePitchAxisDirectionEnum(IntEnum): Disabled = 0x0 Standard = 0x1 Inverted = 0x2 - PitchAxisDirection: Annotated[ - c_enum32[ePitchAxisDirectionEnum], - Field(c_enum32[ePitchAxisDirectionEnum], 0x44), - ] + PitchAxisDirection: Annotated[c_enum32[ePitchAxisDirectionEnum], 0x44] class eRollAxisDirectionEnum(IntEnum): Disabled = 0x0 Standard = 0x1 Inverted = 0x2 - RollAxisDirection: Annotated[ - c_enum32[eRollAxisDirectionEnum], Field(c_enum32[eRollAxisDirectionEnum], 0x48) - ] + RollAxisDirection: Annotated[c_enum32[eRollAxisDirectionEnum], 0x48] ScopeMultiplier: Annotated[float, Field(ctypes.c_float, 0x4C)] SensitivityX: Annotated[float, Field(ctypes.c_float, 0x50)] SensitivityY: Annotated[float, Field(ctypes.c_float, 0x54)] @@ -3420,9 +2786,7 @@ class eYawAxisDirectionEnum(IntEnum): Standard = 0x1 Inverted = 0x2 - YawAxisDirection: Annotated[ - c_enum32[eYawAxisDirectionEnum], Field(c_enum32[eYawAxisDirectionEnum], 0x68) - ] + YawAxisDirection: Annotated[c_enum32[eYawAxisDirectionEnum], 0x68] AllowWhenRidingCreatures: Annotated[bool, Field(ctypes.c_bool, 0x6C)] EnableAdvancedOptions: Annotated[bool, Field(ctypes.c_bool, 0x6D)] FilterControllerVibrations: Annotated[bool, Field(ctypes.c_bool, 0x6E)] @@ -3434,120 +2798,94 @@ class eYawAxisDirectionEnum(IntEnum): @partial_struct class cGcTriggerFeedbackState(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Data: Annotated[cTkTriggerFeedbackData, Field(cTkTriggerFeedbackData, 0x10)] - Action: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x20) - ] + Id: Annotated[basic.TkID0x10, 0x0] + Data: Annotated[cTkTriggerFeedbackData, 0x10] + Action: Annotated[c_enum32[enums.cGcInputActions], 0x20] @partial_struct class cGcDifficultySettingUIOption(Structure): AlsoChangeOptions: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcDifficultySettingEnum]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcDifficultySettingEnum]], 0x0), - ] - MainOption: Annotated[ - c_enum32[enums.cGcDifficultySettingEnum], - Field(c_enum32[enums.cGcDifficultySettingEnum], 0x10), + basic.cTkDynamicArray[c_enum32[enums.cGcDifficultySettingEnum]], 0x0 ] + MainOption: Annotated[c_enum32[enums.cGcDifficultySettingEnum], 0x10] @partial_struct class cGcDifficultyOptionUIGroup(Structure): - HeadingLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + HeadingLocID: Annotated[basic.cTkFixedString0x20, 0x0] DifficultyOptions: Annotated[ - basic.cTkDynamicArray[cGcDifficultySettingUIOption], - Field(basic.cTkDynamicArray[cGcDifficultySettingUIOption], 0x20), + basic.cTkDynamicArray[cGcDifficultySettingUIOption], 0x20 ] @partial_struct class cGcDifficultySettingCommonData(Structure): - DescriptionLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - TitleLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - ToggleDisabledLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - ToggleEnabledLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] + DescriptionLocID: Annotated[basic.cTkFixedString0x20, 0x0] + TitleLocID: Annotated[basic.cTkFixedString0x20, 0x20] + ToggleDisabledLocID: Annotated[basic.cTkFixedString0x20, 0x40] + ToggleEnabledLocID: Annotated[basic.cTkFixedString0x20, 0x60] EditabilityInOptionsMenu: Annotated[ - c_enum32[enums.cGcDifficultySettingEditability], - Field(c_enum32[enums.cGcDifficultySettingEditability], 0x80), - ] - SettingType: Annotated[ - c_enum32[enums.cGcDifficultySettingType], - Field(c_enum32[enums.cGcDifficultySettingType], 0x84), + c_enum32[enums.cGcDifficultySettingEditability], 0x80 ] + SettingType: Annotated[c_enum32[enums.cGcDifficultySettingType], 0x84] IsAscendingDifficulty: Annotated[bool, Field(ctypes.c_bool, 0x88)] @partial_struct class cGcDifficultySettingLocData(Structure): - DescriptionLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - TitleLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] + DescriptionLocID: Annotated[basic.cTkFixedString0x20, 0x0] + TitleLocID: Annotated[basic.cTkFixedString0x20, 0x20] @partial_struct class cGcDifficultyCurrencyCostOptionData(Structure): - Multipliers: Annotated[float, Field(ctypes.c_float, 0x0)] + Multipliers: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x0)] TradeBuyPriceMarkupMod: Annotated[float, Field(ctypes.c_float, 0xC)] - FreeCostTypes: Annotated[bool, Field(ctypes.c_bool, 0x10)] + FreeCostTypes: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 3, 0x10)] CostManagerCostsAreFree: Annotated[bool, Field(ctypes.c_bool, 0x13)] InteractionsCostsAreFree: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcDifficultyFuelUseTechOverride(Structure): - TechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TechID: Annotated[basic.TkID0x10, 0x0] Multiplier: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcDifficultyFuelUseOptionData(Structure): TechOverrides: Annotated[ - basic.cTkDynamicArray[cGcDifficultyFuelUseTechOverride], - Field(basic.cTkDynamicArray[cGcDifficultyFuelUseTechOverride], 0x0), + basic.cTkDynamicArray[cGcDifficultyFuelUseTechOverride], 0x0 ] Multiplier: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcDifficultyInventoryStackSizeOptionData(Structure): - MaxProductStackSizes: Annotated[int, Field(ctypes.c_int32, 0x0)] - MaxSubstanceStackSizes: Annotated[int, Field(ctypes.c_int32, 0x34)] + MaxProductStackSizes: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 13, 0x0)] + MaxSubstanceStackSizes: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 13, 0x34)] ProductStackLimit: Annotated[int, Field(ctypes.c_int32, 0x68)] SubstanceStackLimit: Annotated[int, Field(ctypes.c_int32, 0x6C)] @partial_struct class cGcInWorldUIScreenData(Structure): - ScreenOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - ScreenRotation: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x10)] + ScreenOffset: Annotated[basic.Vector3f, 0x0] + ScreenRotation: Annotated[basic.Vector4f, 0x10] ScreenScale: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcBlockedMessage(Structure): - MessageId: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x0)] + MessageId: Annotated[basic.cTkFixedString0x80, 0x0] @partial_struct class cGcBlockedUser(Structure): - UserId: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x0)] - Username: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x40)] - Platform: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80)] + UserId: Annotated[basic.cTkFixedString0x40, 0x0] + Username: Annotated[basic.cTkFixedString0x40, 0x40] + Platform: Annotated[basic.cTkFixedString0x20, 0x80] @partial_struct @@ -3556,39 +2894,39 @@ class cGcBlockListPersistence(Structure): MessageListSize: Annotated[int, Field(ctypes.c_int32, 0x4)] MessageNextSlot: Annotated[int, Field(ctypes.c_int32, 0x8)] NextSlot: Annotated[int, Field(ctypes.c_int32, 0xC)] - BlockedUserArray: Annotated[cGcBlockedUser, Field(cGcBlockedUser, 0x10)] - BlockedMessageArray: Annotated[cGcBlockedMessage, Field(cGcBlockedMessage, 0x1F50)] + BlockedUserArray: Annotated[ + tuple[cGcBlockedUser, ...], Field(cGcBlockedUser * 50, 0x10) + ] + BlockedMessageArray: Annotated[ + tuple[cGcBlockedMessage, ...], Field(cGcBlockedMessage * 50, 0x1F50) + ] @partial_struct class cGcSpringWeightModifyingAnim(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Anim: Annotated[basic.TkID0x10, 0x0] DesiredWeight: Annotated[float, Field(ctypes.c_float, 0x10)] IncludeBlendOut: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcSpringLink(Structure): - AngularLimitMaxDeg: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - AngularLimitMinDeg: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - AngularMotionLimitBounciness: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - AngularMotionScale: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - CentreOfMassLocal: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x40)] - MotionLimitBounciness: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x50)] - MotionLimitMax: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x60)] - MotionLimitMin: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70)] - MotionScale: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x80)] - PivotAnchorLocal: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x90)] - PivotLocal: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xA0)] - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0xB0)] + AngularLimitMaxDeg: Annotated[basic.Vector3f, 0x0] + AngularLimitMinDeg: Annotated[basic.Vector3f, 0x10] + AngularMotionLimitBounciness: Annotated[basic.Vector3f, 0x20] + AngularMotionScale: Annotated[basic.Vector3f, 0x30] + CentreOfMassLocal: Annotated[basic.Vector3f, 0x40] + MotionLimitBounciness: Annotated[basic.Vector3f, 0x50] + MotionLimitMax: Annotated[basic.Vector3f, 0x60] + MotionLimitMin: Annotated[basic.Vector3f, 0x70] + MotionScale: Annotated[basic.Vector3f, 0x80] + PivotAnchorLocal: Annotated[basic.Vector3f, 0x90] + PivotLocal: Annotated[basic.Vector3f, 0xA0] + Id: Annotated[basic.TkID0x20, 0xB0] LinkWeightModifyingAnims: Annotated[ - basic.cTkDynamicArray[cGcSpringWeightModifyingAnim], - Field(basic.cTkDynamicArray[cGcSpringWeightModifyingAnim], 0xD0), - ] - NodeNames: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x40], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x40], 0xE0), + basic.cTkDynamicArray[cGcSpringWeightModifyingAnim], 0xD0 ] + NodeNames: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x40], 0xE0] AirSpeedFromMovementSpeedScale: Annotated[float, Field(ctypes.c_float, 0xF0)] AngularDampingCriticality: Annotated[float, Field(ctypes.c_float, 0xF4)] AngularMotionScale_Uniform: Annotated[float, Field(ctypes.c_float, 0xF8)] @@ -3600,10 +2938,7 @@ class eApplyAngularLimitsInEnum(IntEnum): Parent = 0x2 Component = 0x3 - ApplyAngularLimitsIn: Annotated[ - c_enum32[eApplyAngularLimitsInEnum], - Field(c_enum32[eApplyAngularLimitsInEnum], 0x100), - ] + ApplyAngularLimitsIn: Annotated[c_enum32[eApplyAngularLimitsInEnum], 0x100] class eApplyAngularMotionScaleInEnum(IntEnum): Disabled = 0x0 @@ -3613,8 +2948,7 @@ class eApplyAngularMotionScaleInEnum(IntEnum): Component = 0x4 ApplyAngularMotionScaleIn: Annotated[ - c_enum32[eApplyAngularMotionScaleInEnum], - Field(c_enum32[eApplyAngularMotionScaleInEnum], 0x104), + c_enum32[eApplyAngularMotionScaleInEnum], 0x104 ] ApplyAngularSpringInMovingFrame: Annotated[float, Field(ctypes.c_float, 0x108)] ApplyGameGravity: Annotated[float, Field(ctypes.c_float, 0x10C)] @@ -3630,10 +2964,7 @@ class eApplyMotionLimitsInEnum(IntEnum): Parent = 0x3 Component = 0x4 - ApplyMotionLimitsIn: Annotated[ - c_enum32[eApplyMotionLimitsInEnum], - Field(c_enum32[eApplyMotionLimitsInEnum], 0x118), - ] + ApplyMotionLimitsIn: Annotated[c_enum32[eApplyMotionLimitsInEnum], 0x118] class eApplyMotionScaleInEnum(IntEnum): Disabled = 0x0 @@ -3642,10 +2973,7 @@ class eApplyMotionScaleInEnum(IntEnum): Parent = 0x3 Component = 0x4 - ApplyMotionScaleIn: Annotated[ - c_enum32[eApplyMotionScaleInEnum], - Field(c_enum32[eApplyMotionScaleInEnum], 0x11C), - ] + ApplyMotionScaleIn: Annotated[c_enum32[eApplyMotionScaleInEnum], 0x11C] DampingCriticality: Annotated[float, Field(ctypes.c_float, 0x120)] DistanceWhereRotationMatchesLinear: Annotated[float, Field(ctypes.c_float, 0x124)] InfluenceOfTranslation: Annotated[float, Field(ctypes.c_float, 0x128)] @@ -3655,9 +2983,7 @@ class eLinkWeightModeEnum(IntEnum): DefaultOn = 0x1 DefaultOff = 0x2 - LinkWeightMode: Annotated[ - c_enum32[eLinkWeightModeEnum], Field(c_enum32[eLinkWeightModeEnum], 0x12C) - ] + LinkWeightMode: Annotated[c_enum32[eLinkWeightModeEnum], 0x12C] LinkWeightModifyTimeActive: Annotated[float, Field(ctypes.c_float, 0x130)] LinkWeightModifyTimeInactive: Annotated[float, Field(ctypes.c_float, 0x134)] MaximumSpeedFeltByDynamics: Annotated[float, Field(ctypes.c_float, 0x138)] @@ -3671,14 +2997,10 @@ class ePivotAnchorsToEnum(IntEnum): Node = 0x2 NodeWithAnchor = 0x3 - PivotAnchorsTo: Annotated[ - c_enum32[ePivotAnchorsToEnum], Field(c_enum32[ePivotAnchorsToEnum], 0x148) - ] + PivotAnchorsTo: Annotated[c_enum32[ePivotAnchorsToEnum], 0x148] SpringHangsDown: Annotated[float, Field(ctypes.c_float, 0x14C)] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x150)] - PivotAnchorNode: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x190) - ] + Name: Annotated[basic.cTkFixedString0x40, 0x150] + PivotAnchorNode: Annotated[basic.cTkFixedString0x40, 0x190] AngularSpringEnabled: Annotated[bool, Field(ctypes.c_bool, 0x1D0)] ApplySpringInMovingFrame: Annotated[bool, Field(ctypes.c_bool, 0x1D1)] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x1D2)] @@ -3689,18 +3011,15 @@ class ePivotAnchorsToEnum(IntEnum): @partial_struct class cGcVehicleScanTableEntry(Structure): - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x20)] - RequiredTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x38)] - ScanList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x48), - ] + Name: Annotated[basic.cTkFixedString0x20, 0x0] + Icon: Annotated[cTkTextureResource, 0x20] + RequiredTech: Annotated[basic.TkID0x10, 0x38] + ScanList: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x48] @partial_struct class cGcCamouflageData(Structure): - CamouflageMaterial: Annotated[cTkMaterialResource, Field(cTkMaterialResource, 0x0)] + CamouflageMaterial: Annotated[cTkMaterialResource, 0x0] DissolveTime: Annotated[float, Field(ctypes.c_float, 0x18)] DissolveTimeVR: Annotated[float, Field(ctypes.c_float, 0x1C)] FadeInTime: Annotated[float, Field(ctypes.c_float, 0x20)] @@ -3711,43 +3030,51 @@ class cGcCamouflageData(Structure): @partial_struct class cGcVehicleMuzzleData(Structure): - MuzzleFlashDataID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MuzzleFlashDataID: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 5, 0x0) + ] @partial_struct class cGcPlayerWeaponData(Structure): - Reticle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Reticle: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcVehicleWeaponMuzzleData(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - MuzzleFlashEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ID: Annotated[basic.TkID0x10, 0x0] + MuzzleFlashEffect: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcVehicleData(Structure): - WheelGrassPushers: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - WheelLocs: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xA0)] - CollDimensions: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x140)] - CollOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x150)] - ExtraCollOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x160)] - FirstPersonSeatAdjust: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x170)] - InertiaDimensions: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x180)] - WheelForwardAngularFactor: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x190)] - WheelSideAngularFactor: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1A0)] - WheelSuspensionAngularFactor: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x1B0) - ] - WheelTurnAngularFactor: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1C0)] - SuspensionAnimNames: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1D0)] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x270)] - SideSkidParticle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x280)] - SubSplashParticle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x290)] - WheelSpinParticle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2A0)] - WheelSplashParticle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2B0)] - WheelRadiusMultiplier: Annotated[float, Field(ctypes.c_float, 0x2C0)] - WheelRayFakeWidthFactor: Annotated[float, Field(ctypes.c_float, 0x2E8)] + WheelGrassPushers: Annotated[ + tuple[basic.Vector3f, ...], Field(basic.Vector3f * 10, 0x0) + ] + WheelLocs: Annotated[tuple[basic.Vector3f, ...], Field(basic.Vector3f * 10, 0xA0)] + CollDimensions: Annotated[basic.Vector3f, 0x140] + CollOffset: Annotated[basic.Vector3f, 0x150] + ExtraCollOffset: Annotated[basic.Vector3f, 0x160] + FirstPersonSeatAdjust: Annotated[basic.Vector3f, 0x170] + InertiaDimensions: Annotated[basic.Vector3f, 0x180] + WheelForwardAngularFactor: Annotated[basic.Vector3f, 0x190] + WheelSideAngularFactor: Annotated[basic.Vector3f, 0x1A0] + WheelSuspensionAngularFactor: Annotated[basic.Vector3f, 0x1B0] + WheelTurnAngularFactor: Annotated[basic.Vector3f, 0x1C0] + SuspensionAnimNames: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 10, 0x1D0) + ] + Name: Annotated[basic.TkID0x10, 0x270] + SideSkidParticle: Annotated[basic.TkID0x10, 0x280] + SubSplashParticle: Annotated[basic.TkID0x10, 0x290] + WheelSpinParticle: Annotated[basic.TkID0x10, 0x2A0] + WheelSplashParticle: Annotated[basic.TkID0x10, 0x2B0] + WheelRadiusMultiplier: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 10, 0x2C0) + ] + WheelRayFakeWidthFactor: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 10, 0x2E8) + ] AudioImpactSpeedMul: Annotated[float, Field(ctypes.c_float, 0x310)] AudioImpactSpeedThreshold: Annotated[float, Field(ctypes.c_float, 0x314)] CollRadius: Annotated[float, Field(ctypes.c_float, 0x318)] @@ -3860,50 +3187,35 @@ class cGcVehicleData(Structure): WheelSuspensionForce: Annotated[float, Field(ctypes.c_float, 0x4BC)] WheelSuspensionlength: Annotated[float, Field(ctypes.c_float, 0x4C0)] CockpitHeadlightNames: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x4C4) + tuple[basic.cTkFixedString0x100, ...], + Field(basic.cTkFixedString0x100 * 2, 0x4C4), ] HeadlightNames: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x6C4) + tuple[basic.cTkFixedString0x100, ...], + Field(basic.cTkFixedString0x100 * 2, 0x6C4), ] VolumetricHeadlightNames: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x8C4) + tuple[basic.cTkFixedString0x100, ...], + Field(basic.cTkFixedString0x100 * 2, 0x8C4), ] WheelNames: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xAC4) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 10, 0xAC4), ] WheelSuspensionNames: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC04) - ] - AudioBoostStart: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xD44) - ] - AudioBoostStop: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xDC4) - ] - AudioHornStart: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xE44) - ] - AudioHornStop: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xEC4) - ] - AudioIdleExterior: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xF44) - ] - AudioImpacts: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xFC4) - ] - AudioJump: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x1044) - ] - AudioStart: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x10C4) - ] - AudioStop: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x1144) - ] - AudioSuspension: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x11C4) - ] + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 10, 0xC04), + ] + AudioBoostStart: Annotated[basic.cTkFixedString0x80, 0xD44] + AudioBoostStop: Annotated[basic.cTkFixedString0x80, 0xDC4] + AudioHornStart: Annotated[basic.cTkFixedString0x80, 0xE44] + AudioHornStop: Annotated[basic.cTkFixedString0x80, 0xEC4] + AudioIdleExterior: Annotated[basic.cTkFixedString0x80, 0xF44] + AudioImpacts: Annotated[basic.cTkFixedString0x80, 0xFC4] + AudioJump: Annotated[basic.cTkFixedString0x80, 0x1044] + AudioStart: Annotated[basic.cTkFixedString0x80, 0x10C4] + AudioStop: Annotated[basic.cTkFixedString0x80, 0x1144] + AudioSuspension: Annotated[basic.cTkFixedString0x80, 0x11C4] CustomCollision: Annotated[bool, Field(ctypes.c_bool, 0x1244)] DriveOnTopOfWater: Annotated[bool, Field(ctypes.c_bool, 0x1245)] LockVehicleAxis: Annotated[bool, Field(ctypes.c_bool, 0x1246)] @@ -3914,10 +3226,10 @@ class cGcVehicleData(Structure): @partial_struct class cGcDebugCameraEntry(Structure): - Facing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Local: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] + Facing: Annotated[basic.Vector3f, 0x0] + Local: Annotated[basic.Vector3f, 0x10] + Offset: Annotated[basic.Vector3f, 0x20] + Up: Annotated[basic.Vector3f, 0x30] Distance: Annotated[float, Field(ctypes.c_float, 0x40)] FOV: Annotated[float, Field(ctypes.c_float, 0x44)] SpeedModifier: Annotated[float, Field(ctypes.c_float, 0x48)] @@ -3925,10 +3237,7 @@ class cGcDebugCameraEntry(Structure): @partial_struct class cGcDebugCamera(Structure): - Waypoints: Annotated[ - basic.cTkDynamicArray[cGcDebugCameraEntry], - Field(basic.cTkDynamicArray[cGcDebugCameraEntry], 0x0), - ] + Waypoints: Annotated[basic.cTkDynamicArray[cGcDebugCameraEntry], 0x0] BaseSpeed: Annotated[float, Field(ctypes.c_float, 0x10)] CurrentWaypoint: Annotated[int, Field(ctypes.c_int32, 0x14)] CurrentWaypointProgress: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -3937,39 +3246,33 @@ class cGcDebugCamera(Structure): @partial_struct class cGcMechPartEffectOverride(Structure): - OverrideEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - MeshPart: Annotated[ - c_enum32[enums.cGcMechMeshPart], Field(c_enum32[enums.cGcMechMeshPart], 0x10) - ] - MeshType: Annotated[ - c_enum32[enums.cGcMechMeshType], Field(c_enum32[enums.cGcMechMeshType], 0x14) - ] + OverrideEffect: Annotated[basic.TkID0x10, 0x0] + MeshPart: Annotated[c_enum32[enums.cGcMechMeshPart], 0x10] + MeshType: Annotated[c_enum32[enums.cGcMechMeshType], 0x14] @partial_struct class cGcMechEffect(Structure): - DefaultEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - MeshPartOverrides: Annotated[ - basic.cTkDynamicArray[cGcMechPartEffectOverride], - Field(basic.cTkDynamicArray[cGcMechPartEffectOverride], 0x10), - ] + DefaultEffect: Annotated[basic.TkID0x10, 0x0] + MeshPartOverrides: Annotated[basic.cTkDynamicArray[cGcMechPartEffectOverride], 0x10] @partial_struct class cGcMechEffectTable(Structure): - FootDust: Annotated[cGcMechEffect, Field(cGcMechEffect, 0x0)] - Jetpack: Annotated[cGcMechEffect, Field(cGcMechEffect, 0x20)] - JetpackLaunch: Annotated[cGcMechEffect, Field(cGcMechEffect, 0x40)] - JetpackLaunchGroundEffect: Annotated[cGcMechEffect, Field(cGcMechEffect, 0x60)] - LandingImpact: Annotated[cGcMechEffect, Field(cGcMechEffect, 0x80)] + FootDust: Annotated[cGcMechEffect, 0x0] + Jetpack: Annotated[cGcMechEffect, 0x20] + JetpackLaunch: Annotated[cGcMechEffect, 0x40] + JetpackLaunchGroundEffect: Annotated[cGcMechEffect, 0x60] + LandingImpact: Annotated[cGcMechEffect, 0x80] @partial_struct class cGcExoMechWeaponData(Structure): - MuzzleFlashDataID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MuzzleFlashDataID: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 5, 0x0) + ] LocationPriority: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcMechWeaponLocation]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcMechWeaponLocation]], 0x50), + basic.cTkDynamicArray[c_enum32[enums.cGcMechWeaponLocation]], 0x50 ] AngleToleranceForArmAiming: Annotated[float, Field(ctypes.c_float, 0x60)] AttackAngle: Annotated[float, Field(ctypes.c_float, 0x64)] @@ -3983,28 +3286,25 @@ class cGcExoMechWeaponData(Structure): @partial_struct class cGcMechMeshPartTypeData(Structure): - DescriptorGroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - RequiredTechs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] + DescriptorGroupID: Annotated[basic.TkID0x10, 0x0] + RequiredTechs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] @partial_struct class cGcMechMeshPartData(Structure): - MeshTypes: Annotated[cGcMechMeshPartTypeData, Field(cGcMechMeshPartTypeData, 0x0)] + MeshTypes: Annotated[ + tuple[cGcMechMeshPartTypeData, ...], Field(cGcMechMeshPartTypeData * 4, 0x0) + ] @partial_struct class cGcPulseEncounterSpawnAbandonedFreighter(Structure): - AbandonedFreighter: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] + AbandonedFreighter: Annotated[cTkModelResource, 0x0] @partial_struct class cGcPulseEncounterSpawnAlienFreighter(Structure): - HailingPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + HailingPuzzleID: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct @@ -4014,10 +3314,10 @@ class cGcPulseEncounterSpawnPirates(Structure): @partial_struct class cGcPulseEncounterSpawnObject(Structure): - Object: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - DespawnEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - SpawnEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - TriggerActionOnSpawn: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + Object: Annotated[cTkModelResource, 0x0] + DespawnEffect: Annotated[basic.TkID0x10, 0x20] + SpawnEffect: Annotated[basic.TkID0x10, 0x30] + TriggerActionOnSpawn: Annotated[basic.TkID0x10, 0x40] Pitch: Annotated[float, Field(ctypes.c_float, 0x50)] Roll: Annotated[float, Field(ctypes.c_float, 0x54)] SpawnScale: Annotated[float, Field(ctypes.c_float, 0x58)] @@ -4032,15 +3332,12 @@ class cGcPulseEncounterSpawnObject(Structure): @partial_struct class cGcPulseEncounterSpawnConditions(Structure): - BlockDuringSeasons: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x0), - ] - RequiresMissionActive: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - RequiresMissionComplete: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RequiresMissionNotActive: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - RequiresMissionNotComplete: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - RequiresProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + BlockDuringSeasons: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x0] + RequiresMissionActive: Annotated[basic.TkID0x10, 0x10] + RequiresMissionComplete: Annotated[basic.TkID0x10, 0x20] + RequiresMissionNotActive: Annotated[basic.TkID0x10, 0x30] + RequiresMissionNotComplete: Annotated[basic.TkID0x10, 0x40] + RequiresProduct: Annotated[basic.TkID0x10, 0x50] AllowedBeyondPortals: Annotated[bool, Field(ctypes.c_bool, 0x60)] AllowedDuringTutorial: Annotated[bool, Field(ctypes.c_bool, 0x61)] AllowedInCreative: Annotated[bool, Field(ctypes.c_bool, 0x62)] @@ -4055,8 +3352,8 @@ class cGcPulseEncounterSpawnConditions(Structure): @partial_struct class cGcDebugShipTravelLine(Structure): - Dir: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Origin: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] + Dir: Annotated[basic.Vector3f, 0x0] + Origin: Annotated[basic.Vector3f, 0x10] InfluenceRange: Annotated[float, Field(ctypes.c_float, 0x20)] Length: Annotated[float, Field(ctypes.c_float, 0x24)] @@ -4118,9 +3415,7 @@ class cGcDoShipReceiveHail(Structure): @partial_struct class cGcDoShipReceiveMessage(Structure): - ShipMessage: Annotated[ - c_enum32[enums.cGcShipMessage], Field(c_enum32[enums.cGcShipMessage], 0x0) - ] + ShipMessage: Annotated[c_enum32[enums.cGcShipMessage], 0x0] @partial_struct @@ -4136,15 +3431,12 @@ class cGcShipAIDeathData(Structure): @partial_struct class cGcShipAIPerformanceArray(Structure): - Array: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] + Array: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] @partial_struct class cGcShipAIPlanetPatrolData(Structure): - Squad: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Squad: Annotated[basic.TkID0x10, 0x0] AlignForce: Annotated[float, Field(ctypes.c_float, 0x10)] AlongPathForce: Annotated[float, Field(ctypes.c_float, 0x14)] BrakeForce: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -4217,18 +3509,10 @@ class cGcPlayerSpaceshipEngineData(Structure): @partial_struct class cGcPlayerSpaceshipControlData(Structure): - AtmosCombatEngine: Annotated[ - cGcPlayerSpaceshipEngineData, Field(cGcPlayerSpaceshipEngineData, 0x0) - ] - CombatEngine: Annotated[ - cGcPlayerSpaceshipEngineData, Field(cGcPlayerSpaceshipEngineData, 0x74) - ] - PlanetEngine: Annotated[ - cGcPlayerSpaceshipEngineData, Field(cGcPlayerSpaceshipEngineData, 0xE8) - ] - SpaceEngine: Annotated[ - cGcPlayerSpaceshipEngineData, Field(cGcPlayerSpaceshipEngineData, 0x15C) - ] + AtmosCombatEngine: Annotated[cGcPlayerSpaceshipEngineData, 0x0] + CombatEngine: Annotated[cGcPlayerSpaceshipEngineData, 0x74] + PlanetEngine: Annotated[cGcPlayerSpaceshipEngineData, 0xE8] + SpaceEngine: Annotated[cGcPlayerSpaceshipEngineData, 0x15C] AngularFactor: Annotated[float, Field(ctypes.c_float, 0x1D0)] ExitAngleMax: Annotated[float, Field(ctypes.c_float, 0x1D4)] ExitAngleMin: Annotated[float, Field(ctypes.c_float, 0x1D8)] @@ -4246,12 +3530,8 @@ class cGcPlayerSpaceshipControlData(Structure): ShipPlanetBrakeMaxSpeed: Annotated[float, Field(ctypes.c_float, 0x208)] ShipPlanetBrakeMinHeight: Annotated[float, Field(ctypes.c_float, 0x20C)] ShipPlanetBrakeMinSpeed: Annotated[float, Field(ctypes.c_float, 0x210)] - ExitCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x214) - ] - ExitDownCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x215) - ] + ExitCurve: Annotated[c_enum32[enums.cTkCurveType], 0x214] + ExitDownCurve: Annotated[c_enum32[enums.cTkCurveType], 0x215] @partial_struct @@ -4259,12 +3539,8 @@ class cGcPlayerSpaceshipWarpData(Structure): EntryTime: Annotated[float, Field(ctypes.c_float, 0x0)] ExitTime: Annotated[float, Field(ctypes.c_float, 0x4)] TravelTunnelTime: Annotated[float, Field(ctypes.c_float, 0x8)] - EntryTunnelCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xC) - ] - ExitTunnelCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xD) - ] + EntryTunnelCurve: Annotated[c_enum32[enums.cTkCurveType], 0xC] + ExitTunnelCurve: Annotated[c_enum32[enums.cTkCurveType], 0xD] @partial_struct @@ -4274,7 +3550,7 @@ class cGcShieldComponentData(Structure): @partial_struct class cGcShipAIAttackData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] AttackAngle: Annotated[float, Field(ctypes.c_float, 0x10)] AttackApproachMaxRange: Annotated[float, Field(ctypes.c_float, 0x14)] AttackApproachMinRange: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -4326,16 +3602,16 @@ class cGcShipAIAttackData(Structure): @partial_struct class cGcShipAICombatDefinition(Structure): - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - Behaviour: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18)] - DamageMultiplier: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x28)] - Engine: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x38)] - Gun: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] - PlanetBehaviour: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x68)] - PlanetEngine: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x78)] - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x88)] - Shield: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x98)] + Icon: Annotated[cTkTextureResource, 0x0] + Behaviour: Annotated[basic.TkID0x10, 0x18] + DamageMultiplier: Annotated[basic.TkID0x10, 0x28] + Engine: Annotated[basic.TkID0x10, 0x38] + Gun: Annotated[basic.TkID0x10, 0x48] + Id: Annotated[basic.TkID0x10, 0x58] + PlanetBehaviour: Annotated[basic.TkID0x10, 0x68] + PlanetEngine: Annotated[basic.TkID0x10, 0x78] + Reward: Annotated[basic.TkID0x10, 0x88] + Shield: Annotated[basic.TkID0x10, 0x98] Health: Annotated[int, Field(ctypes.c_int32, 0xA8)] LaserDamageLevel: Annotated[int, Field(ctypes.c_int32, 0xAC)] LevelledExtraHealth: Annotated[int, Field(ctypes.c_int32, 0xB0)] @@ -4346,14 +3622,14 @@ class cGcShipAICombatDefinition(Structure): @partial_struct class cGcDebugPlanetPos(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + Position: Annotated[basic.Vector3f, 0x0] OverridePosition: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcSpaceshipShieldData(Structure): - DamageMulOverride: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DamageMulOverride: Annotated[basic.TkID0x10, 0x0] + Id: Annotated[basic.TkID0x10, 0x10] Health: Annotated[int, Field(ctypes.c_int32, 0x20)] LevelledExtraHealth: Annotated[int, Field(ctypes.c_int32, 0x24)] RechargeDelayTime: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -4363,7 +3639,7 @@ class cGcSpaceshipShieldData(Structure): @partial_struct class cGcSpaceshipTravelData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] AvoidTime: Annotated[float, Field(ctypes.c_float, 0x10)] BoostSpeed: Annotated[float, Field(ctypes.c_float, 0x14)] DirectionBrake: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -4382,48 +3658,55 @@ class cGcSpaceshipTravelData(Structure): @partial_struct class cGcAISpaceshipWeightingData(Structure): - CivilianClassWeightings: Annotated[float, Field(ctypes.c_float, 0x0)] + CivilianClassWeightings: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 11, 0x0) + ] @partial_struct class cGcWaterEmissionData(Structure): - FoamEmissionSelectionWeights: Annotated[float, Field(ctypes.c_float, 0x0)] - WaterEmissionSelectionWeights: Annotated[float, Field(ctypes.c_float, 0x10)] + FoamEmissionSelectionWeights: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x0) + ] + WaterEmissionSelectionWeights: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x10) + ] OverrideDefault: Annotated[bool, Field(ctypes.c_bool, 0x20)] @partial_struct class cGcWaterEmissionBiomeData(Structure): - SubBiomeOverrides: Annotated[cGcWaterEmissionData, Field(cGcWaterEmissionData, 0x0)] + SubBiomeOverrides: Annotated[ + tuple[cGcWaterEmissionData, ...], Field(cGcWaterEmissionData * 32, 0x0) + ] @partial_struct class cGcAISpaceshipInstanceData(Structure): - File: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + File: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cGcAISpaceshipMappingData(Structure): ClassMap: Annotated[ - cGcAISpaceshipInstanceData, Field(cGcAISpaceshipInstanceData, 0x0) + tuple[cGcAISpaceshipInstanceData, ...], + Field(cGcAISpaceshipInstanceData * 8, 0x0), ] @partial_struct class cGcWeatherWeightings(Structure): - WeatherWeightings: Annotated[float, Field(ctypes.c_float, 0x0)] + WeatherWeightings: Annotated[tuple[float, ...], Field(ctypes.c_float * 17, 0x0)] @partial_struct class cGcAIShipDebugSpawnData(Structure): - Facing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - FlightDir: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x40)] - SpecificModel: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] + Facing: Annotated[basic.Vector3f, 0x0] + FlightDir: Annotated[basic.Vector3f, 0x10] + Position: Annotated[basic.Vector3f, 0x20] + Up: Annotated[basic.Vector3f, 0x30] + Seed: Annotated[basic.GcSeed, 0x40] + SpecificModel: Annotated[basic.VariableSizeString, 0x50] HoverHeight: Annotated[float, Field(ctypes.c_float, 0x60)] HoverTime: Annotated[float, Field(ctypes.c_float, 0x64)] IgnitionDelay: Annotated[float, Field(ctypes.c_float, 0x68)] @@ -4435,10 +3718,8 @@ class cGcAIShipDebugSpawnData(Structure): @partial_struct class cGcAIShipSpawnMarkerData(Structure): - MarkerLabel: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - MarkerIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x20)] + MarkerLabel: Annotated[basic.cTkFixedString0x20, 0x0] + MarkerIcon: Annotated[cTkTextureResource, 0x20] MaxVisibleRange: Annotated[float, Field(ctypes.c_float, 0x38)] MinAngleVisible: Annotated[float, Field(ctypes.c_float, 0x3C)] MinVisibleRange: Annotated[float, Field(ctypes.c_float, 0x40)] @@ -4448,75 +3729,53 @@ class eShipsToMarkEnum(IntEnum): Leader = 0x1 All = 0x2 - ShipsToMark: Annotated[ - c_enum32[eShipsToMarkEnum], Field(c_enum32[eShipsToMarkEnum], 0x44) - ] + ShipsToMark: Annotated[c_enum32[eShipsToMarkEnum], 0x44] HideDuringCombat: Annotated[bool, Field(ctypes.c_bool, 0x48)] @partial_struct class cGcAIShipSpawnData(Structure): - OffsetSphereOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - MarkerData: Annotated[ - cGcAIShipSpawnMarkerData, Field(cGcAIShipSpawnMarkerData, 0x10) - ] - CombatMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - Message: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80)] - OSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA0) - ] - RewardMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC0) - ] - AttackDefinition: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xE0)] - ChildSpawns: Annotated[ - "basic.cTkDynamicArray[cGcAIShipSpawnData]", - Field("basic.cTkDynamicArray[cGcAIShipSpawnData]", 0xF0), - ] - Performances: Annotated[ - cGcShipAIPerformanceArray, Field(cGcShipAIPerformanceArray, 0x100) - ] - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x110)] - Count: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x120)] - Scale: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x128)] - Spread: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x130)] - StartTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x138)] + OffsetSphereOffset: Annotated[basic.Vector3f, 0x0] + MarkerData: Annotated[cGcAIShipSpawnMarkerData, 0x10] + CombatMessage: Annotated[basic.cTkFixedString0x20, 0x60] + Message: Annotated[basic.cTkFixedString0x20, 0x80] + OSDMessage: Annotated[basic.cTkFixedString0x20, 0xA0] + RewardMessage: Annotated[basic.cTkFixedString0x20, 0xC0] + AttackDefinition: Annotated[basic.TkID0x10, 0xE0] + ChildSpawns: Annotated["basic.cTkDynamicArray[cGcAIShipSpawnData]", 0xF0] + Performances: Annotated[cGcShipAIPerformanceArray, 0x100] + Reward: Annotated[basic.TkID0x10, 0x110] + Count: Annotated[basic.Vector2f, 0x120] + Scale: Annotated[basic.Vector2f, 0x128] + Spread: Annotated[basic.Vector2f, 0x130] + StartTime: Annotated[basic.Vector2f, 0x138] MinRange: Annotated[float, Field(ctypes.c_float, 0x140)] - Role: Annotated[ - c_enum32[enums.cGcAISpaceshipRoles], - Field(c_enum32[enums.cGcAISpaceshipRoles], 0x144), - ] - Shortcut: Annotated[ - c_enum32[enums.cTkInputEnum], Field(c_enum32[enums.cTkInputEnum], 0x148) - ] + Role: Annotated[c_enum32[enums.cGcAISpaceshipRoles], 0x144] + Shortcut: Annotated[c_enum32[enums.cTkInputEnum], 0x148] class eSpawnShapeEnum(IntEnum): Sphere = 0x0 Cone = 0x1 OffsetSphere = 0x2 - SpawnShape: Annotated[ - c_enum32[eSpawnShapeEnum], Field(c_enum32[eSpawnShapeEnum], 0x14C) - ] + SpawnShape: Annotated[c_enum32[eSpawnShapeEnum], 0x14C] AttackFreighter: Annotated[bool, Field(ctypes.c_bool, 0x150)] WarpIn: Annotated[bool, Field(ctypes.c_bool, 0x151)] @partial_struct class cGcTerrainEditing(Structure): - EditSizes: Annotated[float, Field(ctypes.c_float, 0x0)] - SubtractSizes: Annotated[float, Field(ctypes.c_float, 0x20)] - BaseEditSizes: Annotated[float, Field(ctypes.c_float, 0x2C)] - UndoEditSizes: Annotated[float, Field(ctypes.c_float, 0x34)] + EditSizes: Annotated[tuple[float, ...], Field(ctypes.c_float * 8, 0x0)] + SubtractSizes: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x20)] + BaseEditSizes: Annotated[tuple[float, ...], Field(ctypes.c_float * 2, 0x2C)] + UndoEditSizes: Annotated[tuple[float, ...], Field(ctypes.c_float * 2, 0x34)] DensityBlendDistanceMultiplier: Annotated[float, Field(ctypes.c_float, 0x3C)] EditEffectScale: Annotated[float, Field(ctypes.c_float, 0x40)] EditPlaneMaxAdditiveOffsetFactor: Annotated[float, Field(ctypes.c_float, 0x44)] EditPlaneMaxSubtractiveOffsetFactor: Annotated[float, Field(ctypes.c_float, 0x48)] EditPlaneMinAdditiveOffsetFactor: Annotated[float, Field(ctypes.c_float, 0x4C)] EditPlaneMinSubtractiveOffsetFactor: Annotated[float, Field(ctypes.c_float, 0x50)] - FlatteningSizes: Annotated[float, Field(ctypes.c_float, 0x54)] + FlatteningSizes: Annotated[tuple[float, ...], Field(ctypes.c_float * 1, 0x54)] MinimumSubstancePresence: Annotated[float, Field(ctypes.c_float, 0x58)] RegionEditAreaMultiplier: Annotated[float, Field(ctypes.c_float, 0x5C)] RegionMapSearchRadiusMultiplier: Annotated[float, Field(ctypes.c_float, 0x60)] @@ -4544,19 +3803,19 @@ class cGcTerrainEditing(Structure): @partial_struct class cGcPlanetWeatherColourData(Structure): - CloudColour1: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - CloudColour2: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - FogColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - HeightFogColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - HorizonColour: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - LightColour: Annotated[basic.Colour, Field(basic.Colour, 0x50)] - LightColourUnderground: Annotated[basic.Colour, Field(basic.Colour, 0x60)] - SkyColour: Annotated[basic.Colour, Field(basic.Colour, 0x70)] - SkyGradientSpeed: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x80)] - SkySolarColour: Annotated[basic.Colour, Field(basic.Colour, 0x90)] - SkyUpperColour: Annotated[basic.Colour, Field(basic.Colour, 0xA0)] - SunColour: Annotated[basic.Colour, Field(basic.Colour, 0xB0)] - GasGiantAtmosphereID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] + CloudColour1: Annotated[basic.Colour, 0x0] + CloudColour2: Annotated[basic.Colour, 0x10] + FogColour: Annotated[basic.Colour, 0x20] + HeightFogColour: Annotated[basic.Colour, 0x30] + HorizonColour: Annotated[basic.Colour, 0x40] + LightColour: Annotated[basic.Colour, 0x50] + LightColourUnderground: Annotated[basic.Colour, 0x60] + SkyColour: Annotated[basic.Colour, 0x70] + SkyGradientSpeed: Annotated[basic.Vector3f, 0x80] + SkySolarColour: Annotated[basic.Colour, 0x90] + SkyUpperColour: Annotated[basic.Colour, 0xA0] + SunColour: Annotated[basic.Colour, 0xB0] + GasGiantAtmosphereID: Annotated[basic.TkID0x10, 0xC0] CirrusCloudDensity: Annotated[float, Field(ctypes.c_float, 0xD0)] SelectionWeighting: Annotated[float, Field(ctypes.c_float, 0xD4)] @@ -4569,40 +3828,36 @@ class eWeatherColourSetEnum(IntEnum): Common = 0x0 Rare = 0x1 - WeatherColourSet: Annotated[ - c_enum32[eWeatherColourSetEnum], Field(c_enum32[eWeatherColourSetEnum], 0x4) - ] + WeatherColourSet: Annotated[c_enum32[eWeatherColourSetEnum], 0x4] @partial_struct class cGcSolarSystemSkyColourData(Structure): - BottomColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - BottomColourPlanet: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - CloudColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - FogColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - FogColour2: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - LightColour: Annotated[basic.Colour, Field(basic.Colour, 0x50)] - MidColour: Annotated[basic.Colour, Field(basic.Colour, 0x60)] - MidColourPlanet: Annotated[basic.Colour, Field(basic.Colour, 0x70)] - NebulaColour1: Annotated[basic.Colour, Field(basic.Colour, 0x80)] - NebulaColour2: Annotated[basic.Colour, Field(basic.Colour, 0x90)] - NebulaColour3: Annotated[basic.Colour, Field(basic.Colour, 0xA0)] - TopColour: Annotated[basic.Colour, Field(basic.Colour, 0xB0)] - TopColourPlanet: Annotated[basic.Colour, Field(basic.Colour, 0xC0)] + BottomColour: Annotated[basic.Colour, 0x0] + BottomColourPlanet: Annotated[basic.Colour, 0x10] + CloudColour: Annotated[basic.Colour, 0x20] + FogColour: Annotated[basic.Colour, 0x30] + FogColour2: Annotated[basic.Colour, 0x40] + LightColour: Annotated[basic.Colour, 0x50] + MidColour: Annotated[basic.Colour, 0x60] + MidColourPlanet: Annotated[basic.Colour, 0x70] + NebulaColour1: Annotated[basic.Colour, 0x80] + NebulaColour2: Annotated[basic.Colour, 0x90] + NebulaColour3: Annotated[basic.Colour, 0xA0] + TopColour: Annotated[basic.Colour, 0xB0] + TopColourPlanet: Annotated[basic.Colour, 0xC0] @partial_struct class cGcSpawnDensity(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] class eCoverageTypeEnum(IntEnum): Total = 0x0 SmoothPatch = 0x1 GridPatch = 0x2 - CoverageType: Annotated[ - c_enum32[eCoverageTypeEnum], Field(c_enum32[eCoverageTypeEnum], 0x10) - ] + CoverageType: Annotated[c_enum32[eCoverageTypeEnum], 0x10] PatchSize: Annotated[float, Field(ctypes.c_float, 0x14)] RegionScale: Annotated[float, Field(ctypes.c_float, 0x18)] Active: Annotated[bool, Field(ctypes.c_bool, 0x1C)] @@ -4610,28 +3865,24 @@ class eCoverageTypeEnum(IntEnum): @partial_struct class cGcPlanetTerrainColour(Structure): - Palette: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x0)] + Palette: Annotated[cTkPaletteTexture, 0x0] Index: Annotated[int, Field(ctypes.c_int32, 0xC)] @partial_struct class cGcPlanetTradingData(Structure): - TradingClass: Annotated[ - c_enum32[enums.cGcTradingClass], Field(c_enum32[enums.cGcTradingClass], 0x0) - ] - WealthClass: Annotated[ - c_enum32[enums.cGcWealthClass], Field(c_enum32[enums.cGcWealthClass], 0x4) - ] + TradingClass: Annotated[c_enum32[enums.cGcTradingClass], 0x0] + WealthClass: Annotated[c_enum32[enums.cGcWealthClass], 0x4] @partial_struct class cGcPlanetWaterColourData(Structure): - CausticsColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - EmissionColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - FoamColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - FoamEmission: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - ScatterColour: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - TransmittanceColour: Annotated[basic.Colour, Field(basic.Colour, 0x50)] + CausticsColour: Annotated[basic.Colour, 0x0] + EmissionColour: Annotated[basic.Colour, 0x10] + FoamColour: Annotated[basic.Colour, 0x20] + FoamEmission: Annotated[basic.Colour, 0x30] + ScatterColour: Annotated[basic.Colour, 0x40] + TransmittanceColour: Annotated[basic.Colour, 0x50] MaxScatterDistance: Annotated[float, Field(ctypes.c_float, 0x60)] MaxTransmittanceDistance: Annotated[float, Field(ctypes.c_float, 0x64)] MinScatterDistance: Annotated[float, Field(ctypes.c_float, 0x68)] @@ -4643,10 +3894,10 @@ class cGcPlanetWaterColourData(Structure): @partial_struct class cGcTerrainControls(Structure): - GridLayers: Annotated[float, Field(ctypes.c_float, 0x0)] - NoiseLayers: Annotated[float, Field(ctypes.c_float, 0x24)] - Features: Annotated[float, Field(ctypes.c_float, 0x44)] - Caves: Annotated[float, Field(ctypes.c_float, 0x60)] + GridLayers: Annotated[tuple[float, ...], Field(ctypes.c_float * 9, 0x0)] + NoiseLayers: Annotated[tuple[float, ...], Field(ctypes.c_float * 8, 0x24)] + Features: Annotated[tuple[float, ...], Field(ctypes.c_float * 7, 0x44)] + Caves: Annotated[tuple[float, ...], Field(ctypes.c_float * 1, 0x60)] HighWaterActiveFrequency: Annotated[float, Field(ctypes.c_float, 0x64)] RockTileFrequency: Annotated[float, Field(ctypes.c_float, 0x68)] SubstanceTileFrequency: Annotated[float, Field(ctypes.c_float, 0x6C)] @@ -4657,70 +3908,57 @@ class cGcTerrainControls(Structure): @partial_struct class cGcPlanetWaterData(Structure): ColourIndex: Annotated[int, Field(ctypes.c_int32, 0x0)] - FoamEmission: Annotated[ - c_enum32[enums.cGcWaterEmissionBehaviourType], - Field(c_enum32[enums.cGcWaterEmissionBehaviourType], 0x4), - ] + FoamEmission: Annotated[c_enum32[enums.cGcWaterEmissionBehaviourType], 0x4] Murkyness: Annotated[float, Field(ctypes.c_float, 0x8)] - WaterEmission: Annotated[ - c_enum32[enums.cGcWaterEmissionBehaviourType], - Field(c_enum32[enums.cGcWaterEmissionBehaviourType], 0xC), - ] + WaterEmission: Annotated[c_enum32[enums.cGcWaterEmissionBehaviourType], 0xC] @partial_struct class cGcPlanetHazardData(Structure): - LifeSupportDrain: Annotated[float, Field(ctypes.c_float, 0x0)] - Radiation: Annotated[float, Field(ctypes.c_float, 0x18)] - SpookLevel: Annotated[float, Field(ctypes.c_float, 0x30)] - Temperature: Annotated[float, Field(ctypes.c_float, 0x48)] - Toxicity: Annotated[float, Field(ctypes.c_float, 0x60)] + LifeSupportDrain: Annotated[tuple[float, ...], Field(ctypes.c_float * 6, 0x0)] + Radiation: Annotated[tuple[float, ...], Field(ctypes.c_float * 6, 0x18)] + SpookLevel: Annotated[tuple[float, ...], Field(ctypes.c_float * 6, 0x30)] + Temperature: Annotated[tuple[float, ...], Field(ctypes.c_float * 6, 0x48)] + Toxicity: Annotated[tuple[float, ...], Field(ctypes.c_float * 6, 0x60)] @partial_struct class cGcPlanetDataResourceHint(Structure): - Hint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Icon: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Hint: Annotated[basic.TkID0x10, 0x0] + Icon: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcPlanetGroundCombatData(Structure): - FlybyTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] - SentinelTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x8)] + FlybyTimer: Annotated[basic.Vector2f, 0x0] + SentinelTimer: Annotated[basic.Vector2f, 0x8] MaxActiveDrones: Annotated[int, Field(ctypes.c_int32, 0x10)] - SentinelLevel: Annotated[ - c_enum32[enums.cGcPlanetSentinelLevel], - Field(c_enum32[enums.cGcPlanetSentinelLevel], 0x14), - ] + SentinelLevel: Annotated[c_enum32[enums.cGcPlanetSentinelLevel], 0x14] @partial_struct class cGcPlanetInfo(Structure): SentinelsPerDifficulty: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x0) - ] - Fauna: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x200)] - Flora: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x280)] - PlanetDescription: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x300) + tuple[basic.cTkFixedString0x80, ...], Field(basic.cTkFixedString0x80 * 4, 0x0) ] - PlanetType: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x380) + Fauna: Annotated[basic.cTkFixedString0x80, 0x200] + Flora: Annotated[basic.cTkFixedString0x80, 0x280] + PlanetDescription: Annotated[basic.cTkFixedString0x80, 0x300] + PlanetType: Annotated[basic.cTkFixedString0x80, 0x380] + Resources: Annotated[basic.cTkFixedString0x80, 0x400] + Weather: Annotated[basic.cTkFixedString0x80, 0x480] + SentinelHighlightPerDifficulty: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 4, 0x500) ] - Resources: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x400) - ] - Weather: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x480)] - SentinelHighlightPerDifficulty: Annotated[bool, Field(ctypes.c_bool, 0x500)] IsWeatherExtreme: Annotated[bool, Field(ctypes.c_bool, 0x504)] SpecialFauna: Annotated[bool, Field(ctypes.c_bool, 0x505)] @partial_struct class cGcPlanetRingData(Structure): - Colour1: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Colour2: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] + Colour1: Annotated[basic.Colour, 0x0] + Colour2: Annotated[basic.Colour, 0x10] + Up: Annotated[basic.Vector3f, 0x20] AlphaMultiplier: Annotated[float, Field(ctypes.c_float, 0x30)] Depth: Annotated[float, Field(ctypes.c_float, 0x34)] LargeScale1: Annotated[float, Field(ctypes.c_float, 0x38)] @@ -4735,69 +3973,57 @@ class cGcPlanetRingData(Structure): @partial_struct class cGcPlanetSectionData(Structure): DiscovererUID: Annotated[int, Field(ctypes.c_uint64, 0x0)] - DiscovererPlatform: Annotated[bytes, Field(ctypes.c_byte, 0x8)] + DiscovererPlatform: Annotated[tuple[bytes, ...], Field(ctypes.c_byte * 2, 0x8)] DiscoveredState: Annotated[bool, Field(ctypes.c_bool, 0xA)] @partial_struct class cGcPlanetaryMappingData(Structure): - SectionsData: Annotated[ - basic.cTkDynamicArray[cGcPlanetSectionData], - Field(basic.cTkDynamicArray[cGcPlanetSectionData], 0x0), - ] + SectionsData: Annotated[basic.cTkDynamicArray[cGcPlanetSectionData], 0x0] UA: Annotated[int, Field(ctypes.c_uint64, 0x10)] @partial_struct class cGcPlanetaryMappingValues(Structure): - PlanetSize: Annotated[ - c_enum32[enums.cGcPlanetSize], Field(c_enum32[enums.cGcPlanetSize], 0x0) - ] + PlanetSize: Annotated[c_enum32[enums.cGcPlanetSize], 0x0] PolesPerSection: Annotated[int, Field(ctypes.c_uint16, 0x4)] SectionPerSide: Annotated[int, Field(ctypes.c_uint16, 0x6)] @partial_struct class cGcBiomeFileListOption(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Filename: Annotated[basic.VariableSizeString, 0x0] PurpleSystemWeight: Annotated[float, Field(ctypes.c_float, 0x10)] - SubType: Annotated[ - c_enum32[enums.cGcBiomeSubType], Field(c_enum32[enums.cGcBiomeSubType], 0x14) - ] + SubType: Annotated[c_enum32[enums.cGcBiomeSubType], 0x14] Weight: Annotated[float, Field(ctypes.c_float, 0x18)] @partial_struct class cGcBiomeFileListOptions(Structure): - FileOptions: Annotated[ - basic.cTkDynamicArray[cGcBiomeFileListOption], - Field(basic.cTkDynamicArray[cGcBiomeFileListOption], 0x0), - ] + FileOptions: Annotated[basic.cTkDynamicArray[cGcBiomeFileListOption], 0x0] @partial_struct class cGcGasGiantAtmosphereSetting(Structure): - DiscoveryPlanetColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - AtmosphereID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - GradientMapResource: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + DiscoveryPlanetColour: Annotated[basic.Colour, 0x0] + AtmosphereID: Annotated[basic.TkID0x10, 0x10] + GradientMapResource: Annotated[basic.VariableSizeString, 0x20] @partial_struct class cGcHeavyAirColourData(Structure): - Colour1: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Colour2: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - ExtremeColour1: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - ExtremeColour2: Annotated[basic.Colour, Field(basic.Colour, 0x30)] + Colour1: Annotated[basic.Colour, 0x0] + Colour2: Annotated[basic.Colour, 0x10] + ExtremeColour1: Annotated[basic.Colour, 0x20] + ExtremeColour2: Annotated[basic.Colour, 0x30] @partial_struct class cGcHeavyAirSettingValues(Structure): - ForceColour1: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - ForceColour2: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - Colour1: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x20)] - Colour2: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x2C)] + ForceColour1: Annotated[basic.Colour, 0x0] + ForceColour2: Annotated[basic.Colour, 0x10] + Colour1: Annotated[cTkPaletteTexture, 0x20] + Colour2: Annotated[cTkPaletteTexture, 0x2C] Alpha1: Annotated[float, Field(ctypes.c_float, 0x38)] Alpha2: Annotated[float, Field(ctypes.c_float, 0x3C)] Speed: Annotated[float, Field(ctypes.c_float, 0x40)] @@ -4808,19 +4034,23 @@ class cGcHeavyAirSettingValues(Structure): @partial_struct class cGcHeavyAirSetting(Structure): - Settings: Annotated[cGcHeavyAirSettingValues, Field(cGcHeavyAirSettingValues, 0x0)] + Settings: Annotated[ + tuple[cGcHeavyAirSettingValues, ...], Field(cGcHeavyAirSettingValues * 5, 0x0) + ] @partial_struct class cGcBiomeList(Structure): - BiomeProbability: Annotated[float, Field(ctypes.c_float, 0x0)] - PrimeBiomeProbability: Annotated[float, Field(ctypes.c_float, 0x44)] + BiomeProbability: Annotated[tuple[float, ...], Field(ctypes.c_float * 17, 0x0)] + PrimeBiomeProbability: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 17, 0x44) + ] @partial_struct class cGcBiomeCloudSettings(Structure): - StormCloudBottomColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - StormCloudTopColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] + StormCloudBottomColour: Annotated[basic.Colour, 0x0] + StormCloudTopColour: Annotated[basic.Colour, 0x10] MaxCover: Annotated[float, Field(ctypes.c_float, 0x20)] MaxCoverage: Annotated[float, Field(ctypes.c_float, 0x24)] MaxCoverageVariance: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -4838,22 +4068,19 @@ class cGcBiomeCloudSettings(Structure): @partial_struct class cGcSolarSystemEventWarpOut(Structure): - WarpIntervalRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] + WarpIntervalRange: Annotated[basic.Vector2f, 0x0] Time: Annotated[float, Field(ctypes.c_float, 0x8)] - SquadName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC)] + SquadName: Annotated[basic.cTkFixedString0x20, 0xC] @partial_struct class cGcAtmosphereList(Structure): - Atmospheres: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x0), - ] + Atmospheres: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x0] @partial_struct class cGcGeneratedShipCounts(Structure): - Counts: Annotated[int, Field(ctypes.c_int32, 0x0)] + Counts: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0x0)] @partial_struct @@ -4869,45 +4096,38 @@ class eChoiceEnum(IntEnum): SpecificIndex = 0x2 InFrontOfPlayer = 0x3 - Choice: Annotated[c_enum32[eChoiceEnum], Field(c_enum32[eChoiceEnum], 0x0)] + Choice: Annotated[c_enum32[eChoiceEnum], 0x0] Index: Annotated[int, Field(ctypes.c_int32, 0x4)] - Type: Annotated[ - c_enum32[enums.cGcSolarSystemLocatorTypes], - Field(c_enum32[enums.cGcSolarSystemLocatorTypes], 0x8), - ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC)] + Type: Annotated[c_enum32[enums.cGcSolarSystemLocatorTypes], 0x8] + Name: Annotated[basic.cTkFixedString0x20, 0xC] @partial_struct class cGcSpaceStationSpawnData(Structure): - SpawnFacing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - SpawnPosition: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x20)] + SpawnFacing: Annotated[basic.Vector3f, 0x0] + SpawnPosition: Annotated[basic.Vector3f, 0x10] + Seed: Annotated[basic.GcSeed, 0x20] class eSpawnModeEnum(IntEnum): None_ = 0x0 UseSeed = 0x1 UseAltID = 0x2 - SpawnMode: Annotated[ - c_enum32[eSpawnModeEnum], Field(c_enum32[eSpawnModeEnum], 0x30) - ] - AltId: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x34)] + SpawnMode: Annotated[c_enum32[eSpawnModeEnum], 0x30] + AltId: Annotated[basic.cTkFixedString0x100, 0x34] @partial_struct class cGcAsteroidGeneratorAssignment(Structure): - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x0)] - Locator: Annotated[ - cGcSolarSystemLocatorChoice, Field(cGcSolarSystemLocatorChoice, 0x10) - ] + Seed: Annotated[basic.GcSeed, 0x0] + Locator: Annotated[cGcSolarSystemLocatorChoice, 0x10] AsteroidCount: Annotated[int, Field(ctypes.c_int32, 0x3C)] PlanetIndex: Annotated[int, Field(ctypes.c_int32, 0x40)] @partial_struct class cGcSolarSystemTraderSpawnData(Structure): - SequenceTakeoffDelay: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] + SequenceTakeoffDelay: Annotated[basic.Vector2f, 0x0] ChanceToDelayLaunch: Annotated[int, Field(ctypes.c_int32, 0x8)] InitialTakeoffDelay: Annotated[float, Field(ctypes.c_float, 0xC)] MaxToSpawn: Annotated[int, Field(ctypes.c_int32, 0x10)] @@ -4915,10 +4135,8 @@ class cGcSolarSystemTraderSpawnData(Structure): @partial_struct class cGcAsteroidGeneratorRing(Structure): - Rotation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Assignment: Annotated[ - cGcAsteroidGeneratorAssignment, Field(cGcAsteroidGeneratorAssignment, 0x10) - ] + Rotation: Annotated[basic.Vector3f, 0x0] + Assignment: Annotated[cGcAsteroidGeneratorAssignment, 0x10] LowerRadius: Annotated[float, Field(ctypes.c_float, 0x58)] OffBalance: Annotated[int, Field(ctypes.c_int32, 0x5C)] PushAmount: Annotated[float, Field(ctypes.c_float, 0x60)] @@ -4930,23 +4148,18 @@ class cGcAsteroidGeneratorRing(Structure): @partial_struct class cGcSolarSystemLocator(Structure): - Direction: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] + Direction: Annotated[basic.Vector3f, 0x0] + Position: Annotated[basic.Vector3f, 0x10] Radius: Annotated[float, Field(ctypes.c_float, 0x20)] - Type: Annotated[ - c_enum32[enums.cGcSolarSystemLocatorTypes], - Field(c_enum32[enums.cGcSolarSystemLocatorTypes], 0x24), - ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x28)] + Type: Annotated[c_enum32[enums.cGcSolarSystemLocatorTypes], 0x24] + Name: Annotated[basic.cTkFixedString0x20, 0x28] @partial_struct class cGcAsteroidGeneratorSlab(Structure): - Rotation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Scale: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Assignment: Annotated[ - cGcAsteroidGeneratorAssignment, Field(cGcAsteroidGeneratorAssignment, 0x20) - ] + Rotation: Annotated[basic.Vector3f, 0x0] + Scale: Annotated[basic.Vector3f, 0x10] + Assignment: Annotated[cGcAsteroidGeneratorAssignment, 0x20] NoiseApply: Annotated[float, Field(ctypes.c_float, 0x68)] NoiseOffset: Annotated[float, Field(ctypes.c_float, 0x6C)] NoiseScale: Annotated[float, Field(ctypes.c_float, 0x70)] @@ -4954,9 +4167,7 @@ class cGcAsteroidGeneratorSlab(Structure): @partial_struct class cGcAsteroidGeneratorSurround(Structure): - Assignment: Annotated[ - cGcAsteroidGeneratorAssignment, Field(cGcAsteroidGeneratorAssignment, 0x0) - ] + Assignment: Annotated[cGcAsteroidGeneratorAssignment, 0x0] LowerRadius: Annotated[float, Field(ctypes.c_float, 0x48)] NoiseApply: Annotated[float, Field(ctypes.c_float, 0x4C)] NoiseOffset: Annotated[float, Field(ctypes.c_float, 0x50)] @@ -4966,9 +4177,9 @@ class cGcAsteroidGeneratorSurround(Structure): @partial_struct class cGcExperienceTimers(Structure): - High: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] - Low: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x8)] - Normal: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] + High: Annotated[basic.Vector2f, 0x0] + Low: Annotated[basic.Vector2f, 0x8] + Normal: Annotated[basic.Vector2f, 0x10] HighChance: Annotated[int, Field(ctypes.c_int32, 0x18)] LowChance: Annotated[int, Field(ctypes.c_int32, 0x1C)] @@ -4987,7 +4198,7 @@ class cGcSentinelPounceBalance(Structure): @partial_struct class cGcSentinelResource(Structure): - Resource: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Resource: Annotated[basic.VariableSizeString, 0x0] BaseHealth: Annotated[int, Field(ctypes.c_int32, 0x10)] HealthIncreasePerLevel: Annotated[int, Field(ctypes.c_int32, 0x14)] RepairThreshold: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -4997,12 +4208,12 @@ class cGcSentinelResource(Structure): @partial_struct class cGcSmokeBotStats(Structure): - MinCpuFPSFacing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - MinCpuFPSPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - MinGpuFPSFacing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - MinGpuFPSPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - MinMemoryFacing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x40)] - MinMemoryPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x50)] + MinCpuFPSFacing: Annotated[basic.Vector3f, 0x0] + MinCpuFPSPos: Annotated[basic.Vector3f, 0x10] + MinGpuFPSFacing: Annotated[basic.Vector3f, 0x20] + MinGpuFPSPos: Annotated[basic.Vector3f, 0x30] + MinMemoryFacing: Annotated[basic.Vector3f, 0x40] + MinMemoryPos: Annotated[basic.Vector3f, 0x50] AvgCpuFPS: Annotated[float, Field(ctypes.c_float, 0x60)] AvgGpuFPS: Annotated[float, Field(ctypes.c_float, 0x64)] FrameCount: Annotated[int, Field(ctypes.c_int32, 0x68)] @@ -5017,39 +4228,33 @@ class cGcSmokeBotStats(Structure): @partial_struct class cGcSmokeBotPlanetReport(Structure): - PlanetStats: Annotated[cGcSmokeBotStats, Field(cGcSmokeBotStats, 0x0)] + PlanetStats: Annotated[cGcSmokeBotStats, 0x0] UA: Annotated[int, Field(ctypes.c_uint64, 0x90)] @partial_struct class cGcSmokeBotSystemReport(Structure): - SpaceStats: Annotated[cGcSmokeBotStats, Field(cGcSmokeBotStats, 0x0)] - SystemStats: Annotated[cGcSmokeBotStats, Field(cGcSmokeBotStats, 0x90)] - PlanetReports: Annotated[ - basic.cTkDynamicArray[cGcSmokeBotPlanetReport], - Field(basic.cTkDynamicArray[cGcSmokeBotPlanetReport], 0x120), - ] + SpaceStats: Annotated[cGcSmokeBotStats, 0x0] + SystemStats: Annotated[cGcSmokeBotStats, 0x90] + PlanetReports: Annotated[basic.cTkDynamicArray[cGcSmokeBotPlanetReport], 0x120] UA: Annotated[int, Field(ctypes.c_uint64, 0x130)] @partial_struct class cGcSmokeBotReport(Structure): - Systems: Annotated[ - basic.cTkDynamicArray[cGcSmokeBotSystemReport], - Field(basic.cTkDynamicArray[cGcSmokeBotSystemReport], 0x0), - ] + Systems: Annotated[basic.cTkDynamicArray[cGcSmokeBotSystemReport], 0x0] StartingUA: Annotated[int, Field(ctypes.c_uint64, 0x10)] @partial_struct class cGcDroneResource(Structure): - Resource: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Resource: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cGcDroneWeaponData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Projectile: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Id: Annotated[basic.TkID0x10, 0x0] + Projectile: Annotated[basic.TkID0x10, 0x10] ExplosionRadius: Annotated[float, Field(ctypes.c_float, 0x20)] FireRate: Annotated[float, Field(ctypes.c_float, 0x24)] FireTimeMax: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -5084,9 +4289,9 @@ class cGcMechTargetSelectionWeightingSettings(Structure): @partial_struct class cGcRobotLaserData(Structure): - LaserColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - LaserLightOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - LaserID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + LaserColour: Annotated[basic.Colour, 0x0] + LaserLightOffset: Annotated[basic.Vector3f, 0x10] + LaserID: Annotated[basic.TkID0x10, 0x20] LaserActiveSpringTime: Annotated[float, Field(ctypes.c_float, 0x30)] LaserChargeTime: Annotated[float, Field(ctypes.c_float, 0x34)] LaserLightAttackSize: Annotated[float, Field(ctypes.c_float, 0x38)] @@ -5098,9 +4303,9 @@ class cGcRobotLaserData(Structure): @partial_struct class cGcSentinelDamagedData(Structure): - DamageEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DamageType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - SelfDestructEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + DamageEffect: Annotated[basic.TkID0x10, 0x0] + DamageType: Annotated[basic.TkID0x10, 0x10] + SelfDestructEffect: Annotated[basic.TkID0x10, 0x20] DamageEffectHealthPercentThreshold: Annotated[float, Field(ctypes.c_float, 0x30)] RangeTrigger: Annotated[float, Field(ctypes.c_float, 0x34)] TimeTrigger: Annotated[float, Field(ctypes.c_float, 0x38)] @@ -5118,8 +4323,7 @@ class eModularCustomisationEffectModeEnum(IntEnum): Dissolve = 0x2 ModularCustomisationEffectMode: Annotated[ - c_enum32[eModularCustomisationEffectModeEnum], - Field(c_enum32[eModularCustomisationEffectModeEnum], 0x4), + c_enum32[eModularCustomisationEffectModeEnum], 0x4 ] @@ -5152,35 +4356,26 @@ class cGcProjectileLineData(Structure): BulletScaler: Annotated[float, Field(ctypes.c_float, 0x18)] BulletScalerMaxDist: Annotated[float, Field(ctypes.c_float, 0x1C)] BulletScalerMinDist: Annotated[float, Field(ctypes.c_float, 0x20)] - BulletGlowWidthCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x24) - ] + BulletGlowWidthCurve: Annotated[c_enum32[enums.cTkCurveType], 0x24] @partial_struct class cGcProjectileImpactData(Structure): - Effect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Impact: Annotated[ - c_enum32[enums.cGcProjectileImpactType], - Field(c_enum32[enums.cGcProjectileImpactType], 0x10), - ] + Effect: Annotated[basic.TkID0x10, 0x0] + Impact: Annotated[c_enum32[enums.cGcProjectileImpactType], 0x10] class eImpactAlignmentEnum(IntEnum): ImpactNormal = 0x0 ImpactReflected = 0x1 GravityUp = 0x2 - ImpactAlignment: Annotated[ - c_enum32[eImpactAlignmentEnum], Field(c_enum32[eImpactAlignmentEnum], 0x14) - ] + ImpactAlignment: Annotated[c_enum32[eImpactAlignmentEnum], 0x14] class eImpactAttachmentEnum(IntEnum): World = 0x0 HitBody = 0x1 - ImpactAttachment: Annotated[ - c_enum32[eImpactAttachmentEnum], Field(c_enum32[eImpactAttachmentEnum], 0x18) - ] + ImpactAttachment: Annotated[c_enum32[eImpactAttachmentEnum], 0x18] @partial_struct @@ -5208,7 +4403,7 @@ class eZoomTypeEnum(IntEnum): Mid = 0x2 Close = 0x3 - ZoomType: Annotated[c_enum32[eZoomTypeEnum], Field(c_enum32[eZoomTypeEnum], 0x18)] + ZoomType: Annotated[c_enum32[eZoomTypeEnum], 0x18] @partial_struct @@ -5229,32 +4424,27 @@ class cGcBoidData(Structure): @partial_struct class cGcDamageMultiplier(Structure): Multiplier: Annotated[float, Field(ctypes.c_float, 0x0)] - Type: Annotated[ - c_enum32[enums.cGcDamageType], Field(c_enum32[enums.cGcDamageType], 0x4) - ] + Type: Annotated[c_enum32[enums.cGcDamageType], 0x4] @partial_struct class cGcDamageMultiplierLookup(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Multipliers: Annotated[ - basic.cTkDynamicArray[cGcDamageMultiplier], - Field(basic.cTkDynamicArray[cGcDamageMultiplier], 0x10), - ] + Id: Annotated[basic.TkID0x10, 0x0] + Multipliers: Annotated[basic.cTkDynamicArray[cGcDamageMultiplier], 0x10] Default: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcProjectorOffsetData(Structure): - Active: Annotated[cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x0)] - Inactive: Annotated[cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x30)] - ScreenScale: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x60)] + Active: Annotated[cGcInWorldUIScreenData, 0x0] + Inactive: Annotated[cGcInWorldUIScreenData, 0x30] + ScreenScale: Annotated[basic.Vector2f, 0x60] Scale: Annotated[float, Field(ctypes.c_float, 0x68)] @partial_struct class cGcScanData(Structure): - CameraEventId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + CameraEventId: Annotated[basic.TkID0x10, 0x0] class eCameraEventFocusTargetTypeEnum(IntEnum): None_ = 0x0 @@ -5262,8 +4452,7 @@ class eCameraEventFocusTargetTypeEnum(IntEnum): RevealedNPC = 0x2 CameraEventFocusTargetType: Annotated[ - c_enum32[eCameraEventFocusTargetTypeEnum], - Field(c_enum32[eCameraEventFocusTargetTypeEnum], 0x10), + c_enum32[eCameraEventFocusTargetTypeEnum], 0x10 ] class eCameraEventTypeEnum(IntEnum): @@ -5271,30 +4460,26 @@ class eCameraEventTypeEnum(IntEnum): AerialView = 0x1 LookAt = 0x2 - CameraEventType: Annotated[ - c_enum32[eCameraEventTypeEnum], Field(c_enum32[eCameraEventTypeEnum], 0x14) - ] + CameraEventType: Annotated[c_enum32[eCameraEventTypeEnum], 0x14] ChargeTime: Annotated[float, Field(ctypes.c_float, 0x18)] PulseRange: Annotated[float, Field(ctypes.c_float, 0x1C)] PulseTime: Annotated[float, Field(ctypes.c_float, 0x20)] ScanRevealDelay: Annotated[float, Field(ctypes.c_float, 0x24)] - ScanType: Annotated[ - c_enum32[enums.cGcScanType], Field(c_enum32[enums.cGcScanType], 0x28) - ] + ScanType: Annotated[c_enum32[enums.cGcScanType], 0x28] AddMarkers: Annotated[bool, Field(ctypes.c_bool, 0x2C)] PlayAudioOnMarkers: Annotated[bool, Field(ctypes.c_bool, 0x2D)] @partial_struct class cGcScanDataTableEntry(Structure): - ScanData: Annotated[cGcScanData, Field(cGcScanData, 0x0)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + ScanData: Annotated[cGcScanData, 0x0] + ID: Annotated[basic.TkID0x10, 0x30] @partial_struct class cGcScanEffectData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Colour: Annotated[basic.Colour, 0x0] + Id: Annotated[basic.TkID0x10, 0x10] BasecolourIntensity: Annotated[float, Field(ctypes.c_float, 0x20)] FadeInTime: Annotated[float, Field(ctypes.c_float, 0x24)] FadeOutTime: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -5308,9 +4493,7 @@ class eScanEffectTypeEnum(IntEnum): Ground = 0x3 Objects = 0x4 - ScanEffectType: Annotated[ - c_enum32[eScanEffectTypeEnum], Field(c_enum32[eScanEffectTypeEnum], 0x34) - ] + ScanEffectType: Annotated[c_enum32[eScanEffectTypeEnum], 0x34] ScanlinesSeparation: Annotated[float, Field(ctypes.c_float, 0x38)] WaveOffset: Annotated[float, Field(ctypes.c_float, 0x3C)] FixedUpAxis: Annotated[bool, Field(ctypes.c_bool, 0x40)] @@ -5321,61 +4504,53 @@ class eScanEffectTypeEnum(IntEnum): @partial_struct class cGcPlayerCharacterIKOverrideData(Structure): - RotStrengths: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + RotStrengths: Annotated[basic.Vector3f, 0x0] Strength: Annotated[float, Field(ctypes.c_float, 0x10)] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcPlayerCharacterAnimationOverrideData(Structure): - Data: Annotated[ - cGcPlayerCharacterIKOverrideData, Field(cGcPlayerCharacterIKOverrideData, 0x0) - ] - AnimName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Data: Annotated[cGcPlayerCharacterIKOverrideData, 0x0] + AnimName: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcPlayerCharacterIKStateData(Structure): - Data: Annotated[ - cGcPlayerCharacterIKOverrideData, Field(cGcPlayerCharacterIKOverrideData, 0x0) - ] + Data: Annotated[cGcPlayerCharacterIKOverrideData, 0x0] AnimOverrides: Annotated[ - basic.cTkDynamicArray[cGcPlayerCharacterAnimationOverrideData], - Field(basic.cTkDynamicArray[cGcPlayerCharacterAnimationOverrideData], 0x20), - ] - State: Annotated[ - c_enum32[enums.cGcPlayerCharacterStateType], - Field(c_enum32[enums.cGcPlayerCharacterStateType], 0x30), + basic.cTkDynamicArray[cGcPlayerCharacterAnimationOverrideData], 0x20 ] + State: Annotated[c_enum32[enums.cGcPlayerCharacterStateType], 0x30] @partial_struct class cGcPlayerCharacterStateData(Structure): - AimTree1HPitch: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - AimTree1HYaw: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - AimTree2HPitch: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - AimTree2HYaw: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - AimTreeFishingPitch: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - AimTreeFishingYaw: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - AimTreeStaffPitch: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - AimTreeStaffYaw: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - HitReact0H: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - HitReact1H: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - HitReact2H: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - HitReactStaff: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - Locomotion0H: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] - Locomotion1H: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xD0)] - Locomotion2H: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xE0)] - LocomotionStaff: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xF0)] + AimTree1HPitch: Annotated[basic.TkID0x10, 0x0] + AimTree1HYaw: Annotated[basic.TkID0x10, 0x10] + AimTree2HPitch: Annotated[basic.TkID0x10, 0x20] + AimTree2HYaw: Annotated[basic.TkID0x10, 0x30] + AimTreeFishingPitch: Annotated[basic.TkID0x10, 0x40] + AimTreeFishingYaw: Annotated[basic.TkID0x10, 0x50] + AimTreeStaffPitch: Annotated[basic.TkID0x10, 0x60] + AimTreeStaffYaw: Annotated[basic.TkID0x10, 0x70] + HitReact0H: Annotated[basic.TkID0x10, 0x80] + HitReact1H: Annotated[basic.TkID0x10, 0x90] + HitReact2H: Annotated[basic.TkID0x10, 0xA0] + HitReactStaff: Annotated[basic.TkID0x10, 0xB0] + Locomotion0H: Annotated[basic.TkID0x10, 0xC0] + Locomotion1H: Annotated[basic.TkID0x10, 0xD0] + Locomotion2H: Annotated[basic.TkID0x10, 0xE0] + LocomotionStaff: Annotated[basic.TkID0x10, 0xF0] KeepHeadForward: Annotated[bool, Field(ctypes.c_bool, 0x100)] @partial_struct class cGcPlayerHazardData(Structure): - Damage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DamageRate: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] - ProtectionTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x18)] - WoundRate: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] + Damage: Annotated[basic.TkID0x10, 0x0] + DamageRate: Annotated[basic.Vector2f, 0x10] + ProtectionTime: Annotated[basic.Vector2f, 0x18] + WoundRate: Annotated[basic.Vector2f, 0x20] CapValue: Annotated[float, Field(ctypes.c_float, 0x28)] CriticalValue: Annotated[float, Field(ctypes.c_float, 0x2C)] OutputMaxAddition: Annotated[float, Field(ctypes.c_float, 0x30)] @@ -5385,9 +4560,7 @@ class cGcPlayerHazardData(Structure): RechargeInitialTime: Annotated[float, Field(ctypes.c_float, 0x40)] RechargeTime: Annotated[float, Field(ctypes.c_float, 0x44)] TriggerValue: Annotated[float, Field(ctypes.c_float, 0x48)] - DisplayCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x4C) - ] + DisplayCurve: Annotated[c_enum32[enums.cTkCurveType], 0x4C] Increases: Annotated[bool, Field(ctypes.c_bool, 0x4D)] @@ -5404,8 +4577,8 @@ class cGcPlayerStickData(Structure): @partial_struct class cGcGrabbableData(Structure): - HandPose: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - RotationLimits: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] + HandPose: Annotated[basic.TkID0x10, 0x0] + RotationLimits: Annotated[basic.Vector2f, 0x10] AttachTime: Annotated[float, Field(ctypes.c_float, 0x18)] DetachTime: Annotated[float, Field(ctypes.c_float, 0x1C)] GrabRadius: Annotated[float, Field(ctypes.c_float, 0x20)] @@ -5416,58 +4589,48 @@ class eGrabTypeEnum(IntEnum): ControlStickLeft = 0x2 ControlStickRight = 0x3 - GrabType: Annotated[c_enum32[eGrabTypeEnum], Field(c_enum32[eGrabTypeEnum], 0x24)] - Hand: Annotated[c_enum32[enums.cGcHand], Field(c_enum32[enums.cGcHand], 0x28)] + GrabType: Annotated[c_enum32[eGrabTypeEnum], 0x24] + Hand: Annotated[c_enum32[enums.cGcHand], 0x28] MovementMaxSpeed: Annotated[float, Field(ctypes.c_float, 0x2C)] MovementRequiredForActivation: Annotated[float, Field(ctypes.c_float, 0x30)] MovementReturnSpeed: Annotated[float, Field(ctypes.c_float, 0x34)] ReleaseRadius: Annotated[float, Field(ctypes.c_float, 0x38)] ToggleGrabTime: Annotated[float, Field(ctypes.c_float, 0x3C)] - LocatorName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - MovementEndLocator: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - MovementStartLocator: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80) - ] + LocatorName: Annotated[basic.cTkFixedString0x20, 0x40] + MovementEndLocator: Annotated[basic.cTkFixedString0x20, 0x60] + MovementStartLocator: Annotated[basic.cTkFixedString0x20, 0x80] AllowOtherWayUp: Annotated[bool, Field(ctypes.c_bool, 0xA0)] AutoGrab: Annotated[bool, Field(ctypes.c_bool, 0xA1)] @partial_struct class cGcPlayerEmotePropData(Structure): - ScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x0)] - Model: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x50)] + ScanEffect: Annotated[cGcScanEffectData, 0x0] + Model: Annotated[basic.VariableSizeString, 0x50] DelayTime: Annotated[float, Field(ctypes.c_float, 0x60)] - Hand: Annotated[c_enum32[enums.cGcHand], Field(c_enum32[enums.cGcHand], 0x64)] + Hand: Annotated[c_enum32[enums.cGcHand], 0x64] Scale: Annotated[float, Field(ctypes.c_float, 0x68)] - ScanEffectNodeName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x6C) - ] + ScanEffectNodeName: Annotated[basic.cTkFixedString0x40, 0x6C] IsHologram: Annotated[bool, Field(ctypes.c_bool, 0xAC)] @partial_struct class cGcPlayerEmote(Structure): - PropData: Annotated[cGcPlayerEmotePropData, Field(cGcPlayerEmotePropData, 0x0)] - ChatText: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xB0)] - PetCommandTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xD0) - ] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xF0)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x110)] - PetCommandIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x128)] - AnimationName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x140)] - EmoteID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x150)] - GekAnimationName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x160)] - GekLoopAnimUntilMove: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x170)] - LinkedSpecialID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x180)] - LoopAnimUntilMove: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x190)] - RidingAnimationName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1A0)] - IconPetCommandResource: Annotated[basic.GcResource, Field(basic.GcResource, 0x1B0)] - IconResource: Annotated[basic.GcResource, Field(basic.GcResource, 0x1B4)] + PropData: Annotated[cGcPlayerEmotePropData, 0x0] + ChatText: Annotated[basic.cTkFixedString0x20, 0xB0] + PetCommandTitle: Annotated[basic.cTkFixedString0x20, 0xD0] + Title: Annotated[basic.cTkFixedString0x20, 0xF0] + Icon: Annotated[cTkTextureResource, 0x110] + PetCommandIcon: Annotated[cTkTextureResource, 0x128] + AnimationName: Annotated[basic.TkID0x10, 0x140] + EmoteID: Annotated[basic.TkID0x10, 0x150] + GekAnimationName: Annotated[basic.TkID0x10, 0x160] + GekLoopAnimUntilMove: Annotated[basic.TkID0x10, 0x170] + LinkedSpecialID: Annotated[basic.TkID0x10, 0x180] + LoopAnimUntilMove: Annotated[basic.TkID0x10, 0x190] + RidingAnimationName: Annotated[basic.TkID0x10, 0x1A0] + IconPetCommandResource: Annotated[basic.GcResource, 0x1B0] + IconResource: Annotated[basic.GcResource, 0x1B4] AvailableUnderwater: Annotated[bool, Field(ctypes.c_bool, 0x1B8)] ChatUsesPrefix: Annotated[bool, Field(ctypes.c_bool, 0x1B9)] CloseMenuOnSelect: Annotated[bool, Field(ctypes.c_bool, 0x1BA)] @@ -5478,23 +4641,21 @@ class cGcPlayerEmote(Structure): @partial_struct class cGcReplacementEffectData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ReplaceWith: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Id: Annotated[basic.TkID0x10, 0x0] + ReplaceWith: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcPhotoBuildings(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - BuildingType: Annotated[ - c_enum32[enums.cGcPhotoBuilding], Field(c_enum32[enums.cGcPhotoBuilding], 0x8) - ] + BuildingType: Annotated[c_enum32[enums.cGcPhotoBuilding], 0x8] @partial_struct class cGcAreaDamageData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - PlayerDamageId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Id: Annotated[basic.TkID0x10, 0x0] + PlayerDamageId: Annotated[basic.TkID0x10, 0x10] Damage: Annotated[float, Field(ctypes.c_float, 0x20)] DelayPerMetre: Annotated[float, Field(ctypes.c_float, 0x24)] Radius: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -5507,9 +4668,7 @@ class cGcAreaDamageData(Structure): class cGcPhotoFauna(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - CreatureArea: Annotated[ - c_enum32[enums.cGcPhotoCreature], Field(c_enum32[enums.cGcPhotoCreature], 0x8) - ] + CreatureArea: Annotated[c_enum32[enums.cGcPhotoCreature], 0x8] MustBePet: Annotated[bool, Field(ctypes.c_bool, 0xC)] @@ -5517,22 +4676,20 @@ class cGcPhotoFauna(Structure): class cGcPhotoFlora(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - PlantType: Annotated[ - c_enum32[enums.cGcPhotoPlant], Field(c_enum32[enums.cGcPhotoPlant], 0x8) - ] + PlantType: Annotated[c_enum32[enums.cGcPhotoPlant], 0x8] @partial_struct class cGcCreatureDiscoveryThumbnailOverride(Structure): - DiscoveryUIOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - ContainsDescriptor: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x10)] + DiscoveryUIOffset: Annotated[basic.Vector3f, 0x0] + ContainsDescriptor: Annotated[basic.TkID0x20, 0x10] DiscoveryUIScaler: Annotated[float, Field(ctypes.c_float, 0x30)] @partial_struct class cGcDebrisData(Structure): - Filename: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - OverrideSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x20)] + Filename: Annotated[cTkModelResource, 0x0] + OverrideSeed: Annotated[basic.GcSeed, 0x20] AnglularSpeed: Annotated[float, Field(ctypes.c_float, 0x30)] Number: Annotated[int, Field(ctypes.c_int32, 0x34)] Radius: Annotated[float, Field(ctypes.c_float, 0x38)] @@ -5544,51 +4701,40 @@ class cGcDebrisData(Structure): class cGcPhotoShips(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - ShipType: Annotated[ - c_enum32[enums.cGcPhotoShip], Field(c_enum32[enums.cGcPhotoShip], 0x8) - ] + ShipType: Annotated[c_enum32[enums.cGcPhotoShip], 0x8] @partial_struct class cGcNPCProbabilityWordReactionData(Structure): - NextInteraction: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + NextInteraction: Annotated[basic.TkID0x20, 0x0] Probability: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcJudgementMessageOptions(Structure): - MessageInSettlement: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x0) - ] - MessageInSettlementSystem: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x80) - ] - MessageOutOfSettlementSystem: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x100) - ] + MessageInSettlement: Annotated[basic.cTkFixedString0x80, 0x0] + MessageInSettlementSystem: Annotated[basic.cTkFixedString0x80, 0x80] + MessageOutOfSettlementSystem: Annotated[basic.cTkFixedString0x80, 0x100] @partial_struct class cGcNPCColourGroup(Structure): - Primary: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Secondary: Annotated[ - basic.cTkDynamicArray[basic.Colour], - Field(basic.cTkDynamicArray[basic.Colour], 0x10), - ] + Primary: Annotated[basic.Colour, 0x0] + Secondary: Annotated[basic.cTkDynamicArray[basic.Colour], 0x10] Rarity: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcProductToCollect(Structure): - Product: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Product: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcMissionSequenceWaitRealTime(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - DisplayStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + DisplayStat: Annotated[basic.TkID0x10, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] Time: Annotated[int, Field(ctypes.c_uint64, 0x30)] Randomness: Annotated[float, Field(ctypes.c_float, 0x38)] StatFromNow: Annotated[bool, Field(ctypes.c_bool, 0x3C)] @@ -5597,12 +4743,10 @@ class cGcMissionSequenceWaitRealTime(Structure): @partial_struct class cGcMissionSequenceWaitRealTimeCombat(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - DisplayStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - MessageCombat: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + DisplayStat: Annotated[basic.TkID0x10, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] + MessageCombat: Annotated[basic.VariableSizeString, 0x30] Time: Annotated[int, Field(ctypes.c_uint64, 0x40)] Randomness: Annotated[float, Field(ctypes.c_float, 0x48)] StatFromNow: Annotated[bool, Field(ctypes.c_bool, 0x4C)] @@ -5610,106 +4754,62 @@ class cGcMissionSequenceWaitRealTimeCombat(Structure): @partial_struct class cGcConstructionPart(Structure): - Part: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Part: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcConstructionPartGroup(Structure): - ValidParts: Annotated[ - basic.cTkDynamicArray[cGcConstructionPart], - Field(basic.cTkDynamicArray[cGcConstructionPart], 0x0), - ] + ValidParts: Annotated[basic.cTkDynamicArray[cGcConstructionPart], 0x0] @partial_struct class cGcMissionSequenceWaitForSuitUpgrade(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + DebugText: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cGcMissionSequenceWaitForWarps(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcMissionSequenceWaitForPhoto(Structure): - Biomes: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x0), - ] - Buildings: Annotated[ - basic.cTkDynamicArray[cGcPhotoBuildings], - Field(basic.cTkDynamicArray[cGcPhotoBuildings], 0x10), - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Fauna: Annotated[ - basic.cTkDynamicArray[cGcPhotoFauna], - Field(basic.cTkDynamicArray[cGcPhotoFauna], 0x30), - ] - Flora: Annotated[ - basic.cTkDynamicArray[cGcPhotoFlora], - Field(basic.cTkDynamicArray[cGcPhotoFlora], 0x40), - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x50)] - MessageSecondary: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - MessageSuccess: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] - Ships: Annotated[ - basic.cTkDynamicArray[cGcPhotoShips], - Field(basic.cTkDynamicArray[cGcPhotoShips], 0x80), - ] + Biomes: Annotated[basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x0] + Buildings: Annotated[basic.cTkDynamicArray[cGcPhotoBuildings], 0x10] + DebugText: Annotated[basic.VariableSizeString, 0x20] + Fauna: Annotated[basic.cTkDynamicArray[cGcPhotoFauna], 0x30] + Flora: Annotated[basic.cTkDynamicArray[cGcPhotoFlora], 0x40] + Message: Annotated[basic.VariableSizeString, 0x50] + MessageSecondary: Annotated[basic.VariableSizeString, 0x60] + MessageSuccess: Annotated[basic.VariableSizeString, 0x70] + Ships: Annotated[basic.cTkDynamicArray[cGcPhotoShips], 0x80] TakeAmountFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x90)] @partial_struct class cGcMissionSequenceWaitForWonderValue(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - CreatureWonderType: Annotated[ - c_enum32[enums.cGcWonderCreatureCategory], - Field(c_enum32[enums.cGcWonderCreatureCategory], 0x20), - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + CreatureWonderType: Annotated[c_enum32[enums.cGcWonderCreatureCategory], 0x20] Decimals: Annotated[int, Field(ctypes.c_int32, 0x24)] - FloraWonderType: Annotated[ - c_enum32[enums.cGcWonderFloraCategory], - Field(c_enum32[enums.cGcWonderFloraCategory], 0x28), - ] - MineralWonderType: Annotated[ - c_enum32[enums.cGcWonderMineralCategory], - Field(c_enum32[enums.cGcWonderMineralCategory], 0x2C), - ] - PlanetWonderType: Annotated[ - c_enum32[enums.cGcWonderPlanetCategory], - Field(c_enum32[enums.cGcWonderPlanetCategory], 0x30), - ] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x34) - ] + FloraWonderType: Annotated[c_enum32[enums.cGcWonderFloraCategory], 0x28] + MineralWonderType: Annotated[c_enum32[enums.cGcWonderMineralCategory], 0x2C] + PlanetWonderType: Annotated[c_enum32[enums.cGcWonderPlanetCategory], 0x30] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x34] Value: Annotated[float, Field(ctypes.c_float, 0x38)] - WonderTypeToUse: Annotated[ - c_enum32[enums.cGcWonderType], Field(c_enum32[enums.cGcWonderType], 0x3C) - ] + WonderTypeToUse: Annotated[c_enum32[enums.cGcWonderType], 0x3C] TakeAmountFromSeasonalData: Annotated[bool, Field(ctypes.c_bool, 0x40)] @partial_struct class cGcMissionSequenceWaitForPortalWarp(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - SpecificOverrideUA: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - CommunityOverrideUA: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x30) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + SpecificOverrideUA: Annotated[basic.VariableSizeString, 0x20] + CommunityOverrideUA: Annotated[basic.cTkFixedString0x20, 0x30] PartOfAtlasStory: Annotated[bool, Field(ctypes.c_bool, 0x50)] WarpToRendezvousForThisStage: Annotated[bool, Field(ctypes.c_bool, 0x51)] WarpToSpace: Annotated[bool, Field(ctypes.c_bool, 0x52)] @@ -5717,147 +4817,104 @@ class cGcMissionSequenceWaitForPortalWarp(Structure): @partial_struct class cGcMissionSequenceWaitForScanEvent(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - NexusMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - SurveyHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - SurveyInactiveHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - SurveySwapHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80) - ] - SurveyVehicleHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA0) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xC0) - ] - GalaxyMapMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xD0) - ] - GalaxyMapMessageNotSpace: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE0) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xF0)] - TimeoutOSD: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x100) - ] + Event: Annotated[basic.TkID0x20, 0x0] + NexusMessage: Annotated[basic.cTkFixedString0x20, 0x20] + SurveyHint: Annotated[basic.cTkFixedString0x20, 0x40] + SurveyInactiveHint: Annotated[basic.cTkFixedString0x20, 0x60] + SurveySwapHint: Annotated[basic.cTkFixedString0x20, 0x80] + SurveyVehicleHint: Annotated[basic.cTkFixedString0x20, 0xA0] + DebugText: Annotated[basic.VariableSizeString, 0xC0] + GalaxyMapMessage: Annotated[basic.VariableSizeString, 0xD0] + GalaxyMapMessageNotSpace: Annotated[basic.VariableSizeString, 0xE0] + Message: Annotated[basic.VariableSizeString, 0xF0] + TimeoutOSD: Annotated[basic.VariableSizeString, 0x100] Timeout: Annotated[float, Field(ctypes.c_float, 0x110)] - UseGPSInText: Annotated[ - c_enum32[enums.cGcScanEventGPSHint], - Field(c_enum32[enums.cGcScanEventGPSHint], 0x114), - ] + UseGPSInText: Annotated[c_enum32[enums.cGcScanEventGPSHint], 0x114] DistanceTimeout: Annotated[bool, Field(ctypes.c_bool, 0x118)] @partial_struct class cGcMissionSequenceWaitForDepots(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x24)] @partial_struct class cGcMissionSequenceWaitForSettlementActivity(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - MessageForConflict: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - MessageForProposal: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - MessageForVisitor: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - MessageWhileBuilding: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + MessageForConflict: Annotated[basic.VariableSizeString, 0x20] + MessageForProposal: Annotated[basic.VariableSizeString, 0x30] + MessageForVisitor: Annotated[basic.VariableSizeString, 0x40] + MessageWhileBuilding: Annotated[basic.VariableSizeString, 0x50] @partial_struct class cGcMissionSequenceWaitForSettlementMiniMission(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] @partial_struct class cGcMissionSequenceWaitForFreighterPods(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] TakeAmountFromPulseEncounter: Annotated[bool, Field(ctypes.c_bool, 0x24)] @partial_struct class cGcMissionSequenceWaitForStat(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - StatGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + Stat: Annotated[basic.TkID0x10, 0x20] + StatGroup: Annotated[basic.TkID0x10, 0x30] Amount: Annotated[int, Field(ctypes.c_int32, 0x40)] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x44)] @partial_struct class cGcMissionSequenceWaitForFriendlyDroneScanEvent(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - MessageCantSummon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - MessageNotAvailable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - MessageSummoned: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - MessageUnsummoned: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] + Event: Annotated[basic.TkID0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] + MessageCantSummon: Annotated[basic.VariableSizeString, 0x30] + MessageNotAvailable: Annotated[basic.VariableSizeString, 0x40] + MessageSummoned: Annotated[basic.VariableSizeString, 0x50] + MessageUnsummoned: Annotated[basic.VariableSizeString, 0x60] @partial_struct class cGcMissionSequenceWaitForStatMilestone(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + Stat: Annotated[basic.TkID0x10, 0x20] class eMilestoneEnum(IntEnum): Bronze = 0x0 Silver = 0x1 Gold = 0x2 - Milestone: Annotated[ - c_enum32[eMilestoneEnum], Field(c_enum32[eMilestoneEnum], 0x30) - ] + Milestone: Annotated[c_enum32[eMilestoneEnum], 0x30] EveryMilestone: Annotated[bool, Field(ctypes.c_bool, 0x34)] @partial_struct class cGcMissionSequenceWaitForMessage(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - SetIconWithID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - WaitMessageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - FormatMessageWithSeasonData: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + SetIconWithID: Annotated[basic.TkID0x10, 0x20] + WaitMessageID: Annotated[basic.TkID0x10, 0x30] + FormatMessageWithSeasonData: Annotated[basic.cTkFixedString0x20, 0x40] @partial_struct class cGcMissionSequenceWaitForStatSeasonal(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - StatGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + Stat: Annotated[basic.TkID0x10, 0x20] + StatGroup: Annotated[basic.TkID0x10, 0x30] Amount: Annotated[int, Field(ctypes.c_int32, 0x40)] EncouragesFighting: Annotated[bool, Field(ctypes.c_bool, 0x44)] TakeAmountFromSeasonalData: Annotated[bool, Field(ctypes.c_bool, 0x45)] @@ -5865,14 +4922,11 @@ class cGcMissionSequenceWaitForStatSeasonal(Structure): @partial_struct class cGcMissionSequenceVisitPlanets(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - MessageOnIncompletePlanet: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + MessageOnIncompletePlanet: Annotated[basic.VariableSizeString, 0x20] PlanetTypesToWatch: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x30), + basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x30 ] NumberOfEachToDiscover: Annotated[int, Field(ctypes.c_int32, 0x40)] MustAlsoDiscover: Annotated[bool, Field(ctypes.c_bool, 0x44)] @@ -5882,7 +4936,7 @@ class cGcMissionSequenceVisitPlanets(Structure): @partial_struct class cGcMissionSequenceWait(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + DebugText: Annotated[basic.VariableSizeString, 0x0] Time: Annotated[float, Field(ctypes.c_float, 0x10)] MultiplyTimeBySeasonValue: Annotated[bool, Field(ctypes.c_bool, 0x14)] SuppressMessages: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -5890,24 +4944,15 @@ class cGcMissionSequenceWait(Structure): @partial_struct class cGcMissionSequenceShowMissionUpdateMessage(Structure): - CustomMessageLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CustomObjectiveLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] + CustomMessageLocID: Annotated[basic.cTkFixedString0x20, 0x0] + CustomObjectiveLocID: Annotated[basic.cTkFixedString0x20, 0x20] + DebugText: Annotated[basic.VariableSizeString, 0x40] class eMissionUpdateMessageEnum(IntEnum): Start = 0x0 End = 0x1 - MissionUpdateMessage: Annotated[ - c_enum32[eMissionUpdateMessageEnum], - Field(c_enum32[eMissionUpdateMessageEnum], 0x50), - ] + MissionUpdateMessage: Annotated[c_enum32[eMissionUpdateMessageEnum], 0x50] class ePlayMusicStingEnum(IntEnum): None_ = 0x0 @@ -5915,9 +4960,7 @@ class ePlayMusicStingEnum(IntEnum): End = 0x2 Corrupted = 0x3 - PlayMusicSting: Annotated[ - c_enum32[ePlayMusicStingEnum], Field(c_enum32[ePlayMusicStingEnum], 0x54) - ] + PlayMusicSting: Annotated[c_enum32[ePlayMusicStingEnum], 0x54] SetMissionSelected: Annotated[bool, Field(ctypes.c_bool, 0x58)] ShowChangeMissionNotify: Annotated[bool, Field(ctypes.c_bool, 0x59)] SuppressNotificationsNotFromThisMission: Annotated[bool, Field(ctypes.c_bool, 0x5A)] @@ -5926,64 +4969,53 @@ class ePlayMusicStingEnum(IntEnum): @partial_struct class cGcMissionSequenceWaitForAbandFreighterDoorOpen(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - MessageOvertime: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + MessageOvertime: Annotated[basic.VariableSizeString, 0x20] MinTime: Annotated[float, Field(ctypes.c_float, 0x30)] @partial_struct class cGcMissionSequenceShowPodMessage(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] @partial_struct class cGcMissionSequenceWaitForBuild(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - TargetTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + TargetTech: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcMissionSequenceShowSeasonTimeWarning(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] TimeToShow: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcMissionSequenceWaitForCompletionMessage(Structure): - MessageWhenInterstellar: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ReturnToOptionalScanEvent: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - CompletionCost: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x60)] + MessageWhenInterstellar: Annotated[basic.cTkFixedString0x20, 0x0] + ReturnToOptionalScanEvent: Annotated[basic.cTkFixedString0x20, 0x20] + CompletionCost: Annotated[basic.TkID0x10, 0x40] + DebugText: Annotated[basic.VariableSizeString, 0x50] + Message: Annotated[basic.VariableSizeString, 0x60] @partial_struct class cGcMissionSequenceSignalGalacticPoint(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Target: Annotated[ - c_enum32[enums.cGcMissionGalacticPoint], - Field(c_enum32[enums.cGcMissionGalacticPoint], 0x20), - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + Target: Annotated[c_enum32[enums.cGcMissionGalacticPoint], 0x20] @partial_struct class cGcMissionSequenceStartMission(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + MissionID: Annotated[basic.TkID0x10, 0x20] Forced: Annotated[bool, Field(ctypes.c_bool, 0x30)] MakeCurrent: Annotated[bool, Field(ctypes.c_bool, 0x31)] Restart: Annotated[bool, Field(ctypes.c_bool, 0x32)] @@ -5991,19 +5023,19 @@ class cGcMissionSequenceStartMission(Structure): @partial_struct class cGcMissionSequenceStartPartyEventForStage(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + DebugText: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cGcMissionSequenceStop(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] @partial_struct class cGcMissionSequenceSummonNexus(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] IgnorePlanetRadiusAndForceSpawn: Annotated[bool, Field(ctypes.c_bool, 0x20)] @@ -6015,27 +5047,20 @@ class cGcMissionSequenceSuppressMarkers(Structure): @partial_struct class cGcMissionSequenceVehicleScan(Structure): - ScanEventID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] + ScanEventID: Annotated[basic.TkID0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] + Message: Annotated[basic.VariableSizeString, 0x30] @partial_struct class cGcMissionSequenceShowHintMessage(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - InventoryHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - MessagePadControl: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - MessageTitle: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + InventoryHint: Annotated[basic.TkID0x10, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] + MessagePadControl: Annotated[basic.VariableSizeString, 0x30] + MessageTitle: Annotated[basic.VariableSizeString, 0x40] UseConditionsForTextFormatting: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x50), + basic.cTkDynamicArray[basic.NMSTemplate], 0x50 ] HighPriorityTime: Annotated[float, Field(ctypes.c_float, 0x60)] InitialWaitTime: Annotated[float, Field(ctypes.c_float, 0x64)] @@ -6045,8 +5070,8 @@ class cGcMissionSequenceShowHintMessage(Structure): @partial_struct class cGcMissionSequenceKill(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMaxNoMP: Annotated[int, Field(ctypes.c_int32, 0x24)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x28)] @@ -6073,9 +5098,7 @@ class eKillTargetEnum(IntEnum): Mechs = 0x11 SpookSquids = 0x12 - KillTarget: Annotated[ - c_enum32[eKillTargetEnum], Field(c_enum32[eKillTargetEnum], 0x30) - ] + KillTarget: Annotated[c_enum32[eKillTargetEnum], 0x30] OverrideMissionStageIDForMPProgress: Annotated[int, Field(ctypes.c_int32, 0x34)] AddToMissionBoardObjective: Annotated[bool, Field(ctypes.c_bool, 0x38)] UseDefaultAmount: Annotated[bool, Field(ctypes.c_bool, 0x39)] @@ -6084,64 +5107,48 @@ class eKillTargetEnum(IntEnum): @partial_struct class cGcMissionSequenceKillEncounter(Structure): - EncounterComponentScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] + EncounterComponentScanEvent: Annotated[basic.TkID0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] + Message: Annotated[basic.VariableSizeString, 0x30] AllowedToEscape: Annotated[bool, Field(ctypes.c_bool, 0x40)] @partial_struct class cGcMissionSequenceLearnWords(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcMissionSequenceLeaveNexusMP(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - MessageNoWarp: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + MessageNoWarp: Annotated[basic.VariableSizeString, 0x20] Timeout: Annotated[int, Field(ctypes.c_uint64, 0x30)] @partial_struct class cGcMissionSequenceOpenSettlementBuildingWithScanEvent(Structure): - ScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] - MessageWhenDistant: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - UpgradeMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - UpgradeMessageWhenDistant: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] + ScanEvent: Annotated[basic.TkID0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] + Message: Annotated[basic.VariableSizeString, 0x30] + MessageWhenDistant: Annotated[basic.VariableSizeString, 0x40] + UpgradeMessage: Annotated[basic.VariableSizeString, 0x50] + UpgradeMessageWhenDistant: Annotated[basic.VariableSizeString, 0x60] @partial_struct class cGcMissionSequencePinProductSurrogate(Structure): - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ProductID: Annotated[basic.TkID0x10, 0x0] TakeProductFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcMissionSequencePirates(Structure): - RewardMessageOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - AttackDefinition: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] + RewardMessageOverride: Annotated[basic.cTkFixedString0x20, 0x0] + AttackDefinition: Annotated[basic.TkID0x10, 0x20] + DebugText: Annotated[basic.VariableSizeString, 0x30] DistanceOverride: Annotated[float, Field(ctypes.c_float, 0x40)] NumSquads: Annotated[int, Field(ctypes.c_int32, 0x44)] @@ -6150,35 +5157,27 @@ class ePirateSpawnTypeEnum(IntEnum): ProbeSuccess = 0x1 PlanetaryRaidStart = 0x2 - PirateSpawnType: Annotated[ - c_enum32[ePirateSpawnTypeEnum], Field(c_enum32[ePirateSpawnTypeEnum], 0x48) - ] + PirateSpawnType: Annotated[c_enum32[ePirateSpawnTypeEnum], 0x48] ForceSpawn: Annotated[bool, Field(ctypes.c_bool, 0x4C)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x4D)] @partial_struct class cGcMissionSequenceProductAmountNeeded(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Item: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - ToBuild: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Item: Annotated[basic.TkID0x10, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] + ToBuild: Annotated[basic.TkID0x10, 0x30] IsRepair: Annotated[bool, Field(ctypes.c_bool, 0x40)] @partial_struct class cGcMissionSequenceQuickWarp(Structure): - ScanEventToWarpTo: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - CameraShakeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - MessageCannotWarp: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - MessageWarping: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] + ScanEventToWarpTo: Annotated[basic.TkID0x20, 0x0] + CameraShakeID: Annotated[basic.TkID0x10, 0x20] + DebugText: Annotated[basic.VariableSizeString, 0x30] + MessageCannotWarp: Annotated[basic.VariableSizeString, 0x40] + MessageWarping: Annotated[basic.VariableSizeString, 0x50] EffectTime: Annotated[float, Field(ctypes.c_float, 0x60)] SequenceTime: Annotated[float, Field(ctypes.c_float, 0x64)] DoCameraShake: Annotated[bool, Field(ctypes.c_bool, 0x68)] @@ -6187,24 +5186,21 @@ class cGcMissionSequenceQuickWarp(Structure): @partial_struct class cGcMissionSequenceRepairTech(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - TechsToRepair: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + TechsToRepair: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] @partial_struct class cGcMissionSequenceRestorePurpleSystemStats(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + DebugText: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cGcMissionSequenceReward(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + Reward: Annotated[basic.TkID0x10, 0x20] class eRewardInventoryOverrideEnum(IntEnum): None_ = 0x0 @@ -6213,37 +5209,32 @@ class eRewardInventoryOverrideEnum(IntEnum): Vehicle = 0x3 Freighter = 0x4 - RewardInventoryOverride: Annotated[ - c_enum32[eRewardInventoryOverrideEnum], - Field(c_enum32[eRewardInventoryOverrideEnum], 0x30), - ] + RewardInventoryOverride: Annotated[c_enum32[eRewardInventoryOverrideEnum], 0x30] DoMissionBoardOverride: Annotated[bool, Field(ctypes.c_bool, 0x34)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x35)] @partial_struct class cGcMissionSequenceScan(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - ScanOverrideData: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + ScanOverrideData: Annotated[basic.TkID0x10, 0x20] WaitTime: Annotated[float, Field(ctypes.c_float, 0x30)] - ScanTypesToOverride: Annotated[bool, Field(ctypes.c_bool, 0x34)] + ScanTypesToOverride: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 11, 0x34)] BlockTimedScans: Annotated[bool, Field(ctypes.c_bool, 0x3F)] RequiresMissionActive: Annotated[bool, Field(ctypes.c_bool, 0x40)] @partial_struct class cGcMissionSequenceSendChatMessage(Structure): - CustomText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - StatusMessageId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + CustomText: Annotated[basic.cTkFixedString0x20, 0x0] + StatusMessageId: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcMissionSequenceSetCurrentMission(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + MissionID: Annotated[basic.TkID0x10, 0x10] FirstIncompleteMilestone: Annotated[bool, Field(ctypes.c_bool, 0x20)] OverrideMultiplayerPriority: Annotated[bool, Field(ctypes.c_bool, 0x21)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x22)] @@ -6251,34 +5242,28 @@ class cGcMissionSequenceSetCurrentMission(Structure): @partial_struct class cGcMissionSequenceFindPurpleSystem(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] @partial_struct class cGcMissionSequenceFinishSummonAnomaly(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + DebugText: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cGcMissionSequenceFreighterDefend(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] @partial_struct class cGcMissionSequenceFreighterEngage(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - MessageEngage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - MessageGetToSpace: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - TimeoutMessage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - TimeoutOSDMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + MessageEngage: Annotated[basic.VariableSizeString, 0x10] + MessageGetToSpace: Annotated[basic.VariableSizeString, 0x20] + TimeoutMessage: Annotated[basic.TkID0x10, 0x30] + TimeoutOSDMessage: Annotated[basic.VariableSizeString, 0x40] EngageDistance: Annotated[float, Field(ctypes.c_float, 0x50)] EngageTime: Annotated[float, Field(ctypes.c_float, 0x54)] TimeAfterWarp: Annotated[float, Field(ctypes.c_float, 0x58)] @@ -6286,75 +5271,46 @@ class cGcMissionSequenceFreighterEngage(Structure): @partial_struct class cGcMissionSequenceGatherForBuild(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - GatherResource: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - TargetTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + GatherResource: Annotated[basic.TkID0x10, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] + TargetTech: Annotated[basic.TkID0x10, 0x30] @partial_struct class cGcMissionSequenceGetInShip(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] @partial_struct class cGcMissionSequenceGetToExpedition(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - GalaxyMapMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] - TimeoutOSD: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] + Event: Annotated[basic.TkID0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] + GalaxyMapMessage: Annotated[basic.VariableSizeString, 0x30] + Message: Annotated[basic.VariableSizeString, 0x40] + TimeoutOSD: Annotated[basic.VariableSizeString, 0x50] CompletionDistance: Annotated[float, Field(ctypes.c_float, 0x60)] Timeout: Annotated[float, Field(ctypes.c_float, 0x64)] @partial_struct class cGcMissionSequenceGetToScanEvent(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - NexusMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - SurveyHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - SurveyInactiveHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - SurveySwapHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80) - ] - SurveyVehicleHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA0) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xC0) - ] - GalaxyMapMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xD0) - ] - GalaxyMapMessageNotSpace: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE0) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xF0)] - TimeoutOSD: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x100) - ] - UseTeleporterMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x110) - ] + Event: Annotated[basic.TkID0x20, 0x0] + NexusMessage: Annotated[basic.cTkFixedString0x20, 0x20] + SurveyHint: Annotated[basic.cTkFixedString0x20, 0x40] + SurveyInactiveHint: Annotated[basic.cTkFixedString0x20, 0x60] + SurveySwapHint: Annotated[basic.cTkFixedString0x20, 0x80] + SurveyVehicleHint: Annotated[basic.cTkFixedString0x20, 0xA0] + DebugText: Annotated[basic.VariableSizeString, 0xC0] + GalaxyMapMessage: Annotated[basic.VariableSizeString, 0xD0] + GalaxyMapMessageNotSpace: Annotated[basic.VariableSizeString, 0xE0] + Message: Annotated[basic.VariableSizeString, 0xF0] + TimeoutOSD: Annotated[basic.VariableSizeString, 0x100] + UseTeleporterMessage: Annotated[basic.VariableSizeString, 0x110] Distance: Annotated[float, Field(ctypes.c_float, 0x120)] Timeout: Annotated[float, Field(ctypes.c_float, 0x124)] - UseGPSInText: Annotated[ - c_enum32[enums.cGcScanEventGPSHint], - Field(c_enum32[enums.cGcScanEventGPSHint], 0x128), - ] + UseGPSInText: Annotated[c_enum32[enums.cGcScanEventGPSHint], 0x128] AlwaysAllowInShip: Annotated[bool, Field(ctypes.c_bool, 0x12C)] CanFormatObjectives: Annotated[bool, Field(ctypes.c_bool, 0x12D)] DistanceTimeout: Annotated[bool, Field(ctypes.c_bool, 0x12E)] @@ -6365,75 +5321,60 @@ class cGcMissionSequenceGetToScanEvent(Structure): @partial_struct class cGcMissionSequenceEndScanEvent(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + Event: Annotated[basic.TkID0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] @partial_struct class cGcMissionSequenceGetUnits(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcMissionSequenceEnsureBarrelsAtPlayerSettlement(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] MinBarrelsThreshold: Annotated[int, Field(ctypes.c_int32, 0x20)] NumBarrels: Annotated[int, Field(ctypes.c_int32, 0x24)] @partial_struct class cGcMissionSequenceGetUnitsToBuyItem(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Item: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Item: Annotated[basic.TkID0x10, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] @partial_struct class cGcMissionSequenceExplorationLogSpecial(Structure): - CustomPlanetLog: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CustomPlanetMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - CustomSystemLog: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - CustomSystemMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x80) - ] + CustomPlanetLog: Annotated[basic.cTkFixedString0x20, 0x0] + CustomPlanetMessage: Annotated[basic.cTkFixedString0x20, 0x20] + CustomSystemLog: Annotated[basic.cTkFixedString0x20, 0x40] + CustomSystemMessage: Annotated[basic.cTkFixedString0x20, 0x60] + DebugText: Annotated[basic.VariableSizeString, 0x80] @partial_struct class cGcMissionSequenceExploreAbandonedFreighter(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] Timer: Annotated[int, Field(ctypes.c_int32, 0x20)] RequireAllRoomsDone: Annotated[bool, Field(ctypes.c_bool, 0x24)] @partial_struct class cGcMissionSequenceGoToGalacticPoint(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Target: Annotated[ - c_enum32[enums.cGcMissionGalacticPoint], - Field(c_enum32[enums.cGcMissionGalacticPoint], 0x20), - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + Target: Annotated[c_enum32[enums.cGcMissionGalacticPoint], 0x20] @partial_struct class cGcMissionSequenceFeed(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x24)] RequireSpecificBait: Annotated[bool, Field(ctypes.c_bool, 0x28)] @@ -6441,26 +5382,14 @@ class cGcMissionSequenceFeed(Structure): @partial_struct class cGcMissionSequenceCreateSpecificPulseEncounter(Structure): - ShipHUDOverrideWhenReady: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] - MessageEncounterReady: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - MessageNoShip: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - MessageNotPulsing: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - MessageSignalBlocked: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] - PulseEncounterID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] + ShipHUDOverrideWhenReady: Annotated[basic.cTkFixedString0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] + Message: Annotated[basic.VariableSizeString, 0x30] + MessageEncounterReady: Annotated[basic.VariableSizeString, 0x40] + MessageNoShip: Annotated[basic.VariableSizeString, 0x50] + MessageNotPulsing: Annotated[basic.VariableSizeString, 0x60] + MessageSignalBlocked: Annotated[basic.VariableSizeString, 0x70] + PulseEncounterID: Annotated[basic.TkID0x10, 0x80] MinTimeInPulse: Annotated[float, Field(ctypes.c_float, 0x90)] AllowAnyEncounter: Annotated[bool, Field(ctypes.c_bool, 0x94)] AllowOutsideShip: Annotated[bool, Field(ctypes.c_bool, 0x95)] @@ -6471,23 +5400,21 @@ class cGcMissionSequenceCreateSpecificPulseEncounter(Structure): @partial_struct class cGcMissionSequenceDetailMessagePoint(Structure): - Text: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - InsertItemName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Text: Annotated[basic.cTkFixedString0x20, 0x0] + InsertItemName: Annotated[basic.TkID0x10, 0x20] class ePointStateEnum(IntEnum): Statement = 0x0 ObjectiveIncomplete = 0x1 ObjectiveComplete = 0x2 - PointState: Annotated[ - c_enum32[ePointStateEnum], Field(c_enum32[ePointStateEnum], 0x30) - ] + PointState: Annotated[c_enum32[ePointStateEnum], 0x30] @partial_struct class cGcMissionSequenceDiscover(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x24)] @@ -6496,24 +5423,22 @@ class eDiscoverTargetEnum(IntEnum): Vegetable = 0x1 Mineral = 0x2 - DiscoverTarget: Annotated[ - c_enum32[eDiscoverTargetEnum], Field(c_enum32[eDiscoverTargetEnum], 0x28) - ] + DiscoverTarget: Annotated[c_enum32[eDiscoverTargetEnum], 0x28] PerPlanet: Annotated[bool, Field(ctypes.c_bool, 0x2C)] TakeAmountFromSeasonalData: Annotated[bool, Field(ctypes.c_bool, 0x2D)] @partial_struct class cGcMissionSequenceCompleteMission(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Mission: Annotated[basic.TkID0x10, 0x10] UseSeed: Annotated[bool, Field(ctypes.c_bool, 0x20)] @partial_struct class cGcMissionSequenceDiscoverOnPlanet(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] class eDiscoverTargetOnThisPlanetEnum(IntEnum): Animal = 0x0 @@ -6521,8 +5446,7 @@ class eDiscoverTargetOnThisPlanetEnum(IntEnum): Mineral = 0x2 DiscoverTargetOnThisPlanet: Annotated[ - c_enum32[eDiscoverTargetOnThisPlanetEnum], - Field(c_enum32[eDiscoverTargetOnThisPlanetEnum], 0x20), + c_enum32[eDiscoverTargetOnThisPlanetEnum], 0x20 ] PercentToDiscover: Annotated[float, Field(ctypes.c_float, 0x24)] @@ -6534,58 +5458,39 @@ class cGcMissionSequenceCompleteSeasonalMilestone(Structure): @partial_struct class cGcMissionSequenceDisplaySeasonRewardReminder(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + DebugText: Annotated[basic.VariableSizeString, 0x0] Time: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcMissionSequenceCompleteSettlementJudgement(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + DebugText: Annotated[basic.VariableSizeString, 0x0] MessageOptions: Annotated[ - cGcJudgementMessageOptions, Field(cGcJudgementMessageOptions, 0x10) - ] - MessageNoOffice: Annotated[ - cGcJudgementMessageOptions, Field(cGcJudgementMessageOptions, 0x1210) + tuple[cGcJudgementMessageOptions, ...], + Field(cGcJudgementMessageOptions * 12, 0x10), ] + MessageNoOffice: Annotated[cGcJudgementMessageOptions, 0x1210] FormatObjectives: Annotated[bool, Field(ctypes.c_bool, 0x1390)] @partial_struct class cGcMissionSequenceConditionalReward(Structure): - Conditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - RewardIfFalse: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RewardIfTrue: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - ConditionTest: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0x40), - ] + Conditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x10] + RewardIfFalse: Annotated[basic.TkID0x10, 0x20] + RewardIfTrue: Annotated[basic.TkID0x10, 0x30] + ConditionTest: Annotated[c_enum32[enums.cGcMissionConditionTest], 0x40] @partial_struct class cGcMissionSequenceConstructSettlementBuildingWithScanEvent(Structure): - ScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] - MessageWhenDistant: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - MessageWhileBuilding: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - MessageWithItemsGathered: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - UpgradeMessageWithItemsGathered: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] + ScanEvent: Annotated[basic.TkID0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] + Message: Annotated[basic.VariableSizeString, 0x30] + MessageWhenDistant: Annotated[basic.VariableSizeString, 0x40] + MessageWhileBuilding: Annotated[basic.VariableSizeString, 0x50] + MessageWithItemsGathered: Annotated[basic.VariableSizeString, 0x60] + UpgradeMessageWithItemsGathered: Annotated[basic.VariableSizeString, 0x70] ForceCompleteSequenceAtStagePercentage: Annotated[ float, Field(ctypes.c_float, 0x80) ] @@ -6593,38 +5498,22 @@ class cGcMissionSequenceConstructSettlementBuildingWithScanEvent(Structure): @partial_struct class cGcMissionSequenceCorvetteAutopilot(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - MessageAutopiloting: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - MessageNotReadyToAutopilot: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - MessageReadyToAutopilot: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + MessageAutopiloting: Annotated[basic.VariableSizeString, 0x10] + MessageNotReadyToAutopilot: Annotated[basic.VariableSizeString, 0x20] + MessageReadyToAutopilot: Annotated[basic.VariableSizeString, 0x30] RequiredAutopilotTime: Annotated[float, Field(ctypes.c_float, 0x40)] TakeTimeFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x44)] @partial_struct class cGcMissionSequenceCraftProduct(Structure): - MessageCanCraft: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - MessageLearnPreReqs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - MessageLearnRecipe: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - MessageNoIngreds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x80) - ] - TargetProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] + MessageCanCraft: Annotated[basic.cTkFixedString0x20, 0x0] + MessageLearnPreReqs: Annotated[basic.cTkFixedString0x20, 0x20] + MessageLearnRecipe: Annotated[basic.cTkFixedString0x20, 0x40] + MessageNoIngreds: Annotated[basic.cTkFixedString0x20, 0x60] + DebugText: Annotated[basic.VariableSizeString, 0x80] + TargetProductID: Annotated[basic.TkID0x10, 0x90] TargetAmount: Annotated[int, Field(ctypes.c_int32, 0xA0)] CanSetIcon: Annotated[bool, Field(ctypes.c_bool, 0xA4)] TakeAmountFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0xA5)] @@ -6640,7 +5529,7 @@ class cGcMissionSequenceClearInventoryHistory(Structure): @partial_struct class cGcMissionSequenceCloseMenu(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + DebugText: Annotated[basic.VariableSizeString, 0x0] Delay: Annotated[float, Field(ctypes.c_float, 0x10)] class eMenuToCloseEnum(IntEnum): @@ -6649,16 +5538,14 @@ class eMenuToCloseEnum(IntEnum): Inventory = 0x2 AllDetailMessages = 0x3 - MenuToClose: Annotated[ - c_enum32[eMenuToCloseEnum], Field(c_enum32[eMenuToCloseEnum], 0x14) - ] + MenuToClose: Annotated[c_enum32[eMenuToCloseEnum], 0x14] @partial_struct class cGcDailyRecurrence(Structure): RecurrenceHour: Annotated[int, Field(ctypes.c_int32, 0x0)] RecurrenceMinute: Annotated[int, Field(ctypes.c_int32, 0x4)] - DebugText: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x8)] + DebugText: Annotated[basic.cTkFixedString0x80, 0x8] @partial_struct @@ -6666,17 +5553,14 @@ class cGcMonthlyRecurrence(Structure): RecurrenceDay: Annotated[int, Field(ctypes.c_int32, 0x0)] RecurrenceHour: Annotated[int, Field(ctypes.c_int32, 0x4)] RecurrenceMinute: Annotated[int, Field(ctypes.c_int32, 0x8)] - DebugText: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xC)] + DebugText: Annotated[basic.cTkFixedString0x80, 0xC] @partial_struct class cGcMissionSequenceCollectMultiProducts(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Products: Annotated[ - basic.cTkDynamicArray[cGcProductToCollect], - Field(basic.cTkDynamicArray[cGcProductToCollect], 0x20), - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + Products: Annotated[basic.cTkDynamicArray[cGcProductToCollect], 0x20] SearchCookingIngredients: Annotated[bool, Field(ctypes.c_bool, 0x30)] WaitForSelected: Annotated[bool, Field(ctypes.c_bool, 0x31)] @@ -6691,7 +5575,7 @@ class cGcDate(Structure): Day: Annotated[int, Field(ctypes.c_int32, 0x0)] Hour: Annotated[int, Field(ctypes.c_int32, 0x4)] Minute: Annotated[int, Field(ctypes.c_int32, 0x8)] - Month: Annotated[c_enum32[enums.cGcMonth], Field(c_enum32[enums.cGcMonth], 0xC)] + Month: Annotated[c_enum32[enums.cGcMonth], 0xC] Year: Annotated[int, Field(ctypes.c_int32, 0x10)] @@ -6702,25 +5586,17 @@ class cGcMissionCommunityMissionData(Structure): @partial_struct class cGcMissionSequenceBounty(Structure): - Bounty: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - MessageDestroy: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - MessageEngage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - MessageGetToSpace: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] + Bounty: Annotated[basic.TkID0x10, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x10] + MessageDestroy: Annotated[basic.VariableSizeString, 0x20] + MessageEngage: Annotated[basic.VariableSizeString, 0x30] + MessageGetToSpace: Annotated[basic.VariableSizeString, 0x40] @partial_struct class cGcMissionSequenceBroadcastMessage(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - MessageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + MessageID: Annotated[basic.TkID0x10, 0x10] BroadcastToActiveMultiplayerMission: Annotated[bool, Field(ctypes.c_bool, 0x20)] CanSendToInactive: Annotated[bool, Field(ctypes.c_bool, 0x21)] Multiplayer: Annotated[bool, Field(ctypes.c_bool, 0x22)] @@ -6730,28 +5606,19 @@ class cGcMissionSequenceBroadcastMessage(Structure): @partial_struct class cGcMissionIDEpochPair(Structure): - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MissionID: Annotated[basic.TkID0x10, 0x0] RecurrenceDeadline: Annotated[int, Field(ctypes.c_uint64, 0x10)] @partial_struct class cGcMissionBoardOptions(Structure): - MultiplayerMissionInitialWarpScanEvent: Annotated[ - basic.TkID0x20, Field(basic.TkID0x20, 0x0) - ] - BasePartBlueprints: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + MultiplayerMissionInitialWarpScanEvent: Annotated[basic.TkID0x20, 0x0] + BasePartBlueprints: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] DefaultItemInitialWarpScanEvents: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x30), + basic.cTkDynamicArray[basic.TkID0x20], 0x30 ] - Faction: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcMissionFaction]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcMissionFaction]], 0x40), - ] - RewardPenaltyOnAbandon: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + Faction: Annotated[basic.cTkDynamicArray[c_enum32[enums.cGcMissionFaction]], 0x40] + RewardPenaltyOnAbandon: Annotated[basic.TkID0x10, 0x50] class eDefaultItemTypeForInitialWarpEnum(IntEnum): None_ = 0x0 @@ -6761,17 +5628,11 @@ class eDefaultItemTypeForInitialWarpEnum(IntEnum): SecondarySubstance = 0x4 DefaultItemTypeForInitialWarp: Annotated[ - c_enum32[eDefaultItemTypeForInitialWarpEnum], - Field(c_enum32[eDefaultItemTypeForInitialWarpEnum], 0x60), - ] - Difficulty: Annotated[ - c_enum32[enums.cGcMissionDifficulty], - Field(c_enum32[enums.cGcMissionDifficulty], 0x64), + c_enum32[eDefaultItemTypeForInitialWarpEnum], 0x60 ] + Difficulty: Annotated[c_enum32[enums.cGcMissionDifficulty], 0x64] MinRank: Annotated[int, Field(ctypes.c_int32, 0x68)] - Type: Annotated[ - c_enum32[enums.cGcMissionType], Field(c_enum32[enums.cGcMissionType], 0x6C) - ] + Type: Annotated[c_enum32[enums.cGcMissionType], 0x6C] Weighting: Annotated[int, Field(ctypes.c_int32, 0x70)] CloseMissionGiver: Annotated[bool, Field(ctypes.c_bool, 0x74)] IgnoreCalculatedObjective: Annotated[bool, Field(ctypes.c_bool, 0x75)] @@ -6788,56 +5649,32 @@ class cGcGenericMissionVersionProgress(Structure): @partial_struct class cGcGenericMissionStage(Structure): - Stage: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] - Versions: Annotated[ - basic.cTkDynamicArray[cGcGenericMissionVersionProgress], - Field(basic.cTkDynamicArray[cGcGenericMissionVersionProgress], 0x10), - ] + Stage: Annotated[basic.NMSTemplate, 0x0] + Versions: Annotated[basic.cTkDynamicArray[cGcGenericMissionVersionProgress], 0x10] @partial_struct class cGcObjectiveTextFormatOptions(Structure): - FormattableObjective: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - FormattableObjectiveTip: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] + FormattableObjective: Annotated[basic.cTkFixedString0x20, 0x0] + FormattableObjectiveTip: Annotated[basic.cTkFixedString0x20, 0x20] ObjectivesCanBeFormattedBySequences: Annotated[bool, Field(ctypes.c_bool, 0x40)] @partial_struct class cGcSeasonalObjectiveOverrides(Structure): - OverrideObjective: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - OverrideObjectiveTip: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - ApplicableSeasonNumbers: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x40), - ] + OverrideObjective: Annotated[basic.cTkFixedString0x20, 0x0] + OverrideObjectiveTip: Annotated[basic.cTkFixedString0x20, 0x20] + ApplicableSeasonNumbers: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x40] @partial_struct class cGcTargetMissionSurveyOptions(Structure): - SurveyHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - SurveyInactiveHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - SurveySwapHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - SurveyVehicleHint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - TargetMissionSurveyDefinitelyExistsWithResourceHint: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x80) - ] - TargetMissionSurveyId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] + SurveyHint: Annotated[basic.cTkFixedString0x20, 0x0] + SurveyInactiveHint: Annotated[basic.cTkFixedString0x20, 0x20] + SurveySwapHint: Annotated[basic.cTkFixedString0x20, 0x40] + SurveyVehicleHint: Annotated[basic.cTkFixedString0x20, 0x60] + TargetMissionSurveyDefinitelyExistsWithResourceHint: Annotated[basic.TkID0x10, 0x80] + TargetMissionSurveyId: Annotated[basic.TkID0x10, 0x90] ForceSurveyTextForAllSequencesInThisGroup: Annotated[ bool, Field(ctypes.c_bool, 0xA0) ] @@ -6853,40 +5690,27 @@ class cGcCustomNotifyTimerOptions(Structure): @partial_struct class cGcFactionSelectOptions(Structure): - Faction: Annotated[ - c_enum32[enums.cGcMissionFaction], Field(c_enum32[enums.cGcMissionFaction], 0x0) - ] + Faction: Annotated[c_enum32[enums.cGcMissionFaction], 0x0] class eFactionOptionEnum(IntEnum): DataDefined = 0x0 CurrentMission = 0x1 CurrentSystem = 0x2 - FactionOption: Annotated[ - c_enum32[eFactionOptionEnum], Field(c_enum32[eFactionOptionEnum], 0x4) - ] + FactionOption: Annotated[c_enum32[eFactionOptionEnum], 0x4] @partial_struct class cGcSeasonalLogOverrides(Structure): - MissionDescription: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - MissionSubtitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - MissionTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - ApplicableSeasonNumbers: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x60), - ] + MissionDescription: Annotated[basic.cTkFixedString0x20, 0x0] + MissionSubtitle: Annotated[basic.cTkFixedString0x20, 0x20] + MissionTitle: Annotated[basic.cTkFixedString0x20, 0x40] + ApplicableSeasonNumbers: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x60] @partial_struct class cGcMissionConsequenceBroadcastMessage(Structure): - MessageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MessageID: Annotated[basic.TkID0x10, 0x0] BroadcastToActiveMultiplayerMission: Annotated[bool, Field(ctypes.c_bool, 0x10)] CanSendToInactive: Annotated[bool, Field(ctypes.c_bool, 0x11)] Multiplayer: Annotated[bool, Field(ctypes.c_bool, 0x12)] @@ -6896,22 +5720,22 @@ class cGcMissionConsequenceBroadcastMessage(Structure): @partial_struct class cGcMissionConsequenceGiveReward(Structure): - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Reward: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcMissionConsequenceRemoveCommunicatorMessage(Structure): - Comms: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Comms: Annotated[basic.TkID0x20, 0x0] @partial_struct class cGcMissionConsequenceRemoveCommunicatorTakeOffMessage(Structure): - Comms: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Comms: Annotated[basic.TkID0x20, 0x0] @partial_struct class cGcMissionConsequenceRemoveScanEvent(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Event: Annotated[basic.TkID0x20, 0x0] @partial_struct @@ -6926,9 +5750,7 @@ class cGcMissionConsequenceResetStoryPortal(Structure): @partial_struct class cGcMissionConditionWeaponMode(Structure): - WeaponMode: Annotated[ - c_enum32[enums.cGcPlayerWeapons], Field(c_enum32[enums.cGcPlayerWeapons], 0x0) - ] + WeaponMode: Annotated[c_enum32[enums.cGcPlayerWeapons], 0x0] @partial_struct @@ -6939,15 +5761,12 @@ class cGcMissionConsequenceSetMissionStat(Structure): @partial_struct class cGcDefaultMissionSubstance(Structure): - Substance: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Substance: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcMissionConditionWeather(Structure): - WeatherRequirement: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x0), - ] + WeatherRequirement: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x0] AllowNonHazardExtremeIfNoStorms: Annotated[bool, Field(ctypes.c_bool, 0x4)] IgnoreStormIfInShip: Annotated[bool, Field(ctypes.c_bool, 0x5)] IsExtreme: Annotated[bool, Field(ctypes.c_bool, 0x6)] @@ -6957,26 +5776,18 @@ class cGcMissionConditionWeather(Structure): @partial_struct class cGcDefaultMissionProduct(Structure): - Product: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Product: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcDefaultMissionItemsTable(Structure): - PrimaryProducts: Annotated[ - basic.cTkDynamicArray[cGcDefaultMissionProduct], - Field(basic.cTkDynamicArray[cGcDefaultMissionProduct], 0x0), - ] + PrimaryProducts: Annotated[basic.cTkDynamicArray[cGcDefaultMissionProduct], 0x0] PrimarySubstances: Annotated[ - basic.cTkDynamicArray[cGcDefaultMissionSubstance], - Field(basic.cTkDynamicArray[cGcDefaultMissionSubstance], 0x10), - ] - SecondaryProducts: Annotated[ - basic.cTkDynamicArray[cGcDefaultMissionProduct], - Field(basic.cTkDynamicArray[cGcDefaultMissionProduct], 0x20), + basic.cTkDynamicArray[cGcDefaultMissionSubstance], 0x10 ] + SecondaryProducts: Annotated[basic.cTkDynamicArray[cGcDefaultMissionProduct], 0x20] SecondarySubstances: Annotated[ - basic.cTkDynamicArray[cGcDefaultMissionSubstance], - Field(basic.cTkDynamicArray[cGcDefaultMissionSubstance], 0x30), + basic.cTkDynamicArray[cGcDefaultMissionSubstance], 0x30 ] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x40)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x44)] @@ -7006,7 +5817,7 @@ class cGcMissionConditionWarping(Structure): @partial_struct class cGcMissionConditionTakingDamage(Structure): - DamageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + DamageID: Annotated[basic.TkID0x10, 0x0] RequireShieldDown: Annotated[bool, Field(ctypes.c_bool, 0x10)] @@ -7017,10 +5828,7 @@ class cGcMissionConditionWaterInSystem(Structure): @partial_struct class cGcMissionConditionTechGroupCount(Structure): - TechGroups: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0), - ] + TechGroups: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0] TargetCount: Annotated[int, Field(ctypes.c_int32, 0x10)] TakeCountFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x14)] TestDraftCorvette: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -7033,7 +5841,7 @@ class cGcMissionConditionWaterPlanet(Structure): @partial_struct class cGcMissionConditionTechnologyKnown(Structure): - Technology: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Technology: Annotated[basic.TkID0x10, 0x0] DependentOnSeasonMilestone: Annotated[bool, Field(ctypes.c_bool, 0x10)] TakeTechFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x11)] @@ -7060,18 +5868,14 @@ class cGcMissionConditionTouchControlled(Structure): @partial_struct class cGcMissionConditionTradeSurge(Structure): - ControllingScanEvent: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + ControllingScanEvent: Annotated[basic.cTkFixedString0x20, 0x0] class eSurgeTestTypeEnum(IntEnum): Timer = 0x0 Collection = 0x1 Delivery = 0x2 - SurgeTestType: Annotated[ - c_enum32[eSurgeTestTypeEnum], Field(c_enum32[eSurgeTestTypeEnum], 0x20) - ] + SurgeTestType: Annotated[c_enum32[eSurgeTestTypeEnum], 0x20] TimeToCompleteInMinutes: Annotated[int, Field(ctypes.c_int32, 0x24)] @@ -7087,7 +5891,7 @@ class cGcMissionConditionTutorialEnabled(Structure): @partial_struct class cGcMissionConditionUnclaimedStageReward(Structure): - OptionalSpecificProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + OptionalSpecificProductID: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -7120,13 +5924,8 @@ class cGcMissionConditionSystemHasRuinsPlanet(Structure): @partial_struct class cGcMissionConditionSystemPlanetTest(Structure): - PlanetBiomeRequirement: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x0) - ] - PlanetWeatherRequirement: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x4), - ] + PlanetBiomeRequirement: Annotated[c_enum32[enums.cGcBiomeType], 0x0] + PlanetWeatherRequirement: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x4] RequiresExtremePlanet: Annotated[bool, Field(ctypes.c_bool, 0x8)] UseStrictSkyExtremeTest: Annotated[bool, Field(ctypes.c_bool, 0x9)] @@ -7139,9 +5938,7 @@ class cGcMissionConditionVisorActive(Structure): @partial_struct class cGcMissionConditionWaitForPirates(Structure): LivingPirates: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] CareAboutAttackingPlayer: Annotated[bool, Field(ctypes.c_bool, 0x8)] CheckAllFireteamMembers: Annotated[bool, Field(ctypes.c_bool, 0x9)] CompleteOnlyInSpace: Annotated[bool, Field(ctypes.c_bool, 0xA)] @@ -7150,19 +5947,15 @@ class cGcMissionConditionWaitForPirates(Structure): @partial_struct class cGcMissionConditionStatLevel(Structure): - CompareStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - FormatItemNameIntoText: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - FormatStatStyle: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - StatGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + CompareStat: Annotated[basic.TkID0x10, 0x0] + FormatItemNameIntoText: Annotated[basic.TkID0x10, 0x10] + FormatStatStyle: Annotated[basic.VariableSizeString, 0x20] + Stat: Annotated[basic.TkID0x10, 0x30] + StatGroup: Annotated[basic.TkID0x10, 0x40] DisplayMilestoneNumber: Annotated[int, Field(ctypes.c_int32, 0x50)] Level: Annotated[int, Field(ctypes.c_int32, 0x54)] LevelledStatRank: Annotated[int, Field(ctypes.c_int32, 0x58)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x5C) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x5C] ForceIgnoreLevelledStat: Annotated[bool, Field(ctypes.c_bool, 0x60)] MulAmountBySeasonTier: Annotated[bool, Field(ctypes.c_bool, 0x61)] TakeLevelFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x62)] @@ -7176,19 +5969,19 @@ class cGcMissionConditionSystemHasCorruptedPlanet(Structure): @partial_struct class cGcMissionConditionSeasonRewardsRecipe(Structure): - RecipeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + RecipeID: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcMissionConditionSystemHasCreatureType(Structure): - CreatureID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + CreatureID: Annotated[basic.TkID0x10, 0x0] AllowInNexus: Annotated[bool, Field(ctypes.c_bool, 0x10)] RequireOnPlanet: Annotated[bool, Field(ctypes.c_bool, 0x11)] @partial_struct class cGcMissionConditionSeasonRewardUnlocked(Structure): - SpecialID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecialID: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -7228,7 +6021,7 @@ class cGcMissionConditionSpaceCombatEnabled(Structure): @partial_struct class cGcMissionConditionRefinerHasOutput(Structure): - OutputProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + OutputProduct: Annotated[basic.TkID0x10, 0x0] OutputAmount: Annotated[int, Field(ctypes.c_int32, 0x10)] MustBeCooker: Annotated[bool, Field(ctypes.c_bool, 0x14)] MustBeCorvetteModule: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -7237,31 +6030,25 @@ class cGcMissionConditionRefinerHasOutput(Structure): @partial_struct class cGcMissionConditionSpecialKnown(Structure): - SpecialID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecialID: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcMissionConditionSquadronPilotsOwned(Structure): Amount: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] TakeNumberFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcMissionConditionRequestedPhoto(Structure): - Biome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x0) - ] + Biome: Annotated[c_enum32[enums.cGcBiomeType], 0x0] @partial_struct class cGcMissionConditionSquadronSlots(Structure): PilotSlots: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] OnlyCountFreeSlots: Annotated[bool, Field(ctypes.c_bool, 0x8)] TakeNumberFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x9)] @@ -7283,28 +6070,23 @@ class cGcMissionConditionStartWithAllPartsKnown(Structure): @partial_struct class cGcMissionConditionStatChange(Structure): - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - StatGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Stat: Annotated[basic.TkID0x10, 0x0] + StatGroup: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcMissionConditionSeasonNumber(Structure): - IncludeOtherSeasons: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x0), - ] + IncludeOtherSeasons: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x0] ActiveSeason: Annotated[int, Field(ctypes.c_int32, 0x10)] IncludeRemix: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcMissionConditionStatDiff(Structure): - CurrentStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - TargetStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + CurrentStat: Annotated[basic.TkID0x10, 0x0] + TargetStat: Annotated[basic.TkID0x10, 0x10] AmountPastTarget: Annotated[int, Field(ctypes.c_int32, 0x20)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x24) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x24] @partial_struct @@ -7325,9 +6107,7 @@ class cGcMissionConditionPadActive(Structure): @partial_struct class cGcMissionConditionRefinerActive(Structure): - ActiveRecipe: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + ActiveRecipe: Annotated[basic.cTkFixedString0x20, 0x0] AmountToMake: Annotated[int, Field(ctypes.c_int32, 0x20)] HasFuel: Annotated[bool, Field(ctypes.c_bool, 0x24)] @@ -7342,7 +6122,7 @@ class cGcMissionConditionPercentageChance(Structure): @partial_struct class cGcMissionConditionRefinerHasInput(Structure): - InputProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + InputProduct: Annotated[basic.TkID0x10, 0x0] InputAmount: Annotated[int, Field(ctypes.c_int32, 0x10)] MustBeCooker: Annotated[bool, Field(ctypes.c_bool, 0x14)] MustBeCorvetteModule: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -7371,22 +6151,15 @@ class cGcMissionConditionPlanetCorruptSentinelGeneration(Structure): @partial_struct class cGcMissionConditionPlanetCreatureRoles(Structure): NumRoles: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] TakeNumFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcMissionConditionPlanetResourceHint(Structure): - UseScanEventToDetermineLocalResource: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ResourceHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - LocalSubstanceType: Annotated[ - c_enum32[enums.cGcLocalSubstanceType], - Field(c_enum32[enums.cGcLocalSubstanceType], 0x30), - ] + UseScanEventToDetermineLocalResource: Annotated[basic.cTkFixedString0x20, 0x0] + ResourceHint: Annotated[basic.TkID0x10, 0x20] + LocalSubstanceType: Annotated[c_enum32[enums.cGcLocalSubstanceType], 0x30] UseSpecificPlanetIndexForLocalResource: Annotated[int, Field(ctypes.c_int32, 0x34)] AllowInShip: Annotated[bool, Field(ctypes.c_bool, 0x38)] AllowNexus: Annotated[bool, Field(ctypes.c_bool, 0x39)] @@ -7396,12 +6169,10 @@ class cGcMissionConditionPlanetResourceHint(Structure): @partial_struct class cGcMissionConditionPlanetStatLevel(Structure): - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Stat: Annotated[basic.TkID0x10, 0x0] SpecificUA: Annotated[int, Field(ctypes.c_uint64, 0x10)] Amount: Annotated[int, Field(ctypes.c_int32, 0x18)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x1C) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x1C] CalculateUAFromMilestoneIndex: Annotated[bool, Field(ctypes.c_bool, 0x20)] CalculateUAFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x21)] TakeAmountFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x22)] @@ -7411,24 +6182,18 @@ class cGcMissionConditionPlanetStatLevel(Structure): @partial_struct class cGcMissionConditionNumAtlasStationsVisited(Structure): Count: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] @partial_struct class cGcMissionConditionNumberOfShipsOwned(Structure): NumShips: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] @partial_struct class cGcMissionConditionPrimaryExocraft(Structure): - ExocraftType: Annotated[ - c_enum32[enums.cGcVehicleType], Field(c_enum32[enums.cGcVehicleType], 0x0) - ] + ExocraftType: Annotated[c_enum32[enums.cGcVehicleType], 0x0] MustBeSummonedNearby: Annotated[bool, Field(ctypes.c_bool, 0x4)] @@ -7439,22 +6204,15 @@ class eInventoryToTestEnum(IntEnum): ShipTech = 0x1 Weapon = 0x2 - InventoryToTest: Annotated[ - c_enum32[eInventoryToTestEnum], Field(c_enum32[eInventoryToTestEnum], 0x0) - ] + InventoryToTest: Annotated[c_enum32[eInventoryToTestEnum], 0x0] NumberOfBrokenSlots: Annotated[int, Field(ctypes.c_int32, 0x4)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] @partial_struct class cGcMissionConditionProductKnown(Structure): - Product: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionProductEnum], - Field(c_enum32[enums.cGcDefaultMissionProductEnum], 0x10), - ] + Product: Annotated[basic.TkID0x10, 0x0] + Default: Annotated[c_enum32[enums.cGcDefaultMissionProductEnum], 0x10] DependentOnSeasonMilestone: Annotated[bool, Field(ctypes.c_bool, 0x14)] TakeProductFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -7466,7 +6224,7 @@ class cGcMissionConditionOnFootCombatEnabled(Structure): @partial_struct class cGcMissionConditionPulseEncounterActive(Structure): - SpecificObjectID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecificObjectID: Annotated[basic.TkID0x10, 0x0] class eTestEncounterTypeEnum(IntEnum): AnyEncounter = 0x0 @@ -7477,9 +6235,7 @@ class eTestEncounterTypeEnum(IntEnum): AnyEncounterOtherThanTheNamedOne = 0x5 SpecificID = 0x6 - TestEncounterType: Annotated[ - c_enum32[eTestEncounterTypeEnum], Field(c_enum32[eTestEncounterTypeEnum], 0x10) - ] + TestEncounterType: Annotated[c_enum32[eTestEncounterTypeEnum], 0x10] RequireFullySpawned: Annotated[bool, Field(ctypes.c_bool, 0x14)] @@ -7528,7 +6284,7 @@ class cGcMissionConditionMessageBeaconsQuery(Structure): @partial_struct class cGcMissionConditionMissionCompleted(Structure): - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MissionID: Annotated[basic.TkID0x10, 0x0] CalculateSeasonalSeedFromStageIndexOffset: Annotated[ int, Field(ctypes.c_int32, 0x10) ] @@ -7541,10 +6297,8 @@ class cGcMissionConditionMissionCompleted(Structure): @partial_struct class cGcMissionConditionMissionMessage(Structure): - Message: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - MessageToFormatSeasonalIDInto: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] + Message: Annotated[basic.TkID0x10, 0x0] + MessageToFormatSeasonalIDInto: Annotated[basic.VariableSizeString, 0x10] @partial_struct @@ -7559,15 +6313,13 @@ class cGcMissionConditionMissionMessageWarp(Structure): @partial_struct class cGcMissionConditionMissionSelected(Structure): - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MissionID: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcMissionConditionMissionStatValue(Structure): MissionStatValue: Annotated[int, Field(ctypes.c_uint64, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] @partial_struct @@ -7583,9 +6335,7 @@ class eForHotspotTypeEnum(IntEnum): Gas = 0x2 Minerals = 0x3 - ForHotspotType: Annotated[ - c_enum32[eForHotspotTypeEnum], Field(c_enum32[eForHotspotTypeEnum], 0x0) - ] + ForHotspotType: Annotated[c_enum32[eForHotspotTypeEnum], 0x0] RequireAlreadyAnalysed: Annotated[bool, Field(ctypes.c_bool, 0x4)] @@ -7607,9 +6357,7 @@ class eMissionObjectEnum(IntEnum): OpenStoryPortal = 0x4 OpenStandardPortal = 0x5 - MissionObject: Annotated[ - c_enum32[eMissionObjectEnum], Field(c_enum32[eMissionObjectEnum], 0x4) - ] + MissionObject: Annotated[c_enum32[eMissionObjectEnum], 0x4] @partial_struct @@ -7620,9 +6368,7 @@ class ePoleConditionEnum(IntEnum): North = 0x0 South = 0x1 - PoleCondition: Annotated[ - c_enum32[ePoleConditionEnum], Field(c_enum32[ePoleConditionEnum], 0x4) - ] + PoleCondition: Annotated[c_enum32[ePoleConditionEnum], 0x4] @partial_struct @@ -7634,13 +6380,13 @@ class cGcMissionConditionNearRobotSite(Structure): @partial_struct class cGcMissionConditionItemRewardedBySeason(Structure): - ItemID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ItemID: Annotated[basic.TkID0x10, 0x0] TakeIDFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcMissionConditionNearScanEvent(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Event: Annotated[basic.TkID0x20, 0x0] Distance: Annotated[float, Field(ctypes.c_float, 0x20)] AllowInShip: Annotated[bool, Field(ctypes.c_bool, 0x24)] MustMatchThisMissionIDSeed: Annotated[bool, Field(ctypes.c_bool, 0x25)] @@ -7667,13 +6413,13 @@ class cGcMissionConditionInventoryOpen(Structure): @partial_struct class cGcMissionConditionIsScanEventOnCurrentPlanet(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Event: Annotated[basic.TkID0x20, 0x0] AllowInShip: Annotated[bool, Field(ctypes.c_bool, 0x20)] @partial_struct class cGcMissionConditionIsScanEventRepaired(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Event: Annotated[basic.TkID0x20, 0x0] CheckForAllRepairsInBuilding: Annotated[bool, Field(ctypes.c_bool, 0x20)] OnlyCheckRequiresEmptySlotTypes: Annotated[bool, Field(ctypes.c_bool, 0x21)] @@ -7688,13 +6434,9 @@ class eInventoryTestEnum(IntEnum): Weapon = 0x4 CorvetteStorage = 0x5 - InventoryTest: Annotated[ - c_enum32[eInventoryTestEnum], Field(c_enum32[eInventoryTestEnum], 0x0) - ] + InventoryTest: Annotated[c_enum32[eInventoryTestEnum], 0x0] SlotsFree: Annotated[int, Field(ctypes.c_int32, 0x4)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] TestAllSlotsUnlocked: Annotated[bool, Field(ctypes.c_bool, 0xC)] TestAnySlotOccupied: Annotated[bool, Field(ctypes.c_bool, 0xD)] TestOnlyMainInventory: Annotated[bool, Field(ctypes.c_bool, 0xE)] @@ -7716,7 +6458,7 @@ class cGcMissionConditionIsCurrentMission(Structure): @partial_struct class cGcMissionConditionIsDepotDestroyed(Structure): - ControllingScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + ControllingScanEvent: Annotated[basic.TkID0x20, 0x0] @partial_struct @@ -7743,15 +6485,13 @@ class cGcMissionConditionIsLookingAtAnomaly(Structure): @partial_struct class cGcMissionConditionIsMissionInProgress(Structure): - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MissionID: Annotated[basic.TkID0x10, 0x0] MustBeSelectedMission: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcMissionConditionInCombat(Structure): - OverrideOSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + OverrideOSDMessage: Annotated[basic.cTkFixedString0x20, 0x0] class eCombatTypeEnum(IntEnum): GroundCombat = 0x0 @@ -7764,9 +6504,7 @@ class eCombatTypeEnum(IntEnum): BugQueen = 0x7 JellyBoss = 0x8 - CombatType: Annotated[ - c_enum32[eCombatTypeEnum], Field(c_enum32[eCombatTypeEnum], 0x20) - ] + CombatType: Annotated[c_enum32[eCombatTypeEnum], 0x20] CheckAllFireteamMembers: Annotated[bool, Field(ctypes.c_bool, 0x24)] EncouragesFightingSentinels: Annotated[bool, Field(ctypes.c_bool, 0x25)] SpaceCombatTextCountsPirates: Annotated[bool, Field(ctypes.c_bool, 0x26)] @@ -7788,9 +6526,7 @@ class cGcMissionConditionInMultiplayer(Structure): @partial_struct class cGcMissionConditionIsPlayerWanted(Structure): Level: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] @partial_struct @@ -7804,57 +6540,44 @@ class cGcMissionConditionInSeasonalUA(Structure): @partial_struct class cGcMissionConditionIsScanEventActive(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Event: Annotated[basic.TkID0x20, 0x0] MustMatchThisMissionIDSeed: Annotated[bool, Field(ctypes.c_bool, 0x20)] @partial_struct class cGcMissionConditionIsScanEventLocal(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Event: Annotated[basic.TkID0x20, 0x0] BlockMissionRestart: Annotated[bool, Field(ctypes.c_bool, 0x20)] RequiresFullFireteam: Annotated[bool, Field(ctypes.c_bool, 0x21)] @partial_struct class cGcMissionConditionInUA(Structure): - UA: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x0)] + UA: Annotated[basic.cTkFixedString0x100, 0x0] @partial_struct class cGcMissionConditionIsScanEventLocalOrNear(Structure): - Local: Annotated[ - cGcMissionConditionIsScanEventLocal, - Field(cGcMissionConditionIsScanEventLocal, 0x0), - ] + Local: Annotated[cGcMissionConditionIsScanEventLocal, 0x0] MaxDistance: Annotated[float, Field(ctypes.c_float, 0x28)] @partial_struct class cGcMissionConditionHazard(Structure): - Hazard: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x0), - ] + Hazard: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x0] @partial_struct class cGcMissionConditionHasProcTechnology(Structure): - ProcTechGroupID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + ProcTechGroupID: Annotated[basic.cTkFixedString0x20, 0x0] Count: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcMissionConditionHazardLevel(Structure): Level: Annotated[int, Field(ctypes.c_int32, 0x0)] - SpecificHazard: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x4), - ] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + SpecificHazard: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x4] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] @partial_struct @@ -7884,7 +6607,7 @@ class cGcMissionConditionHasSpareProcTech(Structure): @partial_struct class cGcMissionConditionHasTechnology(Structure): - Technology: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Technology: Annotated[basic.TkID0x10, 0x0] AllowPartiallyInstalled: Annotated[bool, Field(ctypes.c_bool, 0x10)] TakeTechFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x11)] TeachIfNotKnown: Annotated[bool, Field(ctypes.c_bool, 0x12)] @@ -7897,7 +6620,7 @@ class cGcMissionConditionHasTwitchReward(Structure): @partial_struct class cGcMissionConditionHasPendingSettlementJudgement(Structure): - SpecificID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecificID: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -7912,21 +6635,13 @@ class cGcMissionConditionHasPlatformReward(Structure): @partial_struct class cGcMissionConditionHasValidSaveContext(Structure): - CurrentContext: Annotated[ - c_enum32[enums.cGcSaveContextQuery], - Field(c_enum32[enums.cGcSaveContextQuery], 0x0), - ] - DesiredContext: Annotated[ - c_enum32[enums.cGcSaveContextQuery], - Field(c_enum32[enums.cGcSaveContextQuery], 0x4), - ] + CurrentContext: Annotated[c_enum32[enums.cGcSaveContextQuery], 0x0] + DesiredContext: Annotated[c_enum32[enums.cGcSaveContextQuery], 0x4] @partial_struct class cGcMissionConditionHasProcMissionForFaction(Structure): - Faction: Annotated[ - c_enum32[enums.cGcMissionFaction], Field(c_enum32[enums.cGcMissionFaction], 0x0) - ] + Faction: Annotated[c_enum32[enums.cGcMissionFaction], 0x0] @partial_struct @@ -7941,9 +6656,7 @@ class eWeaponTestEnum(IntEnum): ExocraftCombatInstalled = 0x4 ExocraftCombatActive = 0x5 - WeaponTest: Annotated[ - c_enum32[eWeaponTestEnum], Field(c_enum32[eWeaponTestEnum], 0x4) - ] + WeaponTest: Annotated[c_enum32[eWeaponTestEnum], 0x4] @partial_struct @@ -7953,21 +6666,16 @@ class cGcMissionConditionHasLegacyBasePending(Structure): @partial_struct class cGcMissionConditionHasEndpointForEvent(Structure): - EventID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + EventID: Annotated[basic.TkID0x20, 0x0] MaxDistance: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcMissionConditionHasLocalSubstance(Structure): - UseScanEventToDetermineLocation: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + UseScanEventToDetermineLocation: Annotated[basic.cTkFixedString0x20, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] DefaultValueMultiplier: Annotated[float, Field(ctypes.c_float, 0x24)] - LocalSubstanceType: Annotated[ - c_enum32[enums.cGcLocalSubstanceType], - Field(c_enum32[enums.cGcLocalSubstanceType], 0x28), - ] + LocalSubstanceType: Annotated[c_enum32[enums.cGcLocalSubstanceType], 0x28] UseSpecificPlanetIndex: Annotated[int, Field(ctypes.c_int32, 0x2C)] TakeAmountFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x30)] UseDefaultValue: Annotated[bool, Field(ctypes.c_bool, 0x31)] @@ -7976,28 +6684,24 @@ class cGcMissionConditionHasLocalSubstance(Structure): @partial_struct class cGcMissionConditionHasEntitlement(Structure): - Entitlement: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Entitlement: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcMissionConditionHasMessageWithTitle(Structure): - TitleLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + TitleLocId: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct class cGcMissionConditionHasExocraft(Structure): - ExocraftType: Annotated[ - c_enum32[enums.cGcVehicleType], Field(c_enum32[enums.cGcVehicleType], 0x0) - ] + ExocraftType: Annotated[c_enum32[enums.cGcVehicleType], 0x0] SpecificExocraft: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcMissionConditionHasMilestoneThatCouldRewardItem(Structure): - Item: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Recipe: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Item: Annotated[basic.TkID0x10, 0x0] + Recipe: Annotated[basic.TkID0x10, 0x10] @partial_struct @@ -8007,10 +6711,7 @@ class cGcMissionConditionHasFuelForTakeoff(Structure): @partial_struct class cGcMissionConditionHasGalacticFeature(Structure): - Type: Annotated[ - c_enum32[enums.cGcMissionGalacticFeature], - Field(c_enum32[enums.cGcMissionGalacticFeature], 0x0), - ] + Type: Annotated[c_enum32[enums.cGcMissionGalacticFeature], 0x0] RequireUnusedAtlas: Annotated[bool, Field(ctypes.c_bool, 0x4)] @@ -8041,7 +6742,7 @@ class cGcMissionConditionHasIllegalGoods(Structure): @partial_struct class cGcMissionConditionHasBait(Structure): - SpecificID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecificID: Annotated[basic.TkID0x10, 0x0] OnlyPrimaryBait: Annotated[bool, Field(ctypes.c_bool, 0x10)] RequireInBaitBox: Annotated[bool, Field(ctypes.c_bool, 0x11)] TakeSpecificBaitIDFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x12)] @@ -8054,19 +6755,14 @@ class cGcMissionConditionHasIncompleteOptionalMilestones(Structure): @partial_struct class cGcMissionConditionHasCommunicatorSignal(Structure): - SpecificSignalID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + SpecificSignalID: Annotated[basic.cTkFixedString0x20, 0x0] CallMustBePending: Annotated[bool, Field(ctypes.c_bool, 0x20)] SpecificSignalIsCurrentIntervention: Annotated[bool, Field(ctypes.c_bool, 0x21)] @partial_struct class cGcMissionConditionHasItemFromListOfValue(Structure): - ItemList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + ItemList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] UnitValue: Annotated[int, Field(ctypes.c_int32, 0x10)] UseDefaultAmount: Annotated[bool, Field(ctypes.c_bool, 0x14)] @@ -8077,22 +6773,14 @@ class eEggItemTypeEnum(IntEnum): Egg = 0x0 ValidCatalyst = 0x1 - EggItemType: Annotated[ - c_enum32[eEggItemTypeEnum], Field(c_enum32[eEggItemTypeEnum], 0x0) - ] + EggItemType: Annotated[c_enum32[eEggItemTypeEnum], 0x0] IncludeEggMachineInventoryInSearch: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcMissionConditionGroup(Structure): - Conditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] - ConditionTest: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0x10), - ] + Conditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] + ConditionTest: Annotated[c_enum32[enums.cGcMissionConditionTest], 0x10] OnlyUsedForTextFormatting: Annotated[bool, Field(ctypes.c_bool, 0x14)] ValueToReturnForTextFormatting: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -8131,15 +6819,13 @@ class cGcMissionConditionExocraftMoving(Structure): @partial_struct class cGcMissionConditionExpeditionContainsReward(Structure): - RewardID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + RewardID: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcMissionConditionExpeditionCount(Structure): ExpeditionCount: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] ActiveExpeditionsCountAsFueled: Annotated[bool, Field(ctypes.c_bool, 0x8)] OnlyCountAwaitingDebrief: Annotated[bool, Field(ctypes.c_bool, 0x9)] OnlyCountIfActive: Annotated[bool, Field(ctypes.c_bool, 0xA)] @@ -8164,9 +6850,7 @@ class cGcMissionConditionExtraSuitSlots(Structure): @partial_struct class cGcMissionConditionFactionRank(Structure): - Faction: Annotated[ - c_enum32[enums.cGcMissionFaction], Field(c_enum32[enums.cGcMissionFaction], 0x0) - ] + Faction: Annotated[c_enum32[enums.cGcMissionFaction], 0x0] Rank: Annotated[int, Field(ctypes.c_int32, 0x4)] UseSystemRace: Annotated[bool, Field(ctypes.c_bool, 0x8)] @@ -8179,9 +6863,7 @@ class cGcMissionConditionFeedingCreatures(Structure): @partial_struct class cGcMissionConditionCreatureTrust(Structure): - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x0) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x0] Trust: Annotated[float, Field(ctypes.c_float, 0x4)] @@ -8216,31 +6898,22 @@ class eFreighterBattleStatusEnum(IntEnum): Joined = 0x2 Reward = 0x3 - FreighterBattleStatus: Annotated[ - c_enum32[eFreighterBattleStatusEnum], - Field(c_enum32[eFreighterBattleStatusEnum], 0x4), - ] - FreighterBattleTest: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + FreighterBattleStatus: Annotated[c_enum32[eFreighterBattleStatusEnum], 0x4] + FreighterBattleTest: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] HostileFreighter: Annotated[bool, Field(ctypes.c_bool, 0xC)] @partial_struct class cGcMissionConditionCurrentSlope(Structure): SlopeAngle: Annotated[float, Field(ctypes.c_float, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] Abs: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcMissionConditionFrigateCount(Structure): FrigateCount: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] @partial_struct @@ -8250,15 +6923,9 @@ class cGcMissionConditionDamagedFrigateAtHome(Structure): @partial_struct class cGcMissionConditionDefaultItem(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ProductType: Annotated[ - c_enum32[enums.cGcDefaultMissionProductEnum], - Field(c_enum32[enums.cGcDefaultMissionProductEnum], 0x10), - ] - SubstanceType: Annotated[ - c_enum32[enums.cGcDefaultMissionSubstanceEnum], - Field(c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x14), - ] + ID: Annotated[basic.TkID0x10, 0x0] + ProductType: Annotated[c_enum32[enums.cGcDefaultMissionProductEnum], 0x10] + SubstanceType: Annotated[c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x14] @partial_struct @@ -8279,9 +6946,7 @@ class cGcMissionConditionCreatureReadyToLay(Structure): @partial_struct class cGcMissionConditionCreatureSlots(Structure): CreatureSlots: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] OnlyCountFreeSlots: Annotated[bool, Field(ctypes.c_bool, 0x8)] @@ -8303,18 +6968,18 @@ class cGcMissionConditionCanMakeFossil(Structure): @partial_struct class cGcMissionConditionCanMakeItem(Structure): - TargetItem: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TargetItem: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcMissionConditionCanPayCost(Structure): - CostID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + CostID: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcMissionConditionCanReceiveReward(Structure): - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Reward: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -8329,42 +6994,30 @@ class cGcMissionConditionCanSpaceDock(Structure): @partial_struct class cGcMissionConditionCanSummonExocraft(Structure): - SummonableExocraft: Annotated[ - c_enum32[enums.cGcVehicleType], Field(c_enum32[enums.cGcVehicleType], 0x0) - ] + SummonableExocraft: Annotated[c_enum32[enums.cGcVehicleType], 0x0] SpecificExocraft: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcMissionConditionCheckScanEventMissionState(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - RequiredState: Annotated[ - c_enum32[enums.cGcInteractionMissionState], - Field(c_enum32[enums.cGcInteractionMissionState], 0x20), - ] + Event: Annotated[basic.TkID0x20, 0x0] + RequiredState: Annotated[c_enum32[enums.cGcInteractionMissionState], 0x20] AlsoAcceptMaintenanceDone: Annotated[bool, Field(ctypes.c_bool, 0x24)] @partial_struct class cGcMissionConditionCombinedStatLevel(Structure): - Stats: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Stats: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] Modulo: Annotated[int, Field(ctypes.c_int32, 0x14)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x18) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x18] @partial_struct class cGcMissionConditionCommunityResearchTier(Structure): CompletedTiers: Annotated[int, Field(ctypes.c_int32, 0x0)] MissionIndex: Annotated[int, Field(ctypes.c_int32, 0x4)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] TakeTierFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0xC)] @@ -8380,7 +7033,7 @@ class cGcMissionConditionBaseRequiresPower(Structure): @partial_struct class cGcMissionConditionCookingSearch(Structure): - Product: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Product: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] IfCookerOutputMustBeCorvetteModule: Annotated[bool, Field(ctypes.c_bool, 0x14)] ReturnTrueIfCanMakeProduct: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -8394,27 +7047,23 @@ class cGcMissionConditionBinocsActive(Structure): @partial_struct class cGcMissionConditionBiomeType(Structure): - Type: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x0) - ] + Type: Annotated[c_enum32[enums.cGcBiomeType], 0x0] AnyInfested: Annotated[bool, Field(ctypes.c_bool, 0x4)] AnyRuins: Annotated[bool, Field(ctypes.c_bool, 0x5)] @partial_struct class cGcMissionConditionCreatureOwned(Structure): - SpecificCreatureID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecificCreatureID: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x14) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x14] AnyPredator: Annotated[bool, Field(ctypes.c_bool, 0x18)] @partial_struct class cGcModelExplosionRule(Structure): - AxisMultiplier: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] + AxisMultiplier: Annotated[basic.Vector3f, 0x0] + Offset: Annotated[basic.Vector3f, 0x10] class eExplodeActionEnum(IntEnum): RelativeToParent = 0x0 @@ -8422,18 +7071,14 @@ class eExplodeActionEnum(IntEnum): SaveCenter = 0x2 RelativeToSaved = 0x3 - ExplodeAction: Annotated[ - c_enum32[eExplodeActionEnum], Field(c_enum32[eExplodeActionEnum], 0x20) - ] + ExplodeAction: Annotated[c_enum32[eExplodeActionEnum], 0x20] ExplodeMod: Annotated[float, Field(ctypes.c_float, 0x24)] class eMatchNameEnum(IntEnum): ContainsString = 0x0 ExactString = 0x1 - MatchName: Annotated[ - c_enum32[eMatchNameEnum], Field(c_enum32[eMatchNameEnum], 0x28) - ] + MatchName: Annotated[c_enum32[eMatchNameEnum], 0x28] class eMatchNodeTypeEnum(IntEnum): Any = 0x0 @@ -8441,10 +7086,8 @@ class eMatchNodeTypeEnum(IntEnum): Model = 0x2 Joint = 0x3 - MatchNodeType: Annotated[ - c_enum32[eMatchNodeTypeEnum], Field(c_enum32[eMatchNodeTypeEnum], 0x2C) - ] - String: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x30)] + MatchNodeType: Annotated[c_enum32[eMatchNodeTypeEnum], 0x2C] + String: Annotated[basic.cTkFixedString0x20, 0x30] @partial_struct @@ -8488,7 +7131,7 @@ class cGcMissionConditionAllSystemPlanetsDiscovered(Structure): @partial_struct class cGcMissionConditionAreDroneHivePartsDestroyed(Structure): - ControllingScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + ControllingScanEvent: Annotated[basic.TkID0x20, 0x0] @partial_struct @@ -8498,25 +7141,22 @@ class cGcMissionConditionAutoPowerEnabled(Structure): @partial_struct class cGcScanEventTriggers(Structure): - Triggers: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Triggers: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] Range: Annotated[float, Field(ctypes.c_float, 0x10)] AllowRetrigger: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcMissionConditionBasePartNear(Structure): - PartID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + PartID: Annotated[basic.TkID0x10, 0x0] Distance: Annotated[float, Field(ctypes.c_float, 0x10)] TakeIDFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcRegionHotspotData(Structure): - ClassStrengths: Annotated[float, Field(ctypes.c_float, 0x0)] - ClassWeightings: Annotated[float, Field(ctypes.c_float, 0x10)] + ClassStrengths: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x0)] + ClassWeightings: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x10)] DiscoveryDistanceThreshold: Annotated[float, Field(ctypes.c_float, 0x20)] MaxRange: Annotated[float, Field(ctypes.c_float, 0x24)] MinRange: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -8525,48 +7165,45 @@ class cGcRegionHotspotData(Structure): @partial_struct class cGcRegionHotspotSubstance(Structure): - SubstanceId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SubstanceId: Annotated[basic.TkID0x10, 0x0] AmountCost: Annotated[int, Field(ctypes.c_int32, 0x10)] SubstanceYeild: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cGcRoomCountRule(Structure): - RoomID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + RoomID: Annotated[basic.TkID0x10, 0x0] Max: Annotated[int, Field(ctypes.c_int32, 0x10)] Min: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cGcRoomSequenceRule(Structure): - MustBeAfterRoom: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - MustBeBeforeRoom: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - RoomID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + MustBeAfterRoom: Annotated[basic.TkID0x10, 0x0] + MustBeBeforeRoom: Annotated[basic.TkID0x10, 0x10] + RoomID: Annotated[basic.TkID0x10, 0x20] MinRoomIndex: Annotated[int, Field(ctypes.c_int32, 0x30)] @partial_struct class cGcQuestItemPlacementRule(Structure): - MustBeAfterQuestItem: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - MustBeBeforeQuestItem: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - QuestItemID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - ValidRoomIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] + MustBeAfterQuestItem: Annotated[basic.TkID0x10, 0x0] + MustBeBeforeQuestItem: Annotated[basic.TkID0x10, 0x10] + QuestItemID: Annotated[basic.TkID0x10, 0x20] + ValidRoomIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] MaxRoomIndex: Annotated[int, Field(ctypes.c_int32, 0x40)] MinRoomIndex: Annotated[int, Field(ctypes.c_int32, 0x44)] @partial_struct class cGcRegionHotspotBiomeGases(Structure): - Gas1Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Gas2Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Gas1Id: Annotated[basic.TkID0x10, 0x0] + Gas2Id: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcFreighterDungeonChoice(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] Weighting: Annotated[float, Field(ctypes.c_float, 0x10)] @@ -8581,7 +7218,7 @@ class cGcFrigateUITraitLines(Structure): @partial_struct class cGcFrigateClassCost(Structure): - Cost: Annotated[int, Field(ctypes.c_int32, 0x0)] + Cost: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 10, 0x0)] @partial_struct @@ -8592,7 +7229,7 @@ class cGcGaussianCurveData(Structure): @partial_struct class cGcInventoryClassCostMultiplier(Structure): - Multiplier: Annotated[float, Field(ctypes.c_float, 0x0)] + Multiplier: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x0)] @partial_struct @@ -8603,79 +7240,75 @@ class cGcFrigateStatRange(Structure): @partial_struct class cGcFrigateStats(Structure): - InitialTrait: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Stats: Annotated[cGcFrigateStatRange, Field(cGcFrigateStatRange, 0x10)] + InitialTrait: Annotated[basic.TkID0x10, 0x0] + Stats: Annotated[ + tuple[cGcFrigateStatRange, ...], Field(cGcFrigateStatRange * 11, 0x10) + ] @partial_struct class cGcPhysicsCollisionGroupCollidesWith(Structure): CollidesWith: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcPhysicsCollisionGroups]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcPhysicsCollisionGroups]], 0x0), - ] - Group: Annotated[ - c_enum32[enums.cGcPhysicsCollisionGroups], - Field(c_enum32[enums.cGcPhysicsCollisionGroups], 0x10), + basic.cTkDynamicArray[c_enum32[enums.cGcPhysicsCollisionGroups]], 0x0 ] + Group: Annotated[c_enum32[enums.cGcPhysicsCollisionGroups], 0x10] @partial_struct class cGcFrigateStatsByClass(Structure): - FrigateClass: Annotated[cGcFrigateStats, Field(cGcFrigateStats, 0x0)] + FrigateClass: Annotated[ + tuple[cGcFrigateStats, ...], Field(cGcFrigateStats * 10, 0x0) + ] @partial_struct class cGcFreighterBaseOption(Structure): - BaseDataFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] + BaseDataFile: Annotated[basic.VariableSizeString, 0x0] ProbabilityWeighting: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcFrigateTraitIcons(Structure): - Icons: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Icons: Annotated[ + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 11, 0x0) + ] @partial_struct class cGcFreighterBaseOptions(Structure): - FreighterBases: Annotated[ - basic.cTkDynamicArray[cGcFreighterBaseOption], - Field(basic.cTkDynamicArray[cGcFreighterBaseOption], 0x0), - ] + FreighterBases: Annotated[basic.cTkDynamicArray[cGcFreighterBaseOption], 0x0] @partial_struct class cGcFrigateTraitStrengthValues(Structure): - StatLocID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - StatAlteration: Annotated[int, Field(ctypes.c_int32, 0x20)] + StatLocID: Annotated[basic.cTkFixedString0x20, 0x0] + StatAlteration: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 10, 0x20)] StatDisplaysPositive: Annotated[bool, Field(ctypes.c_bool, 0x48)] @partial_struct class cGcFrigateTraitStrengthByType(Structure): FrigateStatType: Annotated[ - cGcFrigateTraitStrengthValues, Field(cGcFrigateTraitStrengthValues, 0x0) + tuple[cGcFrigateTraitStrengthValues, ...], + Field(cGcFrigateTraitStrengthValues * 11, 0x0), ] @partial_struct class cGcFishingRodData(Structure): - DescriptorGroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - TechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DescriptorGroupID: Annotated[basic.TkID0x10, 0x0] + TechID: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcExpeditionCategoryStrength(Structure): - OccurranceChance: Annotated[int, Field(ctypes.c_int32, 0x0)] + OccurranceChance: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 5, 0x0)] @partial_struct class cGcExpeditionDebriefPunctuation(Structure): Delay: Annotated[float, Field(ctypes.c_float, 0x0)] - Punctuation: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4) - ] + Punctuation: Annotated[basic.cTkFixedString0x20, 0x4] @partial_struct @@ -8686,7 +7319,7 @@ class cGcExpeditionDifficultyKeyframe(Structure): @partial_struct class cGcExpeditionDurationValues(Structure): - Duration: Annotated[int, Field(ctypes.c_int32, 0x0)] + Duration: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 5, 0x0)] @partial_struct @@ -8699,62 +7332,45 @@ class cGcFishSizeProbability(Structure): @partial_struct class cGcFishSizeProbabilityBiomeOverride(Structure): - SizeWeights: Annotated[cGcFishSizeProbability, Field(cGcFishSizeProbability, 0x0)] - Biome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x40) + SizeWeights: Annotated[ + tuple[cGcFishSizeProbability, ...], Field(cGcFishSizeProbability * 4, 0x0) ] + Biome: Annotated[c_enum32[enums.cGcBiomeType], 0x40] @partial_struct class cGcExpeditionEventOccurrenceRate(Structure): ExpeditionCategory: Annotated[ - cGcExpeditionCategoryStrength, Field(cGcExpeditionCategoryStrength, 0x0) + tuple[cGcExpeditionCategoryStrength, ...], + Field(cGcExpeditionCategoryStrength * 5, 0x0), ] @partial_struct class cGcDungeonRoomParams(Structure): - RoomId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + RoomId: Annotated[basic.TkID0x10, 0x0] BranchProbability: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcExpeditionPaymentToken(Structure): - TokenName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TokenName: Annotated[basic.TkID0x10, 0x0] TokenValue: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcDungeonQuestParams(Structure): - QuestItems: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + QuestItems: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] Probability: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcDungeonGenerationParams(Structure): - BranchRoomTypes: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - GenerationRules: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x10), - ] - MainRoomTypes: Annotated[ - basic.cTkDynamicArray[cGcDungeonRoomParams], - Field(basic.cTkDynamicArray[cGcDungeonRoomParams], 0x20), - ] - PruningRules: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] - Quests: Annotated[ - basic.cTkDynamicArray[cGcDungeonQuestParams], - Field(basic.cTkDynamicArray[cGcDungeonQuestParams], 0x40), - ] + BranchRoomTypes: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + GenerationRules: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x10] + MainRoomTypes: Annotated[basic.cTkDynamicArray[cGcDungeonRoomParams], 0x20] + PruningRules: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] + Quests: Annotated[basic.cTkDynamicArray[cGcDungeonQuestParams], 0x40] EntranceX: Annotated[int, Field(ctypes.c_uint32, 0x50)] EntranceY: Annotated[int, Field(ctypes.c_uint32, 0x54)] EntranceZ: Annotated[int, Field(ctypes.c_uint32, 0x58)] @@ -8770,44 +7386,36 @@ class cGcDungeonGenerationParams(Structure): @partial_struct class cGcFishData(Structure): - CatchIncrementsStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - MissionSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x10)] - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RequiresMissionActive: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + CatchIncrementsStat: Annotated[basic.TkID0x10, 0x0] + MissionSeed: Annotated[basic.GcSeed, 0x10] + ProductID: Annotated[basic.TkID0x10, 0x20] + RequiresMissionActive: Annotated[basic.TkID0x10, 0x30] MissionCatchChanceOverride: Annotated[float, Field(ctypes.c_float, 0x40)] - Quality: Annotated[ - c_enum32[enums.cGcItemQuality], Field(c_enum32[enums.cGcItemQuality], 0x44) - ] - Size: Annotated[ - c_enum32[enums.cGcFishSize], Field(c_enum32[enums.cGcFishSize], 0x48) - ] - Time: Annotated[ - c_enum32[enums.cGcFishingTime], Field(c_enum32[enums.cGcFishingTime], 0x4C) - ] - Biome: Annotated[bool, Field(ctypes.c_bool, 0x50)] + Quality: Annotated[c_enum32[enums.cGcItemQuality], 0x44] + Size: Annotated[c_enum32[enums.cGcFishSize], 0x48] + Time: Annotated[c_enum32[enums.cGcFishingTime], 0x4C] + Biome: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 17, 0x50)] MissionMustAlsoBeSelected: Annotated[bool, Field(ctypes.c_bool, 0x61)] NeedsStorm: Annotated[bool, Field(ctypes.c_bool, 0x62)] @partial_struct class cGcFishingRecord(Structure): - ProductList: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - LargestCatchList: Annotated[float, Field(ctypes.c_float, 0x1000)] - ProductCountList: Annotated[int, Field(ctypes.c_uint32, 0x1400)] + ProductList: Annotated[tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 256, 0x0)] + LargestCatchList: Annotated[tuple[float, ...], Field(ctypes.c_float * 256, 0x1000)] + ProductCountList: Annotated[tuple[int, ...], Field(ctypes.c_uint32 * 256, 0x1400)] @partial_struct class cGcGalaxyStarColours(Structure): - ColourByStarType: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + ColourByStarType: Annotated[tuple[basic.Colour, ...], Field(basic.Colour * 5, 0x0)] @partial_struct class cGcGalaxyVoxelAttributesData(Structure): - AtlasStationIndices: Annotated[int, Field(ctypes.c_int32, 0x0)] - BlackholeIndices: Annotated[int, Field(ctypes.c_int32, 0x30)] - TransitPopulationDistanceRange: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x60) - ] + AtlasStationIndices: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 12, 0x0)] + BlackholeIndices: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 12, 0x30)] + TransitPopulationDistanceRange: Annotated[basic.Vector2f, 0x60] AtlasStationCount: Annotated[int, Field(ctypes.c_int32, 0x68)] BlackholeCount: Annotated[int, Field(ctypes.c_int32, 0x6C)] GuideStarMinimumCount: Annotated[int, Field(ctypes.c_int32, 0x70)] @@ -8822,8 +7430,8 @@ class cGcGalaxyVoxelAttributesData(Structure): @partial_struct class cGcAsteroidGenerationData(Structure): - NoiseRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] - ScaleVariance: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x8)] + NoiseRange: Annotated[basic.Vector2f, 0x0] + ScaleVariance: Annotated[basic.Vector2f, 0x8] FadeRange: Annotated[float, Field(ctypes.c_float, 0x10)] Health: Annotated[int, Field(ctypes.c_int32, 0x14)] NoiseScale: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -8833,25 +7441,17 @@ class cGcAsteroidGenerationData(Structure): @partial_struct class cGcAsteroidSystemGenerationData(Structure): - CommonAsteroidData: Annotated[ - cGcAsteroidGenerationData, Field(cGcAsteroidGenerationData, 0x0) - ] - LargeAsteroidData: Annotated[ - cGcAsteroidGenerationData, Field(cGcAsteroidGenerationData, 0x24) - ] - RareAsteroidData: Annotated[ - cGcAsteroidGenerationData, Field(cGcAsteroidGenerationData, 0x48) - ] - RingAsteroidData: Annotated[ - cGcAsteroidGenerationData, Field(cGcAsteroidGenerationData, 0x6C) - ] + CommonAsteroidData: Annotated[cGcAsteroidGenerationData, 0x0] + LargeAsteroidData: Annotated[cGcAsteroidGenerationData, 0x24] + RareAsteroidData: Annotated[cGcAsteroidGenerationData, 0x48] + RingAsteroidData: Annotated[cGcAsteroidGenerationData, 0x6C] @partial_struct class cGcBaitData(Structure): - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - RarityBoosts: Annotated[float, Field(ctypes.c_float, 0x10)] - SizeBoosts: Annotated[float, Field(ctypes.c_float, 0x24)] + ProductID: Annotated[basic.TkID0x10, 0x0] + RarityBoosts: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x10)] + SizeBoosts: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x24)] DayTimeBoost: Annotated[float, Field(ctypes.c_float, 0x34)] NightTimeBoost: Annotated[float, Field(ctypes.c_float, 0x38)] StormBoost: Annotated[float, Field(ctypes.c_float, 0x3C)] @@ -8859,11 +7459,11 @@ class cGcBaitData(Structure): @partial_struct class cGcCutSceneClouds(Structure): - BottomColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - InitialOffsetWorldSpace: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - TopColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - StratosphereWindOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x30)] - WindOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x38)] + BottomColour: Annotated[basic.Colour, 0x0] + InitialOffsetWorldSpace: Annotated[basic.Vector3f, 0x10] + TopColour: Annotated[basic.Colour, 0x20] + StratosphereWindOffset: Annotated[basic.Vector2f, 0x30] + WindOffset: Annotated[basic.Vector2f, 0x38] AbsorbtionFactor: Annotated[float, Field(ctypes.c_float, 0x40)] AnimScale: Annotated[float, Field(ctypes.c_float, 0x44)] AtmosphereEndHeight: Annotated[float, Field(ctypes.c_float, 0x48)] @@ -8876,13 +7476,13 @@ class cGcCutSceneClouds(Structure): @partial_struct class cGcDebugObjectDecoration(Structure): - Facing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Local: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x50)] - Resource: Annotated[basic.GcResource, Field(basic.GcResource, 0x60)] + Facing: Annotated[basic.Vector3f, 0x0] + Local: Annotated[basic.Vector3f, 0x10] + Offset: Annotated[basic.Vector3f, 0x20] + Up: Annotated[basic.Vector3f, 0x30] + Filename: Annotated[basic.VariableSizeString, 0x40] + Seed: Annotated[basic.GcSeed, 0x50] + Resource: Annotated[basic.GcResource, 0x60] @partial_struct @@ -8919,19 +7519,21 @@ class cGcGalaxyCameraData(Structure): @partial_struct class cGcGalaxyGenerationSetupData(Structure): - InnerSectorColours: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - InnerFieldScales: Annotated[basic.Vector4f, Field(basic.Vector4f, 0xA0)] - SpiralPull: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xB0)] - StarSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xC0)] - BaseSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xE8)] - ConnectionAttractorMax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xF0)] - ConnectionAttractorMin: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xF8)] - ConnectionDistortion: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x100)] - SpiralFlex: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x108)] - SpiralInclusion: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x110)] - SpiralSizeScale: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x118)] - StarHighlightAlpha: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x120)] - StarHighlightSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x128)] + InnerSectorColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 10, 0x0) + ] + InnerFieldScales: Annotated[basic.Vector4f, 0xA0] + SpiralPull: Annotated[basic.Vector3f, 0xB0] + StarSize: Annotated[tuple[basic.Vector2f, ...], Field(basic.Vector2f * 5, 0xC0)] + BaseSize: Annotated[basic.Vector2f, 0xE8] + ConnectionAttractorMax: Annotated[basic.Vector2f, 0xF0] + ConnectionAttractorMin: Annotated[basic.Vector2f, 0xF8] + ConnectionDistortion: Annotated[basic.Vector2f, 0x100] + SpiralFlex: Annotated[basic.Vector2f, 0x108] + SpiralInclusion: Annotated[basic.Vector2f, 0x110] + SpiralSizeScale: Annotated[basic.Vector2f, 0x118] + StarHighlightAlpha: Annotated[basic.Vector2f, 0x120] + StarHighlightSize: Annotated[basic.Vector2f, 0x128] BaseGenerationThreshold: Annotated[float, Field(ctypes.c_float, 0x130)] BaseTurbulenceGain: Annotated[float, Field(ctypes.c_float, 0x134)] BaseTurbulenceLac: Annotated[float, Field(ctypes.c_float, 0x138)] @@ -8955,11 +7557,11 @@ class cGcGalaxyGenerationSetupData(Structure): @partial_struct class cGcGalaxyMarkerSettings(Structure): - Colours: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - OutlineColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - Icon: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] - IconSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x50)] - TimeScaleRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x58)] + Colours: Annotated[tuple[basic.Colour, ...], Field(basic.Colour * 3, 0x0)] + OutlineColour: Annotated[basic.Colour, 0x30] + Icon: Annotated[basic.VariableSizeString, 0x40] + IconSize: Annotated[basic.Vector2f, 0x50] + TimeScaleRange: Annotated[basic.Vector2f, 0x58] EdgeCount: Annotated[int, Field(ctypes.c_int32, 0x60)] LineWidth: Annotated[float, Field(ctypes.c_float, 0x64)] LineWidthFade: Annotated[float, Field(ctypes.c_float, 0x68)] @@ -8970,15 +7572,13 @@ class cGcGalaxyMarkerSettings(Structure): RadiusMinimum: Annotated[float, Field(ctypes.c_float, 0x7C)] RotationBase: Annotated[float, Field(ctypes.c_float, 0x80)] SizeScale: Annotated[float, Field(ctypes.c_float, 0x84)] - MarkerLabel: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x88) - ] + MarkerLabel: Annotated[basic.cTkFixedString0x20, 0x88] @partial_struct class cGcGalaxyRenderAnostreakData(Structure): - InnerColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - OuterColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] + InnerColour: Annotated[basic.Colour, 0x0] + OuterColour: Annotated[basic.Colour, 0x10] Contrast: Annotated[float, Field(ctypes.c_float, 0x20)] HorizontalScale: Annotated[float, Field(ctypes.c_float, 0x24)] VerticalCompression: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -8986,22 +7586,24 @@ class cGcGalaxyRenderAnostreakData(Structure): @partial_struct class cGcGalaxyRenderSetupData(Structure): - MapLargeAreaPrimaryDefaultColours: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + MapLargeAreaPrimaryDefaultColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 10, 0x0) + ] MapLargeAreaPrimaryHighContrastColours: Annotated[ - basic.Colour, Field(basic.Colour, 0xA0) + tuple[basic.Colour, ...], Field(basic.Colour * 10, 0xA0) ] MapLargeAreaSecondaryDefaultColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x140) + tuple[basic.Colour, ...], Field(basic.Colour * 10, 0x140) ] MapLargeAreaSecondaryHighContrastColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x1E0) - ] - CompositionControlB_S_C_G: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x280)] - LensFlareColour: Annotated[basic.Colour, Field(basic.Colour, 0x290)] - LensFlareSpread: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x2A0)] - SunCoreColour: Annotated[basic.Colour, Field(basic.Colour, 0x2B0)] - LensFlareExpandTowards: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x2C0)] - NebulaeTraceStepRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x2C8)] + tuple[basic.Colour, ...], Field(basic.Colour * 10, 0x1E0) + ] + CompositionControlB_S_C_G: Annotated[basic.Vector4f, 0x280] + LensFlareColour: Annotated[basic.Colour, 0x290] + LensFlareSpread: Annotated[basic.Vector4f, 0x2A0] + SunCoreColour: Annotated[basic.Colour, 0x2B0] + LensFlareExpandTowards: Annotated[basic.Vector2f, 0x2C0] + NebulaeTraceStepRange: Annotated[basic.Vector2f, 0x2C8] BGCellHorizonInfluence: Annotated[float, Field(ctypes.c_float, 0x2D0)] BGCellMoveScale: Annotated[float, Field(ctypes.c_float, 0x2D4)] BGCellTraceScale: Annotated[float, Field(ctypes.c_float, 0x2D8)] @@ -9047,29 +7649,17 @@ class cGcGalaxySolarSystemOrbitParams(Structure): @partial_struct class cGcWeightedResource(Structure): - Geometry: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] + Geometry: Annotated[cTkModelResource, 0x0] RelativeProbability: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcWFCFace(Structure): - ExcludedNeighboursR0: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - ExcludedNeighboursR1: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] - ExcludedNeighboursR2: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - ExcludedNeighboursR3: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + ExcludedNeighboursR0: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + ExcludedNeighboursR1: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] + ExcludedNeighboursR2: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + ExcludedNeighboursR3: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] + Name: Annotated[basic.TkID0x10, 0x40] class eTransformEnum(IntEnum): None_ = 0x0 @@ -9078,12 +7668,8 @@ class eTransformEnum(IntEnum): Rotated270 = 0x3 FlippedHorizontally = 0x4 - Transform: Annotated[ - c_enum32[eTransformEnum], Field(c_enum32[eTransformEnum], 0x50) - ] - Connector: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x54) - ] + Transform: Annotated[c_enum32[eTransformEnum], 0x50] + Connector: Annotated[basic.cTkFixedString0x20, 0x54] Incomplete: Annotated[bool, Field(ctypes.c_bool, 0x74)] IsEntrance: Annotated[bool, Field(ctypes.c_bool, 0x75)] Symmetric: Annotated[bool, Field(ctypes.c_bool, 0x76)] @@ -9103,50 +7689,41 @@ class eDirectionEnum(IntEnum): LeftForward = 0x7 All = 0x8 - Direction: Annotated[c_enum32[eDirectionEnum], Field(c_enum32[eDirectionEnum], 0x0)] + Direction: Annotated[c_enum32[eDirectionEnum], 0x0] class eLevelsEnum(IntEnum): Lower = 0x0 Upper = 0x1 Both = 0x2 - Levels: Annotated[c_enum32[eLevelsEnum], Field(c_enum32[eLevelsEnum], 0x4)] + Levels: Annotated[c_enum32[eLevelsEnum], 0x4] class eTerrainEnum(IntEnum): RequireAbove = 0x0 RequireBelow = 0x1 - Terrain: Annotated[c_enum32[eTerrainEnum], Field(c_enum32[eTerrainEnum], 0x8)] + Terrain: Annotated[c_enum32[eTerrainEnum], 0x8] @partial_struct class cGcWFCModulePrototype(Structure): - Back: Annotated[cGcWFCFace, Field(cGcWFCFace, 0x0)] - Down: Annotated[cGcWFCFace, Field(cGcWFCFace, 0x78)] - Forward: Annotated[cGcWFCFace, Field(cGcWFCFace, 0xF0)] - Left: Annotated[cGcWFCFace, Field(cGcWFCFace, 0x168)] - Right: Annotated[cGcWFCFace, Field(cGcWFCFace, 0x1E0)] - Up: Annotated[cGcWFCFace, Field(cGcWFCFace, 0x258)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2D0)] - LayoutGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2E0)] - Scenes: Annotated[ - basic.cTkDynamicArray[cGcWeightedResource], - Field(basic.cTkDynamicArray[cGcWeightedResource], 0x2F0), - ] - TerrainConstraints: Annotated[ - basic.cTkDynamicArray[cGcWFCTerrainConstraint], - Field(basic.cTkDynamicArray[cGcWFCTerrainConstraint], 0x300), - ] + Back: Annotated[cGcWFCFace, 0x0] + Down: Annotated[cGcWFCFace, 0x78] + Forward: Annotated[cGcWFCFace, 0xF0] + Left: Annotated[cGcWFCFace, 0x168] + Right: Annotated[cGcWFCFace, 0x1E0] + Up: Annotated[cGcWFCFace, 0x258] + Id: Annotated[basic.TkID0x10, 0x2D0] + LayoutGroup: Annotated[basic.TkID0x10, 0x2E0] + Scenes: Annotated[basic.cTkDynamicArray[cGcWeightedResource], 0x2F0] + TerrainConstraints: Annotated[basic.cTkDynamicArray[cGcWFCTerrainConstraint], 0x300] class eFreighterModuleTypeEnum(IntEnum): None_ = 0x0 Room = 0x1 Corridor = 0x2 - FreighterModuleType: Annotated[ - c_enum32[eFreighterModuleTypeEnum], - Field(c_enum32[eFreighterModuleTypeEnum], 0x310), - ] + FreighterModuleType: Annotated[c_enum32[eFreighterModuleTypeEnum], 0x310] RelativeProbability: Annotated[float, Field(ctypes.c_float, 0x314)] class eTerrainEditsEnum(IntEnum): @@ -9155,11 +7732,9 @@ class eTerrainEditsEnum(IntEnum): UseScene = 0x2 UseBasebuildingEdits = 0x3 - TerrainEdits: Annotated[ - c_enum32[eTerrainEditsEnum], Field(c_enum32[eTerrainEditsEnum], 0x318) - ] - Group: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x31C)] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x39C)] + TerrainEdits: Annotated[c_enum32[eTerrainEditsEnum], 0x318] + Group: Annotated[basic.cTkFixedString0x80, 0x31C] + Name: Annotated[basic.cTkFixedString0x80, 0x39C] DontRotateModel: Annotated[bool, Field(ctypes.c_bool, 0x41C)] ExcludeOnGround: Annotated[bool, Field(ctypes.c_bool, 0x41D)] ExcludeOnTop: Annotated[bool, Field(ctypes.c_bool, 0x41E)] @@ -9171,8 +7746,8 @@ class eTerrainEditsEnum(IntEnum): @partial_struct class cGcWeightedMaterialId(Structure): - DecorationId: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x20)] + DecorationId: Annotated[basic.TkID0x20, 0x0] + Id: Annotated[basic.TkID0x20, 0x20] RelativeProbability: Annotated[float, Field(ctypes.c_float, 0x40)] @@ -9187,21 +7762,21 @@ class cGcWeightedBuildingSize(Structure): @partial_struct class cGcWeightedColourId(Structure): - DecorationPaletteId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - PaletteId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DecorationPaletteId: Annotated[basic.TkID0x10, 0x0] + PaletteId: Annotated[basic.TkID0x10, 0x10] RelativeProbability: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcFreighterBaseRoom(Structure): - Palette: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Palette: Annotated[basic.cTkFixedString0x20, 0x0] + Name: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcIDPair(Structure): - Item1: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Item2: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Item1: Annotated[basic.TkID0x10, 0x0] + Item2: Annotated[basic.TkID0x10, 0x10] @partial_struct @@ -9211,21 +7786,18 @@ class cGcWeatherEffectLightningData(Structure): @partial_struct class cGcMinimumUseConstraint(Structure): - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Modules: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] + Group: Annotated[basic.TkID0x10, 0x0] + Modules: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] MinUses: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcWeatherHazardLightningData(Structure): - IndicatorDecal: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - StaticDecal: Annotated[cTkModelResource, Field(cTkModelResource, 0x20)] - DamageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - ImpactParticle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - ShakeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] + IndicatorDecal: Annotated[cTkModelResource, 0x0] + StaticDecal: Annotated[cTkModelResource, 0x20] + DamageID: Annotated[basic.TkID0x10, 0x40] + ImpactParticle: Annotated[basic.TkID0x10, 0x50] + ShakeID: Annotated[basic.TkID0x10, 0x60] DamageRadius: Annotated[float, Field(ctypes.c_float, 0x70)] DecalFullGrowthProgress: Annotated[float, Field(ctypes.c_float, 0x74)] EarliestImpact: Annotated[float, Field(ctypes.c_float, 0x78)] @@ -9242,25 +7814,22 @@ class cGcWeatherHazardLightningData(Structure): @partial_struct class cGcModuleOverride(Structure): - Module: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Scenes: Annotated[ - basic.cTkDynamicArray[cGcWeightedResource], - Field(basic.cTkDynamicArray[cGcWeightedResource], 0x10), - ] + Module: Annotated[basic.TkID0x10, 0x0] + Scenes: Annotated[basic.cTkDynamicArray[cGcWeightedResource], 0x10] OriginalSceneProbability: Annotated[float, Field(ctypes.c_float, 0x20)] ProbabilityMultiplier: Annotated[float, Field(ctypes.c_float, 0x24)] @partial_struct class cGcWeatherHazardMeteorData(Structure): - ImpactEffect: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - ImpactExplode: Annotated[cTkModelResource, Field(cTkModelResource, 0x20)] - IndicatorDecal: Annotated[cTkModelResource, Field(cTkModelResource, 0x40)] - Meteor: Annotated[cTkModelResource, Field(cTkModelResource, 0x60)] - StaticDecal: Annotated[cTkModelResource, Field(cTkModelResource, 0x80)] - DamageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - ImpactParticle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - ShakeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] + ImpactEffect: Annotated[cTkModelResource, 0x0] + ImpactExplode: Annotated[cTkModelResource, 0x20] + IndicatorDecal: Annotated[cTkModelResource, 0x40] + Meteor: Annotated[cTkModelResource, 0x60] + StaticDecal: Annotated[cTkModelResource, 0x80] + DamageID: Annotated[basic.TkID0x10, 0xA0] + ImpactParticle: Annotated[basic.TkID0x10, 0xB0] + ShakeID: Annotated[basic.TkID0x10, 0xC0] DamageRadius: Annotated[float, Field(ctypes.c_float, 0xD0)] DecalFullGrowthProgress: Annotated[float, Field(ctypes.c_float, 0xD4)] EarliestImpact: Annotated[float, Field(ctypes.c_float, 0xD8)] @@ -9293,10 +7862,8 @@ class eCanWalkEnum(IntEnum): RequireCanWalk = 0x1 RequireCanNotWalk = 0x2 - CanWalk: Annotated[c_enum32[eCanWalkEnum], Field(c_enum32[eCanWalkEnum], 0x0)] - RequiredFace: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x4) - ] + CanWalk: Annotated[c_enum32[eCanWalkEnum], 0x0] + RequiredFace: Annotated[basic.cTkFixedString0x80, 0x4] @partial_struct @@ -9307,34 +7874,32 @@ class cGcHazardValues(Structure): @partial_struct class cGcSelectableObjectData(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Filename: Annotated[basic.VariableSizeString, 0x0] @partial_struct class cGcSpaceSkyColours(Structure): - CloudColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - ColourBottom: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - ColourBottomPlanet: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - ColourMid: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - ColourMidPlanet: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - ColourTop: Annotated[basic.Colour, Field(basic.Colour, 0x50)] - ColourTopPlanet: Annotated[basic.Colour, Field(basic.Colour, 0x60)] - FogColour: Annotated[basic.Colour, Field(basic.Colour, 0x70)] - FogColour2: Annotated[basic.Colour, Field(basic.Colour, 0x80)] - NebulaColour1: Annotated[basic.Colour, Field(basic.Colour, 0x90)] - NebulaColour2: Annotated[basic.Colour, Field(basic.Colour, 0xA0)] - NebulaColour3: Annotated[basic.Colour, Field(basic.Colour, 0xB0)] - NebulaShadowColour: Annotated[basic.Colour, Field(basic.Colour, 0xC0)] - SunColour: Annotated[basic.Colour, Field(basic.Colour, 0xD0)] + CloudColour: Annotated[basic.Colour, 0x0] + ColourBottom: Annotated[basic.Colour, 0x10] + ColourBottomPlanet: Annotated[basic.Colour, 0x20] + ColourMid: Annotated[basic.Colour, 0x30] + ColourMidPlanet: Annotated[basic.Colour, 0x40] + ColourTop: Annotated[basic.Colour, 0x50] + ColourTopPlanet: Annotated[basic.Colour, 0x60] + FogColour: Annotated[basic.Colour, 0x70] + FogColour2: Annotated[basic.Colour, 0x80] + NebulaColour1: Annotated[basic.Colour, 0x90] + NebulaColour2: Annotated[basic.Colour, 0xA0] + NebulaColour3: Annotated[basic.Colour, 0xB0] + NebulaShadowColour: Annotated[basic.Colour, 0xC0] + SunColour: Annotated[basic.Colour, 0xD0] @partial_struct class cGcSpaceSkyProperties(Structure): - PlanetHorizonColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - PlanetSkyColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - ColourIndex: Annotated[ - cGcPlanetWeatherColourIndex, Field(cGcPlanetWeatherColourIndex, 0x20) - ] + PlanetHorizonColour: Annotated[basic.Colour, 0x0] + PlanetSkyColour: Annotated[basic.Colour, 0x10] + ColourIndex: Annotated[cGcPlanetWeatherColourIndex, 0x20] AtmosphereThickness: Annotated[float, Field(ctypes.c_float, 0x28)] CenterPower: Annotated[float, Field(ctypes.c_float, 0x2C)] CloudNoiseFrequency: Annotated[float, Field(ctypes.c_float, 0x30)] @@ -9375,15 +7940,14 @@ class cGcTerrainTextureSettings(Structure): @partial_struct class cGcTileTypeOptions(Structure): - Options: Annotated[ - basic.cTkDynamicArray[cTkPaletteTexture], - Field(basic.cTkDynamicArray[cTkPaletteTexture], 0x0), - ] + Options: Annotated[basic.cTkDynamicArray[cTkPaletteTexture], 0x0] @partial_struct class cGcTileTypeSet(Structure): - Colours: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x0)] + Colours: Annotated[ + tuple[cTkPaletteTexture, ...], Field(cTkPaletteTexture * 12, 0x0) + ] Probability: Annotated[float, Field(ctypes.c_float, 0x90)] @@ -9429,20 +7993,14 @@ class cGcPlanetaryBuildingRestrictions(Structure): @partial_struct class cGcExternalObjectListOptions(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Options: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x10), - ] - ResourceHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - ResourceHintIcon: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + Name: Annotated[basic.TkID0x10, 0x0] + Options: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x10] + ResourceHint: Annotated[basic.TkID0x10, 0x20] + ResourceHintIcon: Annotated[basic.TkID0x10, 0x30] Order: Annotated[int, Field(ctypes.c_int32, 0x40)] Probability: Annotated[float, Field(ctypes.c_float, 0x44)] SeasonalProbabilityOverride: Annotated[float, Field(ctypes.c_float, 0x48)] - TileType: Annotated[ - c_enum32[enums.cGcTerrainTileType], - Field(c_enum32[enums.cGcTerrainTileType], 0x4C), - ] + TileType: Annotated[c_enum32[enums.cGcTerrainTileType], 0x4C] AddToFilenameHashmapWhenOptional: Annotated[bool, Field(ctypes.c_bool, 0x50)] AllowLimiting: Annotated[bool, Field(ctypes.c_bool, 0x51)] ChooseUsingLifeLevel: Annotated[bool, Field(ctypes.c_bool, 0x52)] @@ -9451,17 +8009,15 @@ class cGcExternalObjectListOptions(Structure): @partial_struct class cGcPlanetCloudProperties(Structure): - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x0)] - CoverageRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] - CoverExtremes: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x18)] + Seed: Annotated[basic.GcSeed, 0x0] + CoverageRange: Annotated[basic.Vector2f, 0x10] + CoverExtremes: Annotated[basic.Vector2f, 0x18] class eCloudinessEnum(IntEnum): CloudyWithClearSpells = 0x0 ClearWithCloudySpells = 0x1 - Cloudiness: Annotated[ - c_enum32[eCloudinessEnum], Field(c_enum32[eCloudinessEnum], 0x20) - ] + Cloudiness: Annotated[c_enum32[eCloudinessEnum], 0x20] Coverage1: Annotated[float, Field(ctypes.c_float, 0x24)] Coverage2: Annotated[float, Field(ctypes.c_float, 0x28)] Coverage3: Annotated[float, Field(ctypes.c_float, 0x2C)] @@ -9475,7 +8031,7 @@ class eCloudinessEnum(IntEnum): @partial_struct class cGcFogProperties(Structure): - HeavyAir: Annotated[cGcHeavyAirSetting, Field(cGcHeavyAirSetting, 0x0)] + HeavyAir: Annotated[cGcHeavyAirSetting, 0x0] CloudRatio: Annotated[float, Field(ctypes.c_float, 0x190)] DepthOfField: Annotated[float, Field(ctypes.c_float, 0x194)] DepthOfFieldDistance: Annotated[float, Field(ctypes.c_float, 0x198)] @@ -9496,15 +8052,15 @@ class cGcFogProperties(Structure): @partial_struct class cGcLightProperties(Structure): - BounceColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - LightColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - SunColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] + BounceColour: Annotated[basic.Colour, 0x0] + LightColour: Annotated[basic.Colour, 0x10] + SunColour: Annotated[basic.Colour, 0x20] @partial_struct class cGcLightShaftProperties(Structure): - LightShaftColourBottom: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - LightShaftColourTop: Annotated[basic.Colour, Field(basic.Colour, 0x10)] + LightShaftColourBottom: Annotated[basic.Colour, 0x0] + LightShaftColourTop: Annotated[basic.Colour, 0x10] LightShaftBottom: Annotated[float, Field(ctypes.c_float, 0x20)] LightShaftScattering: Annotated[float, Field(ctypes.c_float, 0x24)] LightShaftStrength: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -9513,7 +8069,7 @@ class cGcLightShaftProperties(Structure): @partial_struct class cGcObjectDefinitionData(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Filename: Annotated[basic.VariableSizeString, 0x0] class eLifeTypeEnum(IntEnum): Rock = 0x0 @@ -9521,7 +8077,7 @@ class eLifeTypeEnum(IntEnum): LushPlant = 0x2 Artificial = 0x3 - LifeType: Annotated[c_enum32[eLifeTypeEnum], Field(c_enum32[eLifeTypeEnum], 0x10)] + LifeType: Annotated[c_enum32[eLifeTypeEnum], 0x10] class eLocationTypeEnum(IntEnum): AboveGround = 0x0 @@ -9529,9 +8085,7 @@ class eLocationTypeEnum(IntEnum): WaterSurface = 0x2 UnderWater = 0x3 - LocationType: Annotated[ - c_enum32[eLocationTypeEnum], Field(c_enum32[eLocationTypeEnum], 0x14) - ] + LocationType: Annotated[c_enum32[eLocationTypeEnum], 0x14] class eObjectAlignmentEnum(IntEnum): Upright = 0x0 @@ -9541,27 +8095,20 @@ class eObjectAlignmentEnum(IntEnum): SlightOffsetFromNormal = 0x4 LargeOffsetFromNormal = 0x5 - ObjectAlignment: Annotated[ - c_enum32[eObjectAlignmentEnum], Field(c_enum32[eObjectAlignmentEnum], 0x18) - ] + ObjectAlignment: Annotated[c_enum32[eObjectAlignmentEnum], 0x18] class eObjectCoverageTypeEnum(IntEnum): Blanket = 0x0 Cluster = 0x1 Solo = 0x2 - ObjectCoverageType: Annotated[ - c_enum32[eObjectCoverageTypeEnum], - Field(c_enum32[eObjectCoverageTypeEnum], 0x1C), - ] + ObjectCoverageType: Annotated[c_enum32[eObjectCoverageTypeEnum], 0x1C] class eObjectRenderTypeEnum(IntEnum): Instanced = 0x0 Single = 0x1 - ObjectRenderType: Annotated[ - c_enum32[eObjectRenderTypeEnum], Field(c_enum32[eObjectRenderTypeEnum], 0x20) - ] + ObjectRenderType: Annotated[c_enum32[eObjectRenderTypeEnum], 0x20] class eSizeClassEnum(IntEnum): Tiny = 0x0 @@ -9570,17 +8117,15 @@ class eSizeClassEnum(IntEnum): Large = 0x3 Massive = 0x4 - SizeClass: Annotated[ - c_enum32[eSizeClassEnum], Field(c_enum32[eSizeClassEnum], 0x24) - ] + SizeClass: Annotated[c_enum32[eSizeClassEnum], 0x24] AutoCollision: Annotated[bool, Field(ctypes.c_bool, 0x28)] MatchGroundColour: Annotated[bool, Field(ctypes.c_bool, 0x29)] @partial_struct class cGcObjectSpawnDataVariant(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - LodDistances: Annotated[float, Field(ctypes.c_float, 0x10)] + ID: Annotated[basic.TkID0x10, 0x0] + LodDistances: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x10)] Coverage: Annotated[float, Field(ctypes.c_float, 0x24)] FadeOutEndDistance: Annotated[float, Field(ctypes.c_float, 0x28)] FadeOutOffsetDistance: Annotated[float, Field(ctypes.c_float, 0x2C)] @@ -9594,12 +8139,12 @@ class cGcObjectSpawnDataVariant(Structure): @partial_struct class cGcBuildingDefinitionData(Structure): - AABBOverrideMax: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - AABBOverrideMin: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - TextureNameHint: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x20)] - ClusterLayout: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Density: Annotated[float, Field(ctypes.c_float, 0x50)] - FlattenType: Annotated[cTkNoiseFlattenOptions, Field(cTkNoiseFlattenOptions, 0x70)] + AABBOverrideMax: Annotated[basic.Vector3f, 0x0] + AABBOverrideMin: Annotated[basic.Vector3f, 0x10] + TextureNameHint: Annotated[basic.TkID0x20, 0x20] + ClusterLayout: Annotated[basic.TkID0x10, 0x40] + Density: Annotated[tuple[float, ...], Field(ctypes.c_float * 8, 0x50)] + FlattenType: Annotated[cTkNoiseFlattenOptions, 0x70] ClusterSpacing: Annotated[float, Field(ctypes.c_float, 0x78)] MaxHeight: Annotated[float, Field(ctypes.c_float, 0x7C)] MinHeight: Annotated[float, Field(ctypes.c_float, 0x80)] @@ -9607,9 +8152,7 @@ class cGcBuildingDefinitionData(Structure): NumOverridesToGenerate: Annotated[int, Field(ctypes.c_int32, 0x88)] NumOverridesToGenerateWaterworlds: Annotated[int, Field(ctypes.c_int32, 0x8C)] OverrideRadius: Annotated[float, Field(ctypes.c_float, 0x90)] - PlanetRestrictions: Annotated[ - cGcPlanetaryBuildingRestrictions, Field(cGcPlanetaryBuildingRestrictions, 0x94) - ] + PlanetRestrictions: Annotated[cGcPlanetaryBuildingRestrictions, 0x94] EnabledWhenPlanetHasNoNPCs: Annotated[bool, Field(ctypes.c_bool, 0x97)] GivesShelter: Annotated[bool, Field(ctypes.c_bool, 0x98)] IgnoreParticlesInAABB: Annotated[bool, Field(ctypes.c_bool, 0x99)] @@ -9617,7 +8160,7 @@ class cGcBuildingDefinitionData(Structure): @partial_struct class cGcEnvironmentProperties(Structure): - SkyHeight: Annotated[float, Field(ctypes.c_float, 0x0)] + SkyHeight: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x0)] AsteroidFadeHeightMax: Annotated[float, Field(ctypes.c_float, 0x14)] AsteroidFadeHeightMin: Annotated[float, Field(ctypes.c_float, 0x18)] AtmosphereEndHeight: Annotated[float, Field(ctypes.c_float, 0x1C)] @@ -9648,14 +8191,22 @@ class cGcEnvironmentProperties(Structure): @partial_struct class cGcBuildingFilename(Structure): - LSystem: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Scene: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - WFC: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] + LSystem: Annotated[ + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 2, 0x0) + ] + Scene: Annotated[ + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 2, 0x20) + ] + WFC: Annotated[ + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 2, 0x40) + ] @partial_struct class cGcBuildingFilenameList(Structure): - BuildingFiles: Annotated[cGcBuildingFilename, Field(cGcBuildingFilename, 0x0)] + BuildingFiles: Annotated[ + tuple[cGcBuildingFilename, ...], Field(cGcBuildingFilename * 60, 0x0) + ] @partial_struct @@ -9665,24 +8216,21 @@ class cGcBuildingDensity(Structure): @partial_struct class cGcBuildingDistribution(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] MaxDistance: Annotated[int, Field(ctypes.c_int32, 0x10)] MinDistance: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cGcBuildingOverrideData(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x10)] + Position: Annotated[basic.Vector3f, 0x0] + Seed: Annotated[basic.GcSeed, 0x10] Index: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcBuildingClusterLayoutEntry(Structure): - Building: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x0), - ] + Building: Annotated[c_enum32[enums.cGcBuildingClassification], 0x0] Max: Annotated[int, Field(ctypes.c_int32, 0x4)] Min: Annotated[int, Field(ctypes.c_int32, 0x8)] Probability: Annotated[float, Field(ctypes.c_float, 0xC)] @@ -9692,10 +8240,9 @@ class cGcBuildingClusterLayoutEntry(Structure): @partial_struct class cGcBuildingClusterLayout(Structure): ClusterBuildings: Annotated[ - basic.cTkDynamicArray[cGcBuildingClusterLayoutEntry], - Field(basic.cTkDynamicArray[cGcBuildingClusterLayoutEntry], 0x0), + basic.cTkDynamicArray[cGcBuildingClusterLayoutEntry], 0x0 ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ID: Annotated[basic.TkID0x10, 0x10] AlignmentJitter: Annotated[float, Field(ctypes.c_float, 0x20)] AlignmentSteps: Annotated[int, Field(ctypes.c_int32, 0x24)] RelativeProbability: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -9710,13 +8257,13 @@ class cGcBuildingSpawnSlot(Structure): @partial_struct class cGcCloudProperties(Structure): - CloudBaseColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - CloudHeightGradient1: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x10)] - CloudHeightGradient2: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x20)] - CloudHeightGradient3: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x30)] - CloudTopColour: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - StratosphereWindOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x50)] - WindOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x58)] + CloudBaseColour: Annotated[basic.Colour, 0x0] + CloudHeightGradient1: Annotated[basic.Vector4f, 0x10] + CloudHeightGradient2: Annotated[basic.Vector4f, 0x20] + CloudHeightGradient3: Annotated[basic.Vector4f, 0x30] + CloudTopColour: Annotated[basic.Colour, 0x40] + StratosphereWindOffset: Annotated[basic.Vector2f, 0x50] + WindOffset: Annotated[basic.Vector2f, 0x58] AbsorptionFactor: Annotated[float, Field(ctypes.c_float, 0x60)] AmbientDensity: Annotated[float, Field(ctypes.c_float, 0x64)] AmbientScalar: Annotated[float, Field(ctypes.c_float, 0x68)] @@ -9751,20 +8298,19 @@ class cGcCloudProperties(Structure): @partial_struct class cGcPetAccessoryGroup(Structure): DisallowedAccessories: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcPetAccessoryType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcPetAccessoryType]], 0x0), + basic.cTkDynamicArray[c_enum32[enums.cGcPetAccessoryType]], 0x0 ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Id: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcPetAccessoryInfo(Structure): - Descriptor: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + Descriptor: Annotated[basic.TkID0x20, 0x0] @partial_struct class cGcPetEggSpeciesOverrideData(Structure): - CreatureID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + CreatureID: Annotated[basic.TkID0x10, 0x0] MaxScaleOverride: Annotated[float, Field(ctypes.c_float, 0x10)] MinScaleOverride: Annotated[float, Field(ctypes.c_float, 0x14)] CanChangeAccessories: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -9782,19 +8328,16 @@ class cGcSandwormTimerAndFrequencyOverride(Structure): @partial_struct class cGcEcosystemCreatureData(Structure): - Creature: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Creature: Annotated[basic.TkID0x10, 0x0] MaxHeight: Annotated[float, Field(ctypes.c_float, 0x10)] MinHeight: Annotated[float, Field(ctypes.c_float, 0x14)] Rarity: Annotated[float, Field(ctypes.c_float, 0x18)] - TileType: Annotated[ - c_enum32[enums.cGcTerrainTileType], - Field(c_enum32[enums.cGcTerrainTileType], 0x1C), - ] + TileType: Annotated[c_enum32[enums.cGcTerrainTileType], 0x1C] @partial_struct class cGcSpookFiendSpawnData(Structure): - SpawnID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpawnID: Annotated[basic.TkID0x10, 0x0] MaxNumSpawns: Annotated[int, Field(ctypes.c_int32, 0x10)] SpawnChance: Annotated[float, Field(ctypes.c_float, 0x14)] ThresholdSpookLevel: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -9803,82 +8346,60 @@ class cGcSpookFiendSpawnData(Structure): @partial_struct class cGcEcosystemSpawnData(Structure): - Creatures: Annotated[ - basic.cTkDynamicArray[cGcEcosystemCreatureData], - Field(basic.cTkDynamicArray[cGcEcosystemCreatureData], 0x0), - ] + Creatures: Annotated[basic.cTkDynamicArray[cGcEcosystemCreatureData], 0x0] CreatureMaxNoise: Annotated[float, Field(ctypes.c_float, 0x10)] CreatureMinNoise: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cGcIkPistonData(Structure): - Joint1Name: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x0) - ] - Joint2Name: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x100) - ] + Joint1Name: Annotated[basic.cTkFixedString0x100, 0x0] + Joint2Name: Annotated[basic.cTkFixedString0x100, 0x100] @partial_struct class cGcCreatureGenerationWeightedListDomainEntry(Structure): - Archetype: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Archetype: Annotated[basic.TkID0x10, 0x0] Weight: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcCreatureGenerationWeightedList(Structure): Air: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], - Field(basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0x0), + basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0x0 ] Cave: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], - Field( - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0x10 - ), + basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0x10 ] Ground: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], - Field( - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0x20 - ), + basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0x20 ] Water: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], - Field( - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0x30 - ), + basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0x30 ] @partial_struct class cGcCreatureGenerationOptionalWeightedList(Structure): - Archetypes: Annotated[ - cGcCreatureGenerationWeightedList, Field(cGcCreatureGenerationWeightedList, 0x0) - ] + Archetypes: Annotated[cGcCreatureGenerationWeightedList, 0x0] Probability: Annotated[float, Field(ctypes.c_float, 0x40)] OverrideAllDomains: Annotated[bool, Field(ctypes.c_bool, 0x44)] @partial_struct class cGcCreatureRoleFilename(Structure): - File: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - BiomeProbability: Annotated[float, Field(ctypes.c_float, 0x10)] + File: Annotated[basic.VariableSizeString, 0x0] + BiomeProbability: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x10)] @partial_struct class cGcCreatureRoleFilenameList(Structure): - Options: Annotated[ - basic.cTkDynamicArray[cGcCreatureRoleFilename], - Field(basic.cTkDynamicArray[cGcCreatureRoleFilename], 0x0), - ] + Options: Annotated[basic.cTkDynamicArray[cGcCreatureRoleFilename], 0x0] @partial_struct class cGcCreatureGroupDescription(Structure): - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Group: Annotated[basic.TkID0x10, 0x0] GroupsPerSquareKm: Annotated[float, Field(ctypes.c_float, 0x10)] MaxGroupSize: Annotated[int, Field(ctypes.c_int32, 0x14)] MinGroupSize: Annotated[int, Field(ctypes.c_int32, 0x18)] @@ -9886,41 +8407,35 @@ class cGcCreatureGroupDescription(Structure): @partial_struct class cGcCreatureGroupProbability(Structure): - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Group: Annotated[basic.TkID0x10, 0x0] Probability: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcCreatureRoleFilenameTable(Structure): WeirdBiomeFiles: Annotated[ - cGcCreatureRoleFilenameList, Field(cGcCreatureRoleFilenameList, 0x0) + tuple[cGcCreatureRoleFilenameList, ...], + Field(cGcCreatureRoleFilenameList * 32, 0x0), ] BiomeFiles: Annotated[ - cGcCreatureRoleFilenameList, Field(cGcCreatureRoleFilenameList, 0x200) - ] - AirFiles: Annotated[ - cGcCreatureRoleFilenameList, Field(cGcCreatureRoleFilenameList, 0x310) - ] - CaveFiles: Annotated[ - cGcCreatureRoleFilenameList, Field(cGcCreatureRoleFilenameList, 0x320) + tuple[cGcCreatureRoleFilenameList, ...], + Field(cGcCreatureRoleFilenameList * 17, 0x200), ] - RobotFiles: Annotated[ - cGcCreatureRoleFilenameList, Field(cGcCreatureRoleFilenameList, 0x330) + AirFiles: Annotated[cGcCreatureRoleFilenameList, 0x310] + CaveFiles: Annotated[cGcCreatureRoleFilenameList, 0x320] + RobotFiles: Annotated[cGcCreatureRoleFilenameList, 0x330] + UnderwaterFiles: Annotated[cGcCreatureRoleFilenameList, 0x340] + UnderwaterFilesExtra: Annotated[cGcCreatureRoleFilenameList, 0x350] + LifeChance: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x360)] + RoleFrequencyModifiers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x370) ] - UnderwaterFiles: Annotated[ - cGcCreatureRoleFilenameList, Field(cGcCreatureRoleFilenameList, 0x340) - ] - UnderwaterFilesExtra: Annotated[ - cGcCreatureRoleFilenameList, Field(cGcCreatureRoleFilenameList, 0x350) - ] - LifeChance: Annotated[float, Field(ctypes.c_float, 0x360)] - RoleFrequencyModifiers: Annotated[float, Field(ctypes.c_float, 0x370)] @partial_struct class cGcCreatureDebugWaypoint(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Position: Annotated[basic.Vector3f, 0x0] + Anim: Annotated[basic.TkID0x10, 0x10] Time: Annotated[float, Field(ctypes.c_float, 0x20)] class eWaypointTypeEnum(IntEnum): @@ -9928,35 +8443,25 @@ class eWaypointTypeEnum(IntEnum): MoveAlt = 0x1 Idle = 0x2 - WaypointType: Annotated[ - c_enum32[eWaypointTypeEnum], Field(c_enum32[eWaypointTypeEnum], 0x24) - ] + WaypointType: Annotated[c_enum32[eWaypointTypeEnum], 0x24] @partial_struct class cGcCreatureFilename(Structure): - ExtraFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + ExtraFilename: Annotated[basic.VariableSizeString, 0x0] + Filename: Annotated[basic.VariableSizeString, 0x10] + ID: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcCreatureGenerationDomainEntry(Structure): - File: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - DensityModifier: Annotated[ - c_enum32[enums.cGcCreatureGenerationDensity], - Field(c_enum32[enums.cGcCreatureGenerationDensity], 0x10), - ] + File: Annotated[basic.VariableSizeString, 0x0] + DensityModifier: Annotated[c_enum32[enums.cGcCreatureGenerationDensity], 0x10] @partial_struct class cGcCreatureGenerationDomainAdditionalEntries(Structure): - Tables: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationDomainEntry], - Field(basic.cTkDynamicArray[cGcCreatureGenerationDomainEntry], 0x0), - ] + Tables: Annotated[basic.cTkDynamicArray[cGcCreatureGenerationDomainEntry], 0x0] ChanceOfHemisphereLimit: Annotated[float, Field(ctypes.c_float, 0x10)] MaxTablesToAdd: Annotated[int, Field(ctypes.c_int32, 0x14)] MaxToHemisphereLimit: Annotated[int, Field(ctypes.c_int32, 0x18)] @@ -9964,33 +8469,29 @@ class cGcCreatureGenerationDomainAdditionalEntries(Structure): @partial_struct class cGcBehaviourPlayAnimTrigger(Structure): - Trigger: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Trigger: Annotated[basic.TkID0x10, 0x0] Frame: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcCreatureGenerationDomainTable(Structure): AdditionalTables: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationDomainAdditionalEntries], - Field(basic.cTkDynamicArray[cGcCreatureGenerationDomainAdditionalEntries], 0x0), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Tables: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationDomainEntry], - Field(basic.cTkDynamicArray[cGcCreatureGenerationDomainEntry], 0x20), + basic.cTkDynamicArray[cGcCreatureGenerationDomainAdditionalEntries], 0x0 ] + Id: Annotated[basic.TkID0x10, 0x10] + Tables: Annotated[basic.cTkDynamicArray[cGcCreatureGenerationDomainEntry], 0x20] ChanceOfHemisphereLimit: Annotated[float, Field(ctypes.c_float, 0x30)] MaxToHemisphereLimit: Annotated[int, Field(ctypes.c_int32, 0x34)] @partial_struct class cGcPetActionMoodModifier(Structure): - MoodModifiers: Annotated[float, Field(ctypes.c_float, 0x0)] + MoodModifiers: Annotated[tuple[float, ...], Field(ctypes.c_float * 2, 0x0)] @partial_struct class cGcWeirdCreatureRewardList(Structure): - Rewards: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Rewards: Annotated[tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 32, 0x0)] @partial_struct @@ -10003,58 +8504,48 @@ class cGcPetTraitMoodModifier(Structure): @partial_struct class cGcPetTraitMoodModifierList(Structure): - Modifiers: Annotated[cGcPetTraitMoodModifier, Field(cGcPetTraitMoodModifier, 0x0)] + Modifiers: Annotated[ + tuple[cGcPetTraitMoodModifier, ...], Field(cGcPetTraitMoodModifier * 2, 0x0) + ] @partial_struct class cGcCreatureSubstanceList(Structure): - CreatureType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Item: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + CreatureType: Annotated[basic.TkID0x10, 0x0] + Item: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcCreatureVocalTestData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] Size: Annotated[float, Field(ctypes.c_float, 0x10)] Squawk: Annotated[float, Field(ctypes.c_float, 0x14)] - Genus: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x18)] + Genus: Annotated[basic.cTkFixedString0x20, 0x18] @partial_struct class cGcCreatureBehaviourTreeData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Nodes: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x10), - ] + Id: Annotated[basic.TkID0x10, 0x0] + Nodes: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x10] @partial_struct class cGcCreatureBehaviourTrees(Structure): - BehaviourTree: Annotated[ - basic.cTkDynamicArray[cGcCreatureBehaviourTreeData], - Field(basic.cTkDynamicArray[cGcCreatureBehaviourTreeData], 0x0), - ] + BehaviourTree: Annotated[basic.cTkDynamicArray[cGcCreatureBehaviourTreeData], 0x0] @partial_struct class cGcCreatureStupidName(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Names: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x80], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x10), - ] + Id: Annotated[basic.TkID0x10, 0x0] + Names: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x10] Count: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcCreatureEffectTrigger(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Effect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - JointName: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x100], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x20), - ] + Anim: Annotated[basic.TkID0x10, 0x0] + Effect: Annotated[basic.TkID0x10, 0x10] + JointName: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x20] Frame: Annotated[int, Field(ctypes.c_int32, 0x30)] Scale: Annotated[float, Field(ctypes.c_float, 0x34)] GroundTint: Annotated[bool, Field(ctypes.c_bool, 0x38)] @@ -10068,7 +8559,7 @@ class cGcCreatureEffectTriggerRequirementCreatureSize(Structure): @partial_struct class cGcCreatureVocalSoundData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] MaxCooldown: Annotated[float, Field(ctypes.c_float, 0x10)] MinCooldown: Annotated[float, Field(ctypes.c_float, 0x14)] PlayFrequency: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -10085,45 +8576,30 @@ class eVocalEmoteEnum(IntEnum): EmoteMiniRoarHappy = 0x8 EmoteMiniRoarAngry = 0x9 - VocalEmote: Annotated[ - c_enum32[eVocalEmoteEnum], Field(c_enum32[eVocalEmoteEnum], 0x1C) - ] + VocalEmote: Annotated[c_enum32[eVocalEmoteEnum], 0x1C] PlayImmediately: Annotated[bool, Field(ctypes.c_bool, 0x20)] PlayOnlyOnce: Annotated[bool, Field(ctypes.c_bool, 0x21)] @partial_struct class cGcCreatureVocalData(Structure): - AttackVocal: Annotated[ - cGcCreatureVocalSoundData, Field(cGcCreatureVocalSoundData, 0x0) - ] - DeathVocal: Annotated[ - cGcCreatureVocalSoundData, Field(cGcCreatureVocalSoundData, 0x28) - ] - FleeVocal: Annotated[ - cGcCreatureVocalSoundData, Field(cGcCreatureVocalSoundData, 0x50) - ] - IdleVocal: Annotated[ - cGcCreatureVocalSoundData, Field(cGcCreatureVocalSoundData, 0x78) - ] + AttackVocal: Annotated[cGcCreatureVocalSoundData, 0x0] + DeathVocal: Annotated[cGcCreatureVocalSoundData, 0x28] + FleeVocal: Annotated[cGcCreatureVocalSoundData, 0x50] + IdleVocal: Annotated[cGcCreatureVocalSoundData, 0x78] ScaleBias: Annotated[float, Field(ctypes.c_float, 0xA0)] @partial_struct class cGcCreatureFoodList(Structure): - DebrisEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - FoodProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - ResourceFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + DebrisEffect: Annotated[basic.TkID0x10, 0x0] + FoodProduct: Annotated[basic.TkID0x10, 0x10] + ResourceFile: Annotated[basic.VariableSizeString, 0x20] @partial_struct class cGcCreatureWeirdMovementData(Structure): - FeetNames: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x100], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x0), - ] + FeetNames: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x0] BobAmount: Annotated[float, Field(ctypes.c_float, 0x10)] BobSpeed: Annotated[float, Field(ctypes.c_float, 0x14)] JumpAngle: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -10133,9 +8609,9 @@ class eMoveModeEnum(IntEnum): Float = 0x1 Drill = 0x2 - MoveMode: Annotated[c_enum32[eMoveModeEnum], Field(c_enum32[eMoveModeEnum], 0x1C)] + MoveMode: Annotated[c_enum32[eMoveModeEnum], 0x1C] SpinSpeed: Annotated[float, Field(ctypes.c_float, 0x20)] - Node: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x24)] + Node: Annotated[basic.cTkFixedString0x100, 0x24] @partial_struct @@ -10160,30 +8636,22 @@ class cGcFlyingSnakeData(Structure): @partial_struct class cGcCreatureHarvestSubstanceList(Structure): - CreatureType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Item: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + CreatureType: Annotated[basic.TkID0x10, 0x0] + Item: Annotated[basic.TkID0x10, 0x10] MinBlobs: Annotated[int, Field(ctypes.c_int32, 0x20)] - Desc: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x24)] + Desc: Annotated[basic.cTkFixedString0x80, 0x24] @partial_struct class cGcCreaturePetPartHider(Structure): - PartName: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x0), - ] - AccessorySlot: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x10) - ] + PartName: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x0] + AccessorySlot: Annotated[basic.cTkFixedString0x100, 0x10] @partial_struct class cGcCreatureSwarmDataParams(Structure): - AnimThrustCycleAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ValidDescriptors: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x10), - ] + AnimThrustCycleAnim: Annotated[basic.TkID0x10, 0x0] + ValidDescriptors: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x10] Alignment: Annotated[float, Field(ctypes.c_float, 0x20)] AlignTime: Annotated[float, Field(ctypes.c_float, 0x24)] AnimThrustCycleEnd: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -10237,10 +8705,7 @@ class cGcCreatureSwarmDataParams(Structure): @partial_struct class cGcCreatureSwarmData(Structure): - Params: Annotated[ - basic.cTkDynamicArray[cGcCreatureSwarmDataParams], - Field(basic.cTkDynamicArray[cGcCreatureSwarmDataParams], 0x0), - ] + Params: Annotated[basic.cTkDynamicArray[cGcCreatureSwarmDataParams], 0x0] MaxCount: Annotated[int, Field(ctypes.c_int32, 0x10)] MinCount: Annotated[int, Field(ctypes.c_int32, 0x14)] SwarmMovementRadius: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -10254,9 +8719,7 @@ class eSwarmMovementTypeEnum(IntEnum): FollowPlayer = 0x4 FollowPlayerLimited = 0x5 - SwarmMovementType: Annotated[ - c_enum32[eSwarmMovementTypeEnum], Field(c_enum32[eSwarmMovementTypeEnum], 0x20) - ] + SwarmMovementType: Annotated[c_enum32[eSwarmMovementTypeEnum], 0x20] AttractedToBait: Annotated[bool, Field(ctypes.c_bool, 0x24)] @@ -10269,39 +8732,32 @@ class cGcCreaturePetTraitRange(Structure): @partial_struct class cGcCreaturePetTraitRanges(Structure): TraitRanges: Annotated[ - cGcCreaturePetTraitRange, Field(cGcCreaturePetTraitRange, 0x0) + tuple[cGcCreaturePetTraitRange, ...], Field(cGcCreaturePetTraitRange * 3, 0x0) ] @partial_struct class cGcCreatureRidingAnimation(Structure): - MovementAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - RidingAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + MovementAnim: Annotated[basic.TkID0x10, 0x0] + RidingAnim: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcCreatureRidingPartModifier(Structure): - AnimOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - RotationOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - VROffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - PartName: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x40)] - DefaultRidingAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - IdleRidingAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - RidingAnims: Annotated[ - basic.cTkDynamicArray[cGcCreatureRidingAnimation], - Field(basic.cTkDynamicArray[cGcCreatureRidingAnimation], 0x80), - ] + AnimOffset: Annotated[basic.Vector3f, 0x0] + Offset: Annotated[basic.Vector3f, 0x10] + RotationOffset: Annotated[basic.Vector3f, 0x20] + VROffset: Annotated[basic.Vector3f, 0x30] + PartName: Annotated[basic.TkID0x20, 0x40] + DefaultRidingAnim: Annotated[basic.TkID0x10, 0x60] + IdleRidingAnim: Annotated[basic.TkID0x10, 0x70] + RidingAnims: Annotated[basic.cTkDynamicArray[cGcCreatureRidingAnimation], 0x80] HeadCounterRotation: Annotated[float, Field(ctypes.c_float, 0x90)] LegSpreadOffset: Annotated[float, Field(ctypes.c_float, 0x94)] MaxScale: Annotated[float, Field(ctypes.c_float, 0x98)] MinScale: Annotated[float, Field(ctypes.c_float, 0x9C)] - AdditionalScaleJoint: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xA0) - ] - JointName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1A0) - ] + AdditionalScaleJoint: Annotated[basic.cTkFixedString0x100, 0xA0] + JointName: Annotated[basic.cTkFixedString0x100, 0x1A0] BreakIfNotSelected: Annotated[bool, Field(ctypes.c_bool, 0x2A0)] OverrideAnims: Annotated[bool, Field(ctypes.c_bool, 0x2A1)] RelativeOffset: Annotated[bool, Field(ctypes.c_bool, 0x2A2)] @@ -10309,97 +8765,67 @@ class cGcCreatureRidingPartModifier(Structure): @partial_struct class cGcCreatureRidingData(Structure): - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - RotationOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - VROffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - DefaultRidingAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - IdleRidingAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - PartModifiers: Annotated[ - basic.cTkDynamicArray[cGcCreatureRidingPartModifier], - Field(basic.cTkDynamicArray[cGcCreatureRidingPartModifier], 0x50), - ] - RidingAnims: Annotated[ - basic.cTkDynamicArray[cGcCreatureRidingAnimation], - Field(basic.cTkDynamicArray[cGcCreatureRidingAnimation], 0x60), - ] + Offset: Annotated[basic.Vector3f, 0x0] + RotationOffset: Annotated[basic.Vector3f, 0x10] + VROffset: Annotated[basic.Vector3f, 0x20] + DefaultRidingAnim: Annotated[basic.TkID0x10, 0x30] + IdleRidingAnim: Annotated[basic.TkID0x10, 0x40] + PartModifiers: Annotated[basic.cTkDynamicArray[cGcCreatureRidingPartModifier], 0x50] + RidingAnims: Annotated[basic.cTkDynamicArray[cGcCreatureRidingAnimation], 0x60] HeadCounterRotation: Annotated[float, Field(ctypes.c_float, 0x70)] ScaleForMaxLegSpread: Annotated[float, Field(ctypes.c_float, 0x74)] ScaleForMinLegSpread: Annotated[float, Field(ctypes.c_float, 0x78)] ScaleForNeutralLegSpread: Annotated[float, Field(ctypes.c_float, 0x7C)] UprightStrength: Annotated[float, Field(ctypes.c_float, 0x80)] - AdditionalScaleJoint: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x84) - ] - JointName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x184) - ] + AdditionalScaleJoint: Annotated[basic.cTkFixedString0x100, 0x84] + JointName: Annotated[basic.cTkFixedString0x100, 0x184] LegSpread: Annotated[bool, Field(ctypes.c_bool, 0x284)] RequiresMatchingPartModifier: Annotated[bool, Field(ctypes.c_bool, 0x285)] @partial_struct class cGcCreaturePetAccessorySlot(Structure): - AccessoryGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - AttachLocator: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x10) - ] + AccessoryGroup: Annotated[basic.TkID0x10, 0x0] + AttachLocator: Annotated[basic.cTkFixedString0x100, 0x10] @partial_struct class cGcCreaturePetAccessory(Structure): - RequiredDescriptor: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - HideParts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x20), - ] - Slots: Annotated[ - basic.cTkDynamicArray[cGcCreaturePetAccessorySlot], - Field(basic.cTkDynamicArray[cGcCreaturePetAccessorySlot], 0x30), - ] + RequiredDescriptor: Annotated[basic.TkID0x20, 0x0] + HideParts: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x20] + Slots: Annotated[basic.cTkDynamicArray[cGcCreaturePetAccessorySlot], 0x30] @partial_struct class cGcCreaturePetData(Structure): - AccessorySlots: Annotated[ - basic.cTkDynamicArray[cGcCreaturePetAccessory], - Field(basic.cTkDynamicArray[cGcCreaturePetAccessory], 0x0), - ] + AccessorySlots: Annotated[basic.cTkDynamicArray[cGcCreaturePetAccessory], 0x0] @partial_struct class cGcCreatureHealthData(Structure): - DeathAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DeathAudio: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - DeathEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - DespawnOnDeathDescriptors: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x30), - ] - HurtAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - HurtAudio: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + DeathAnim: Annotated[basic.TkID0x10, 0x0] + DeathAudio: Annotated[basic.TkID0x10, 0x10] + DeathEffect: Annotated[basic.TkID0x10, 0x20] + DespawnOnDeathDescriptors: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x30] + HurtAnim: Annotated[basic.TkID0x10, 0x40] + HurtAudio: Annotated[basic.TkID0x10, 0x50] DespawnOnDeath: Annotated[bool, Field(ctypes.c_bool, 0x60)] @partial_struct class cGcCreatureHoverTintableEffect(Structure): - TintColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + TintColour: Annotated[basic.Colour, 0x0] LightStrength: Annotated[float, Field(ctypes.c_float, 0x10)] TintStrength: Annotated[float, Field(ctypes.c_float, 0x14)] - EffectNode: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x18) - ] + EffectNode: Annotated[basic.cTkFixedString0x100, 0x18] @partial_struct class cGcCreatureHoverMovementDataParams(Structure): TintableEffects: Annotated[ - basic.cTkDynamicArray[cGcCreatureHoverTintableEffect], - Field(basic.cTkDynamicArray[cGcCreatureHoverTintableEffect], 0x0), - ] - ValidDescriptors: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x10), + basic.cTkDynamicArray[cGcCreatureHoverTintableEffect], 0x0 ] + ValidDescriptors: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x10] ElevationAvoidStrength: Annotated[float, Field(ctypes.c_float, 0x20)] GroundAlignTimeModifier: Annotated[float, Field(ctypes.c_float, 0x24)] GroundEffectHeightForMaxAlpha: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -10415,9 +8841,7 @@ class cGcCreatureHoverMovementDataParams(Structure): NavOffsetZ: Annotated[float, Field(ctypes.c_float, 0x50)] RayCastDown: Annotated[float, Field(ctypes.c_float, 0x54)] RayCastUp: Annotated[float, Field(ctypes.c_float, 0x58)] - GroundEffect: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x5C) - ] + GroundEffect: Annotated[basic.cTkFixedString0x100, 0x5C] CanJump: Annotated[bool, Field(ctypes.c_bool, 0x15C)] ElevationAvoid: Annotated[bool, Field(ctypes.c_bool, 0x15D)] GroundAlign: Annotated[bool, Field(ctypes.c_bool, 0x15E)] @@ -10426,18 +8850,15 @@ class cGcCreatureHoverMovementDataParams(Structure): @partial_struct class cGcCreatureHoverMovementData(Structure): - Params: Annotated[ - basic.cTkDynamicArray[cGcCreatureHoverMovementDataParams], - Field(basic.cTkDynamicArray[cGcCreatureHoverMovementDataParams], 0x0), - ] + Params: Annotated[basic.cTkDynamicArray[cGcCreatureHoverMovementDataParams], 0x0] @partial_struct class cGcCreatureJellyBossAttackData(Structure): - BroodSpawnID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - OrbAttackProjectile: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - OrbAttackCooldownRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] - SpawnBroodCooldownRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x28)] + BroodSpawnID: Annotated[basic.TkID0x10, 0x0] + OrbAttackProjectile: Annotated[basic.TkID0x10, 0x10] + OrbAttackCooldownRange: Annotated[basic.Vector2f, 0x20] + SpawnBroodCooldownRange: Annotated[basic.Vector2f, 0x28] DelayBetweenOrbAttacks: Annotated[float, Field(ctypes.c_float, 0x30)] FadeInTime: Annotated[float, Field(ctypes.c_float, 0x34)] MaxBroodCountPreventSpawn: Annotated[int, Field(ctypes.c_int32, 0x38)] @@ -10461,9 +8882,9 @@ class cGcCreatureJellyBossAttackData(Structure): @partial_struct class cGcCreatureMoveAnimData(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - AnimLeft: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - AnimRight: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Anim: Annotated[basic.TkID0x10, 0x0] + AnimLeft: Annotated[basic.TkID0x10, 0x10] + AnimRight: Annotated[basic.TkID0x10, 0x20] AnimMoveSpeed: Annotated[float, Field(ctypes.c_float, 0x30)] AnimSpeed: Annotated[float, Field(ctypes.c_float, 0x34)] MaxPetSpeedScale: Annotated[float, Field(ctypes.c_float, 0x38)] @@ -10476,10 +8897,7 @@ class cGcCreatureMoveAnimData(Structure): @partial_struct class cGcCreatureMovementData(Structure): - Anims: Annotated[ - basic.cTkDynamicArray[cGcCreatureMoveAnimData], - Field(basic.cTkDynamicArray[cGcCreatureMoveAnimData], 0x0), - ] + Anims: Annotated[basic.cTkDynamicArray[cGcCreatureMoveAnimData], 0x0] HeightMax: Annotated[float, Field(ctypes.c_float, 0x10)] HeightMin: Annotated[float, Field(ctypes.c_float, 0x14)] HeightRangeMax: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -10495,14 +8913,9 @@ class cGcCreatureMovementData(Structure): @partial_struct class cGcCreatureParticleEffectDataEntry(Structure): - EffectLocator: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - EffectName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Requirements: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x20), - ] + EffectLocator: Annotated[basic.VariableSizeString, 0x0] + EffectName: Annotated[basic.TkID0x10, 0x10] + Requirements: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x20] Scale: Annotated[float, Field(ctypes.c_float, 0x30)] Attached: Annotated[bool, Field(ctypes.c_bool, 0x34)] DetachOnRetire: Annotated[bool, Field(ctypes.c_bool, 0x35)] @@ -10510,31 +8923,22 @@ class cGcCreatureParticleEffectDataEntry(Structure): @partial_struct class cGcCreatureParticleEffectData(Structure): - Effects: Annotated[ - basic.cTkDynamicArray[cGcCreatureParticleEffectDataEntry], - Field(basic.cTkDynamicArray[cGcCreatureParticleEffectDataEntry], 0x0), - ] - RetireTriggers: Annotated[ - c_enum32[enums.cGcCreatureParticleEffectTrigger], - Field(c_enum32[enums.cGcCreatureParticleEffectTrigger], 0x10), - ] - SpawnTriggers: Annotated[ - c_enum32[enums.cGcCreatureParticleEffectTrigger], - Field(c_enum32[enums.cGcCreatureParticleEffectTrigger], 0x14), - ] + Effects: Annotated[basic.cTkDynamicArray[cGcCreatureParticleEffectDataEntry], 0x0] + RetireTriggers: Annotated[c_enum32[enums.cGcCreatureParticleEffectTrigger], 0x10] + SpawnTriggers: Annotated[c_enum32[enums.cGcCreatureParticleEffectTrigger], 0x14] @partial_struct class cGcCreatureFiendAttackData(Structure): - PushBackAttackAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - PushBackDamageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - SpawnBroodAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - SpawnBroodID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - SpitAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - SpitProjectile: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - TurnLAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - TurnRAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - TurnAnimSpeeds: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x80)] + PushBackAttackAnim: Annotated[basic.TkID0x10, 0x0] + PushBackDamageID: Annotated[basic.TkID0x10, 0x10] + SpawnBroodAnim: Annotated[basic.TkID0x10, 0x20] + SpawnBroodID: Annotated[basic.TkID0x10, 0x30] + SpitAnim: Annotated[basic.TkID0x10, 0x40] + SpitProjectile: Annotated[basic.TkID0x10, 0x50] + TurnLAnim: Annotated[basic.TkID0x10, 0x60] + TurnRAnim: Annotated[basic.TkID0x10, 0x70] + TurnAnimSpeeds: Annotated[basic.Vector2f, 0x80] AnimSpeedModifier: Annotated[float, Field(ctypes.c_float, 0x88)] AttackLightIntensity: Annotated[float, Field(ctypes.c_float, 0x8C)] DelayBetweenPounceAttacks: Annotated[float, Field(ctypes.c_float, 0x90)] @@ -10556,12 +8960,8 @@ class cGcCreatureFiendAttackData(Structure): TurnAnimAngleMax: Annotated[float, Field(ctypes.c_float, 0xD0)] TurnAnimAngleMin: Annotated[float, Field(ctypes.c_float, 0xD4)] TurnToFaceTime: Annotated[float, Field(ctypes.c_float, 0xD8)] - AttackLight: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xDC) - ] - SpitJoint: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x11C) - ] + AttackLight: Annotated[basic.cTkFixedString0x40, 0xDC] + SpitJoint: Annotated[basic.cTkFixedString0x40, 0x11C] AllowPounce: Annotated[bool, Field(ctypes.c_bool, 0x15C)] AllowPushBackAttack: Annotated[bool, Field(ctypes.c_bool, 0x15D)] AllowSpawnBrood: Annotated[bool, Field(ctypes.c_bool, 0x15E)] @@ -10601,14 +9001,13 @@ class cGcCreatureFlockMovementData(Structure): @partial_struct class cGcCreatureParticleEffects(Structure): ParticleEffects: Annotated[ - basic.cTkDynamicArray[cGcCreatureParticleEffectData], - Field(basic.cTkDynamicArray[cGcCreatureParticleEffectData], 0x0), + basic.cTkDynamicArray[cGcCreatureParticleEffectData], 0x0 ] @partial_struct class cGcCreatureFootParticleSingleData(Structure): - EffectName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + EffectName: Annotated[basic.TkID0x10, 0x0] MaxCreatureSize: Annotated[float, Field(ctypes.c_float, 0x10)] MinCreatureSize: Annotated[float, Field(ctypes.c_float, 0x14)] @@ -10617,23 +9016,20 @@ class eMoveSpeedEnum(IntEnum): Walk = 0x1 Run = 0x2 - MoveSpeed: Annotated[ - c_enum32[eMoveSpeedEnum], Field(c_enum32[eMoveSpeedEnum], 0x18) - ] + MoveSpeed: Annotated[c_enum32[eMoveSpeedEnum], 0x18] Scale: Annotated[float, Field(ctypes.c_float, 0x1C)] @partial_struct class cGcCreatureFootParticleData(Structure): ParticleData: Annotated[ - basic.cTkDynamicArray[cGcCreatureFootParticleSingleData], - Field(basic.cTkDynamicArray[cGcCreatureFootParticleSingleData], 0x0), + basic.cTkDynamicArray[cGcCreatureFootParticleSingleData], 0x0 ] @partial_struct class cGcBehaviourRegisterAttackerData(Structure): - TargetKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TargetKey: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -10643,56 +9039,46 @@ class cGcBehaviourWaitData(Structure): @partial_struct class cGcBlackboardFloatCompareDecoratorData(Structure): - CompareTo: Annotated[ - cTkBlackboardDefaultValueFloat, Field(cTkBlackboardDefaultValueFloat, 0x0) - ] - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18)] - OnFalse: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x28)] - OnTrue: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x38)] + CompareTo: Annotated[cTkBlackboardDefaultValueFloat, 0x0] + Key: Annotated[basic.TkID0x10, 0x18] + OnFalse: Annotated[basic.NMSTemplate, 0x28] + OnTrue: Annotated[basic.NMSTemplate, 0x38] CompareBlackboardValueType: Annotated[ - c_enum32[enums.cTkBlackboardComparisonTypeEnum], - Field(c_enum32[enums.cTkBlackboardComparisonTypeEnum], 0x48), + c_enum32[enums.cTkBlackboardComparisonTypeEnum], 0x48 ] @partial_struct class cGcBlackboardIntCompareDecoratorData(Structure): - CompareTo: Annotated[ - cTkBlackboardDefaultValueInteger, Field(cTkBlackboardDefaultValueInteger, 0x0) - ] - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18)] - OnFalse: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x28)] - OnTrue: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x38)] - Comparison: Annotated[ - c_enum32[enums.cTkBlackboardComparisonTypeEnum], - Field(c_enum32[enums.cTkBlackboardComparisonTypeEnum], 0x48), - ] + CompareTo: Annotated[cTkBlackboardDefaultValueInteger, 0x0] + Key: Annotated[basic.TkID0x10, 0x18] + OnFalse: Annotated[basic.NMSTemplate, 0x28] + OnTrue: Annotated[basic.NMSTemplate, 0x38] + Comparison: Annotated[c_enum32[enums.cTkBlackboardComparisonTypeEnum], 0x48] @partial_struct class cGcBlackboardIntModifyData(Structure): - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Key: Annotated[basic.TkID0x10, 0x0] class eModifyIntTypeEnum(IntEnum): SetValue = 0x0 IncrementValue = 0x1 - ModifyIntType: Annotated[ - c_enum32[eModifyIntTypeEnum], Field(c_enum32[eModifyIntTypeEnum], 0x10) - ] + ModifyIntType: Annotated[c_enum32[eModifyIntTypeEnum], 0x10] Value: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cGcBlackboardValueDecoratorData(Structure): - Child: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Child: Annotated[basic.NMSTemplate, 0x0] + Key: Annotated[basic.TkID0x10, 0x10] ClearOnSuccess: Annotated[bool, Field(ctypes.c_bool, 0x20)] @partial_struct class cGcCreatureDestroyInstancesData(Structure): - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + Offset: Annotated[basic.Vector3f, 0x0] MinInstanceRadius: Annotated[float, Field(ctypes.c_float, 0x10)] Radius: Annotated[float, Field(ctypes.c_float, 0x14)] DebugDraw: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -10700,11 +9086,9 @@ class cGcCreatureDestroyInstancesData(Structure): @partial_struct class cGcCooldownDecoratorData(Structure): - CooldownTime: Annotated[ - cTkBlackboardDefaultValueFloat, Field(cTkBlackboardDefaultValueFloat, 0x0) - ] - Child: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x18)] - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x28)] + CooldownTime: Annotated[cTkBlackboardDefaultValueFloat, 0x0] + Child: Annotated[basic.NMSTemplate, 0x18] + Key: Annotated[basic.TkID0x10, 0x28] @partial_struct @@ -10718,19 +9102,13 @@ class cGcBirdData(Structure): FlapSpeedMin: Annotated[float, Field(ctypes.c_float, 0x18)] FlapSpeedMinScale: Annotated[float, Field(ctypes.c_float, 0x1C)] FlapTurn: Annotated[float, Field(ctypes.c_float, 0x20)] - CircleAttractor: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x24) - ] + CircleAttractor: Annotated[basic.cTkFixedString0x80, 0x24] @partial_struct class cGcCreatureAlertData(Structure): - AlertInitiator: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x0) - ] - AlertTarget: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x4) - ] + AlertInitiator: Annotated[c_enum32[enums.cGcCreatureTypes], 0x0] + AlertTarget: Annotated[c_enum32[enums.cGcCreatureTypes], 0x4] FleeRange: Annotated[float, Field(ctypes.c_float, 0x8)] HearingRange: Annotated[float, Field(ctypes.c_float, 0xC)] SightAngle: Annotated[float, Field(ctypes.c_float, 0x10)] @@ -10739,28 +9117,18 @@ class cGcCreatureAlertData(Structure): @partial_struct class cGcBehaviourLookData(Structure): - CanLook: Annotated[ - cTkBlackboardDefaultValueBool, Field(cTkBlackboardDefaultValueBool, 0x0) - ] - FocusOnTarget: Annotated[ - cTkBlackboardDefaultValueBool, Field(cTkBlackboardDefaultValueBool, 0x18) - ] - RelaxedLook: Annotated[ - cTkBlackboardDefaultValueBool, Field(cTkBlackboardDefaultValueBool, 0x30) - ] - LookTargetKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] + CanLook: Annotated[cTkBlackboardDefaultValueBool, 0x0] + FocusOnTarget: Annotated[cTkBlackboardDefaultValueBool, 0x18] + RelaxedLook: Annotated[cTkBlackboardDefaultValueBool, 0x30] + LookTargetKey: Annotated[basic.TkID0x10, 0x48] LookWhenBeyondMaxAngle: Annotated[bool, Field(ctypes.c_bool, 0x58)] @partial_struct class cGcBehaviourMaintainRangeFromTargetData(Structure): - MaxDist: Annotated[ - cTkBlackboardDefaultValueFloat, Field(cTkBlackboardDefaultValueFloat, 0x0) - ] - MinDist: Annotated[ - cTkBlackboardDefaultValueFloat, Field(cTkBlackboardDefaultValueFloat, 0x18) - ] - TargetKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + MaxDist: Annotated[cTkBlackboardDefaultValueFloat, 0x0] + MinDist: Annotated[cTkBlackboardDefaultValueFloat, 0x18] + TargetKey: Annotated[basic.TkID0x10, 0x30] AvoidCreaturesStrength: Annotated[float, Field(ctypes.c_float, 0x40)] SpeedModifier: Annotated[float, Field(ctypes.c_float, 0x44)] _2D: Annotated[bool, Field(ctypes.c_bool, 0x48)] @@ -10769,10 +9137,8 @@ class cGcBehaviourMaintainRangeFromTargetData(Structure): @partial_struct class cGcBehaviourMoveToTargetData(Structure): - ArriveDist: Annotated[ - cTkBlackboardDefaultValueFloat, Field(cTkBlackboardDefaultValueFloat, 0x0) - ] - TargetKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18)] + ArriveDist: Annotated[cTkBlackboardDefaultValueFloat, 0x0] + TargetKey: Annotated[basic.TkID0x10, 0x18] AvoidCreaturesStrength: Annotated[float, Field(ctypes.c_float, 0x28)] class eBehaviourMoveSpeedEnum(IntEnum): @@ -10780,41 +9146,29 @@ class eBehaviourMoveSpeedEnum(IntEnum): Fast = 0x1 Dynamic = 0x2 - BehaviourMoveSpeed: Annotated[ - c_enum32[eBehaviourMoveSpeedEnum], - Field(c_enum32[eBehaviourMoveSpeedEnum], 0x2C), - ] + BehaviourMoveSpeed: Annotated[c_enum32[eBehaviourMoveSpeedEnum], 0x2C] DynamicMoveSlowdownDistMul: Annotated[float, Field(ctypes.c_float, 0x30)] SpeedModifier: Annotated[float, Field(ctypes.c_float, 0x34)] @partial_struct class cGcBehaviourPlayAnimData(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Triggers: Annotated[ - basic.cTkDynamicArray[cGcBehaviourPlayAnimTrigger], - Field(basic.cTkDynamicArray[cGcBehaviourPlayAnimTrigger], 0x10), - ] + Anim: Annotated[basic.TkID0x10, 0x0] + Triggers: Annotated[basic.cTkDynamicArray[cGcBehaviourPlayAnimTrigger], 0x10] BlendInTime: Annotated[float, Field(ctypes.c_float, 0x20)] BlendOutAt: Annotated[float, Field(ctypes.c_float, 0x24)] @partial_struct class cGcBehaviourAppearData(Structure): - AppearAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + AppearAnim: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcBehaviourApplyDamageData(Structure): - Offset: Annotated[ - cTkBlackboardDefaultValueVector, Field(cTkBlackboardDefaultValueVector, 0x0) - ] - PlayerDamageType: Annotated[ - cTkBlackboardDefaultValueId, Field(cTkBlackboardDefaultValueId, 0x30) - ] - Radius: Annotated[ - cTkBlackboardDefaultValueFloat, Field(cTkBlackboardDefaultValueFloat, 0x58) - ] + Offset: Annotated[cTkBlackboardDefaultValueVector, 0x0] + PlayerDamageType: Annotated[cTkBlackboardDefaultValueId, 0x30] + Radius: Annotated[cTkBlackboardDefaultValueFloat, 0x58] @partial_struct @@ -10824,31 +9178,29 @@ class cGcBehaviourCheckDeathData(Structure): @partial_struct class cGcBehaviourCooldownBeginData(Structure): - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Key: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcBehaviourDetailAnimsData(Structure): - CanDetail: Annotated[ - cTkBlackboardDefaultValueBool, Field(cTkBlackboardDefaultValueBool, 0x0) - ] + CanDetail: Annotated[cTkBlackboardDefaultValueBool, 0x0] @partial_struct class cGcBehaviourFaceTargetData(Structure): - TargetKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TargetKey: Annotated[basic.TkID0x10, 0x0] ArriveAngle: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcCustomisationShipTrails(Structure): - Trails: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - LinkedTechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Trails: Annotated[cTkModelResource, 0x0] + LinkedTechID: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcBehaviourGetTargetData(Structure): - TargetKey: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TargetKey: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -10858,59 +9210,52 @@ class cGcBehaviourIdleData(Structure): @partial_struct class cGcCustomisationThrusterJet(Structure): - JetMesh: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - Trail: Annotated[cTkModelResource, Field(cTkModelResource, 0x20)] - Effect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - LocatorPrefix: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + JetMesh: Annotated[cTkModelResource, 0x0] + Trail: Annotated[cTkModelResource, 0x20] + Effect: Annotated[basic.TkID0x10, 0x40] + LocatorPrefix: Annotated[basic.TkID0x10, 0x50] @partial_struct class cGcCustomisationThrusterEffect(Structure): - LightColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Tip: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10)] - Jets: Annotated[ - basic.cTkDynamicArray[cGcCustomisationThrusterJet], - Field(basic.cTkDynamicArray[cGcCustomisationThrusterJet], 0x30), - ] - LinkedSpecialID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + LightColour: Annotated[basic.Colour, 0x0] + Tip: Annotated[basic.cTkFixedString0x20, 0x10] + Jets: Annotated[basic.cTkDynamicArray[cGcCustomisationThrusterJet], 0x30] + LinkedSpecialID: Annotated[basic.TkID0x10, 0x40] + Name: Annotated[basic.TkID0x10, 0x50] AllowedInSeasonalDefaults: Annotated[bool, Field(ctypes.c_bool, 0x60)] HiddenInCustomiser: Annotated[bool, Field(ctypes.c_bool, 0x61)] @partial_struct class cGcBehaviourIncrementCounter(Structure): - Key: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Key: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcBehaviourLaunchProjectileData(Structure): - Projectile: Annotated[ - cTkBlackboardDefaultValueId, Field(cTkBlackboardDefaultValueId, 0x0) - ] + Projectile: Annotated[cTkBlackboardDefaultValueId, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x28)] HorizontalDispersion: Annotated[float, Field(ctypes.c_float, 0x2C)] VerticalDispersion: Annotated[float, Field(ctypes.c_float, 0x30)] - LaunchJoint: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x34) - ] + LaunchJoint: Annotated[basic.cTkFixedString0x40, 0x34] @partial_struct class cGcCustomisationTextureGroup(Structure): - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - GroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - TextureOptionGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + Title: Annotated[basic.cTkFixedString0x20, 0x0] + GroupID: Annotated[basic.TkID0x10, 0x20] + TextureOptionGroup: Annotated[basic.TkID0x10, 0x30] @partial_struct class cGcCustomisationFreighterEngineEffect(Structure): - GlowColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - EffectResource: Annotated[cTkModelResource, Field(cTkModelResource, 0x10)] - Tip: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x30)] - LinkedSpecialID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - LinkedTechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] + GlowColour: Annotated[basic.Colour, 0x0] + EffectResource: Annotated[cTkModelResource, 0x10] + Tip: Annotated[basic.cTkFixedString0x20, 0x30] + LinkedSpecialID: Annotated[basic.TkID0x10, 0x50] + LinkedTechID: Annotated[basic.TkID0x10, 0x60] + Name: Annotated[basic.TkID0x10, 0x70] @partial_struct @@ -10921,7 +9266,7 @@ class cGcScareCreaturesAction(Structure): @partial_struct class cGcSpawnAction(Structure): - Event: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Event: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -10931,22 +9276,20 @@ class cGcCustomisationCameraData(Structure): MaxYaw: Annotated[float, Field(ctypes.c_float, 0x8)] MinPitch: Annotated[float, Field(ctypes.c_float, 0xC)] MinYaw: Annotated[float, Field(ctypes.c_float, 0x10)] - InteracttionCameraFocusJoint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x14) - ] + InteracttionCameraFocusJoint: Annotated[basic.cTkFixedString0x20, 0x14] @partial_struct class cGcCustomisationColourGroup(Structure): - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - GroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Palette: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x30)] + Title: Annotated[basic.cTkFixedString0x20, 0x0] + GroupID: Annotated[basic.TkID0x10, 0x20] + Palette: Annotated[cTkPaletteTexture, 0x30] HiddenForFirstOption: Annotated[bool, Field(ctypes.c_bool, 0x3C)] @partial_struct class cGcAnimFrameEvent(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Anim: Annotated[basic.TkID0x10, 0x0] FrameStart: Annotated[int, Field(ctypes.c_int32, 0x10)] StartFromEnd: Annotated[bool, Field(ctypes.c_bool, 0x14)] @@ -10961,15 +9304,12 @@ class eShotByEnum(IntEnum): Anything = 0x1 PlayerOrRemotePlayer = 0x2 - ShotBy: Annotated[c_enum32[eShotByEnum], Field(c_enum32[eShotByEnum], 0x8)] + ShotBy: Annotated[c_enum32[eShotByEnum], 0x8] @partial_struct class cGcCreatureNearbyEvent(Structure): - AlertTable: Annotated[ - basic.cTkDynamicArray[cGcCreatureAlertData], - Field(basic.cTkDynamicArray[cGcCreatureAlertData], 0x0), - ] + AlertTable: Annotated[basic.cTkDynamicArray[cGcCreatureAlertData], 0x0] Inverse: Annotated[bool, Field(ctypes.c_bool, 0x10)] @@ -10981,7 +9321,7 @@ class cGcPlayerAttributesEvent(Structure): @partial_struct class cGcPlayerNearbyEvent(Structure): - MustAffordCostID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MustAffordCostID: Annotated[basic.TkID0x10, 0x0] Angle: Annotated[float, Field(ctypes.c_float, 0x10)] AngleMinDistance: Annotated[float, Field(ctypes.c_float, 0x14)] AngleOffset: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -10991,9 +9331,7 @@ class eDistanceCheckTypeEnum(IntEnum): Radius = 0x0 BoundingBox = 0x1 - DistanceCheckType: Annotated[ - c_enum32[eDistanceCheckTypeEnum], Field(c_enum32[eDistanceCheckTypeEnum], 0x20) - ] + DistanceCheckType: Annotated[c_enum32[eDistanceCheckTypeEnum], 0x20] class eRequirePlayerActionEnum(IntEnum): None_ = 0x0 @@ -11003,10 +9341,7 @@ class eRequirePlayerActionEnum(IntEnum): OnFootOutside = 0x4 Upload = 0x5 - RequirePlayerAction: Annotated[ - c_enum32[eRequirePlayerActionEnum], - Field(c_enum32[eRequirePlayerActionEnum], 0x24), - ] + RequirePlayerAction: Annotated[c_enum32[eRequirePlayerActionEnum], 0x24] AnglePlayerRelative: Annotated[bool, Field(ctypes.c_bool, 0x28)] AngleReflected: Annotated[bool, Field(ctypes.c_bool, 0x29)] IncludeAllPhysics: Annotated[bool, Field(ctypes.c_bool, 0x2A)] @@ -11030,27 +9365,27 @@ class cGcStormEvent(Structure): @partial_struct class cGcCustomisationBackpackData(Structure): - ActiveJetOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - NodeName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10)] + ActiveJetOffset: Annotated[basic.Vector3f, 0x0] + NodeName: Annotated[basic.cTkFixedString0x20, 0x10] @partial_struct class cGcCustomisationBannerImageData(Structure): - TipText: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - BannerImage: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x20)] - LinkedSpecialID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x38)] + TipText: Annotated[basic.cTkFixedString0x20, 0x0] + BannerImage: Annotated[cTkTextureResource, 0x20] + LinkedSpecialID: Annotated[basic.TkID0x10, 0x38] WideImage: Annotated[bool, Field(ctypes.c_bool, 0x48)] @partial_struct class cGcPlayAnimAction(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Anim: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcPlayAudioAction(Structure): OcclusionRadius: Annotated[float, Field(ctypes.c_float, 0x0)] - Sound: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x4)] + Sound: Annotated[basic.cTkFixedString0x80, 0x4] UseOcclusion: Annotated[bool, Field(ctypes.c_bool, 0x84)] @@ -11067,37 +9402,29 @@ class cGcResetSimpleInteractionAction(Structure): @partial_struct class cGcCustomisationBobbleHead(Structure): - BobbleHead: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - LinkedTechId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + BobbleHead: Annotated[cTkModelResource, 0x0] + LinkedTechId: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcRewardAction(Structure): - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Reward: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcCustomisationBoneScales(Structure): - GroupTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Positions: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x20), - ] - ScaleBoneName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + GroupTitle: Annotated[basic.cTkFixedString0x20, 0x0] + Positions: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x20] + ScaleBoneName: Annotated[basic.TkID0x10, 0x30] @partial_struct class cGcMultitoolPoolData(Structure): - File: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + File: Annotated[basic.VariableSizeString, 0x0] MaxDraw: Annotated[int, Field(ctypes.c_int32, 0x10)] MinDraw: Annotated[int, Field(ctypes.c_int32, 0x14)] PoolProbability: Annotated[float, Field(ctypes.c_float, 0x18)] - PoolType: Annotated[ - c_enum32[enums.cGcMultitoolPoolType], - Field(c_enum32[enums.cGcMultitoolPoolType], 0x1C), - ] + PoolType: Annotated[c_enum32[enums.cGcMultitoolPoolType], 0x1C] @partial_struct @@ -11107,16 +9434,14 @@ class cGcFireSimpleInteractionAction(Structure): @partial_struct class cGcFrigateInteractionAction(Structure): - CommunicatorDialog: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + CommunicatorDialog: Annotated[basic.TkID0x20, 0x0] class eActionTypeEnum(IntEnum): Repair = 0x0 UpdateDamagedComponents = 0x1 CargoPhoneCall = 0x2 - ActionType: Annotated[ - c_enum32[eActionTypeEnum], Field(c_enum32[eActionTypeEnum], 0x20) - ] + ActionType: Annotated[c_enum32[eActionTypeEnum], 0x20] @partial_struct @@ -11126,10 +9451,7 @@ class cGcHarvestPlantAction(Structure): @partial_struct class cGcHazardAction(Structure): - Hazard: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x0), - ] + Hazard: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x0] Radius: Annotated[float, Field(ctypes.c_float, 0x4)] Strength: Annotated[float, Field(ctypes.c_float, 0x8)] RadiusBasedStrength: Annotated[bool, Field(ctypes.c_bool, 0xC)] @@ -11142,9 +9464,7 @@ class cGcLodAction(Structure): @partial_struct class cGcNodeActivationAction(Structure): - SceneToAdd: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] + SceneToAdd: Annotated[basic.VariableSizeString, 0x0] class eNodeActiveStateEnum(IntEnum): Activate = 0x0 @@ -11154,10 +9474,8 @@ class eNodeActiveStateEnum(IntEnum): Remove = 0x4 RemoveChildren = 0x5 - NodeActiveState: Annotated[ - c_enum32[eNodeActiveStateEnum], Field(c_enum32[eNodeActiveStateEnum], 0x10) - ] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x14)] + NodeActiveState: Annotated[c_enum32[eNodeActiveStateEnum], 0x10] + Name: Annotated[basic.cTkFixedString0x80, 0x14] AffectModels: Annotated[bool, Field(ctypes.c_bool, 0x94)] IncludeChildPhysics: Annotated[bool, Field(ctypes.c_bool, 0x95)] IncludePhysics: Annotated[bool, Field(ctypes.c_bool, 0x96)] @@ -11169,13 +9487,13 @@ class eNodeActiveStateEnum(IntEnum): @partial_struct class cGcSpaceStormData(Structure): - File: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - StormId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + File: Annotated[basic.VariableSizeString, 0x0] + StormId: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcPainAction(Structure): - Damage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Damage: Annotated[basic.TkID0x10, 0x0] Radius: Annotated[float, Field(ctypes.c_float, 0x10)] RetriggerTime: Annotated[float, Field(ctypes.c_float, 0x14)] AffectsPlayer: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -11184,84 +9502,71 @@ class cGcPainAction(Structure): @partial_struct class cGcBaseBuildingSettingsAction(Structure): - MaxAffectedDetail: Annotated[ - c_enum32[enums.cTkGraphicsDetailTypes], - Field(c_enum32[enums.cTkGraphicsDetailTypes], 0x0), - ] + MaxAffectedDetail: Annotated[c_enum32[enums.cTkGraphicsDetailTypes], 0x0] class eUseCorePartsOnlyEnum(IntEnum): False_ = 0x0 True_ = 0x1 DontCare = 0x2 - UseCorePartsOnly: Annotated[ - c_enum32[eUseCorePartsOnlyEnum], Field(c_enum32[eUseCorePartsOnlyEnum], 0x4) - ] + UseCorePartsOnly: Annotated[c_enum32[eUseCorePartsOnlyEnum], 0x4] @partial_struct class cGcMetaBallComponentData(Structure): - MaxSize: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - MinSize: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - File: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + MaxSize: Annotated[basic.Vector3f, 0x0] + MinSize: Annotated[basic.Vector3f, 0x10] + File: Annotated[basic.VariableSizeString, 0x20] Radius: Annotated[float, Field(ctypes.c_float, 0x30)] - Root: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x34)] + Root: Annotated[basic.cTkFixedString0x20, 0x34] @partial_struct class cGcCameraShakeAction(Structure): - Shake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Shake: Annotated[basic.TkID0x10, 0x0] FalloffMax: Annotated[float, Field(ctypes.c_float, 0x10)] FalloffMin: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cGcDestroyAction(Structure): - PlayEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + PlayEffect: Annotated[basic.TkID0x10, 0x0] DestroyAll: Annotated[bool, Field(ctypes.c_bool, 0x10)] UseDestructables: Annotated[bool, Field(ctypes.c_bool, 0x11)] @partial_struct class cGcHeroLightData(Structure): - DayColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - NightColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] + DayColour: Annotated[basic.Colour, 0x0] + NightColour: Annotated[basic.Colour, 0x10] DayIntensityMultiplier: Annotated[float, Field(ctypes.c_float, 0x20)] FOVMultiplier: Annotated[float, Field(ctypes.c_float, 0x24)] NightIntensityMultiplier: Annotated[float, Field(ctypes.c_float, 0x28)] - LightName: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x2C) - ] + LightName: Annotated[basic.cTkFixedString0x80, 0x2C] @partial_struct class cGcActionTrigger(Structure): - Action: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] - Event: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x10)] + Action: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] + Event: Annotated[basic.NMSTemplate, 0x10] @partial_struct class cGcLootProbability(Structure): - LootModel: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] + LootModel: Annotated[cTkModelResource, 0x0] Probability: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcActionTriggerState(Structure): - StateID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Triggers: Annotated[ - basic.cTkDynamicArray[cGcActionTrigger], - Field(basic.cTkDynamicArray[cGcActionTrigger], 0x10), - ] + StateID: Annotated[basic.TkID0x10, 0x0] + Triggers: Annotated[basic.cTkDynamicArray[cGcActionTrigger], 0x10] @partial_struct class cGcBaseDefenceTrigger(Structure): - LaserEffectId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - PerceptionId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + LaserEffectId: Annotated[basic.TkID0x10, 0x0] + PerceptionId: Annotated[basic.TkID0x10, 0x10] ActiveWhenIdle: Annotated[bool, Field(ctypes.c_bool, 0x20)] ActiveWhenSearching: Annotated[bool, Field(ctypes.c_bool, 0x21)] ActiveWhenTargetAcquired: Annotated[bool, Field(ctypes.c_bool, 0x22)] @@ -11269,27 +9574,27 @@ class cGcBaseDefenceTrigger(Structure): @partial_struct class cGcCameraShakeTriggerData(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Anim: Annotated[basic.TkID0x10, 0x0] FrameStart: Annotated[int, Field(ctypes.c_int32, 0x10)] - Shake: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x14)] + Shake: Annotated[basic.cTkFixedString0x20, 0x14] @partial_struct class cGcChainComponentData(Structure): - StartBone: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + StartBone: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct class cGcColourisePalette(Structure): - PrimaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - QuaternaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - SecondaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - TernaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] + PrimaryColour: Annotated[basic.Colour, 0x0] + QuaternaryColour: Annotated[basic.Colour, 0x10] + SecondaryColour: Annotated[basic.Colour, 0x20] + TernaryColour: Annotated[basic.Colour, 0x30] @partial_struct class cGcInventoryTechProbability(Structure): - Tech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Tech: Annotated[basic.TkID0x10, 0x0] class eDesiredTechProbabilityEnum(IntEnum): Never = 0x0 @@ -11297,32 +9602,22 @@ class eDesiredTechProbabilityEnum(IntEnum): Common = 0x2 Always = 0x3 - DesiredTechProbability: Annotated[ - c_enum32[eDesiredTechProbabilityEnum], - Field(c_enum32[eDesiredTechProbabilityEnum], 0x10), - ] + DesiredTechProbability: Annotated[c_enum32[eDesiredTechProbabilityEnum], 0x10] @partial_struct class cGcEasyRagdollSetUpBodyDimensions(Structure): - Centre: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Size: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Joint: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] + Centre: Annotated[basic.Vector3f, 0x0] + Size: Annotated[basic.Vector3f, 0x10] + Joint: Annotated[basic.cTkFixedString0x20, 0x20] @partial_struct class cGcEasyRagdollSetUpData(Structure): - ChainEnds: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0), - ] - ExcludeJoints: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10), - ] + ChainEnds: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0] + ExcludeJoints: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10] ForceBodyDimensions: Annotated[ - basic.cTkDynamicArray[cGcEasyRagdollSetUpBodyDimensions], - Field(basic.cTkDynamicArray[cGcEasyRagdollSetUpBodyDimensions], 0x20), + basic.cTkDynamicArray[cGcEasyRagdollSetUpBodyDimensions], 0x20 ] @@ -11334,8 +9629,10 @@ class cGcMiningComponentData(Structure): @partial_struct class cGcOutpostLSystemPair(Structure): - LSystems: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Locator: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x90)] + LSystems: Annotated[ + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 9, 0x0) + ] + Locator: Annotated[basic.cTkFixedString0x20, 0x90] @partial_struct @@ -11359,51 +9656,41 @@ class cGcCombatEffectsProperties(Structure): @partial_struct class cGcPlayerControlInput(Structure): - Inputs: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] + Inputs: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] InterceptInputBlackList: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], 0x10), + basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], 0x10 ] InterceptInputWhitelist: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], 0x20), + basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], 0x20 ] InterceptAllInputs: Annotated[bool, Field(ctypes.c_bool, 0x30)] @partial_struct class cGcPlayerControlModeEntry(Structure): - ControlModeResource: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + ControlModeResource: Annotated[cTkModelResource, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcPlayerControlState(Structure): - OverrideInput: Annotated[cGcPlayerControlInput, Field(cGcPlayerControlInput, 0x0)] - Data: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x38), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - OverrideCamera: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] + OverrideInput: Annotated[cGcPlayerControlInput, 0x0] + Data: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x38] + Id: Annotated[basic.TkID0x10, 0x48] + OverrideCamera: Annotated[basic.TkID0x10, 0x58] StickToGround: Annotated[bool, Field(ctypes.c_bool, 0x68)] @partial_struct class cGcCharacterAlternateAnimation(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Replacement: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Anim: Annotated[basic.TkID0x10, 0x0] + Replacement: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcCharacterJetpackEffect(Structure): - Effect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - NodeName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x10) - ] + Effect: Annotated[basic.TkID0x10, 0x0] + NodeName: Annotated[basic.cTkFixedString0x100, 0x10] @partial_struct @@ -11425,45 +9712,43 @@ class cGcCharacterLookAtData(Structure): @partial_struct class cGcCharacterMove(Structure): - Input: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Input: Annotated[basic.TkID0x10, 0x0] class eModeEnum(IntEnum): SetVelocity = 0x0 ApplyForce = 0x1 - Mode: Annotated[c_enum32[eModeEnum], Field(c_enum32[eModeEnum], 0x10)] + Mode: Annotated[c_enum32[eModeEnum], 0x10] Strength: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cGcCharacterRotate(Structure): - Input: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Input: Annotated[basic.TkID0x10, 0x0] Damping: Annotated[float, Field(ctypes.c_float, 0x10)] - RotateAxis: Annotated[ - c_enum32[enums.cGcPrimaryAxis], Field(c_enum32[enums.cGcPrimaryAxis], 0x14) - ] + RotateAxis: Annotated[c_enum32[enums.cGcPrimaryAxis], 0x14] RotateTime: Annotated[float, Field(ctypes.c_float, 0x18)] @partial_struct class cGcRewardTableEntitlementItem(Structure): - EntitlementId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Reward: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x10)] - RewardId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + EntitlementId: Annotated[basic.TkID0x10, 0x0] + Reward: Annotated[basic.NMSTemplate, 0x10] + RewardId: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcStatsBonus(Structure): Bonus: Annotated[float, Field(ctypes.c_float, 0x0)] Level: Annotated[int, Field(ctypes.c_int32, 0x4)] - Stat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x8) - ] + Stat: Annotated[c_enum32[enums.cGcStatsTypes], 0x8] @partial_struct class cGcStatIconTable(Structure): - StatIcons: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + StatIcons: Annotated[ + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 206, 0x0) + ] @partial_struct @@ -11484,32 +9769,24 @@ class cGcValueData(Structure): @partial_struct class cGcExactResource(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - GenerationSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x10)] + Filename: Annotated[basic.VariableSizeString, 0x0] + GenerationSeed: Annotated[basic.GcSeed, 0x10] @partial_struct class cGcItemFilterStageDataStageGroup(Structure): - Children: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] + Children: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] class eFilterStageGroupOperatorEnum(IntEnum): AND = 0x0 OR = 0x1 - FilterStageGroupOperator: Annotated[ - c_enum32[eFilterStageGroupOperatorEnum], - Field(c_enum32[eFilterStageGroupOperatorEnum], 0x10), - ] + FilterStageGroupOperator: Annotated[c_enum32[eFilterStageGroupOperatorEnum], 0x10] @partial_struct class cGcItemFilterStageDataTechPack(Structure): - DisabledMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + DisabledMessage: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct @@ -11525,7 +9802,9 @@ class cGcRewardDestructEntry(Structure): @partial_struct class cGcRewardDestructRarities(Structure): - Rarities: Annotated[cGcRewardDestructEntry, Field(cGcRewardDestructEntry, 0x0)] + Rarities: Annotated[ + tuple[cGcRewardDestructEntry, ...], Field(cGcRewardDestructEntry * 3, 0x0) + ] @partial_struct @@ -11535,19 +9814,19 @@ class cGcCustomiseShipInteractionData(Structure): @partial_struct class cGcItemFilterData(Structure): - Root: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] + Root: Annotated[basic.NMSTemplate, 0x0] @partial_struct class cGcItemFilterDataTableEntry(Structure): - Filter: Annotated[cGcItemFilterData, Field(cGcItemFilterData, 0x0)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Filter: Annotated[cGcItemFilterData, 0x0] + ID: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcUnlockablePlatformReward(Structure): - ProductId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - RewardId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ProductId: Annotated[basic.TkID0x10, 0x0] + RewardId: Annotated[basic.TkID0x10, 0x10] @partial_struct @@ -11557,18 +9836,10 @@ class cGcItemFilterStageDataAcceptAll(Structure): @partial_struct class cGcUnlockableSeasonReward(Structure): - SpecificMilestoneLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - SeasonIds: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x30), - ] - StageIds: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x40), - ] + SpecificMilestoneLoc: Annotated[basic.cTkFixedString0x20, 0x0] + ID: Annotated[basic.TkID0x10, 0x20] + SeasonIds: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x30] + StageIds: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x40] MustBeUnlocked: Annotated[bool, Field(ctypes.c_bool, 0x50)] SwitchExclusive: Annotated[bool, Field(ctypes.c_bool, 0x51)] UniqueInventoryItem: Annotated[bool, Field(ctypes.c_bool, 0x52)] @@ -11576,103 +9847,86 @@ class cGcUnlockableSeasonReward(Structure): @partial_struct class cGcItemFilterStageDataMatchID(Structure): - DisabledMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ValidIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - MatchType: Annotated[ - c_enum32[enums.cGcItemFilterMatchIDType], - Field(c_enum32[enums.cGcItemFilterMatchIDType], 0x30), - ] + DisabledMessage: Annotated[basic.cTkFixedString0x20, 0x0] + ValidIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + MatchType: Annotated[c_enum32[enums.cGcItemFilterMatchIDType], 0x30] @partial_struct class cGcItemFilterStageDataNegation(Structure): - Child: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] + Child: Annotated[basic.NMSTemplate, 0x0] @partial_struct class cGcUnlockableTwitchReward(Structure): - LinkedGroupId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ProductId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - TwitchId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + LinkedGroupId: Annotated[basic.TkID0x10, 0x0] + ProductId: Annotated[basic.TkID0x10, 0x10] + TwitchId: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcWeaponInventoryMaxUpgradeCapacity(Structure): - MaxInventoryCapacity: Annotated[int, Field(ctypes.c_int32, 0x0)] + MaxInventoryCapacity: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0x0)] @partial_struct class cGcUnlockableItemTreeNode(Structure): - Children: Annotated[ - "basic.cTkDynamicArray[cGcUnlockableItemTreeNode]", - Field("basic.cTkDynamicArray[cGcUnlockableItemTreeNode]", 0x0), - ] - Unlockable: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Children: Annotated["basic.cTkDynamicArray[cGcUnlockableItemTreeNode]", 0x0] + Unlockable: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcUnlockableItemTree(Structure): - Root: Annotated[cGcUnlockableItemTreeNode, Field(cGcUnlockableItemTreeNode, 0x0)] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - CostTypeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + Root: Annotated[cGcUnlockableItemTreeNode, 0x0] + Title: Annotated[basic.cTkFixedString0x20, 0x20] + CostTypeID: Annotated[basic.TkID0x10, 0x40] @partial_struct class cGcWeightedFilename(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Filename: Annotated[basic.VariableSizeString, 0x0] Weight: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcTechList(Structure): - AvailableTech: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + AvailableTech: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct class cGcTradingCategoryData(Structure): - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] + Icon: Annotated[cTkTextureResource, 0x0] ProductMultiplierChangePer100: Annotated[float, Field(ctypes.c_float, 0x18)] SubstanceMultiplierChangePer100: Annotated[float, Field(ctypes.c_float, 0x1C)] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x20)] + Name: Annotated[basic.cTkFixedString0x40, 0x20] @partial_struct class cGcTradeData(Structure): AlwaysConsideredBarterProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - AlwaysPresentProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] - AlwaysPresentSubstances: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - OptionalProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] - OptionalSubstances: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x40), - ] - MaxAmountOfProductAvailable: Annotated[int, Field(ctypes.c_int32, 0x50)] - MaxAmountOfSubstanceAvailable: Annotated[int, Field(ctypes.c_int32, 0x60)] - MaxExtraSystemProducts: Annotated[int, Field(ctypes.c_int32, 0x70)] - MinAmountOfProductAvailable: Annotated[int, Field(ctypes.c_int32, 0x80)] - MinAmountOfSubstanceAvailable: Annotated[int, Field(ctypes.c_int32, 0x90)] - MinExtraSystemProducts: Annotated[int, Field(ctypes.c_int32, 0xA0)] - TradeProductsPriceImprovements: Annotated[float, Field(ctypes.c_float, 0xB0)] + basic.cTkDynamicArray[basic.TkID0x10], 0x0 + ] + AlwaysPresentProducts: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] + AlwaysPresentSubstances: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + OptionalProducts: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] + OptionalSubstances: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x40] + MaxAmountOfProductAvailable: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x50) + ] + MaxAmountOfSubstanceAvailable: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x60) + ] + MaxExtraSystemProducts: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0x70)] + MinAmountOfProductAvailable: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x80) + ] + MinAmountOfSubstanceAvailable: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x90) + ] + MinExtraSystemProducts: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0xA0)] + TradeProductsPriceImprovements: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0xB0) + ] BarterItemPreferenceFloor: Annotated[float, Field(ctypes.c_float, 0xC0)] BarterPriceMultiplier: Annotated[float, Field(ctypes.c_float, 0xC4)] BuyPriceDecreaseGreenThreshold: Annotated[float, Field(ctypes.c_float, 0xC8)] @@ -11682,24 +9936,22 @@ class cGcTradeData(Structure): PercentageOfItemsAreProducts: Annotated[float, Field(ctypes.c_float, 0xD8)] SellPriceDecreaseRedThreshold: Annotated[float, Field(ctypes.c_float, 0xDC)] SellPriceIncreaseGreenThreshold: Annotated[float, Field(ctypes.c_float, 0xE0)] - BarterAcceptanceCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xE4) - ] + BarterAcceptanceCurve: Annotated[c_enum32[enums.cTkCurveType], 0xE4] ShowSeasonRewards: Annotated[bool, Field(ctypes.c_bool, 0xE5)] UseBarterForBuy: Annotated[bool, Field(ctypes.c_bool, 0xE6)] @partial_struct class cGcTechBoxData(Structure): - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - InstallTechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18)] - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x28)] + Icon: Annotated[cTkTextureResource, 0x0] + InstallTechID: Annotated[basic.TkID0x10, 0x18] + ProductID: Annotated[basic.TkID0x10, 0x28] IsAlien: Annotated[bool, Field(ctypes.c_bool, 0x38)] @partial_struct class cGcSubstanceSecondary(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] AmountMax: Annotated[float, Field(ctypes.c_float, 0x10)] AmountMin: Annotated[float, Field(ctypes.c_float, 0x14)] Chance: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -11708,17 +9960,14 @@ class cGcSubstanceSecondary(Structure): @partial_struct class cGcSubstanceSecondaryBiome(Structure): SecondarySubstanceByBiome: Annotated[ - cGcSubstanceSecondary, Field(cGcSubstanceSecondary, 0x0) + tuple[cGcSubstanceSecondary, ...], Field(cGcSubstanceSecondary * 17, 0x0) ] @partial_struct class cGcSubstanceSecondaryLookup(Structure): - PrimaryID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - SecondaryChances: Annotated[ - basic.cTkDynamicArray[cGcSubstanceSecondary], - Field(basic.cTkDynamicArray[cGcSubstanceSecondary], 0x10), - ] + PrimaryID: Annotated[basic.TkID0x10, 0x0] + SecondaryChances: Annotated[basic.cTkDynamicArray[cGcSubstanceSecondary], 0x10] @partial_struct @@ -11730,56 +9979,53 @@ class cGcSettlementStatStrengthRanges(Structure): @partial_struct class cGcSettlementStatStrengthData(Structure): PerkStatStrengthValues: Annotated[ - cGcSettlementStatStrengthRanges, Field(cGcSettlementStatStrengthRanges, 0x0) + tuple[cGcSettlementStatStrengthRanges, ...], + Field(cGcSettlementStatStrengthRanges * 7, 0x0), ] @partial_struct class cGcSettlementJudgementPerkOption(Structure): - Perk: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Perk: Annotated[basic.TkID0x10, 0x0] PerkChance: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcShipInventoryMaxUpgradeCapacity(Structure): - MaxCargoInventoryCapacity: Annotated[int, Field(ctypes.c_int32, 0x0)] - MaxInventoryCapacity: Annotated[int, Field(ctypes.c_int32, 0x10)] - MaxTechInventoryCapacity: Annotated[int, Field(ctypes.c_int32, 0x20)] + MaxCargoInventoryCapacity: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x0) + ] + MaxInventoryCapacity: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0x10)] + MaxTechInventoryCapacity: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x20) + ] @partial_struct class cGcStatsEntry(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - BaseTechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Colour: Annotated[basic.Colour, 0x0] + BaseTechID: Annotated[basic.TkID0x10, 0x10] RangeMax: Annotated[float, Field(ctypes.c_float, 0x20)] RangeMin: Annotated[float, Field(ctypes.c_float, 0x24)] - Type: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x28) - ] + Type: Annotated[c_enum32[enums.cGcStatsTypes], 0x28] LessIsBetter: Annotated[bool, Field(ctypes.c_bool, 0x2C)] @partial_struct class cGcStatsGroup(Structure): - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18)] - StatIds: Annotated[ - basic.cTkDynamicArray[cGcStatsEntry], - Field(basic.cTkDynamicArray[cGcStatsEntry], 0x28), - ] + Icon: Annotated[cTkTextureResource, 0x0] + Id: Annotated[basic.TkID0x10, 0x18] + StatIds: Annotated[basic.cTkDynamicArray[cGcStatsEntry], 0x28] @partial_struct class cGcStats(Structure): - Stats: Annotated[ - basic.cTkDynamicArray[cGcStatsGroup], - Field(basic.cTkDynamicArray[cGcStatsGroup], 0x0), - ] + Stats: Annotated[basic.cTkDynamicArray[cGcStatsGroup], 0x0] @partial_struct class cGcRewardTrigger(Structure): - Trigger: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Trigger: Annotated[basic.TkID0x10, 0x0] UseMasterModel: Annotated[bool, Field(ctypes.c_bool, 0x10)] @@ -11800,10 +10046,8 @@ class cGcRewardTriggerStorm(Structure): @partial_struct class cGcRewardUnlockSeasonReward(Structure): - EncryptedText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + EncryptedText: Annotated[basic.cTkFixedString0x20, 0x0] + ProductID: Annotated[basic.TkID0x10, 0x20] MarkAsClaimedInShop: Annotated[bool, Field(ctypes.c_bool, 0x30)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x31)] UniqueInventoryItem: Annotated[bool, Field(ctypes.c_bool, 0x32)] @@ -11812,15 +10056,15 @@ class cGcRewardUnlockSeasonReward(Structure): @partial_struct class cGcRewardUnlockTitle(Structure): - TitleID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TitleID: Annotated[basic.TkID0x10, 0x0] NoMusic: Annotated[bool, Field(ctypes.c_bool, 0x10)] ShowEvenIfAlreadyUnlocked: Annotated[bool, Field(ctypes.c_bool, 0x11)] @partial_struct class cGcSettlementGiftDetails(Structure): - LocID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + LocID: Annotated[basic.cTkFixedString0x20, 0x0] + Reward: Annotated[basic.TkID0x10, 0x20] @partial_struct @@ -11837,17 +10081,16 @@ class cGcRewardUploadBase(Structure): @partial_struct class cGcRewardWantedLevel(Structure): - Message: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + Message: Annotated[basic.cTkFixedString0x20, 0x0] Level: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcRewardWeapon(Structure): - PoolTypeProbabilities: Annotated[float, Field(ctypes.c_float, 0x0)] + PoolTypeProbabilities: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x0)] ItemLevel: Annotated[int, Field(ctypes.c_int32, 0x14)] SetInteractionStateOnSuccess: Annotated[ - c_enum32[enums.cGcInteractionMissionState], - Field(c_enum32[enums.cGcInteractionMissionState], 0x18), + c_enum32[enums.cGcInteractionMissionState], 0x18 ] ForceFixed: Annotated[bool, Field(ctypes.c_bool, 0x1C)] MarkInteractionComplete: Annotated[bool, Field(ctypes.c_bool, 0x1D)] @@ -11859,24 +10102,21 @@ class cGcRewardWeapon(Structure): @partial_struct class cGcRewardWeaponSlot(Structure): - Cost: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Cost: Annotated[basic.TkID0x10, 0x0] NumTokens: Annotated[int, Field(ctypes.c_int32, 0x10)] AwardCostAndOpenWindow: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcRewardWikiTopic(Structure): - Topic: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + Topic: Annotated[basic.cTkFixedString0x20, 0x0] CentreMessage: Annotated[bool, Field(ctypes.c_bool, 0x20)] @partial_struct class cGcRewardTechRecipe(Structure): - RewardGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Category: Annotated[ - c_enum32[enums.cGcTechnologyCategory], - Field(c_enum32[enums.cGcTechnologyCategory], 0x10), - ] + RewardGroup: Annotated[basic.TkID0x10, 0x0] + Category: Annotated[c_enum32[enums.cGcTechnologyCategory], 0x10] @partial_struct @@ -11901,8 +10141,8 @@ class cGcRewardStartSettlementExpedition(Structure): @partial_struct class cGcRewardStatCompareAndSet(Structure): - CompareAndSetStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - CoreStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + CompareAndSetStat: Annotated[basic.TkID0x10, 0x0] + CoreStat: Annotated[basic.TkID0x10, 0x10] @partial_struct @@ -11917,10 +10157,7 @@ class cGcRewardSwapMultiTool(Structure): @partial_struct class cGcRewardSystemSpecificProductFromList(Structure): - ProductList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + ProductList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x10)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x14)] ForceSpecialMessage: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -11928,40 +10165,32 @@ class cGcRewardSystemSpecificProductFromList(Structure): @partial_struct class cGcRewardTableItem(Structure): - LabelID: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Reward: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x10)] + LabelID: Annotated[basic.VariableSizeString, 0x0] + Reward: Annotated[basic.NMSTemplate, 0x10] PercentageChance: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcRewardSpecificTechFromList(Structure): - TechList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + TechList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] class eTechListRewardOrderEnum(IntEnum): OneRandom = 0x0 InOrder = 0x1 TryAllRandom = 0x2 - TechListRewardOrder: Annotated[ - c_enum32[eTechListRewardOrderEnum], - Field(c_enum32[eTechListRewardOrderEnum], 0x10), - ] + TechListRewardOrder: Annotated[c_enum32[eTechListRewardOrderEnum], 0x10] FailIfAllKnown: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcRewardShipMessage(Structure): - ShipMessage: Annotated[ - c_enum32[enums.cGcShipMessage], Field(c_enum32[enums.cGcShipMessage], 0x0) - ] + ShipMessage: Annotated[c_enum32[enums.cGcShipMessage], 0x0] @partial_struct class cGcRewardShipSlot(Structure): - Cost: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Cost: Annotated[basic.TkID0x10, 0x0] NumTokens: Annotated[int, Field(ctypes.c_int32, 0x10)] AwardCostAndOpenWindow: Annotated[bool, Field(ctypes.c_bool, 0x14)] FallbackOpenWindowIfBlocked: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -11975,26 +10204,15 @@ class cGcRewardShowBlackHoles(Structure): @partial_struct class cGcRewardSpecialFromList(Structure): - TextFormat: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - FallbackList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - PriorityList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] + TextFormat: Annotated[basic.cTkFixedString0x20, 0x0] + FallbackList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + PriorityList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] @partial_struct class cGcRewardSpecificCommunityTierProduct(Structure): - ProductList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - RequiresTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ProductList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + RequiresTech: Annotated[basic.TkID0x10, 0x10] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x24)] ForceSpecialMessage: Annotated[bool, Field(ctypes.c_bool, 0x28)] @@ -12002,11 +10220,9 @@ class cGcRewardSpecificCommunityTierProduct(Structure): @partial_struct class cGcRewardSpecificSpecial(Structure): - Message: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - MilestoneRewardOverrideText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + Message: Annotated[basic.cTkFixedString0x20, 0x0] + MilestoneRewardOverrideText: Annotated[basic.cTkFixedString0x20, 0x20] + ID: Annotated[basic.TkID0x10, 0x40] FailIfAlreadyKnown: Annotated[bool, Field(ctypes.c_bool, 0x50)] HideInSeasonRewards: Annotated[bool, Field(ctypes.c_bool, 0x51)] ShowSpecialProductPopup: Annotated[bool, Field(ctypes.c_bool, 0x52)] @@ -12015,13 +10231,10 @@ class cGcRewardSpecificSpecial(Structure): @partial_struct class cGcRewardSpecificSubstance(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x10)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x14)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionSubstanceEnum], - Field(c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x18), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x18] DisableMultiplier: Annotated[bool, Field(ctypes.c_bool, 0x1C)] RewardAsBlobs: Annotated[bool, Field(ctypes.c_bool, 0x1D)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x1E)] @@ -12031,7 +10244,7 @@ class cGcRewardSpecificSubstance(Structure): @partial_struct class cGcRewardSpecificTech(Structure): - TechId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TechId: Annotated[basic.TkID0x10, 0x0] AutoPin: Annotated[bool, Field(ctypes.c_bool, 0x10)] HideInSeasonRewards: Annotated[bool, Field(ctypes.c_bool, 0x11)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x12)] @@ -12039,17 +10252,12 @@ class cGcRewardSpecificTech(Structure): @partial_struct class cGcRewardSpecificProduct(Structure): - SeasonRewardListFormat: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RequiresTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + SeasonRewardListFormat: Annotated[basic.cTkFixedString0x20, 0x0] + ID: Annotated[basic.TkID0x10, 0x20] + RequiresTech: Annotated[basic.TkID0x10, 0x30] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x40)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x44)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionProductEnum], - Field(c_enum32[enums.cGcDefaultMissionProductEnum], 0x48), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionProductEnum], 0x48] ForceSpecialMessage: Annotated[bool, Field(ctypes.c_bool, 0x4C)] HideAmountInMessage: Annotated[bool, Field(ctypes.c_bool, 0x4D)] HideInSeasonRewards: Annotated[bool, Field(ctypes.c_bool, 0x4E)] @@ -12058,20 +10266,14 @@ class cGcRewardSpecificProduct(Structure): @partial_struct class cGcRewardSettlementProgress(Structure): - BuildingType: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x0), - ] + BuildingType: Annotated[c_enum32[enums.cGcBuildingClassification], 0x0] UseInteractionBuildingType: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcRewardSpecificProductFromList(Structure): - IncrementGlobalStatOnSuccess: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ProductList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] + IncrementGlobalStatOnSuccess: Annotated[basic.TkID0x10, 0x0] + ProductList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x24)] ForceSpecialMessage: Annotated[bool, Field(ctypes.c_bool, 0x28)] @@ -12079,20 +10281,15 @@ class cGcRewardSpecificProductFromList(Structure): @partial_struct class cGcRewardSpecificProductRecipe(Structure): - SeasonRewardFormat: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + SeasonRewardFormat: Annotated[basic.cTkFixedString0x20, 0x0] + ID: Annotated[basic.TkID0x10, 0x20] HideInSeasonRewards: Annotated[bool, Field(ctypes.c_bool, 0x30)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x31)] @partial_struct class cGcRewardSpecificProductRecipeFromList(Structure): - ProductList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + ProductList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] class eProductListRewardOrderEnum(IntEnum): OneRandom = 0x0 @@ -12100,10 +10297,7 @@ class eProductListRewardOrderEnum(IntEnum): TryAllRandom = 0x2 TryUnknownRandom = 0x3 - ProductListRewardOrder: Annotated[ - c_enum32[eProductListRewardOrderEnum], - Field(c_enum32[eProductListRewardOrderEnum], 0x10), - ] + ProductListRewardOrder: Annotated[c_enum32[eProductListRewardOrderEnum], 0x10] FailIfAllKnown: Annotated[bool, Field(ctypes.c_bool, 0x14)] @@ -12122,7 +10316,7 @@ class cGcRewardShield(Structure): @partial_struct class cGcRewardSpecificSeasonalSubstance(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x10)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x14)] ChanceToUse: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -12135,9 +10329,7 @@ class eAssistanceTypeEnum(IntEnum): Police = 0x0 Wingmen = 0x1 - AssistanceType: Annotated[ - c_enum32[eAssistanceTypeEnum], Field(c_enum32[eAssistanceTypeEnum], 0x0) - ] + AssistanceType: Annotated[c_enum32[eAssistanceTypeEnum], 0x0] Time: Annotated[float, Field(ctypes.c_float, 0x4)] @@ -12157,8 +10349,7 @@ class eAbandonedFreighterMissionStateEnum(IntEnum): OpenDoors = 0x5 AbandonedFreighterMissionState: Annotated[ - c_enum32[eAbandonedFreighterMissionStateEnum], - Field(c_enum32[eAbandonedFreighterMissionStateEnum], 0x0), + c_enum32[eAbandonedFreighterMissionStateEnum], 0x0 ] Silent: Annotated[bool, Field(ctypes.c_bool, 0x4)] @@ -12170,20 +10361,22 @@ class cGcRewardSetAtlasMissionActive(Structure): @partial_struct class cGcRewardSalvageShip(Structure): - SpecificCustomisationSlotIDs: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecificCustomisationSlotIDs: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 11, 0x0) + ] RewardShipParts: Annotated[bool, Field(ctypes.c_bool, 0xB0)] @partial_struct class cGcRewardSetCurrentMission(Structure): - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Mission: Annotated[basic.TkID0x10, 0x0] Seeded: Annotated[bool, Field(ctypes.c_bool, 0x10)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x11)] @partial_struct class cGcRewardScan(Structure): - ScanDataId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ScanDataId: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -12193,10 +10386,8 @@ class cGcRewardSetFirstPurpleSystemUA(Structure): @partial_struct class cGcRewardScanEvent(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - FailureOSD: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] + Event: Annotated[basic.TkID0x20, 0x0] + FailureOSD: Annotated[basic.cTkFixedString0x20, 0x20] class eScanEventTableEnum(IntEnum): Space = 0x0 @@ -12206,9 +10397,7 @@ class eScanEventTableEnum(IntEnum): MissionsCreative = 0x4 NPCPlanetSite = 0x5 - ScanEventTable: Annotated[ - c_enum32[eScanEventTableEnum], Field(c_enum32[eScanEventTableEnum], 0x40) - ] + ScanEventTable: Annotated[c_enum32[eScanEventTableEnum], 0x40] StartDelay: Annotated[float, Field(ctypes.c_float, 0x44)] DoAerialScan: Annotated[bool, Field(ctypes.c_bool, 0x48)] ForceSilentFailure: Annotated[bool, Field(ctypes.c_bool, 0x49)] @@ -12224,24 +10413,17 @@ class cGcRewardScanEventNearestBuilding(Structure): @partial_struct class cGcRewardSetInteractionMissionState(Structure): - MissionState: Annotated[ - c_enum32[enums.cGcInteractionMissionState], - Field(c_enum32[enums.cGcInteractionMissionState], 0x0), - ] + MissionState: Annotated[c_enum32[enums.cGcInteractionMissionState], 0x0] SetForInteractionClassInMyBuilding: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x4), + c_enum32[enums.cGcInteractionType], 0x4 ] SetForThisInteraction: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcRewardSetInteractionSeenBitmask(Structure): - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - InteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x10), - ] + Stat: Annotated[basic.TkID0x10, 0x0] + InteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x10] OverrideIndex: Annotated[int, Field(ctypes.c_int32, 0x14)] @@ -12258,7 +10440,7 @@ class cGcRewardSetNexusExitWarpTargetToFireteamMemberUA(Structure): @partial_struct class cGcRewardSettlementCustomJudgement(Structure): - CustomJudgement: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + CustomJudgement: Annotated[basic.TkID0x10, 0x0] CanOverrideNonCustomJudgement: Annotated[bool, Field(ctypes.c_bool, 0x10)] DisplaySettlementJudgementAlert: Annotated[bool, Field(ctypes.c_bool, 0x11)] @@ -12271,26 +10453,21 @@ class cGcRewardSettlementJobGift(Structure): @partial_struct class cGcRewardRefreshHazProt(Structure): Amount: Annotated[float, Field(ctypes.c_float, 0x0)] - SpecificHazard: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x4), - ] + SpecificHazard: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x4] SetNotAdd: Annotated[bool, Field(ctypes.c_bool, 0x8)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x9)] @partial_struct class cGcRewardSettlementParty(Structure): - OSD: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + OSD: Annotated[basic.cTkFixedString0x20, 0x0] FireworksDuration: Annotated[float, Field(ctypes.c_float, 0x20)] FireworksFrequency: Annotated[float, Field(ctypes.c_float, 0x24)] @partial_struct class cGcRewardReinitialise(Structure): - OverrideMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + OverrideMessage: Annotated[basic.cTkFixedString0x20, 0x0] DoIntroNextWarp: Annotated[bool, Field(ctypes.c_bool, 0x20)] @@ -12301,31 +10478,26 @@ class cGcRewardRemoveSettlementJobPerk(Structure): @partial_struct class cGcRewardRepairTech(Structure): - Category: Annotated[ - c_enum32[enums.cGcTechnologyCategory], - Field(c_enum32[enums.cGcTechnologyCategory], 0x0), - ] + Category: Annotated[c_enum32[enums.cGcTechnologyCategory], 0x0] @partial_struct class cGcRewardSecondarySubstance(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] AmountFactor: Annotated[float, Field(ctypes.c_float, 0x10)] RewardAsBlobs: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcRewardRequirementsForRecipe(Structure): - RecipeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + RecipeID: Annotated[basic.TkID0x10, 0x0] RewardInCreative: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcRewardSendChatMessage(Structure): - CustomText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - StatusMessageId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + CustomText: Annotated[basic.cTkFixedString0x20, 0x0] + StatusMessageId: Annotated[basic.TkID0x10, 0x20] @partial_struct @@ -12356,9 +10528,7 @@ class ePageToOpenEnum(IntEnum): BiggsBarterShop = 0x16 BiggsBasicShop = 0x17 - PageToOpen: Annotated[ - c_enum32[ePageToOpenEnum], Field(c_enum32[ePageToOpenEnum], 0x0) - ] + PageToOpen: Annotated[c_enum32[ePageToOpenEnum], 0x0] ReinteractWhenComplete: Annotated[bool, Field(ctypes.c_bool, 0x4)] @@ -12370,15 +10540,12 @@ class cGcRewardProceduralProductFromBiome(Structure): @partial_struct class cGcRewardOpenUnlockTree(Structure): PageIndexOverride: Annotated[int, Field(ctypes.c_int32, 0x0)] - TreeToOpen: Annotated[ - c_enum32[enums.cGcUnlockableItemTreeGroups], - Field(c_enum32[enums.cGcUnlockableItemTreeGroups], 0x4), - ] + TreeToOpen: Annotated[c_enum32[enums.cGcUnlockableItemTreeGroups], 0x4] @partial_struct class cGcRewardProcTechProduct(Structure): - Group: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + Group: Annotated[basic.cTkFixedString0x20, 0x0] WeightedChanceEpic: Annotated[int, Field(ctypes.c_int32, 0x20)] WeightedChanceLegendary: Annotated[int, Field(ctypes.c_int32, 0x24)] WeightedChanceNormal: Annotated[int, Field(ctypes.c_int32, 0x28)] @@ -12395,7 +10562,7 @@ class cGcRewardPurpleSystems(Structure): @partial_struct class cGcRewardRechargeTech(Structure): - TechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TechID: Annotated[basic.TkID0x10, 0x0] Silent: Annotated[bool, Field(ctypes.c_bool, 0x10)] @@ -12406,24 +10573,18 @@ class cGcRewardOverridePulseEncounterChance(Structure): @partial_struct class cGcRewardPetAction(Structure): - EffectID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - PlayerEmoteID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - SpecialHarvestID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - PetAction: Annotated[ - c_enum32[enums.cGcCreaturePetRewardActions], - Field(c_enum32[enums.cGcCreaturePetRewardActions], 0x30), - ] + EffectID: Annotated[basic.TkID0x10, 0x0] + PlayerEmoteID: Annotated[basic.TkID0x10, 0x10] + SpecialHarvestID: Annotated[basic.TkID0x10, 0x20] + PetAction: Annotated[c_enum32[enums.cGcCreaturePetRewardActions], 0x30] SpecialHarvestMul: Annotated[int, Field(ctypes.c_int32, 0x34)] @partial_struct class cGcRewardMultiSpecificProductRecipes(Structure): - SetName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - DisplayProductId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - ProductIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] + SetName: Annotated[basic.cTkFixedString0x20, 0x0] + DisplayProductId: Annotated[basic.TkID0x10, 0x20] + ProductIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] Silent: Annotated[bool, Field(ctypes.c_bool, 0x40)] @@ -12434,11 +10595,8 @@ class cGcRewardPetEgg(Structure): @partial_struct class cGcRewardMultiSpecificProducts(Structure): - SetName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - ProductIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + SetName: Annotated[basic.cTkFixedString0x20, 0x0] + ProductIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] OnlyGiveThisManyFromTheListAtRandom: Annotated[int, Field(ctypes.c_int32, 0x30)] UseListPopup: Annotated[bool, Field(ctypes.c_bool, 0x34)] @@ -12450,19 +10608,16 @@ class cGcRewardPetEggHatch(Structure): @partial_struct class cGcRewardPirateAttack(Structure): - AttackDefinition: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + AttackDefinition: Annotated[basic.TkID0x10, 0x0] NumSquads: Annotated[int, Field(ctypes.c_int32, 0x10)] Instant: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcRewardMultiSpecificTechRecipes(Structure): - SetName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - DisplayTechId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - TechIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] + SetName: Annotated[basic.cTkFixedString0x20, 0x0] + DisplayTechId: Annotated[basic.TkID0x10, 0x20] + TechIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] Silent: Annotated[bool, Field(ctypes.c_bool, 0x40)] @@ -12473,9 +10628,7 @@ class cGcRewardPirateProbeSignal(Structure): @partial_struct class cGcRewardNetworkPlayer(Structure): - RewardWord: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x0) - ] + RewardWord: Annotated[basic.cTkFixedString0x40, 0x0] @partial_struct @@ -12499,17 +10652,15 @@ class cGcRewardPoliceScanSignal(Structure): @partial_struct class cGcRewardOpenFreeFreighter(Structure): - NextInteractionIfBought: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - NextInteractionIfNotBought: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x20)] + NextInteractionIfBought: Annotated[basic.TkID0x20, 0x0] + NextInteractionIfNotBought: Annotated[basic.TkID0x20, 0x20] ReinteractWhenBought: Annotated[bool, Field(ctypes.c_bool, 0x40)] @partial_struct class cGcRewardMission(Structure): - AlreadyActiveFailureMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + AlreadyActiveFailureMessage: Annotated[basic.cTkFixedString0x20, 0x0] + Mission: Annotated[basic.TkID0x10, 0x20] FailRewardIfMissionActive: Annotated[bool, Field(ctypes.c_bool, 0x30)] Restart: Annotated[bool, Field(ctypes.c_bool, 0x31)] SetAsSelected: Annotated[bool, Field(ctypes.c_bool, 0x32)] @@ -12517,37 +10668,37 @@ class cGcRewardMission(Structure): @partial_struct class cGcRewardMissionMessage(Structure): - MessageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MessageID: Annotated[basic.TkID0x10, 0x0] BroadcastInMultiplayer: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcRewardMissionMessageSeeded(Structure): - MessageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - SpecificMissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + MessageID: Annotated[basic.TkID0x10, 0x0] + SpecificMissionID: Annotated[basic.TkID0x10, 0x10] BroadcastInMultiplayer: Annotated[bool, Field(ctypes.c_bool, 0x20)] BroadcastToActiveMultiplayerMission: Annotated[bool, Field(ctypes.c_bool, 0x21)] @partial_struct class cGcRewardMissionMessageToMatchingSeeds(Structure): - MessageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MessageID: Annotated[basic.TkID0x10, 0x0] BroadcastInMultiplayer: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcRewardMissionOverride(Structure): - ForceLocalMissionSelection: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - OptionalMissionSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x20)] - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + ForceLocalMissionSelection: Annotated[basic.TkID0x10, 0x0] + Mission: Annotated[basic.TkID0x10, 0x10] + OptionalMissionSeed: Annotated[basic.GcSeed, 0x20] + Reward: Annotated[basic.TkID0x10, 0x30] @partial_struct class cGcRewardMissionSeeded(Structure): - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - MissionNoGroundCombat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - MissionNoSpaceCombat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Mission: Annotated[basic.TkID0x10, 0x0] + MissionNoGroundCombat: Annotated[basic.TkID0x10, 0x10] + MissionNoSpaceCombat: Annotated[basic.TkID0x10, 0x20] ForceUseConversationSeed: Annotated[bool, Field(ctypes.c_bool, 0x30)] InheritActiveMultiplayerMissionSeed: Annotated[bool, Field(ctypes.c_bool, 0x31)] SelectMissionAsLocalMissionBoard: Annotated[bool, Field(ctypes.c_bool, 0x32)] @@ -12569,22 +10720,19 @@ class cGcRewardHealth(Structure): @partial_struct class cGcRewardIncrementStat(Structure): - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Stat: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcRewardForgetSpecificTechRecipe(Structure): - TechList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + TechList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct class cGcRewardInstallTech(Structure): - ReplaceExistingTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - TechId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ReplaceExistingTech: Annotated[basic.TkID0x10, 0x0] + TechId: Annotated[basic.TkID0x10, 0x10] class eInventoryToInstallInEnum(IntEnum): Personal = 0x0 @@ -12595,10 +10743,7 @@ class eInventoryToInstallInEnum(IntEnum): Vehicle = 0x5 Weapon = 0x6 - InventoryToInstallIn: Annotated[ - c_enum32[eInventoryToInstallInEnum], - Field(c_enum32[eInventoryToInstallInEnum], 0x20), - ] + InventoryToInstallIn: Annotated[c_enum32[eInventoryToInstallInEnum], 0x20] SeedOffset: Annotated[int, Field(ctypes.c_int32, 0x24)] InstallBroken: Annotated[bool, Field(ctypes.c_bool, 0x28)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x29)] @@ -12611,7 +10756,7 @@ class cGcRewardFreeStamina(Structure): @partial_struct class cGcRewardInteractionSketchBroadcast(Structure): - BroadcastValue: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + BroadcastValue: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -12621,7 +10766,7 @@ class cGcRewardFreighterBaseReset(Structure): @partial_struct class cGcRewardInterventionResponse(Structure): - InterveneWithMissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + InterveneWithMissionID: Annotated[basic.TkID0x10, 0x0] BasePercentOfMissionChanceSuccess: Annotated[int, Field(ctypes.c_int32, 0x10)] class eResponseTypeEnum(IntEnum): @@ -12632,9 +10777,7 @@ class eResponseTypeEnum(IntEnum): MissionAvoid = 0x4 MissionChance = 0x5 - ResponseType: Annotated[ - c_enum32[eResponseTypeEnum], Field(c_enum32[eResponseTypeEnum], 0x14) - ] + ResponseType: Annotated[c_enum32[eResponseTypeEnum], 0x14] @partial_struct @@ -12649,7 +10792,7 @@ class cGcRewardInventorySlots(Structure): @partial_struct class cGcRewardFreighterSlot(Structure): - Cost: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Cost: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -12662,11 +10805,8 @@ class cGcRewardJetpackBoost(Structure): @partial_struct class cGcRewardDamageTech(Structure): - TechToDamage_optional: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Category: Annotated[ - c_enum32[enums.cGcTechnologyCategory], - Field(c_enum32[enums.cGcTechnologyCategory], 0x10), - ] + TechToDamage_optional: Annotated[basic.TkID0x10, 0x0] + Category: Annotated[c_enum32[enums.cGcTechnologyCategory], 0x10] ShowDamageMessage: Annotated[bool, Field(ctypes.c_bool, 0x14)] @@ -12682,8 +10822,8 @@ class cGcRewardEnergy(Structure): @partial_struct class cGcRewardExchangeProduct(Structure): - IDToGive: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - IDToTake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + IDToGive: Annotated[basic.TkID0x10, 0x0] + IDToTake: Annotated[basic.TkID0x10, 0x10] AmountToGiveMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountToGiveMin: Annotated[int, Field(ctypes.c_int32, 0x24)] AmountToTakeMax: Annotated[int, Field(ctypes.c_int32, 0x28)] @@ -12700,9 +10840,7 @@ class cGcRewardExitEditShipInteraction(Structure): class cGcRewardFactionStanding(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - Faction: Annotated[ - c_enum32[enums.cGcMissionFaction], Field(c_enum32[enums.cGcMissionFaction], 0x8) - ] + Faction: Annotated[c_enum32[enums.cGcMissionFaction], 0x8] SetToMinBeforeAdd: Annotated[bool, Field(ctypes.c_bool, 0xC)] @@ -12721,19 +10859,13 @@ class eInventoryToBreakEnum(IntEnum): VehicleTech = 0x5 Weapon = 0x6 - InventoryToBreak: Annotated[ - c_enum32[eInventoryToBreakEnum], Field(c_enum32[eInventoryToBreakEnum], 0xC) - ] - CustomTechFormat: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10) - ] + InventoryToBreak: Annotated[c_enum32[eInventoryToBreakEnum], 0xC] + CustomTechFormat: Annotated[basic.cTkFixedString0x20, 0x10] @partial_struct class cGcRewardFishRelease(Structure): - Rarity: Annotated[ - c_enum32[enums.cGcItemQuality], Field(c_enum32[enums.cGcItemQuality], 0x0) - ] + Rarity: Annotated[c_enum32[enums.cGcItemQuality], 0x0] @partial_struct @@ -12748,20 +10880,13 @@ class cGcRewardForceOpenGalaxyMap(Structure): @partial_struct class cGcRewardForgetSpecificProductRecipe(Structure): - ProductList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + ProductList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct class cGcRewardDisableSentinels(Structure): - OSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - WantedBarMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] + OSDMessage: Annotated[basic.cTkFixedString0x20, 0x0] + WantedBarMessage: Annotated[basic.cTkFixedString0x20, 0x20] Duration: Annotated[float, Field(ctypes.c_float, 0x40)] @@ -12772,20 +10897,17 @@ class cGcRewardDiscoverRune(Structure): @partial_struct class cGcRewardCrashSiteFly(Structure): - NPCScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + NPCScanEvent: Annotated[basic.TkID0x20, 0x0] @partial_struct class cGcRewardDisguisedProduct(Structure): - AwardDisplayIDDuringMission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DisplayAs: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + AwardDisplayIDDuringMission: Annotated[basic.TkID0x10, 0x0] + DisplayAs: Annotated[basic.TkID0x10, 0x10] + ID: Annotated[basic.TkID0x10, 0x20] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x30)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x34)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionProductEnum], - Field(c_enum32[enums.cGcDefaultMissionProductEnum], 0x38), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionProductEnum], 0x38] UseDisplayIDWhenInShip: Annotated[bool, Field(ctypes.c_bool, 0x3C)] @@ -12796,7 +10918,7 @@ class cGcRewardCrashSiteRepair(Structure): @partial_struct class cGcRewardDisplayTechWindow(Structure): - TechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TechID: Annotated[basic.TkID0x10, 0x0] Damaged: Annotated[bool, Field(ctypes.c_bool, 0x10)] FullBox: Annotated[bool, Field(ctypes.c_bool, 0x11)] NeedsInstall: Annotated[bool, Field(ctypes.c_bool, 0x12)] @@ -12804,22 +10926,22 @@ class cGcRewardDisplayTechWindow(Structure): @partial_struct class cGcRewardCustomExpeditionLogEntry(Structure): - LocID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - RewardID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + LocID: Annotated[basic.cTkFixedString0x20, 0x0] + RewardID: Annotated[basic.TkID0x10, 0x20] FromIntervention: Annotated[bool, Field(ctypes.c_bool, 0x30)] WhaleEvent: Annotated[bool, Field(ctypes.c_bool, 0x31)] @partial_struct class cGcRewardDummyLocID(Structure): - LocID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + LocID: Annotated[basic.cTkFixedString0x20, 0x0] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x24)] @partial_struct class cGcRewardCustomPlayerControl(Structure): - RequestedMode: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + RequestedMode: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -12839,7 +10961,7 @@ class cGcRewardEndFrigateFlyby(Structure): @partial_struct class cGcRewardEndScanEvent(Structure): - EventID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + EventID: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct @@ -12864,14 +10986,13 @@ class cGcRewardClosePortal(Structure): @partial_struct class cGcRepShopDonation(Structure): - AltIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + AltIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + ProductID: Annotated[basic.TkID0x10, 0x10] DonationValue: Annotated[int, Field(ctypes.c_int32, 0x20)] MaxDonations: Annotated[int, Field(ctypes.c_int32, 0x24)] - ValidProcProdCategories: Annotated[bool, Field(ctypes.c_bool, 0x28)] + ValidProcProdCategories: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 28, 0x28) + ] @partial_struct @@ -12881,32 +11002,29 @@ class cGcRewardAbortTakeoff(Structure): @partial_struct class cGcRewardActivateEncounterSentinels(Structure): - EncounterComponentScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - EncounterOverride: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + EncounterComponentScanEvent: Annotated[basic.TkID0x20, 0x0] + EncounterOverride: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcRealitySubstanceCraftingMix(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] Ratio: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcRewardCompleteMission(Structure): - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Mission: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcRewardAdvancePortalState(Structure): - PortalScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + PortalScanEvent: Annotated[basic.TkID0x20, 0x0] @partial_struct class cGcRewardCompleteMultiMission(Structure): - Missions: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Missions: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct @@ -12922,8 +11040,7 @@ class cGcRewardAssessCookedProduct(Structure): @partial_struct class cGcRewardBeginSettlementBuilding(Structure): ValidBuildings: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x0), + basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x0 ] IsUpgrade: Annotated[bool, Field(ctypes.c_bool, 0x10)] @@ -12931,20 +11048,21 @@ class cGcRewardBeginSettlementBuilding(Structure): @partial_struct class cGcRealityCraftingRecipeData(Structure): Inputs: Annotated[ - cGcRealitySubstanceCraftingMix, Field(cGcRealitySubstanceCraftingMix, 0x0) + tuple[cGcRealitySubstanceCraftingMix, ...], + Field(cGcRealitySubstanceCraftingMix * 3, 0x0), ] - OutputID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] + OutputID: Annotated[basic.TkID0x10, 0x48] @partial_struct class cGcRealityIcon(Structure): - ID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Texture: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x20)] + ID: Annotated[basic.TkID0x20, 0x0] + Texture: Annotated[cTkTextureResource, 0x20] @partial_struct class cGcPurchaseableSpecial(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] MissionTier: Annotated[int, Field(ctypes.c_int32, 0x10)] ShopNumber: Annotated[int, Field(ctypes.c_int32, 0x14)] IsConsumable: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -12952,59 +11070,47 @@ class cGcPurchaseableSpecial(Structure): @partial_struct class cGcProductDescriptionOverride(Structure): - NewDescription: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + NewDescription: Annotated[basic.cTkFixedString0x20, 0x0] + MissionID: Annotated[basic.TkID0x10, 0x20] + ProductID: Annotated[basic.TkID0x10, 0x30] @partial_struct class cGcProceduralProductDeployable(Structure): - BaseID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + BaseID: Annotated[basic.TkID0x10, 0x0] Variants: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcNameGeneratorWord(Structure): - Word: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + Word: Annotated[basic.cTkFixedString0x20, 0x0] NumOptions: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcProceduralTechnologyStatLevel(Structure): - Stat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x0) - ] + Stat: Annotated[c_enum32[enums.cGcStatsTypes], 0x0] ValueMax: Annotated[float, Field(ctypes.c_float, 0x4)] ValueMin: Annotated[float, Field(ctypes.c_float, 0x8)] - WeightingCurve: Annotated[ - c_enum32[enums.cGcWeightingCurve], Field(c_enum32[enums.cGcWeightingCurve], 0xC) - ] + WeightingCurve: Annotated[c_enum32[enums.cGcWeightingCurve], 0xC] AlwaysChoose: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcNumberedTextList(Structure): - Format: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Format: Annotated[basic.VariableSizeString, 0x0] Count: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcProceduralTechnologyData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - UpgradeColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - Group: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - StatLevels: Annotated[ - basic.cTkDynamicArray[cGcProceduralTechnologyStatLevel], - Field(basic.cTkDynamicArray[cGcProceduralTechnologyStatLevel], 0x50), - ] - Template: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - Category: Annotated[ - c_enum32[enums.cGcProceduralTechnologyCategory], - Field(c_enum32[enums.cGcProceduralTechnologyCategory], 0x70), - ] + Colour: Annotated[basic.Colour, 0x0] + UpgradeColour: Annotated[basic.Colour, 0x10] + Group: Annotated[basic.cTkFixedString0x20, 0x20] + ID: Annotated[basic.TkID0x10, 0x40] + StatLevels: Annotated[basic.cTkDynamicArray[cGcProceduralTechnologyStatLevel], 0x50] + Template: Annotated[basic.TkID0x10, 0x60] + Category: Annotated[c_enum32[enums.cGcProceduralTechnologyCategory], 0x70] NumStatsMax: Annotated[int, Field(ctypes.c_int32, 0x74)] NumStatsMin: Annotated[int, Field(ctypes.c_int32, 0x78)] @@ -13018,77 +11124,57 @@ class eQualityEnum(IntEnum): Robot = 0x6 SeaTrash = 0x7 - Quality: Annotated[c_enum32[eQualityEnum], Field(c_enum32[eQualityEnum], 0x7C)] - WeightingCurve: Annotated[ - c_enum32[enums.cGcWeightingCurve], - Field(c_enum32[enums.cGcWeightingCurve], 0x80), - ] - Description: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x84) - ] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x104)] - NameLower: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x184) - ] - Subtitle: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x204) - ] + Quality: Annotated[c_enum32[eQualityEnum], 0x7C] + WeightingCurve: Annotated[c_enum32[enums.cGcWeightingCurve], 0x80] + Description: Annotated[basic.cTkFixedString0x80, 0x84] + Name: Annotated[basic.cTkFixedString0x80, 0x104] + NameLower: Annotated[basic.cTkFixedString0x80, 0x184] + Subtitle: Annotated[basic.cTkFixedString0x80, 0x204] IsBiggsProcTech: Annotated[bool, Field(ctypes.c_bool, 0x284)] @partial_struct class cGcPlanetResourceIconLookup(Structure): - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - IconBinocs: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x18)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + Icon: Annotated[cTkTextureResource, 0x0] + IconBinocs: Annotated[cTkTextureResource, 0x18] + ID: Annotated[basic.TkID0x10, 0x30] @partial_struct class cGcModularCustomisationDescriptorGroupData(Structure): - ActivatedDescriptorGroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ActivatedDescriptorGroupID: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcModularCustomisationTextureGroup(Structure): - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - TextureOptionGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Title: Annotated[basic.cTkFixedString0x20, 0x0] + TextureOptionGroup: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcModularCustomisationColourGroup(Structure): - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Palettes: Annotated[ - basic.cTkDynamicArray[cTkPaletteTexture], - Field(basic.cTkDynamicArray[cTkPaletteTexture], 0x20), - ] + Title: Annotated[basic.cTkFixedString0x20, 0x0] + Palettes: Annotated[basic.cTkDynamicArray[cTkPaletteTexture], 0x20] DefaultColourIndex: Annotated[int, Field(ctypes.c_int32, 0x30)] @partial_struct class cGcModularCustomisationColourData(Structure): - RequiredTextureOption: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + RequiredTextureOption: Annotated[basic.TkID0x20, 0x0] ColourGroups: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationColourGroup], - Field(basic.cTkDynamicArray[cGcModularCustomisationColourGroup], 0x20), + basic.cTkDynamicArray[cGcModularCustomisationColourGroup], 0x20 ] - PaletteID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - RequiredTextureGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + PaletteID: Annotated[basic.TkID0x10, 0x30] + RequiredTextureGroup: Annotated[basic.TkID0x10, 0x40] @partial_struct class cGcMultiSpecificItemEntry(Structure): - CustomRewardLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ProcTechGroup: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - CommunityTierProductList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x40), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - SeasonRewardListFormat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] + CustomRewardLocID: Annotated[basic.cTkFixedString0x20, 0x0] + ProcTechGroup: Annotated[basic.cTkFixedString0x20, 0x20] + CommunityTierProductList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x40] + Id: Annotated[basic.TkID0x10, 0x50] + SeasonRewardListFormat: Annotated[basic.TkID0x10, 0x60] Amount: Annotated[int, Field(ctypes.c_int32, 0x70)] class eMultiItemRewardTypeEnum(IntEnum): @@ -13101,17 +11187,9 @@ class eMultiItemRewardTypeEnum(IntEnum): InventorySlotWeapon = 0x6 CommunityTierProduct = 0x7 - MultiItemRewardType: Annotated[ - c_enum32[eMultiItemRewardTypeEnum], - Field(c_enum32[eMultiItemRewardTypeEnum], 0x74), - ] - ProcProdRarity: Annotated[ - c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x78) - ] - ProcProdType: Annotated[ - c_enum32[enums.cGcProceduralProductCategory], - Field(c_enum32[enums.cGcProceduralProductCategory], 0x7C), - ] + MultiItemRewardType: Annotated[c_enum32[eMultiItemRewardTypeEnum], 0x74] + ProcProdRarity: Annotated[c_enum32[enums.cGcRarity], 0x78] + ProcProdType: Annotated[c_enum32[enums.cGcProceduralProductCategory], 0x7C] ProcTechQuality: Annotated[int, Field(ctypes.c_int32, 0x80)] AlsoTeachTechBoxRecipe: Annotated[bool, Field(ctypes.c_bool, 0x84)] HideInSeasonRewards: Annotated[bool, Field(ctypes.c_bool, 0x85)] @@ -13121,20 +11199,20 @@ class eMultiItemRewardTypeEnum(IntEnum): @partial_struct class cGcModularCustomisationColourGroupPalette(Structure): - RequiredTextureOption: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - RequiredTextureGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Palette: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x30)] + RequiredTextureOption: Annotated[basic.TkID0x20, 0x0] + RequiredTextureGroup: Annotated[basic.TkID0x10, 0x20] + Palette: Annotated[cTkPaletteTexture, 0x30] @partial_struct class cGcItemAmountCostPair(Structure): - ItemId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ItemId: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcItemCostData(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] ChangePerSale: Annotated[float, Field(ctypes.c_float, 0x10)] Cost: Annotated[float, Field(ctypes.c_float, 0x14)] MaxCost: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -13162,8 +11240,8 @@ class cGcItemPriceModifiers(Structure): @partial_struct class cGcLegacyItem(Structure): - ConvertID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ConvertID: Annotated[basic.TkID0x10, 0x0] + ID: Annotated[basic.TkID0x10, 0x10] ConvertRatio: Annotated[float, Field(ctypes.c_float, 0x20)] AddNewRecipe: Annotated[bool, Field(ctypes.c_bool, 0x24)] RemoveOldRecipe: Annotated[bool, Field(ctypes.c_bool, 0x25)] @@ -13171,23 +11249,20 @@ class cGcLegacyItem(Structure): @partial_struct class cGcInventoryTableEntry(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - LayoutSizeType: Annotated[ - c_enum32[enums.cGcInventoryLayoutSizeType], - Field(c_enum32[enums.cGcInventoryLayoutSizeType], 0x10), - ] + Id: Annotated[basic.TkID0x10, 0x0] + LayoutSizeType: Annotated[c_enum32[enums.cGcInventoryLayoutSizeType], 0x10] MaxSize: Annotated[int, Field(ctypes.c_int32, 0x14)] MinSize: Annotated[int, Field(ctypes.c_int32, 0x18)] @partial_struct class cGcInventoryClassProbabilities(Structure): - ClassProbabilities: Annotated[float, Field(ctypes.c_float, 0x0)] + ClassProbabilities: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x0)] @partial_struct class cGcInventoryCostDataEntry(Structure): - ClassMultiplier: Annotated[float, Field(ctypes.c_float, 0x0)] + ClassMultiplier: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x0)] CoolMultiplier: Annotated[float, Field(ctypes.c_float, 0x10)] MaxSlots: Annotated[int, Field(ctypes.c_int32, 0x14)] MaxValueInMillions: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -13199,13 +11274,14 @@ class cGcInventoryCostDataEntry(Structure): @partial_struct class cGcInventoryCostData(Structure): InventoryCostData: Annotated[ - cGcInventoryCostDataEntry, Field(cGcInventoryCostDataEntry, 0x0) + tuple[cGcInventoryCostDataEntry, ...], + Field(cGcInventoryCostDataEntry * 11, 0x0), ] @partial_struct class cGcInventoryGenerationBaseStatDataEntry(Structure): - BaseStatID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + BaseStatID: Annotated[basic.TkID0x10, 0x0] Max: Annotated[float, Field(ctypes.c_float, 0x10)] MaxFixedAdd: Annotated[float, Field(ctypes.c_float, 0x14)] Min: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -13215,14 +11291,13 @@ class cGcInventoryGenerationBaseStatDataEntry(Structure): @partial_struct class cGcInventoryGenerationBaseStatClassData(Structure): BaseStats: Annotated[ - basic.cTkDynamicArray[cGcInventoryGenerationBaseStatDataEntry], - Field(basic.cTkDynamicArray[cGcInventoryGenerationBaseStatDataEntry], 0x0), + basic.cTkDynamicArray[cGcInventoryGenerationBaseStatDataEntry], 0x0 ] @partial_struct class cGcFreighterCargoOption(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] MaxAmount: Annotated[int, Field(ctypes.c_int32, 0x10)] MinAmount: Annotated[int, Field(ctypes.c_int32, 0x14)] PercentChance: Annotated[int, Field(ctypes.c_int32, 0x18)] @@ -13232,90 +11307,77 @@ class cGcFreighterCargoOption(Structure): class cGcDiscoveryTrimScoringRules(Structure): MaxScoreValue: Annotated[float, Field(ctypes.c_float, 0x0)] MinScoreValue: Annotated[float, Field(ctypes.c_float, 0x4)] - Curve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8) - ] + Curve: Annotated[c_enum32[enums.cTkCurveType], 0x8] @partial_struct class cGcInventoryBaseStatBonus(Structure): - StatType: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x0) - ] + StatType: Annotated[c_enum32[enums.cGcStatsTypes], 0x0] LessIsBetter: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcInventoryBaseStat(Structure): - BaseStatID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - LocID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - StatBonus: Annotated[ - basic.cTkDynamicArray[cGcInventoryBaseStatBonus], - Field(basic.cTkDynamicArray[cGcInventoryBaseStatBonus], 0x20), - ] + BaseStatID: Annotated[basic.TkID0x10, 0x0] + LocID: Annotated[basic.TkID0x10, 0x10] + StatBonus: Annotated[basic.cTkDynamicArray[cGcInventoryBaseStatBonus], 0x20] @partial_struct class cGcInventoryBaseStatEntry(Structure): - BaseStatID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + BaseStatID: Annotated[basic.TkID0x10, 0x0] Value: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcDiscoveryWorth(Structure): - OnScan: Annotated[int, Field(ctypes.c_int32, 0x0)] - Record: Annotated[int, Field(ctypes.c_int32, 0xC)] + OnScan: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 3, 0x0)] + Record: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 3, 0xC)] Mission: Annotated[int, Field(ctypes.c_int32, 0x18)] @partial_struct class cGcDialogClearanceInfo(Structure): - GlobalDialogID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - AssociatedMission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + GlobalDialogID: Annotated[basic.cTkFixedString0x20, 0x0] + AssociatedMission: Annotated[basic.TkID0x10, 0x20] AlwaysForceClearThisPair: Annotated[bool, Field(ctypes.c_bool, 0x30)] @partial_struct class cGcExpeditionPowerup(Structure): - ModuleDescription: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - SelectionDescription: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - ProductId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - StatModified: Annotated[ - c_enum32[enums.cGcFrigateStatType], - Field(c_enum32[enums.cGcFrigateStatType], 0x50), - ] + ModuleDescription: Annotated[basic.cTkFixedString0x20, 0x0] + SelectionDescription: Annotated[basic.cTkFixedString0x20, 0x20] + ProductId: Annotated[basic.TkID0x10, 0x40] + StatModified: Annotated[c_enum32[enums.cGcFrigateStatType], 0x50] ValueChange: Annotated[int, Field(ctypes.c_int32, 0x54)] @partial_struct class cGcDiscoveryOwner(Structure): Timestamp: Annotated[int, Field(ctypes.c_int32, 0x0)] - LocalID: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x4)] - OnlineID: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x44)] - Platform: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x84)] - Username: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xC4)] + LocalID: Annotated[basic.cTkFixedString0x40, 0x4] + OnlineID: Annotated[basic.cTkFixedString0x40, 0x44] + Platform: Annotated[basic.cTkFixedString0x40, 0x84] + Username: Annotated[basic.cTkFixedString0x40, 0xC4] @partial_struct class cGcDiscoveryRewardLookup(Structure): - BiomeSpecific: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x110)] - Secondary: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x120)] + BiomeSpecific: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 17, 0x0) + ] + Id: Annotated[basic.TkID0x10, 0x110] + Secondary: Annotated[basic.TkID0x10, 0x120] @partial_struct class cGcCostSalvageShip(Structure): CustomErrorMessageOSD: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) + tuple[basic.cTkFixedString0x20, ...], Field(basic.cTkFixedString0x20 * 11, 0x0) ] ShipClassStringOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x160) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 11, 0x160), ] CannotAffordIfStringOverrideIsNull: Annotated[bool, Field(ctypes.c_bool, 0x2C0)] WillGiveShipParts: Annotated[bool, Field(ctypes.c_bool, 0x2C1)] @@ -13328,13 +11390,9 @@ class cGcCostSalvageTool(Structure): @partial_struct class cGcDeathQuote(Structure): - QuoteLine1: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x0) - ] - QuoteLine2: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x80) - ] - Author: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x100)] + QuoteLine1: Annotated[basic.cTkFixedString0x80, 0x0] + QuoteLine2: Annotated[basic.cTkFixedString0x80, 0x80] + Author: Annotated[basic.cTkFixedString0x20, 0x100] @partial_struct @@ -13354,10 +11412,7 @@ class cGcCostShipLowSpeed(Structure): @partial_struct class cGcCostShipType(Structure): - ShipType: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0x0), - ] + ShipType: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0x0] @partial_struct @@ -13372,25 +11427,19 @@ class cGcCostSpecificCreatureBait(Structure): @partial_struct class cGcCostStat(Structure): - CostAsString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - StatGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + CostAsString: Annotated[basic.cTkFixedString0x20, 0x0] + Stat: Annotated[basic.TkID0x10, 0x20] + StatGroup: Annotated[basic.TkID0x10, 0x30] Value: Annotated[int, Field(ctypes.c_int32, 0x40)] @partial_struct class cGcCostStatCompare(Structure): - CostStringCanAfford: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CostStringCantAfford: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - CanAffordIfMissionActive: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - CompareAndSetStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - CoreStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] + CostStringCanAfford: Annotated[basic.cTkFixedString0x20, 0x0] + CostStringCantAfford: Annotated[basic.cTkFixedString0x20, 0x20] + CanAffordIfMissionActive: Annotated[basic.TkID0x10, 0x40] + CompareAndSetStat: Annotated[basic.TkID0x10, 0x50] + CoreStat: Annotated[basic.TkID0x10, 0x60] @partial_struct @@ -13407,19 +11456,11 @@ class cGcCostPoliceCargoComply(Structure): @partial_struct class cGcCostSubstance(Structure): - UseScanEventToDetermineLocalSubstance: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + UseScanEventToDetermineLocalSubstance: Annotated[basic.cTkFixedString0x20, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] Amount: Annotated[int, Field(ctypes.c_int32, 0x30)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionSubstanceEnum], - Field(c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x34), - ] - LocalSubstanceType: Annotated[ - c_enum32[enums.cGcLocalSubstanceType], - Field(c_enum32[enums.cGcLocalSubstanceType], 0x38), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x34] + LocalSubstanceType: Annotated[c_enum32[enums.cGcLocalSubstanceType], 0x38] UseSpecificPlanetIndexForLocalSubstance: Annotated[int, Field(ctypes.c_int32, 0x3C)] UseDefaultAmount: Annotated[bool, Field(ctypes.c_bool, 0x40)] UseRandomPlanetIndex: Annotated[bool, Field(ctypes.c_bool, 0x41)] @@ -13428,25 +11469,18 @@ class cGcCostSubstance(Structure): @partial_struct class cGcCostProcProduct(Structure): FreighterPasswordIndex: Annotated[int, Field(ctypes.c_int32, 0x0)] - Rarity: Annotated[c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x4)] - Type: Annotated[ - c_enum32[enums.cGcProceduralProductCategory], - Field(c_enum32[enums.cGcProceduralProductCategory], 0x8), - ] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x4] + Type: Annotated[c_enum32[enums.cGcProceduralProductCategory], 0x8] CareAboutRarity: Annotated[bool, Field(ctypes.c_bool, 0xC)] @partial_struct class cGcCostTableEntry(Structure): - CannotAffordOSDMsg: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CommunityContributionCapLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - Cost: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x40)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - MissionMessageWhenCharged: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] + CannotAffordOSDMsg: Annotated[basic.cTkFixedString0x20, 0x0] + CommunityContributionCapLocID: Annotated[basic.cTkFixedString0x20, 0x20] + Cost: Annotated[basic.NMSTemplate, 0x40] + Id: Annotated[basic.TkID0x10, 0x50] + MissionMessageWhenCharged: Annotated[basic.TkID0x10, 0x60] CommunityContributionValue: Annotated[int, Field(ctypes.c_int32, 0x70)] DisplayCost: Annotated[bool, Field(ctypes.c_bool, 0x74)] DisplayOnlyCostIfCantAfford: Annotated[bool, Field(ctypes.c_bool, 0x75)] @@ -13460,38 +11494,25 @@ class cGcCostTableEntry(Structure): @partial_struct class cGcCostProduct(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionProductEnum], - Field(c_enum32[enums.cGcDefaultMissionProductEnum], 0x14), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionProductEnum], 0x14] TakeIDFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x18)] UseDefaultAmount: Annotated[bool, Field(ctypes.c_bool, 0x19)] @partial_struct class cGcCostProductOnlyTakeIfCanAfford(Structure): - AltCostLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + AltCostLocID: Annotated[basic.cTkFixedString0x20, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] Amount: Annotated[int, Field(ctypes.c_int32, 0x30)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionProductEnum], - Field(c_enum32[enums.cGcDefaultMissionProductEnum], 0x34), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionProductEnum], 0x34] @partial_struct class cGcCostMultiItem(Structure): - DisplayLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ItemList: Annotated[ - basic.cTkDynamicArray[cGcItemAmountCostPair], - Field(basic.cTkDynamicArray[cGcItemAmountCostPair], 0x20), - ] + DisplayLocID: Annotated[basic.cTkFixedString0x20, 0x0] + ItemList: Annotated[basic.cTkDynamicArray[cGcItemAmountCostPair], 0x20] OnlyTakeIfCanAfford: Annotated[bool, Field(ctypes.c_bool, 0x30)] @@ -13502,7 +11523,7 @@ class cGcCostHealth(Structure): @partial_struct class cGcCostInstalledTech(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] class eInventoryToCheckEnum(IntEnum): All = 0x0 @@ -13512,21 +11533,15 @@ class eInventoryToCheckEnum(IntEnum): Freighter = 0x4 Buggy = 0x5 - InventoryToCheck: Annotated[ - c_enum32[eInventoryToCheckEnum], Field(c_enum32[eInventoryToCheckEnum], 0x10) - ] + InventoryToCheck: Annotated[c_enum32[eInventoryToCheckEnum], 0x10] MinChargePercent: Annotated[float, Field(ctypes.c_float, 0x14)] BurnCharge: Annotated[bool, Field(ctypes.c_bool, 0x18)] @partial_struct class cGcCostMultiTool(Structure): - CostString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - WeaponClass: Annotated[ - c_enum32[enums.cGcWeaponClasses], Field(c_enum32[enums.cGcWeaponClasses], 0x20) - ] + CostString: Annotated[basic.cTkFixedString0x20, 0x0] + WeaponClass: Annotated[c_enum32[enums.cGcWeaponClasses], 0x20] @partial_struct @@ -13536,19 +11551,11 @@ class cGcCostOwnSettlement(Structure): @partial_struct class cGcCostInteractionMissionState(Structure): - CanAffordLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CantAffordLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - RequiredState: Annotated[ - c_enum32[enums.cGcInteractionMissionState], - Field(c_enum32[enums.cGcInteractionMissionState], 0x40), - ] + CanAffordLocID: Annotated[basic.cTkFixedString0x20, 0x0] + CantAffordLocID: Annotated[basic.cTkFixedString0x20, 0x20] + RequiredState: Annotated[c_enum32[enums.cGcInteractionMissionState], 0x40] ThisInteractionClassInMyBuilding: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x44), + c_enum32[enums.cGcInteractionType], 0x44 ] AlsoAcceptMaintenanceDone: Annotated[bool, Field(ctypes.c_bool, 0x48)] TestThisInteraction: Annotated[bool, Field(ctypes.c_bool, 0x49)] @@ -13561,9 +11568,7 @@ class cGcCostPendingSettlementJudgement(Structure): @partial_struct class cGcCostInteractionNeedsMaintenance(Structure): - CantAffordLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + CantAffordLocID: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct @@ -13574,31 +11579,22 @@ class cGcCostPirateTribute(Structure): @partial_struct class cGcCostItemFromList(Structure): - ItemList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + ItemList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] Index: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cGcCostItemFromListOfValue(Structure): - CostText: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - ItemList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + CostText: Annotated[basic.cTkFixedString0x20, 0x0] + ItemList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] UnitValue: Annotated[int, Field(ctypes.c_int32, 0x30)] UseDefaultAmount: Annotated[bool, Field(ctypes.c_bool, 0x34)] @partial_struct class cGcCostItemListIndexed(Structure): - Costs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Costs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] class eItemIndexProviderEnum(IntEnum): @@ -13606,97 +11602,71 @@ class eItemIndexProviderEnum(IntEnum): Biome = 0x1 SubBiome = 0x2 - ItemIndexProvider: Annotated[ - c_enum32[eItemIndexProviderEnum], Field(c_enum32[eItemIndexProviderEnum], 0x14) - ] + ItemIndexProvider: Annotated[c_enum32[eItemIndexProviderEnum], 0x14] class eItemOutOfBoundsBehaviourEnum(IntEnum): NoCost = 0x0 UseFirst = 0x1 UseLast = 0x2 - ItemOutOfBoundsBehaviour: Annotated[ - c_enum32[eItemOutOfBoundsBehaviourEnum], - Field(c_enum32[eItemOutOfBoundsBehaviourEnum], 0x18), - ] + ItemOutOfBoundsBehaviour: Annotated[c_enum32[eItemOutOfBoundsBehaviourEnum], 0x18] AssertIfOutOfBounds: Annotated[bool, Field(ctypes.c_bool, 0x1C)] @partial_struct class cGcCostJourneyMilestone(Structure): - RequiredMilestone: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + RequiredMilestone: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcCostJourneyStatLevel(Structure): - StatName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + StatName: Annotated[basic.TkID0x10, 0x0] RequiredLevel: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcCostLocalMissionAvailable(Structure): - TextOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + TextOverride: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct class cGcCostMissionActive(Structure): - CostString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + CostString: Annotated[basic.cTkFixedString0x20, 0x0] + MissionID: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcCostMissionComplete(Structure): - TextOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Cost: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + TextOverride: Annotated[basic.cTkFixedString0x20, 0x0] + Cost: Annotated[basic.TkID0x10, 0x20] HideIfCompleted: Annotated[bool, Field(ctypes.c_bool, 0x30)] @partial_struct class cGcCostGroup(Structure): - Text: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Costs: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x20), - ] + Text: Annotated[basic.cTkFixedString0x20, 0x0] + Costs: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x20] HideOptionIfCantAffordIndex: Annotated[int, Field(ctypes.c_int32, 0x30)] TakeTextFromIndex: Annotated[int, Field(ctypes.c_int32, 0x34)] - Test: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0x38), - ] + Test: Annotated[c_enum32[enums.cGcMissionConditionTest], 0x38] @partial_struct class cGcCostMoney(Structure): Cost: Annotated[int, Field(ctypes.c_int32, 0x0)] - CostCurrency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x4) - ] + CostCurrency: Annotated[c_enum32[enums.cGcCurrency], 0x4] @partial_struct class cGcCostHasActiveScanEvent(Structure): - OptionalEventID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Text: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] + OptionalEventID: Annotated[basic.cTkFixedString0x20, 0x0] + Text: Annotated[basic.cTkFixedString0x20, 0x20] @partial_struct class cGcCostMoneyList(Structure): - Costs: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x0), - ] - CostCurrency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x10) - ] + Costs: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x0] + CostCurrency: Annotated[c_enum32[enums.cGcCurrency], 0x10] class eIndexProviderEnum(IntEnum): None_ = 0x0 @@ -13709,19 +11679,14 @@ class eIndexProviderEnum(IntEnum): PilotSlot = 0x7 PilotRank = 0x8 - IndexProvider: Annotated[ - c_enum32[eIndexProviderEnum], Field(c_enum32[eIndexProviderEnum], 0x14) - ] + IndexProvider: Annotated[c_enum32[eIndexProviderEnum], 0x14] class eOutOfBoundsBehaviourEnum(IntEnum): NoCost = 0x0 UseFirst = 0x1 UseLast = 0x2 - OutOfBoundsBehaviour: Annotated[ - c_enum32[eOutOfBoundsBehaviourEnum], - Field(c_enum32[eOutOfBoundsBehaviourEnum], 0x18), - ] + OutOfBoundsBehaviour: Annotated[c_enum32[eOutOfBoundsBehaviourEnum], 0x18] AssertIfOutOfBounds: Annotated[bool, Field(ctypes.c_bool, 0x1C)] @@ -13750,9 +11715,7 @@ class cGcCostCargo(Structure): class cGcCostCommunityResearchTier(Structure): CompletedTiers: Annotated[int, Field(ctypes.c_int32, 0x0)] MissionIndex: Annotated[int, Field(ctypes.c_int32, 0x4)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] @partial_struct @@ -13777,57 +11740,35 @@ class cGcCostCreatureCanLayEggs(Structure): @partial_struct class cGcCostDifficultyGroundCombat(Structure): - CostStringCantAfford: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - GroundCombatTimers: Annotated[ - c_enum32[enums.cGcCombatTimerDifficultyOption], - Field(c_enum32[enums.cGcCombatTimerDifficultyOption], 0x20), - ] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x24) - ] + CostStringCantAfford: Annotated[basic.cTkFixedString0x20, 0x0] + GroundCombatTimers: Annotated[c_enum32[enums.cGcCombatTimerDifficultyOption], 0x20] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x24] @partial_struct class cGcCostDifficultySpaceCombat(Structure): - CostStringCantAfford: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - SpaceCombatTimers: Annotated[ - c_enum32[enums.cGcCombatTimerDifficultyOption], - Field(c_enum32[enums.cGcCombatTimerDifficultyOption], 0x20), - ] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x24) - ] + CostStringCantAfford: Annotated[basic.cTkFixedString0x20, 0x0] + SpaceCombatTimers: Annotated[c_enum32[enums.cGcCombatTimerDifficultyOption], 0x20] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x24] @partial_struct class cGcCostAdvanceSettlementBuilding(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcCostDiscovery(Structure): - CostString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - DiscoveryType: Annotated[ - c_enum32[enums.cGcDiscoveryType], Field(c_enum32[enums.cGcDiscoveryType], 0x20) - ] + CostString: Annotated[basic.cTkFixedString0x20, 0x0] + DiscoveryType: Annotated[c_enum32[enums.cGcDiscoveryType], 0x20] Index: Annotated[int, Field(ctypes.c_int32, 0x24)] @partial_struct class cGcCostAnyCookedProduct(Structure): - CostString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CostStringCantAfford: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] + CostString: Annotated[basic.cTkFixedString0x20, 0x0] + CostStringCantAfford: Annotated[basic.cTkFixedString0x20, 0x20] Index: Annotated[int, Field(ctypes.c_int32, 0x40)] MixRandomAndBetter: Annotated[bool, Field(ctypes.c_bool, 0x44)] PreferBetterItems: Annotated[bool, Field(ctypes.c_bool, 0x45)] @@ -13835,9 +11776,7 @@ class cGcCostAnyCookedProduct(Structure): @partial_struct class cGcCostFleetStoredIncome(Structure): - Class: Annotated[ - c_enum32[enums.cGcFrigateClass], Field(c_enum32[enums.cGcFrigateClass], 0x0) - ] + Class: Annotated[c_enum32[enums.cGcFrigateClass], 0x0] RequiredAmount: Annotated[int, Field(ctypes.c_int32, 0x4)] @@ -13858,7 +11797,7 @@ class cGcCostCanAddShip(Structure): @partial_struct class cGcBuildingBlueprint(Structure): - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ProductID: Annotated[basic.TkID0x10, 0x0] GroupId: Annotated[int, Field(ctypes.c_int32, 0x10)] @@ -13869,7 +11808,7 @@ class cGcCostCanAdoptCreature(Structure): @partial_struct class cGcBuildingCostPartCount(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] Count: Annotated[int, Field(ctypes.c_int32, 0x10)] @@ -13900,15 +11839,11 @@ class cGcCostCanRideCreature(Structure): @partial_struct class cGcAlienPuzzleMissionOverride(Structure): - Puzzle: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - RequireScanEventActive: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - AltPriorityMissionForSelection: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x40) - ] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - OptionalMissionSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x60)] + Puzzle: Annotated[basic.TkID0x20, 0x0] + RequireScanEventActive: Annotated[basic.cTkFixedString0x20, 0x20] + AltPriorityMissionForSelection: Annotated[basic.TkID0x10, 0x40] + Mission: Annotated[basic.TkID0x10, 0x50] + OptionalMissionSeed: Annotated[basic.GcSeed, 0x60] ForceMissionSeed: Annotated[bool, Field(ctypes.c_bool, 0x70)] RequireMainMissionActiveWhenUsingAlt: Annotated[bool, Field(ctypes.c_bool, 0x71)] RequireMainMissionSelected: Annotated[bool, Field(ctypes.c_bool, 0x72)] @@ -13916,68 +11851,50 @@ class cGcAlienPuzzleMissionOverride(Structure): @partial_struct class cGcAlienSpeechEntry(Structure): - Group: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Text: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Category: Annotated[ - c_enum32[enums.cGcWordCategoryTableEnum], - Field(c_enum32[enums.cGcWordCategoryTableEnum], 0x50), - ] + Group: Annotated[basic.cTkFixedString0x20, 0x0] + Text: Annotated[basic.cTkFixedString0x20, 0x20] + Id: Annotated[basic.TkID0x10, 0x40] + Category: Annotated[c_enum32[enums.cGcWordCategoryTableEnum], 0x50] Frequency: Annotated[int, Field(ctypes.c_int32, 0x54)] Level: Annotated[int, Field(ctypes.c_int32, 0x58)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x5C) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x5C] class eWordInteractEffectEnum(IntEnum): Pain = 0x0 Heal = 0x1 - WordInteractEffect: Annotated[ - c_enum32[eWordInteractEffectEnum], - Field(c_enum32[eWordInteractEffectEnum], 0x60), - ] + WordInteractEffect: Annotated[c_enum32[eWordInteractEffectEnum], 0x60] @partial_struct class cGcBreakTechByStatData(Structure): - DamageTechWithStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x0) - ] + DamageTechWithStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x0] IncludeStatChildren: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcChildNode(Structure): - JointPositionInBone: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - PositionInBone: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - NodeName: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x20)] + JointPositionInBone: Annotated[basic.Vector3f, 0x0] + PositionInBone: Annotated[basic.Vector3f, 0x10] + NodeName: Annotated[basic.cTkFixedString0x40, 0x20] JointPositionInBoneSet: Annotated[bool, Field(ctypes.c_bool, 0x60)] @partial_struct class cGcAlienMoodMissionOverride(Structure): - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Mood: Annotated[ - c_enum32[enums.cGcAlienMood], Field(c_enum32[enums.cGcAlienMood], 0x10) - ] + Mission: Annotated[basic.TkID0x10, 0x0] + Mood: Annotated[c_enum32[enums.cGcAlienMood], 0x10] @partial_struct class cGcExperienceDebugTriggerAction(Structure): - Action: Annotated[ - c_enum32[enums.cGcExperienceDebugTriggerActionTypes], - Field(c_enum32[enums.cGcExperienceDebugTriggerActionTypes], 0x0), - ] + Action: Annotated[c_enum32[enums.cGcExperienceDebugTriggerActionTypes], 0x0] IntParameter: Annotated[int, Field(ctypes.c_int32, 0x4)] @partial_struct class cGcExperienceDebugTriggerInput(Structure): - Actions: Annotated[ - basic.cTkDynamicArray[cGcExperienceDebugTriggerAction], - Field(basic.cTkDynamicArray[cGcExperienceDebugTriggerAction], 0x0), - ] + Actions: Annotated[basic.cTkDynamicArray[cGcExperienceDebugTriggerAction], 0x0] class eKeyPressEnum(IntEnum): _1 = 0x0 @@ -13994,7 +11911,7 @@ class eKeyPressEnum(IntEnum): PadLeft = 0xB PadRight = 0xC - KeyPress: Annotated[c_enum32[eKeyPressEnum], Field(c_enum32[eKeyPressEnum], 0x10)] + KeyPress: Annotated[c_enum32[eKeyPressEnum], 0x10] @partial_struct @@ -14012,22 +11929,12 @@ class cGcPlayfabMatchmakingAttributes(Structure): gameProgress: Annotated[int, Field(ctypes.c_int32, 0x0)] isBackfilling: Annotated[int, Field(ctypes.c_int32, 0x4)] needsSmallLobby: Annotated[int, Field(ctypes.c_int32, 0x8)] - lobbyConnectionString: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xC) - ] - gamemode: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x10C) - ] - matchmakingVersion: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x18C) - ] - platform: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x20C) - ] - seasonNumber: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x28C) - ] - UA: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x2CC)] + lobbyConnectionString: Annotated[basic.cTkFixedString0x100, 0xC] + gamemode: Annotated[basic.cTkFixedString0x80, 0x10C] + matchmakingVersion: Annotated[basic.cTkFixedString0x80, 0x18C] + platform: Annotated[basic.cTkFixedString0x80, 0x20C] + seasonNumber: Annotated[basic.cTkFixedString0x40, 0x28C] + UA: Annotated[basic.cTkFixedString0x40, 0x2CC] @partial_struct @@ -14042,7 +11949,7 @@ class cGcMessageTitanFall(Structure): @partial_struct class cGcMessageTrackTargetAlert(Structure): - AlertPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + AlertPos: Annotated[basic.Vector3f, 0x0] Attacker: Annotated[int, Field(ctypes.c_int32, 0x10)] Victim: Annotated[int, Field(ctypes.c_int32, 0x14)] Primary: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -14064,7 +11971,7 @@ class cGcMessageUpdateFrigateSpeed(Structure): @partial_struct class cGcMessageCrime(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + Position: Annotated[basic.Vector3f, 0x0] class eCrimeEnum(IntEnum): AttackCreature = 0x0 @@ -14081,47 +11988,40 @@ class eCrimeEnum(IntEnum): KillPolice = 0xB TimedShootable = 0xC - Crime: Annotated[c_enum32[eCrimeEnum], Field(c_enum32[eCrimeEnum], 0x10)] - Criminal: Annotated[basic.GcNodeID, Field(basic.GcNodeID, 0x14)] + Crime: Annotated[c_enum32[eCrimeEnum], 0x10] + Criminal: Annotated[basic.GcNodeID, 0x14] Value: Annotated[int, Field(ctypes.c_int32, 0x18)] - Victim: Annotated[basic.GcNodeID, Field(basic.GcNodeID, 0x1C)] + Victim: Annotated[basic.GcNodeID, 0x1C] @partial_struct class cGcMessageCutSceneAction(Structure): - Facing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Local: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - Action: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + Facing: Annotated[basic.Vector3f, 0x0] + Local: Annotated[basic.Vector3f, 0x10] + Offset: Annotated[basic.Vector3f, 0x20] + Up: Annotated[basic.Vector3f, 0x30] + Action: Annotated[basic.TkID0x10, 0x40] @partial_struct class cGcMessageNPCBehaviourEvent(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - BehaviourEvent: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - UserData: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Position: Annotated[basic.Vector3f, 0x0] + BehaviourEvent: Annotated[basic.TkID0x10, 0x10] + UserData: Annotated[basic.TkID0x10, 0x20] InteractionSubType: Annotated[int, Field(ctypes.c_int32, 0x30)] - InteractionTrigger: Annotated[ - c_enum32[enums.cGcNPCTriggerTypes], - Field(c_enum32[enums.cGcNPCTriggerTypes], 0x34), - ] - SourceNode: Annotated[basic.GcNodeID, Field(basic.GcNodeID, 0x38)] + InteractionTrigger: Annotated[c_enum32[enums.cGcNPCTriggerTypes], 0x34] + SourceNode: Annotated[basic.GcNodeID, 0x38] @partial_struct class cGcMessagePetBehaviourEvent(Structure): - Direction: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - UserData: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x20)] - BehaviourEvent: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - ForceBehaviour: Annotated[ - c_enum32[enums.cGcPetBehaviours], Field(c_enum32[enums.cGcPetBehaviours], 0x50) - ] - Mood: Annotated[ - c_enum32[enums.cGcAlienMood], Field(c_enum32[enums.cGcAlienMood], 0x54) - ] - SourceNode: Annotated[basic.GcNodeID, Field(basic.GcNodeID, 0x58)] + Direction: Annotated[basic.Vector3f, 0x0] + Position: Annotated[basic.Vector3f, 0x10] + UserData: Annotated[basic.TkID0x20, 0x20] + BehaviourEvent: Annotated[basic.TkID0x10, 0x40] + ForceBehaviour: Annotated[c_enum32[enums.cGcPetBehaviours], 0x50] + Mood: Annotated[c_enum32[enums.cGcAlienMood], 0x54] + SourceNode: Annotated[basic.GcNodeID, 0x58] @partial_struct @@ -14142,7 +12042,7 @@ class cGcMessageRequestWarp(Structure): @partial_struct class cGcMessageSubstanceMined(Structure): - Substance: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Substance: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] @@ -14155,14 +12055,12 @@ class eVROverride_TextEnum(IntEnum): FontHeight = 0x0 FontIndex = 0x1 - VROverride_Text: Annotated[ - c_enum32[eVROverride_TextEnum], Field(c_enum32[eVROverride_TextEnum], 0x8) - ] + VROverride_Text: Annotated[c_enum32[eVROverride_TextEnum], 0x8] @partial_struct class cGcStyleProp_Colour(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + Colour: Annotated[basic.Colour, 0x0] @partial_struct @@ -14172,22 +12070,12 @@ class cGcStyleProp_Font(Structure): @partial_struct class cGcInputActionInfo(Structure): - ConsoleLocTag: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - LocTag: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - OverlayIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - SolidIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - SpecialIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - VirtualButtonIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] + ConsoleLocTag: Annotated[basic.cTkFixedString0x20, 0x0] + LocTag: Annotated[basic.cTkFixedString0x20, 0x20] + OverlayIcon: Annotated[basic.VariableSizeString, 0x40] + SolidIcon: Annotated[basic.VariableSizeString, 0x50] + SpecialIcon: Annotated[basic.VariableSizeString, 0x60] + VirtualButtonIcon: Annotated[basic.VariableSizeString, 0x70] class eInputActionInfoFlagsEnum(IntEnum): empty = 0x0 @@ -14198,23 +12086,12 @@ class eInputActionInfoFlagsEnum(IntEnum): OnlyVR = 0x10 OnlyNonVR = 0x20 - InputActionInfoFlags: Annotated[ - c_enum32[eInputActionInfoFlagsEnum], - Field(c_enum32[eInputActionInfoFlagsEnum], 0x80), - ] - Pairing: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x84) - ] - TextTag: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x88)] - ExternalDigitalAliasId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x108) - ] - ExternalId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x128) - ] - ExternalLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x148) - ] + InputActionInfoFlags: Annotated[c_enum32[eInputActionInfoFlagsEnum], 0x80] + Pairing: Annotated[c_enum32[enums.cGcInputActions], 0x84] + TextTag: Annotated[basic.cTkFixedString0x80, 0x88] + ExternalDigitalAliasId: Annotated[basic.cTkFixedString0x20, 0x108] + ExternalId: Annotated[basic.cTkFixedString0x20, 0x128] + ExternalLoc: Annotated[basic.cTkFixedString0x20, 0x148] Analogue: Annotated[bool, Field(ctypes.c_bool, 0x168)] @@ -14225,38 +12102,22 @@ class cGcStyleProp_Size(Structure): @partial_struct class cGcIKConstraint(Structure): - DefaultState: Annotated[ - cGcPlayerCharacterIKOverrideData, Field(cGcPlayerCharacterIKOverrideData, 0x0) - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - States: Annotated[ - basic.cTkDynamicArray[cGcPlayerCharacterIKStateData], - Field(basic.cTkDynamicArray[cGcPlayerCharacterIKStateData], 0x30), - ] - Type: Annotated[ - c_enum32[enums.cGcCreatureIkType], - Field(c_enum32[enums.cGcCreatureIkType], 0x40), - ] - JointName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x44) - ] + DefaultState: Annotated[cGcPlayerCharacterIKOverrideData, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] + States: Annotated[basic.cTkDynamicArray[cGcPlayerCharacterIKStateData], 0x30] + Type: Annotated[c_enum32[enums.cGcCreatureIkType], 0x40] + JointName: Annotated[basic.cTkFixedString0x100, 0x44] @partial_struct class cGcNGuiStyleAnimationKeyframeData(Structure): - StyleProperties: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] + StyleProperties: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] Position: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcNGuiStyleAnimationData(Structure): - KeyFrames: Annotated[ - basic.cTkDynamicArray[cGcNGuiStyleAnimationKeyframeData], - Field(basic.cTkDynamicArray[cGcNGuiStyleAnimationKeyframeData], 0x0), - ] + KeyFrames: Annotated[basic.cTkDynamicArray[cGcNGuiStyleAnimationKeyframeData], 0x0] Length: Annotated[float, Field(ctypes.c_float, 0x10)] AnimateByDefault: Annotated[bool, Field(ctypes.c_bool, 0x14)] Loop: Annotated[bool, Field(ctypes.c_bool, 0x15)] @@ -14264,40 +12125,22 @@ class cGcNGuiStyleAnimationData(Structure): @partial_struct class cGcActionSetAction(Structure): - Action: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x0) - ] - Status: Annotated[ - c_enum32[enums.cGcActionUseType], Field(c_enum32[enums.cGcActionUseType], 0x4) - ] + Action: Annotated[c_enum32[enums.cGcInputActions], 0x0] + Status: Annotated[c_enum32[enums.cGcActionUseType], 0x4] @partial_struct class cGcActionSet(Structure): - LocTag: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Actions: Annotated[ - basic.cTkDynamicArray[cGcActionSetAction], - Field(basic.cTkDynamicArray[cGcActionSetAction], 0x20), - ] + LocTag: Annotated[basic.cTkFixedString0x20, 0x0] + Actions: Annotated[basic.cTkDynamicArray[cGcActionSetAction], 0x20] BlockedActions: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], 0x30), - ] - Status: Annotated[ - c_enum32[enums.cGcActionUseType], Field(c_enum32[enums.cGcActionUseType], 0x40) - ] - Type: Annotated[ - c_enum32[enums.cGcActionSetType], Field(c_enum32[enums.cGcActionSetType], 0x44) - ] - ExternalId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x48) - ] - ExternalLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x68) - ] - ParentExternalId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x88) + basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], 0x30 ] + Status: Annotated[c_enum32[enums.cGcActionUseType], 0x40] + Type: Annotated[c_enum32[enums.cGcActionSetType], 0x44] + ExternalId: Annotated[basic.cTkFixedString0x20, 0x48] + ExternalLoc: Annotated[basic.cTkFixedString0x20, 0x68] + ParentExternalId: Annotated[basic.cTkFixedString0x20, 0x88] @partial_struct @@ -14311,9 +12154,7 @@ class eVROverride_LayoutEnum(IntEnum): LayerHeight = 0x3 MaxWidth = 0x4 - VROverride_Layout: Annotated[ - c_enum32[eVROverride_LayoutEnum], Field(c_enum32[eVROverride_LayoutEnum], 0x4) - ] + VROverride_Layout: Annotated[c_enum32[eVROverride_LayoutEnum], 0x4] @partial_struct @@ -14321,17 +12162,14 @@ class cGcAccessibleOverride_Text(Structure): class eAccessibleOverride_TextEnum(IntEnum): FontHeight = 0x0 - AccessibleOverride_Text: Annotated[ - c_enum32[eAccessibleOverride_TextEnum], - Field(c_enum32[eAccessibleOverride_TextEnum], 0x0), - ] + AccessibleOverride_Text: Annotated[c_enum32[eAccessibleOverride_TextEnum], 0x0] FloatValue: Annotated[float, Field(ctypes.c_float, 0x4)] @partial_struct class cGcNGuiActionData(Structure): - Data: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - LayerID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Data: Annotated[basic.VariableSizeString, 0x0] + LayerID: Annotated[basic.TkID0x10, 0x10] class eActionEnum(IntEnum): Click = 0x0 @@ -14339,55 +12177,43 @@ class eActionEnum(IntEnum): ArrowLeft = 0x2 ArrowRight = 0x3 - Action: Annotated[c_enum32[eActionEnum], Field(c_enum32[eActionEnum], 0x20)] + Action: Annotated[c_enum32[eActionEnum], 0x20] @partial_struct class cGcNGuiSpecialTextStyleData(Structure): - Animation: Annotated[ - cGcNGuiStyleAnimationData, Field(cGcNGuiStyleAnimationData, 0x0) - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18)] - StyleProperties: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x28), - ] + Animation: Annotated[cGcNGuiStyleAnimationData, 0x0] + Name: Annotated[basic.TkID0x10, 0x18] + StyleProperties: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x28] @partial_struct class cGcNGuiFileBrowserRecents(Structure): - Recents: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x0)] + Recents: Annotated[ + tuple[basic.cTkFixedString0x100, ...], + Field(basic.cTkFixedString0x100 * 10, 0x0), + ] @partial_struct class cGcShipHUDTargetIconData(Structure): - Corner: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - GlowCorner: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - GlowLineHorizontal: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - GlowLineVertical: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - LineHorizontal: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - LineVertical: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] + Corner: Annotated[basic.VariableSizeString, 0x0] + GlowCorner: Annotated[basic.VariableSizeString, 0x10] + GlowLineHorizontal: Annotated[basic.VariableSizeString, 0x20] + GlowLineVertical: Annotated[basic.VariableSizeString, 0x30] + LineHorizontal: Annotated[basic.VariableSizeString, 0x40] + LineVertical: Annotated[basic.VariableSizeString, 0x50] @partial_struct class cGcShipHUDTargetData(Structure): - BaseColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - LockColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - PoliceColour1: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - PoliceColour2: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - ThreatColour: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - IconData: Annotated[cGcShipHUDTargetIconData, Field(cGcShipHUDTargetIconData, 0x50)] - Arrow: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xB0)] + BaseColour: Annotated[basic.Colour, 0x0] + LockColour: Annotated[basic.Colour, 0x10] + PoliceColour1: Annotated[basic.Colour, 0x20] + PoliceColour2: Annotated[basic.Colour, 0x30] + ThreatColour: Annotated[basic.Colour, 0x40] + IconData: Annotated[cGcShipHUDTargetIconData, 0x50] + Arrow: Annotated[basic.VariableSizeString, 0xB0] ActivateTime: Annotated[float, Field(ctypes.c_float, 0xC0)] ActiveDistance: Annotated[float, Field(ctypes.c_float, 0xC4)] ArrowFadeRange: Annotated[float, Field(ctypes.c_float, 0xC8)] @@ -14410,8 +12236,8 @@ class cGcShipHUDTargetData(Structure): @partial_struct class cGcTextStyleOutline(Structure): - OutlineColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - OutlineOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] + OutlineColour: Annotated[basic.Colour, 0x0] + OutlineOffset: Annotated[basic.Vector2f, 0x10] @partial_struct @@ -14421,15 +12247,15 @@ class cGcTextStylePlain(Structure): @partial_struct class cGcTextStyleShadow(Structure): - ShadowColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - ShadowOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] + ShadowColour: Annotated[basic.Colour, 0x0] + ShadowOffset: Annotated[basic.Vector2f, 0x10] @partial_struct class cGcNGuiSpecialTextImageData(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Path: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - Size: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] + Name: Annotated[basic.TkID0x10, 0x0] + Path: Annotated[basic.VariableSizeString, 0x10] + Size: Annotated[basic.Vector2f, 0x20] HeightModifier: Annotated[float, Field(ctypes.c_float, 0x28)] ScaleFromFont: Annotated[float, Field(ctypes.c_float, 0x2C)] UseFontColour: Annotated[bool, Field(ctypes.c_bool, 0x30)] @@ -14444,16 +12270,13 @@ class eAccessibleOverride_LayoutEnum(IntEnum): LayerHeight = 0x3 MaxWidth = 0x4 - AccessibleOverride_Layout: Annotated[ - c_enum32[eAccessibleOverride_LayoutEnum], - Field(c_enum32[eAccessibleOverride_LayoutEnum], 0x0), - ] + AccessibleOverride_Layout: Annotated[c_enum32[eAccessibleOverride_LayoutEnum], 0x0] FloatValue: Annotated[float, Field(ctypes.c_float, 0x4)] @partial_struct class cGcSpaceMapObjectData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + Colour: Annotated[basic.Colour, 0x0] DistanceMin: Annotated[float, Field(ctypes.c_float, 0x10)] DistanceRange: Annotated[float, Field(ctypes.c_float, 0x14)] Radius: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -14466,7 +12289,7 @@ class cGcSpaceMapObjectData(Structure): @partial_struct class cGcHUDComponent(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] class eAlignEnum(IntEnum): Center = 0x0 @@ -14475,7 +12298,7 @@ class eAlignEnum(IntEnum): BottomLeft = 0x3 BottomRight = 0x4 - Align: Annotated[c_enum32[eAlignEnum], Field(c_enum32[eAlignEnum], 0x10)] + Align: Annotated[c_enum32[eAlignEnum], 0x10] Height: Annotated[int, Field(ctypes.c_int32, 0x14)] PosX: Annotated[int, Field(ctypes.c_int32, 0x18)] PosY: Annotated[int, Field(ctypes.c_int32, 0x1C)] @@ -14484,71 +12307,56 @@ class eAlignEnum(IntEnum): @partial_struct class cGcHUDEffectRewardData(Structure): - BoxColourEnd: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - BoxColourStart: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - BoxSizeEnd: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] - BoxSizeStart: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x28)] + BoxColourEnd: Annotated[basic.Colour, 0x0] + BoxColourStart: Annotated[basic.Colour, 0x10] + BoxSizeEnd: Annotated[basic.Vector2f, 0x20] + BoxSizeStart: Annotated[basic.Vector2f, 0x28] BoxAnimTime: Annotated[float, Field(ctypes.c_float, 0x30)] BoxAnimTimeBetweenBoxes: Annotated[float, Field(ctypes.c_float, 0x34)] BoxRotate: Annotated[float, Field(ctypes.c_float, 0x38)] BoxThicknessEnd: Annotated[float, Field(ctypes.c_float, 0x3C)] BoxThicknessStart: Annotated[float, Field(ctypes.c_float, 0x40)] NumBoxes: Annotated[int, Field(ctypes.c_int32, 0x44)] - BoxAnimTimeCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x48) - ] + BoxAnimTimeCurve: Annotated[c_enum32[enums.cTkCurveType], 0x48] @partial_struct class cGcHUDImageData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Data: Annotated[cGcHUDComponent, Field(cGcHUDComponent, 0x10)] - Image: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x38)] + Colour: Annotated[basic.Colour, 0x0] + Data: Annotated[cGcHUDComponent, 0x10] + Image: Annotated[basic.VariableSizeString, 0x38] @partial_struct class cGcPunctuationDelay(Structure): Delay: Annotated[float, Field(ctypes.c_float, 0x0)] - Punctuation: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4) - ] + Punctuation: Annotated[basic.cTkFixedString0x20, 0x4] @partial_struct class cGcHUDLayerData(Structure): - Data: Annotated[cGcHUDComponent, Field(cGcHUDComponent, 0x0)] - Children: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x28), - ] + Data: Annotated[cGcHUDComponent, 0x0] + Children: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x28] @partial_struct class cGcPunctuationDelayData(Structure): - PunctuationList: Annotated[ - basic.cTkDynamicArray[cGcPunctuationDelay], - Field(basic.cTkDynamicArray[cGcPunctuationDelay], 0x0), - ] + PunctuationList: Annotated[basic.cTkDynamicArray[cGcPunctuationDelay], 0x0] DefaultDelay: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcScannerIcon(Structure): - Main: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - Small: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x18)] - Highlight: Annotated[ - c_enum32[enums.cGcScannerIconHighlightTypes], - Field(c_enum32[enums.cGcScannerIconHighlightTypes], 0x30), - ] + Main: Annotated[cTkTextureResource, 0x0] + Small: Annotated[cTkTextureResource, 0x18] + Highlight: Annotated[c_enum32[enums.cGcScannerIconHighlightTypes], 0x30] @partial_struct class cGcHUDMarkerData(Structure): - Distance: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Icon: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - IconBehind: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + Distance: Annotated[basic.VariableSizeString, 0x0] + Icon: Annotated[basic.VariableSizeString, 0x10] + IconBehind: Annotated[basic.VariableSizeString, 0x20] @partial_struct @@ -14560,36 +12368,34 @@ class cGcDiscoveryHelperTimings(Structure): @partial_struct class cGcFontData(Structure): - File: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + File: Annotated[basic.VariableSizeString, 0x0] MinCharWidth: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcCameraAnomalySetupData(Structure): - CameraAt: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x0)] - CameraOffset: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x10)] - CameraUp: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x20)] - SunDirection: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x30)] + CameraAt: Annotated[basic.Vector4f, 0x0] + CameraOffset: Annotated[basic.Vector4f, 0x10] + CameraUp: Annotated[basic.Vector4f, 0x20] + SunDirection: Annotated[basic.Vector4f, 0x30] @partial_struct class cGcCameraFocusBuildingControlSettings(Structure): - ClampRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] + ClampRange: Annotated[basic.Vector2f, 0x0] MaxStepRate: Annotated[float, Field(ctypes.c_float, 0x8)] MaxStepRateAccumulatedInput: Annotated[float, Field(ctypes.c_float, 0xC)] MinStepRate: Annotated[float, Field(ctypes.c_float, 0x10)] SmoothTime: Annotated[float, Field(ctypes.c_float, 0x14)] StepSize: Annotated[float, Field(ctypes.c_float, 0x18)] Clamp: Annotated[bool, Field(ctypes.c_bool, 0x1C)] - StepRateCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1D) - ] + StepRateCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1D] @partial_struct class cGcCameraFreeSettings(Structure): - InitialOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] + InitialOffset: Annotated[basic.Vector3f, 0x0] + Offset: Annotated[basic.Vector3f, 0x10] CollisionRadius: Annotated[float, Field(ctypes.c_float, 0x20)] MaxDistance: Annotated[float, Field(ctypes.c_float, 0x24)] MaxDistanceClampBuffer: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -14617,24 +12423,20 @@ class cGcCameraShakeCapturedData(Structure): @partial_struct class cGcCameraShakeMechanicalData(Structure): - ExtraShakeFrequency: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - ExtraVibrateFrequency: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - ShakeFrequency: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - ShakeStrength: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - VibrateFrequency: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x40)] - VibrateStrength: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x50)] + ExtraShakeFrequency: Annotated[basic.Vector3f, 0x0] + ExtraVibrateFrequency: Annotated[basic.Vector3f, 0x10] + ShakeFrequency: Annotated[basic.Vector3f, 0x20] + ShakeStrength: Annotated[basic.Vector3f, 0x30] + VibrateFrequency: Annotated[basic.Vector3f, 0x40] + VibrateStrength: Annotated[basic.Vector3f, 0x50] Active: Annotated[bool, Field(ctypes.c_bool, 0x60)] @partial_struct class cGcCameraShakeData(Structure): - MechanicalData: Annotated[ - cGcCameraShakeMechanicalData, Field(cGcCameraShakeMechanicalData, 0x0) - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - CapturedData: Annotated[ - cGcCameraShakeCapturedData, Field(cGcCameraShakeCapturedData, 0x80) - ] + MechanicalData: Annotated[cGcCameraShakeMechanicalData, 0x0] + Name: Annotated[basic.TkID0x10, 0x70] + CapturedData: Annotated[cGcCameraShakeCapturedData, 0x80] DecayRate: Annotated[float, Field(ctypes.c_float, 0x94)] FovFrequency: Annotated[float, Field(ctypes.c_float, 0x98)] FovStrength: Annotated[float, Field(ctypes.c_float, 0x9C)] @@ -14647,16 +12449,14 @@ class cGcCameraShakeData(Structure): @partial_struct class cGcPresetTextureData(Structure): - Filename: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x0) - ] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x100)] + Filename: Annotated[basic.cTkFixedString0x100, 0x0] + Name: Annotated[basic.cTkFixedString0x80, 0x100] @partial_struct class cGcScreenFilterData(Structure): - LocText: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + LocText: Annotated[basic.cTkFixedString0x20, 0x0] + Filename: Annotated[basic.VariableSizeString, 0x20] FadeDistance: Annotated[float, Field(ctypes.c_float, 0x30)] HdrAreaAdjust: Annotated[float, Field(ctypes.c_float, 0x34)] SelectableInPhotoMode: Annotated[bool, Field(ctypes.c_bool, 0x38)] @@ -14664,19 +12464,19 @@ class cGcScreenFilterData(Structure): @partial_struct class cGcCameraAmbientBuildingData(Structure): - Animation: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DroneAnimation: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Animation: Annotated[basic.TkID0x10, 0x0] + DroneAnimation: Annotated[basic.TkID0x10, 0x10] Offset: Annotated[float, Field(ctypes.c_float, 0x20)] - AvailableBuildings: Annotated[bool, Field(ctypes.c_bool, 0x24)] - AvailableRaces: Annotated[bool, Field(ctypes.c_bool, 0x60)] + AvailableBuildings: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 60, 0x24)] + AvailableRaces: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 9, 0x60)] AvoidTerrain: Annotated[bool, Field(ctypes.c_bool, 0x69)] UseLookAt: Annotated[bool, Field(ctypes.c_bool, 0x6A)] @partial_struct class cGcCameraAmbientSpaceData(Structure): - Animation: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DroneAnimation: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Animation: Annotated[basic.TkID0x10, 0x0] + DroneAnimation: Annotated[basic.TkID0x10, 0x10] class eOriginEnum(IntEnum): SpaceStationInternals = 0x0 @@ -14688,27 +12488,25 @@ class eOriginEnum(IntEnum): BlackHole = 0x6 Anomaly = 0x7 - Origin: Annotated[c_enum32[eOriginEnum], Field(c_enum32[eOriginEnum], 0x20)] + Origin: Annotated[c_enum32[eOriginEnum], 0x20] @partial_struct class cGcCameraAmbientSpecialData(Structure): - Animation: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DroneAnimation: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Animation: Annotated[basic.TkID0x10, 0x0] + DroneAnimation: Annotated[basic.TkID0x10, 0x10] class eCameraOriginEnum(IntEnum): ExternalBase = 0x0 - CameraOrigin: Annotated[ - c_enum32[eCameraOriginEnum], Field(c_enum32[eCameraOriginEnum], 0x20) - ] + CameraOrigin: Annotated[c_enum32[eCameraOriginEnum], 0x20] AvoidTerrain: Annotated[bool, Field(ctypes.c_bool, 0x24)] UseLookAt: Annotated[bool, Field(ctypes.c_bool, 0x25)] @partial_struct class cGcCameraAnimationData(Structure): - CameraAnimation: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] + CameraAnimation: Annotated[cTkModelResource, 0x0] @partial_struct @@ -14753,9 +12551,7 @@ class eAerialViewModeEnum(IntEnum): FaceDownThenOut = 0x2 FaceDownThenFocus = 0x3 - AerialViewMode: Annotated[ - c_enum32[eAerialViewModeEnum], Field(c_enum32[eAerialViewModeEnum], 0x0) - ] + AerialViewMode: Annotated[c_enum32[eAerialViewModeEnum], 0x0] Distance: Annotated[float, Field(ctypes.c_float, 0x4)] FocusTargetOffsetDistance: Annotated[float, Field(ctypes.c_float, 0x8)] LookTime: Annotated[float, Field(ctypes.c_float, 0xC)] @@ -14765,21 +12561,15 @@ class eAerialViewModeEnum(IntEnum): TargetOffsetAngle: Annotated[float, Field(ctypes.c_float, 0x1C)] Time: Annotated[float, Field(ctypes.c_float, 0x20)] TimeBack: Annotated[float, Field(ctypes.c_float, 0x24)] - Curve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x28) - ] - CurveDown: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x29) - ] + Curve: Annotated[c_enum32[enums.cTkCurveType], 0x28] + CurveDown: Annotated[c_enum32[enums.cTkCurveType], 0x29] IgnoreDistanceRestrictions: Annotated[bool, Field(ctypes.c_bool, 0x2A)] - SlerpCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x2B) - ] + SlerpCurve: Annotated[c_enum32[enums.cTkCurveType], 0x2B] @partial_struct class cGcCameraFollowSettings(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] AvoidCollisionLRSpeed: Annotated[float, Field(ctypes.c_float, 0x10)] AvoidCollisionPushSpeed: Annotated[float, Field(ctypes.c_float, 0x14)] AvoidCollisionUDSpeed: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -14870,14 +12660,12 @@ class cGcCameraWarpSettings(Structure): OffsetZStartBias: Annotated[float, Field(ctypes.c_float, 0x44)] RollRange: Annotated[float, Field(ctypes.c_float, 0x48)] YawnRange: Annotated[float, Field(ctypes.c_float, 0x4C)] - OffsetXCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x50) - ] + OffsetXCurve: Annotated[c_enum32[enums.cTkCurveType], 0x50] @partial_struct class cGcColourModifier(Structure): - ForceColourTo: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + ForceColourTo: Annotated[basic.Colour, 0x0] MultiplySaturation: Annotated[float, Field(ctypes.c_float, 0x10)] MultiplyValue: Annotated[float, Field(ctypes.c_float, 0x14)] OffsetSaturation: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -14887,13 +12675,13 @@ class cGcColourModifier(Structure): @partial_struct class cGcColourPaletteData(Structure): - Colours: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - ColourIndices: Annotated[int, Field(ctypes.c_int32, 0x50)] + Colours: Annotated[tuple[basic.Colour, ...], Field(basic.Colour * 5, 0x0)] + ColourIndices: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 5, 0x50)] @partial_struct class cGcPaletteData(Structure): - Colours: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + Colours: Annotated[tuple[basic.Colour, ...], Field(basic.Colour * 64, 0x0)] class eNumColoursEnum(IntEnum): Inactive = 0x0 @@ -14903,40 +12691,23 @@ class eNumColoursEnum(IntEnum): _16 = 0x4 All = 0x5 - NumColours: Annotated[ - c_enum32[eNumColoursEnum], Field(c_enum32[eNumColoursEnum], 0x400) - ] + NumColours: Annotated[c_enum32[eNumColoursEnum], 0x400] @partial_struct class cGcTerrainGlobals(Structure): - TerrainBeamLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - MiningSubstanceBiome: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - MiningSubstanceRare: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x120), - ] - MiningSubstanceStar: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x130), - ] - MiningSubstanceStarExtreme: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x140), - ] - RegionHotspotsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x150) - ] - TerrainEditing: Annotated[cGcTerrainEditing, Field(cGcTerrainEditing, 0x160)] - HueOverlay: Annotated[ - cGcTerrainOverlayColours, Field(cGcTerrainOverlayColours, 0x1F8) - ] - SaturationOverlay: Annotated[ - cGcTerrainOverlayColours, Field(cGcTerrainOverlayColours, 0x210) - ] - ValueOverlay: Annotated[ - cGcTerrainOverlayColours, Field(cGcTerrainOverlayColours, 0x228) - ] + TerrainBeamLightColour: Annotated[basic.Colour, 0x0] + MiningSubstanceBiome: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 17, 0x10) + ] + MiningSubstanceRare: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x120] + MiningSubstanceStar: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x130] + MiningSubstanceStarExtreme: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x140] + RegionHotspotsTable: Annotated[basic.VariableSizeString, 0x150] + TerrainEditing: Annotated[cGcTerrainEditing, 0x160] + HueOverlay: Annotated[cGcTerrainOverlayColours, 0x1F8] + SaturationOverlay: Annotated[cGcTerrainOverlayColours, 0x210] + ValueOverlay: Annotated[cGcTerrainOverlayColours, 0x228] HeightBlend: Annotated[float, Field(ctypes.c_float, 0x240)] MaxHighWaterLevel: Annotated[float, Field(ctypes.c_float, 0x244)] MaxHighWaterRatio: Annotated[float, Field(ctypes.c_float, 0x248)] @@ -15013,51 +12784,40 @@ class cGcSmokeTestOptions(Structure): @partial_struct class cGcSolarGenerationGlobals(Structure): - PlanetRingsMax: Annotated[cGcPlanetRingData, Field(cGcPlanetRingData, 0x0)] - PlanetRingsMin: Annotated[cGcPlanetRingData, Field(cGcPlanetRingData, 0x60)] - SolarSystemSize: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xC0)] + PlanetRingsMax: Annotated[cGcPlanetRingData, 0x0] + PlanetRingsMin: Annotated[cGcPlanetRingData, 0x60] + SolarSystemSize: Annotated[basic.Vector3f, 0xC0] AsteroidSettings: Annotated[ - basic.cTkDynamicArray[cGcAsteroidSystemGenerationData], - Field(basic.cTkDynamicArray[cGcAsteroidSystemGenerationData], 0xD0), - ] - CommonAsteroidResourceFuel: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xE0)] - CommonAsteroidResourceMain: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xF0)] - CommonAsteroidResourceProduct: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x100) - ] - CommonAsteroidResourceSecondary: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x110) - ] - RareAsteroidDataProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x120)] - RareAsteroidResource: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x130)] - RareAsteroidResourceFuel: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x140)] + basic.cTkDynamicArray[cGcAsteroidSystemGenerationData], 0xD0 + ] + CommonAsteroidResourceFuel: Annotated[basic.TkID0x10, 0xE0] + CommonAsteroidResourceMain: Annotated[basic.TkID0x10, 0xF0] + CommonAsteroidResourceProduct: Annotated[basic.TkID0x10, 0x100] + CommonAsteroidResourceSecondary: Annotated[basic.TkID0x10, 0x110] + RareAsteroidDataProduct: Annotated[basic.TkID0x10, 0x120] + RareAsteroidResource: Annotated[basic.TkID0x10, 0x130] + RareAsteroidResourceFuel: Annotated[basic.TkID0x10, 0x140] SpaceshipSpawnFreqMultipliers: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x150), + basic.cTkDynamicArray[ctypes.c_float], 0x150 ] SpaceshipWeightings: Annotated[ - basic.cTkDynamicArray[cGcAISpaceshipWeightingData], - Field(basic.cTkDynamicArray[cGcAISpaceshipWeightingData], 0x160), - ] - AbandonedSystemProbability: Annotated[float, Field(ctypes.c_float, 0x170)] - EmptySystemProbability: Annotated[float, Field(ctypes.c_float, 0x184)] - ExtremePlanetChance: Annotated[float, Field(ctypes.c_float, 0x198)] - PirateSystemProbability: Annotated[float, Field(ctypes.c_float, 0x1AC)] - PerPlanetGenerationAngleChangeDegreesRange: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1C0) - ] - PerPlanetGenerationElevationChangeDegreesRange: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1C8) + basic.cTkDynamicArray[cGcAISpaceshipWeightingData], 0x160 ] - RareAsteroidNoiseRangeLotsOfRares: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1D0) + AbandonedSystemProbability: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 5, 0x170) ] - RareAsteroidNoiseRangeSomeRares: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1D8) + EmptySystemProbability: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 5, 0x184) ] - SpawnPointStationToPlanetInterpRange: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1E0) + ExtremePlanetChance: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x198)] + PirateSystemProbability: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 5, 0x1AC) ] + PerPlanetGenerationAngleChangeDegreesRange: Annotated[basic.Vector2f, 0x1C0] + PerPlanetGenerationElevationChangeDegreesRange: Annotated[basic.Vector2f, 0x1C8] + RareAsteroidNoiseRangeLotsOfRares: Annotated[basic.Vector2f, 0x1D0] + RareAsteroidNoiseRangeSomeRares: Annotated[basic.Vector2f, 0x1D8] + SpawnPointStationToPlanetInterpRange: Annotated[basic.Vector2f, 0x1E0] AsteroidAnomalyAvoidRadius: Annotated[float, Field(ctypes.c_float, 0x1E8)] AsteroidLotsOfRaresOdds: Annotated[float, Field(ctypes.c_float, 0x1EC)] AsteroidNoiseOctaves: Annotated[int, Field(ctypes.c_int32, 0x1F0)] @@ -15075,8 +12835,7 @@ class cGcSolarGenerationGlobals(Structure): CommonAsteroidResourceProductOdds: Annotated[float, Field(ctypes.c_float, 0x218)] CommonAsteroidResourceSecondaryOdds: Annotated[float, Field(ctypes.c_float, 0x21C)] CorruptSentinelBuildingCheckDifficulty: Annotated[ - c_enum32[enums.cGcCombatTimerDifficultyOption], - Field(c_enum32[enums.cGcCombatTimerDifficultyOption], 0x220), + c_enum32[enums.cGcCombatTimerDifficultyOption], 0x220 ] FuelAsteroidMultiplier: Annotated[int, Field(ctypes.c_int32, 0x224)] GenerateForcedNumberPlanets: Annotated[int, Field(ctypes.c_int32, 0x228)] @@ -15106,9 +12865,7 @@ class cGcSolarGenerationGlobals(Structure): SolarSystemMaximumRadiusMassive: Annotated[float, Field(ctypes.c_float, 0x280)] SparseAsteroidSpread: Annotated[float, Field(ctypes.c_float, 0x284)] StationSpawnAvoidRadius: Annotated[float, Field(ctypes.c_float, 0x288)] - AsteroidScaleVarianceCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x28C) - ] + AsteroidScaleVarianceCurve: Annotated[c_enum32[enums.cTkCurveType], 0x28C] AsteroidsCheckNoise: Annotated[bool, Field(ctypes.c_bool, 0x28D)] AsteroidsEnabled: Annotated[bool, Field(ctypes.c_bool, 0x28E)] GenerateMaximumSolarSystem: Annotated[bool, Field(ctypes.c_bool, 0x28F)] @@ -15119,131 +12876,57 @@ class cGcSolarGenerationGlobals(Structure): @partial_struct class cGcScratchpadGlobals(Structure): - IBLMaps: Annotated[ - basic.cTkDynamicArray[cGcPresetTextureData], - Field(basic.cTkDynamicArray[cGcPresetTextureData], 0x0), - ] - OverlayTextures: Annotated[ - basic.cTkDynamicArray[cGcPresetTextureData], - Field(basic.cTkDynamicArray[cGcPresetTextureData], 0x10), - ] - TerrainColours: Annotated[ - basic.cTkDynamicArray[basic.Colour], - Field(basic.cTkDynamicArray[basic.Colour], 0x20), - ] - TerrainTextures: Annotated[ - basic.cTkDynamicArray[cGcPresetTextureData], - Field(basic.cTkDynamicArray[cGcPresetTextureData], 0x30), - ] + IBLMaps: Annotated[basic.cTkDynamicArray[cGcPresetTextureData], 0x0] + OverlayTextures: Annotated[basic.cTkDynamicArray[cGcPresetTextureData], 0x10] + TerrainColours: Annotated[basic.cTkDynamicArray[basic.Colour], 0x20] + TerrainTextures: Annotated[basic.cTkDynamicArray[cGcPresetTextureData], 0x30] @partial_struct class cGcSimulationGlobals(Structure): - AbandonedSpaceStationFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] + AbandonedSpaceStationFile: Annotated[basic.VariableSizeString, 0x0] AtlasStationAnomalies: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x10), - ] - BlackHoleAnomalies: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x20), - ] - BlackHoleTunnelFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - HeavyAirAbandonedFreighter: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - HeavyAirCave: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - HeavyAirSpaceStormDefault: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - HeavyAirSpaceStormList: Annotated[ - basic.cTkDynamicArray[cGcSpaceStormData], - Field(basic.cTkDynamicArray[cGcSpaceStormData], 0x70), - ] - HeavyAirUnderwater: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x80) - ] - MultitoolPool: Annotated[ - basic.cTkDynamicArray[cGcMultitoolPoolData], - Field(basic.cTkDynamicArray[cGcMultitoolPoolData], 0x90), - ] - NexusExteriorFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xA0) - ] - NexusFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xB0) - ] - None_: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xC0)] - PirateSystemSpaceStationFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xD0) - ] - PlaceMarkerFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE0) - ] - PlacementDroneFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xF0) - ] - PlanetAtmosphereFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x100) - ] - PlanetAtmosphereMaterialFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x110) - ] - PlanetGasGiantAtmosphereFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x120) - ] - PlanetGasGiantAtmosphereMaterialFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x130) - ] - PlanetMaterialFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x140) - ] - PlanetRingFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x150) - ] - PlanetRingMaterialFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x160) - ] + basic.cTkDynamicArray[basic.VariableSizeString], 0x10 + ] + BlackHoleAnomalies: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x20] + BlackHoleTunnelFile: Annotated[basic.VariableSizeString, 0x30] + HeavyAirAbandonedFreighter: Annotated[basic.VariableSizeString, 0x40] + HeavyAirCave: Annotated[basic.VariableSizeString, 0x50] + HeavyAirSpaceStormDefault: Annotated[basic.VariableSizeString, 0x60] + HeavyAirSpaceStormList: Annotated[basic.cTkDynamicArray[cGcSpaceStormData], 0x70] + HeavyAirUnderwater: Annotated[basic.VariableSizeString, 0x80] + MultitoolPool: Annotated[basic.cTkDynamicArray[cGcMultitoolPoolData], 0x90] + NexusExteriorFile: Annotated[basic.VariableSizeString, 0xA0] + NexusFile: Annotated[basic.VariableSizeString, 0xB0] + None_: Annotated[basic.VariableSizeString, 0xC0] + PirateSystemSpaceStationFile: Annotated[basic.VariableSizeString, 0xD0] + PlaceMarkerFile: Annotated[basic.VariableSizeString, 0xE0] + PlacementDroneFile: Annotated[basic.VariableSizeString, 0xF0] + PlanetAtmosphereFile: Annotated[basic.VariableSizeString, 0x100] + PlanetAtmosphereMaterialFile: Annotated[basic.VariableSizeString, 0x110] + PlanetGasGiantAtmosphereFile: Annotated[basic.VariableSizeString, 0x120] + PlanetGasGiantAtmosphereMaterialFile: Annotated[basic.VariableSizeString, 0x130] + PlanetMaterialFile: Annotated[basic.VariableSizeString, 0x140] + PlanetRingFile: Annotated[basic.VariableSizeString, 0x150] + PlanetRingMaterialFile: Annotated[basic.VariableSizeString, 0x160] PlanetTerrainMaterials: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x170), - ] - PortalStoryTunnelFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x180) - ] - PortalTunnelFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x190) + basic.cTkDynamicArray[basic.VariableSizeString], 0x170 ] + PortalStoryTunnelFile: Annotated[basic.VariableSizeString, 0x180] + PortalTunnelFile: Annotated[basic.VariableSizeString, 0x190] PrefetchMaterialResources: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x1A0), + basic.cTkDynamicArray[basic.VariableSizeString], 0x1A0 ] PrefetchScenegraphResources: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x1B0), + basic.cTkDynamicArray[basic.VariableSizeString], 0x1B0 ] PrefetchTextureResources: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x1C0), - ] - SpaceStationFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x1D0) - ] - StartingSceneFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x1E0) - ] - TeleportTunnelFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x1F0) - ] - WarpTunnelFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x200) + basic.cTkDynamicArray[basic.VariableSizeString], 0x1C0 ] + SpaceStationFile: Annotated[basic.VariableSizeString, 0x1D0] + StartingSceneFile: Annotated[basic.VariableSizeString, 0x1E0] + TeleportTunnelFile: Annotated[basic.VariableSizeString, 0x1F0] + WarpTunnelFile: Annotated[basic.VariableSizeString, 0x200] ProceduralBuildingsGenerationSeed: Annotated[int, Field(ctypes.c_uint64, 0x210)] GasGiantFadeDistanceEnd: Annotated[float, Field(ctypes.c_float, 0x218)] GasGiantFadeDistanceStart: Annotated[float, Field(ctypes.c_float, 0x21C)] @@ -15267,25 +12950,12 @@ class cGcRichPresenceGlobals(Structure): @partial_struct class cGcSceneOptions(Structure): - AtmosphereFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - BiomeFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - CaveBiomeFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - ForceResource: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x30), - ] - TerrainFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - WaterBiomeFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] + AtmosphereFile: Annotated[basic.VariableSizeString, 0x0] + BiomeFile: Annotated[basic.VariableSizeString, 0x10] + CaveBiomeFile: Annotated[basic.VariableSizeString, 0x20] + ForceResource: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x30] + TerrainFile: Annotated[basic.VariableSizeString, 0x40] + WaterBiomeFile: Annotated[basic.VariableSizeString, 0x50] ForceResourceSize: Annotated[float, Field(ctypes.c_float, 0x60)] RecentToolboxIndex: Annotated[int, Field(ctypes.c_int32, 0x64)] SelectedToolboxIndex: Annotated[int, Field(ctypes.c_int32, 0x68)] @@ -15298,10 +12968,10 @@ class cGcSceneOptions(Structure): @partial_struct class cGcPlacementGlobals(Structure): - LodDistancesDetail: Annotated[float, Field(ctypes.c_float, 0x0)] - LodDistancesDistant: Annotated[float, Field(ctypes.c_float, 0x14)] - LodDistancesLandmark: Annotated[float, Field(ctypes.c_float, 0x28)] - LodDistancesObject: Annotated[float, Field(ctypes.c_float, 0x3C)] + LodDistancesDetail: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x0)] + LodDistancesDistant: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x14)] + LodDistancesLandmark: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x28)] + LodDistancesObject: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x3C)] AddToLodDistance: Annotated[float, Field(ctypes.c_float, 0x50)] HighInterpValue: Annotated[float, Field(ctypes.c_float, 0x54)] InterpValueVariance: Annotated[float, Field(ctypes.c_float, 0x58)] @@ -15320,24 +12990,18 @@ class cGcPlacementGlobals(Structure): @partial_struct class cGcMultiplayerGlobals(Structure): - EpicMissionIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - EpicMissionIconNotSelected: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x18) - ] - EpicMissionIconSelected: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x30) - ] - EpicMissionRewardOverride: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - EpicMissionSecondReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] - NexusMissionStandardReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x68)] - QuicksilverMissionSecondReward: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x78) - ] - StandardMissionSecondReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x88)] - WeekendMissionSecondReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x98)] + EpicMissionIcon: Annotated[cTkTextureResource, 0x0] + EpicMissionIconNotSelected: Annotated[cTkTextureResource, 0x18] + EpicMissionIconSelected: Annotated[cTkTextureResource, 0x30] + EpicMissionRewardOverride: Annotated[basic.TkID0x10, 0x48] + EpicMissionSecondReward: Annotated[basic.TkID0x10, 0x58] + NexusMissionStandardReward: Annotated[basic.TkID0x10, 0x68] + QuicksilverMissionSecondReward: Annotated[basic.TkID0x10, 0x78] + StandardMissionSecondReward: Annotated[basic.TkID0x10, 0x88] + WeekendMissionSecondReward: Annotated[basic.TkID0x10, 0x98] AbandonedEntityWaitPeriod: Annotated[int, Field(ctypes.c_uint64, 0xA8)] - FullSimHandUpdateDistance: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xB0)] - FullSimHandUpdateInterval: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xB8)] + FullSimHandUpdateDistance: Annotated[basic.Vector2f, 0xB0] + FullSimHandUpdateInterval: Annotated[basic.Vector2f, 0xB8] BaseHeaderBroadcastInterval: Annotated[float, Field(ctypes.c_float, 0xC0)] BlobHeightOffset: Annotated[float, Field(ctypes.c_float, 0xC4)] ChanceMissionEpic: Annotated[float, Field(ctypes.c_float, 0xC8)] @@ -15413,89 +13077,58 @@ class cGcMultiplayerGlobals(Structure): @partial_struct class cGcGraphicsGlobals(Structure): - ImGui: Annotated[cTkImGuiSettings, Field(cTkImGuiSettings, 0x0)] - ShellsSettings: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x190)] - TessSettings: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x1D0)] - LightShaftProperties: Annotated[ - cGcLightShaftProperties, Field(cGcLightShaftProperties, 0x210) - ] - StormLightShaftProperties: Annotated[ - cGcLightShaftProperties, Field(cGcLightShaftProperties, 0x240) - ] - LensParams: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x270)] - MipLevelDebug: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x280)] - ScanColour: Annotated[basic.Colour, Field(basic.Colour, 0x290)] - ShadowBias: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x2A0)] - ShadowSplit: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x2B0)] - ShadowSplitCameraView: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x2C0)] - ShadowSplitShip: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x2D0)] - ShadowSplitSpace: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x2E0)] - ShadowSplitStation: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x2F0)] - TaaSettings: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x300)] - TerrainMipDistanceHigh: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x310)] - TerrainMipDistanceLow: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x320)] - TerrainMipDistanceMed: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x330)] - TerrainMipDistanceUlt: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x340)] - UIColour: Annotated[basic.Colour, Field(basic.Colour, 0x350)] - UIShipColour: Annotated[basic.Colour, Field(basic.Colour, 0x360)] - VerticalColourBottom: Annotated[basic.Colour, Field(basic.Colour, 0x370)] - VerticalColourTop: Annotated[basic.Colour, Field(basic.Colour, 0x380)] - VerticalGradient: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x390)] - CascadeRenderSequence: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x3A0), - ] + ImGui: Annotated[cTkImGuiSettings, 0x0] + ShellsSettings: Annotated[ + tuple[basic.Vector4f, ...], Field(basic.Vector4f * 4, 0x190) + ] + TessSettings: Annotated[ + tuple[basic.Vector4f, ...], Field(basic.Vector4f * 4, 0x1D0) + ] + LightShaftProperties: Annotated[cGcLightShaftProperties, 0x210] + StormLightShaftProperties: Annotated[cGcLightShaftProperties, 0x240] + LensParams: Annotated[basic.Vector4f, 0x270] + MipLevelDebug: Annotated[basic.Vector4f, 0x280] + ScanColour: Annotated[basic.Colour, 0x290] + ShadowBias: Annotated[basic.Vector4f, 0x2A0] + ShadowSplit: Annotated[basic.Vector4f, 0x2B0] + ShadowSplitCameraView: Annotated[basic.Vector4f, 0x2C0] + ShadowSplitShip: Annotated[basic.Vector4f, 0x2D0] + ShadowSplitSpace: Annotated[basic.Vector4f, 0x2E0] + ShadowSplitStation: Annotated[basic.Vector4f, 0x2F0] + TaaSettings: Annotated[basic.Vector4f, 0x300] + TerrainMipDistanceHigh: Annotated[basic.Vector4f, 0x310] + TerrainMipDistanceLow: Annotated[basic.Vector4f, 0x320] + TerrainMipDistanceMed: Annotated[basic.Vector4f, 0x330] + TerrainMipDistanceUlt: Annotated[basic.Vector4f, 0x340] + UIColour: Annotated[basic.Colour, 0x350] + UIShipColour: Annotated[basic.Colour, 0x360] + VerticalColourBottom: Annotated[basic.Colour, 0x370] + VerticalColourTop: Annotated[basic.Colour, 0x380] + VerticalGradient: Annotated[basic.Vector4f, 0x390] + CascadeRenderSequence: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x3A0] GraphicsDetailPresetsPC: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x3B0) - ] - GraphicsDetailPresetiOS: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x540) - ] - GraphicsDetailPresetMacOS: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x5A4) - ] - GraphicsDetailPresetNX64Handheld: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x608) - ] - GraphicsDetailPresetOberon: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x66C) - ] - GraphicsDetailPresetPS4: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x6D0) - ] - GraphicsDetailPresetPS4Pro: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x734) - ] - GraphicsDetailPresetPS4ProVR: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x798) - ] - GraphicsDetailPresetPS4VR: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x7FC) - ] - GraphicsDetailPresetPS5: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x860) - ] - GraphicsDetailPresetPS5VR: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x8C4) - ] - GraphicsDetailPresetSwitch2Handheld: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x928) - ] - GraphicsDetailPresetTrinity: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x98C) - ] - GraphicsDetailPresetTrinityVR: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x9F0) - ] - GraphicsDetailPresetXB1: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0xA54) - ] - GraphicsDetailPresetXB1X: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0xAB8) - ] - VariableUpdatePeriodModifers: Annotated[float, Field(ctypes.c_float, 0xB1C)] - WindDir1: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xB2C)] - WindDir2: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xB34)] + tuple[cTkGraphicsDetailPreset, ...], Field(cTkGraphicsDetailPreset * 4, 0x3B0) + ] + GraphicsDetailPresetiOS: Annotated[cTkGraphicsDetailPreset, 0x540] + GraphicsDetailPresetMacOS: Annotated[cTkGraphicsDetailPreset, 0x5A4] + GraphicsDetailPresetNX64Handheld: Annotated[cTkGraphicsDetailPreset, 0x608] + GraphicsDetailPresetOberon: Annotated[cTkGraphicsDetailPreset, 0x66C] + GraphicsDetailPresetPS4: Annotated[cTkGraphicsDetailPreset, 0x6D0] + GraphicsDetailPresetPS4Pro: Annotated[cTkGraphicsDetailPreset, 0x734] + GraphicsDetailPresetPS4ProVR: Annotated[cTkGraphicsDetailPreset, 0x798] + GraphicsDetailPresetPS4VR: Annotated[cTkGraphicsDetailPreset, 0x7FC] + GraphicsDetailPresetPS5: Annotated[cTkGraphicsDetailPreset, 0x860] + GraphicsDetailPresetPS5VR: Annotated[cTkGraphicsDetailPreset, 0x8C4] + GraphicsDetailPresetSwitch2Handheld: Annotated[cTkGraphicsDetailPreset, 0x928] + GraphicsDetailPresetTrinity: Annotated[cTkGraphicsDetailPreset, 0x98C] + GraphicsDetailPresetTrinityVR: Annotated[cTkGraphicsDetailPreset, 0x9F0] + GraphicsDetailPresetXB1: Annotated[cTkGraphicsDetailPreset, 0xA54] + GraphicsDetailPresetXB1X: Annotated[cTkGraphicsDetailPreset, 0xAB8] + VariableUpdatePeriodModifers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0xB1C) + ] + WindDir1: Annotated[basic.Vector2f, 0xB2C] + WindDir2: Annotated[basic.Vector2f, 0xB34] AlphaCutoutMax: Annotated[float, Field(ctypes.c_float, 0xB3C)] AlphaCutoutMin: Annotated[float, Field(ctypes.c_float, 0xB40)] AtmosphereSize: Annotated[float, Field(ctypes.c_float, 0xB44)] @@ -15791,39 +13424,40 @@ class cGcGraphicsGlobals(Structure): @partial_struct class cGcFishingGlobals(Structure): - CastLaunchOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - LineColourBite: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - LineColourChase: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - LineColourDefault: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - LineColourFail: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - LineColourLand: Annotated[basic.Colour, Field(basic.Colour, 0x50)] - LineColourNibble: Annotated[basic.Colour, Field(basic.Colour, 0x60)] - RodFirstPersonOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70)] - RodFirstPersonOffsetReelIn: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x80)] - VRRodOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x90)] - VRRodRotation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xA0)] - BaitFlickBobCurve: Annotated[ - cGcCompositeCurveData, Field(cGcCompositeCurveData, 0xB0) - ] - BaitFlickLineCurve: Annotated[ - cGcCompositeCurveData, Field(cGcCompositeCurveData, 0xC8) - ] + CastLaunchOffset: Annotated[basic.Vector3f, 0x0] + LineColourBite: Annotated[basic.Colour, 0x10] + LineColourChase: Annotated[basic.Colour, 0x20] + LineColourDefault: Annotated[basic.Colour, 0x30] + LineColourFail: Annotated[basic.Colour, 0x40] + LineColourLand: Annotated[basic.Colour, 0x50] + LineColourNibble: Annotated[basic.Colour, 0x60] + RodFirstPersonOffset: Annotated[basic.Vector3f, 0x70] + RodFirstPersonOffsetReelIn: Annotated[basic.Vector3f, 0x80] + VRRodOffset: Annotated[basic.Vector3f, 0x90] + VRRodRotation: Annotated[basic.Vector3f, 0xA0] + BaitFlickBobCurve: Annotated[cGcCompositeCurveData, 0xB0] + BaitFlickLineCurve: Annotated[cGcCompositeCurveData, 0xC8] SizeWeightsBiomeOverrides: Annotated[ - basic.cTkDynamicArray[cGcFishSizeProbabilityBiomeOverride], - Field(basic.cTkDynamicArray[cGcFishSizeProbabilityBiomeOverride], 0xE0), + basic.cTkDynamicArray[cGcFishSizeProbabilityBiomeOverride], 0xE0 + ] + SizeWeights: Annotated[ + tuple[cGcFishSizeProbability, ...], Field(cGcFishSizeProbability * 4, 0xF0) + ] + FishMass: Annotated[ + tuple[cGcGaussianCurveData, ...], Field(cGcGaussianCurveData * 4, 0x130) ] - SizeWeights: Annotated[cGcFishSizeProbability, Field(cGcFishSizeProbability, 0xF0)] - FishMass: Annotated[cGcGaussianCurveData, Field(cGcGaussianCurveData, 0x130)] BaitRarityBoostTotalScoreQualityScaling: Annotated[ - float, Field(ctypes.c_float, 0x150) + tuple[float, ...], Field(ctypes.c_float * 5, 0x150) ] - MaxSeaHarvesterCaughtFish: Annotated[int, Field(ctypes.c_int32, 0x164)] - QualityWeights: Annotated[int, Field(ctypes.c_int32, 0x178)] + MaxSeaHarvesterCaughtFish: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 5, 0x164) + ] + QualityWeights: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 5, 0x178)] BaitSizeBoostTotalScoreQualityScaling: Annotated[ - float, Field(ctypes.c_float, 0x18C) + tuple[float, ...], Field(ctypes.c_float * 4, 0x18C) ] - ChaseTimes: Annotated[float, Field(ctypes.c_float, 0x19C)] - MysteryFishScales: Annotated[float, Field(ctypes.c_float, 0x1AC)] + ChaseTimes: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x19C)] + MysteryFishScales: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x1AC)] BaitCookingValueMin: Annotated[float, Field(ctypes.c_float, 0x1BC)] BaitFlickBobHeight: Annotated[float, Field(ctypes.c_float, 0x1C0)] BaitFlickBobHeightLean: Annotated[float, Field(ctypes.c_float, 0x1C4)] @@ -15895,73 +13529,36 @@ class cGcFishingGlobals(Structure): EnableFirstPersonPitchSpeedScaling: Annotated[bool, Field(ctypes.c_bool, 0x2C4)] EnableFirstPersonYawPullback: Annotated[bool, Field(ctypes.c_bool, 0x2C5)] EnableFirstPersonYawTurnSpeedScaling: Annotated[bool, Field(ctypes.c_bool, 0x2C6)] - FirstPersonPitchSpeedCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x2C7) - ] - FirstPersonPullBackSpeedCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x2C8) - ] - FirstPersonTurnSpeedCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x2C9) - ] - LineSagCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x2CA) - ] + FirstPersonPitchSpeedCurve: Annotated[c_enum32[enums.cTkCurveType], 0x2C7] + FirstPersonPullBackSpeedCurve: Annotated[c_enum32[enums.cTkCurveType], 0x2C8] + FirstPersonTurnSpeedCurve: Annotated[c_enum32[enums.cTkCurveType], 0x2C9] + LineSagCurve: Annotated[c_enum32[enums.cTkCurveType], 0x2CA] LineUsesLineRenderer: Annotated[bool, Field(ctypes.c_bool, 0x2CB)] @partial_struct class cGcEnvironmentGlobals(Structure): - CloudProperties: Annotated[cGcCloudProperties, Field(cGcCloudProperties, 0x0)] - IndoorAmbientColour: Annotated[basic.Colour, Field(basic.Colour, 0xE0)] - IndoorsLightingFactorFreighterAbandoned: Annotated[ - basic.Colour, Field(basic.Colour, 0xF0) - ] - IndoorsLightingFactorPlanet: Annotated[basic.Colour, Field(basic.Colour, 0x100)] - IndoorsLightingFactorSpaceStation: Annotated[ - basic.Colour, Field(basic.Colour, 0x110) - ] - IndoorsLightingFactorSpaceStationAbandoned: Annotated[ - basic.Colour, Field(basic.Colour, 0x120) - ] - IndoorsLightingFactorSpaceStationPirate: Annotated[ - basic.Colour, Field(basic.Colour, 0x130) - ] - FarBlendHeight: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x140), - ] - ShearWindSettings: Annotated[ - basic.cTkDynamicArray[cTkShearWindData], - Field(basic.cTkDynamicArray[cTkShearWindData], 0x150), - ] - SkyAtmosphereBlendLength: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x160), - ] - SkyBlendLength: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x170), - ] - SpacePlanetFogStrength: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x180), - ] - LODSettings: Annotated[cTkLODSettingsData, Field(cTkLODSettingsData, 0x190)] - EnvironmentGasGiantProperties: Annotated[ - cGcEnvironmentProperties, Field(cGcEnvironmentProperties, 0x3E0) - ] - EnvironmentPrimeProperties: Annotated[ - cGcEnvironmentProperties, Field(cGcEnvironmentProperties, 0x45C) - ] - EnvironmentProperties: Annotated[ - cGcEnvironmentProperties, Field(cGcEnvironmentProperties, 0x4D8) - ] - DynamicTreeWindFrequency: Annotated[ - cTkDynamicTreeWindFrequency, Field(cTkDynamicTreeWindFrequency, 0x554) - ] - ExposureHeightBracket: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x574)] - SpaceBuildingTemperature: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x57C)] + CloudProperties: Annotated[cGcCloudProperties, 0x0] + IndoorAmbientColour: Annotated[basic.Colour, 0xE0] + IndoorsLightingFactorFreighterAbandoned: Annotated[basic.Colour, 0xF0] + IndoorsLightingFactorPlanet: Annotated[basic.Colour, 0x100] + IndoorsLightingFactorSpaceStation: Annotated[basic.Colour, 0x110] + IndoorsLightingFactorSpaceStationAbandoned: Annotated[basic.Colour, 0x120] + IndoorsLightingFactorSpaceStationPirate: Annotated[basic.Colour, 0x130] + FarBlendHeight: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x140] + ShearWindSettings: Annotated[basic.cTkDynamicArray[cTkShearWindData], 0x150] + SkyAtmosphereBlendLength: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x160] + SkyBlendLength: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x170] + SpacePlanetFogStrength: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x180] + LODSettings: Annotated[ + tuple[cTkLODSettingsData, ...], Field(cTkLODSettingsData * 4, 0x190) + ] + EnvironmentGasGiantProperties: Annotated[cGcEnvironmentProperties, 0x3E0] + EnvironmentPrimeProperties: Annotated[cGcEnvironmentProperties, 0x45C] + EnvironmentProperties: Annotated[cGcEnvironmentProperties, 0x4D8] + DynamicTreeWindFrequency: Annotated[cTkDynamicTreeWindFrequency, 0x554] + ExposureHeightBracket: Annotated[basic.Vector2f, 0x574] + SpaceBuildingTemperature: Annotated[basic.Vector2f, 0x57C] AbandonedFreighterMaxTemperature: Annotated[float, Field(ctypes.c_float, 0x584)] AbandonedFreighterMinTemperature: Annotated[float, Field(ctypes.c_float, 0x588)] AsteroidFadeHeightMax: Annotated[float, Field(ctypes.c_float, 0x58C)] @@ -16072,9 +13669,7 @@ class eSwitchTypeEnum(IntEnum): Debug = 0x1 Enabled = 0x2 - SwitchType: Annotated[ - c_enum32[eSwitchTypeEnum], Field(c_enum32[eSwitchTypeEnum], 0x714) - ] + SwitchType: Annotated[c_enum32[eSwitchTypeEnum], 0x714] TemperatureSmoothTime: Annotated[float, Field(ctypes.c_float, 0x718)] TerrainFadeTime: Annotated[float, Field(ctypes.c_float, 0x71C)] TerrainFadeTimeInShip: Annotated[float, Field(ctypes.c_float, 0x720)] @@ -16099,12 +13694,12 @@ class eSwitchTypeEnum(IntEnum): @partial_struct class cGcDebugEditorGlobals(Structure): - AtAxisColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - CentreHandleColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - RightAxisColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - SelectedAxisTint: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - TransformingAxisTint: Annotated[basic.Colour, Field(basic.Colour, 0x40)] - UpAxisColour: Annotated[basic.Colour, Field(basic.Colour, 0x50)] + AtAxisColour: Annotated[basic.Colour, 0x0] + CentreHandleColour: Annotated[basic.Colour, 0x10] + RightAxisColour: Annotated[basic.Colour, 0x20] + SelectedAxisTint: Annotated[basic.Colour, 0x30] + TransformingAxisTint: Annotated[basic.Colour, 0x40] + UpAxisColour: Annotated[basic.Colour, 0x50] AxisLength: Annotated[float, Field(ctypes.c_float, 0x60)] AxisThickness: Annotated[float, Field(ctypes.c_float, 0x64)] CameraDollySpeed: Annotated[float, Field(ctypes.c_float, 0x68)] @@ -16128,21 +13723,19 @@ class cGcDebugEditorGlobals(Structure): @partial_struct class cGcCharacterGlobals(Structure): - CharacterFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - CharacterSeedOverride: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x10)] - LadderClimbDown: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - LadderClimbIdle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - LadderClimbUp: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - LadderDismountBottom: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - LadderDismountTop: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - LadderMountBottom: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - LadderMountTop: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - NPCStaffPropTag: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - WaterEffectBodyID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - WaterEffectLeftHandID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - WaterEffectRightHandID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] + CharacterFile: Annotated[basic.VariableSizeString, 0x0] + CharacterSeedOverride: Annotated[basic.GcSeed, 0x10] + LadderClimbDown: Annotated[basic.TkID0x10, 0x20] + LadderClimbIdle: Annotated[basic.TkID0x10, 0x30] + LadderClimbUp: Annotated[basic.TkID0x10, 0x40] + LadderDismountBottom: Annotated[basic.TkID0x10, 0x50] + LadderDismountTop: Annotated[basic.TkID0x10, 0x60] + LadderMountBottom: Annotated[basic.TkID0x10, 0x70] + LadderMountTop: Annotated[basic.TkID0x10, 0x80] + NPCStaffPropTag: Annotated[basic.TkID0x10, 0x90] + WaterEffectBodyID: Annotated[basic.TkID0x10, 0xA0] + WaterEffectLeftHandID: Annotated[basic.TkID0x10, 0xB0] + WaterEffectRightHandID: Annotated[basic.TkID0x10, 0xC0] AimPitchAnimScale: Annotated[float, Field(ctypes.c_float, 0xD0)] AimPitchInterpSpeed: Annotated[float, Field(ctypes.c_float, 0xD4)] AimYawAnimScale: Annotated[float, Field(ctypes.c_float, 0xD8)] @@ -16197,9 +13790,7 @@ class cGcCharacterGlobals(Structure): NPCFastStaticTurnAngle: Annotated[float, Field(ctypes.c_float, 0x194)] NPCFlavourIdleTimeMax: Annotated[float, Field(ctypes.c_float, 0x198)] NPCFlavourIdleTimeMin: Annotated[float, Field(ctypes.c_float, 0x19C)] - NPCForceProp: Annotated[ - c_enum32[enums.cGcNPCPropType], Field(c_enum32[enums.cGcNPCPropType], 0x1A0) - ] + NPCForceProp: Annotated[c_enum32[enums.cGcNPCPropType], 0x1A0] NPCHackMoveUpToStopFallingThoughFloor: Annotated[ float, Field(ctypes.c_float, 0x1A4) ] @@ -16339,8 +13930,7 @@ class cGcCharacterGlobals(Structure): @partial_struct class cGcCollisionTable(Structure): CollisionTable: Annotated[ - basic.cTkDynamicArray[cGcPhysicsCollisionGroupCollidesWith], - Field(basic.cTkDynamicArray[cGcPhysicsCollisionGroupCollidesWith], 0x0), + basic.cTkDynamicArray[cGcPhysicsCollisionGroupCollidesWith], 0x0 ] @@ -16354,8 +13944,8 @@ class cGcAtlasGlobals(Structure): @partial_struct class cGcTelemetryStat(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Type: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Id: Annotated[basic.TkID0x10, 0x0] + Type: Annotated[basic.TkID0x10, 0x10] Value: Annotated[int, Field(ctypes.c_int32, 0x20)] @@ -16368,40 +13958,30 @@ class cGcStatValueData(Structure): @partial_struct class cGcStatLevelData(Structure): - LevelName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - LevelNameUpper: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - OSDLevelName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - TrophyToUnlock: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - Value: Annotated[cGcStatValueData, Field(cGcStatValueData, 0x70)] + LevelName: Annotated[basic.cTkFixedString0x20, 0x0] + LevelNameUpper: Annotated[basic.cTkFixedString0x20, 0x20] + OSDLevelName: Annotated[basic.cTkFixedString0x20, 0x40] + TrophyToUnlock: Annotated[basic.TkID0x10, 0x60] + Value: Annotated[cGcStatValueData, 0x70] @partial_struct class cGcLeveledStatData(Structure): - StatLevels: Annotated[cGcStatLevelData, Field(cGcStatLevelData, 0x0)] - NotifyMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x580) - ] - NotifyMessageSingular: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x5A0) - ] - StatTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x5C0) + StatLevels: Annotated[ + tuple[cGcStatLevelData, ...], Field(cGcStatLevelData * 11, 0x0) ] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x5E0)] - StatId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x5F8)] + NotifyMessage: Annotated[basic.cTkFixedString0x20, 0x580] + NotifyMessageSingular: Annotated[basic.cTkFixedString0x20, 0x5A0] + StatTitle: Annotated[basic.cTkFixedString0x20, 0x5C0] + Icon: Annotated[cTkTextureResource, 0x5E0] + StatId: Annotated[basic.TkID0x10, 0x5F8] class eStatMessageTypeEnum(IntEnum): Full = 0x0 Quick = 0x1 Silent = 0x2 - StatMessageType: Annotated[ - c_enum32[eStatMessageTypeEnum], Field(c_enum32[eStatMessageTypeEnum], 0x608) - ] + StatMessageType: Annotated[c_enum32[eStatMessageTypeEnum], 0x608] ShowInTerminal: Annotated[bool, Field(ctypes.c_bool, 0x60C)] ShowStatLevel: Annotated[bool, Field(ctypes.c_bool, 0x60D)] TelemetryUpload: Annotated[bool, Field(ctypes.c_bool, 0x60E)] @@ -16416,75 +13996,50 @@ class cGcMinMaxFloat(Structure): @partial_struct class cGcPlayerStat(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Value: Annotated[cGcStatValueData, Field(cGcStatValueData, 0x10)] + Id: Annotated[basic.TkID0x10, 0x0] + Value: Annotated[cGcStatValueData, 0x10] @partial_struct class cGcPlayerStatsGroup(Structure): - GroupId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Stats: Annotated[ - basic.cTkDynamicArray[cGcPlayerStat], - Field(basic.cTkDynamicArray[cGcPlayerStat], 0x10), - ] + GroupId: Annotated[basic.TkID0x10, 0x0] + Stats: Annotated[basic.cTkDynamicArray[cGcPlayerStat], 0x10] Address: Annotated[int, Field(ctypes.c_uint64, 0x20)] @partial_struct class cGcStatDefinition(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DefaultValue: Annotated[cGcStatValueData, Field(cGcStatValueData, 0x10)] - DisplayType: Annotated[ - c_enum32[enums.cGcStatDisplayType], - Field(c_enum32[enums.cGcStatDisplayType], 0x1C), - ] + Id: Annotated[basic.TkID0x10, 0x0] + DefaultValue: Annotated[cGcStatValueData, 0x10] + DisplayType: Annotated[c_enum32[enums.cGcStatDisplayType], 0x1C] MissionMessageDecimals: Annotated[int, Field(ctypes.c_int32, 0x20)] - TrackType: Annotated[ - c_enum32[enums.cGcStatTrackType], Field(c_enum32[enums.cGcStatTrackType], 0x24) - ] - Type: Annotated[ - c_enum32[enums.cGcStatType], Field(c_enum32[enums.cGcStatType], 0x28) - ] + TrackType: Annotated[c_enum32[enums.cGcStatTrackType], 0x24] + Type: Annotated[c_enum32[enums.cGcStatType], 0x28] IsProgression: Annotated[bool, Field(ctypes.c_bool, 0x2C)] TelemetryUpload: Annotated[bool, Field(ctypes.c_bool, 0x2D)] @partial_struct class cGcStatGroupData(Structure): - GroupName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - TrackedStats: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] + GroupName: Annotated[basic.TkID0x10, 0x0] + TrackedStats: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] @partial_struct class cGcPlayerTitle(Structure): - AlreadyUnlockedDescription: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - UnlockDescription: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - RevealedBy: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - TitleUnlocksSpecials: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x80), - ] - UnlockedByMission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - UnlockedByProductRecipe: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - UnlockedByStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - UnlockedByTrophy: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] - UnlockedByInteraction: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0xD0), - ] + AlreadyUnlockedDescription: Annotated[basic.cTkFixedString0x20, 0x0] + Title: Annotated[basic.cTkFixedString0x20, 0x20] + UnlockDescription: Annotated[basic.cTkFixedString0x20, 0x40] + ID: Annotated[basic.TkID0x10, 0x60] + RevealedBy: Annotated[basic.TkID0x10, 0x70] + TitleUnlocksSpecials: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x80] + UnlockedByMission: Annotated[basic.TkID0x10, 0x90] + UnlockedByProductRecipe: Annotated[basic.TkID0x10, 0xA0] + UnlockedByStat: Annotated[basic.TkID0x10, 0xB0] + UnlockedByTrophy: Annotated[basic.TkID0x10, 0xC0] + UnlockedByInteraction: Annotated[c_enum32[enums.cGcInteractionType], 0xD0] UnlockedByInteractionIndex: Annotated[int, Field(ctypes.c_int32, 0xD4)] - UnlockedByInteractionRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0xD8) - ] + UnlockedByInteractionRace: Annotated[c_enum32[enums.cGcAlienRace], 0xD8] UnlockedByLeveledStatRank: Annotated[int, Field(ctypes.c_int32, 0xDC)] UnlockedByStatValue: Annotated[float, Field(ctypes.c_float, 0xE0)] UnlockedByInteractionOnlyTestMainRaces: Annotated[bool, Field(ctypes.c_bool, 0xE4)] @@ -16492,113 +14047,82 @@ class cGcPlayerTitle(Structure): @partial_struct class cGcJourneyMilestoneData(Structure): - JourneyMilestoneTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - JourneyMilestoneTitleLower: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - JourneyMilestoneId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + JourneyMilestoneTitle: Annotated[basic.cTkFixedString0x20, 0x0] + JourneyMilestoneTitleLower: Annotated[basic.cTkFixedString0x20, 0x20] + JourneyMilestoneId: Annotated[basic.TkID0x10, 0x40] PointsToUnlock: Annotated[int, Field(ctypes.c_int32, 0x50)] @partial_struct class cGcStatRewardGroupStatData(Structure): - StatID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + StatID: Annotated[basic.TkID0x10, 0x0] ManualAdjust: Annotated[float, Field(ctypes.c_float, 0x10)] StatMultiplier: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cGcStatRewardGroup(Structure): - LocIDMultiple: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - LocIDSingle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x40)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] - Stats: Annotated[ - basic.cTkDynamicArray[cGcStatRewardGroupStatData], - Field(basic.cTkDynamicArray[cGcStatRewardGroupStatData], 0x68), - ] + LocIDMultiple: Annotated[basic.cTkFixedString0x20, 0x0] + LocIDSingle: Annotated[basic.cTkFixedString0x20, 0x20] + Icon: Annotated[cTkTextureResource, 0x40] + ID: Annotated[basic.TkID0x10, 0x58] + Stats: Annotated[basic.cTkDynamicArray[cGcStatRewardGroupStatData], 0x68] BaseMultiplier: Annotated[float, Field(ctypes.c_float, 0x78)] - Currency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x7C) - ] + Currency: Annotated[c_enum32[enums.cGcCurrency], 0x7C] @partial_struct class cGcSavedInteractionDialogData(Structure): - Dialog: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] + Dialog: Annotated[basic.cTkFixedString0x20, 0x0] Hash: Annotated[int, Field(ctypes.c_uint64, 0x20)] @partial_struct class cGcSavedInteractionRaceData(Structure): - SavedRaceIndicies: Annotated[int, Field(ctypes.c_int32, 0x0)] - HasLoopedIndicies: Annotated[bool, Field(ctypes.c_bool, 0x24)] + SavedRaceIndicies: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 9, 0x0)] + HasLoopedIndicies: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 9, 0x24)] @partial_struct class cGcFriendlyDroneVocabularyEntry(Structure): - GenericFallback: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + GenericFallback: Annotated[basic.cTkFixedString0x20, 0x0] @partial_struct class cGcPetVocabularyTraitEntry(Structure): - Negative: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Positive: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - Trait: Annotated[ - c_enum32[enums.cGcCreaturePetTraits], - Field(c_enum32[enums.cGcCreaturePetTraits], 0x40), - ] + Negative: Annotated[basic.cTkFixedString0x20, 0x0] + Positive: Annotated[basic.cTkFixedString0x20, 0x20] + Trait: Annotated[c_enum32[enums.cGcCreaturePetTraits], 0x40] @partial_struct class cGcPetVocabularyEntry(Structure): - GenericFallback: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Vocabulary: Annotated[ - basic.cTkDynamicArray[cGcPetVocabularyTraitEntry], - Field(basic.cTkDynamicArray[cGcPetVocabularyTraitEntry], 0x20), - ] + GenericFallback: Annotated[basic.cTkFixedString0x20, 0x0] + Vocabulary: Annotated[basic.cTkDynamicArray[cGcPetVocabularyTraitEntry], 0x20] OddsOfProcReplacement: Annotated[float, Field(ctypes.c_float, 0x30)] @partial_struct class cGcInteractionData(Structure): - Position: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x0)] + Position: Annotated[basic.Vector4f, 0x0] GalacticAddress: Annotated[int, Field(ctypes.c_uint64, 0x10)] Value: Annotated[int, Field(ctypes.c_uint64, 0x18)] @partial_struct class cGcInteractionBuffer(Structure): - Interactions: Annotated[ - basic.cTkDynamicArray[cGcInteractionData], - Field(basic.cTkDynamicArray[cGcInteractionData], 0x0), - ] + Interactions: Annotated[basic.cTkDynamicArray[cGcInteractionData], 0x0] CurrentPos: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcStatusMessageDefinition(Structure): - CustomPrefixLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Message: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + CustomPrefixLocID: Annotated[basic.cTkFixedString0x20, 0x0] + Message: Annotated[basic.cTkFixedString0x20, 0x20] + Id: Annotated[basic.TkID0x10, 0x40] DisplayDurationMultiplier: Annotated[float, Field(ctypes.c_float, 0x50)] Distance: Annotated[float, Field(ctypes.c_float, 0x54)] - MissionMarkup: Annotated[ - c_enum32[enums.cGcStatusMessageMissionMarkup], - Field(c_enum32[enums.cGcStatusMessageMissionMarkup], 0x58), - ] + MissionMarkup: Annotated[c_enum32[enums.cGcStatusMessageMissionMarkup], 0x58] class eReplicateToEnum(IntEnum): None_ = 0x0 @@ -16610,9 +14134,7 @@ class eReplicateToEnum(IntEnum): Fireteam_Global_Distance = 0x6 Not_Fireteam = 0x7 - ReplicateTo: Annotated[ - c_enum32[eReplicateToEnum], Field(c_enum32[eReplicateToEnum], 0x5C) - ] + ReplicateTo: Annotated[c_enum32[eReplicateToEnum], 0x5C] AddFriendlyDronePrefix: Annotated[bool, Field(ctypes.c_bool, 0x60)] AddPetNamePrefix: Annotated[bool, Field(ctypes.c_bool, 0x61)] AddPlayerNamePrefix: Annotated[bool, Field(ctypes.c_bool, 0x62)] @@ -16630,18 +14152,9 @@ class cGcTerrainEdit(Structure): @partial_struct class cGcPersistentTerrainEdits(Structure): - BufferAnchors: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x0), - ] - BufferSizes: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x10), - ] - Edits: Annotated[ - basic.cTkDynamicArray[cGcTerrainEdit], - Field(basic.cTkDynamicArray[cGcTerrainEdit], 0x20), - ] + BufferAnchors: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x0] + BufferSizes: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x10] + Edits: Annotated[basic.cTkDynamicArray[cGcTerrainEdit], 0x20] GalacticAddress: Annotated[int, Field(ctypes.c_uint64, 0x30)] @@ -16650,46 +14163,33 @@ class cGcSyncBufferSaveData(Structure): SpaceAddress: Annotated[int, Field(ctypes.c_uint64, 0x0)] BufferVersion: Annotated[int, Field(ctypes.c_uint32, 0x8)] ItemsCount: Annotated[int, Field(ctypes.c_uint32, 0xC)] - OwnerOnlineId: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x10) - ] - OwnerPlatformId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50) - ] + OwnerOnlineId: Annotated[basic.cTkFixedString0x40, 0x10] + OwnerPlatformId: Annotated[basic.cTkFixedString0x20, 0x50] @partial_struct class cGcSyncBufferSaveDataArray(Structure): - Data: Annotated[ - basic.cTkDynamicArray[cGcSyncBufferSaveData], - Field(basic.cTkDynamicArray[cGcSyncBufferSaveData], 0x0), - ] + Data: Annotated[basic.cTkDynamicArray[cGcSyncBufferSaveData], 0x0] @partial_struct class cGcSynchronisedBufferData(Structure): - Data: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint64], - Field(basic.cTkDynamicArray[ctypes.c_uint64], 0x0), - ] + Data: Annotated[basic.cTkDynamicArray[ctypes.c_uint64], 0x0] @partial_struct class cGcTradingSupplyData(Structure): - Product: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Product: Annotated[basic.TkID0x10, 0x0] GalacticAddress: Annotated[int, Field(ctypes.c_uint64, 0x10)] Timestamp: Annotated[int, Field(ctypes.c_uint64, 0x18)] Demand: Annotated[float, Field(ctypes.c_float, 0x20)] - InteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x24), - ] + InteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x24] Supply: Annotated[float, Field(ctypes.c_float, 0x28)] @partial_struct class cGcSettlementTowerPowerTimestamps(Structure): - TimeStamps: Annotated[int, Field(ctypes.c_uint64, 0x0)] + TimeStamps: Annotated[tuple[int, ...], Field(ctypes.c_uint64 * 4, 0x0)] ClusterIndex: Annotated[int, Field(ctypes.c_int8, 0x20)] @@ -16703,13 +14203,9 @@ class eUniqueIdTypeEnum(IntEnum): Deterministic = 0x1 UserSpawned = 0x2 - UniqueIdType: Annotated[ - c_enum32[eUniqueIdTypeEnum], Field(c_enum32[eUniqueIdTypeEnum], 0xC) - ] - OnlineID: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x10)] - PlatformID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50) - ] + UniqueIdType: Annotated[c_enum32[eUniqueIdTypeEnum], 0xC] + OnlineID: Annotated[basic.cTkFixedString0x40, 0x10] + PlatformID: Annotated[basic.cTkFixedString0x20, 0x50] @partial_struct @@ -16720,31 +14216,29 @@ class cGcSettlementWeaponRespawnData(Structure): @partial_struct class cGcWordGroupKnowledge(Structure): - Group: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Races: Annotated[bool, Field(ctypes.c_bool, 0x20)] + Group: Annotated[basic.cTkFixedString0x20, 0x0] + Races: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 9, 0x20)] @partial_struct class cGcSkiffSaveData(Structure): - Direction: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x0)] - Position: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x10)] + Direction: Annotated[basic.Vector4f, 0x0] + Position: Annotated[basic.Vector4f, 0x10] Location: Annotated[int, Field(ctypes.c_uint64, 0x20)] @partial_struct class cGcWordKnowledge(Structure): - Word: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Races: Annotated[bool, Field(ctypes.c_bool, 0x10)] + Word: Annotated[basic.TkID0x10, 0x0] + Races: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 9, 0x10)] @partial_struct class cGcSeasonPetConstraints(Structure): - CreatureId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + CreatureId: Annotated[basic.TkID0x10, 0x0] TimeSinceBirth: Annotated[int, Field(ctypes.c_uint64, 0x10)] TimeSinceLastEgg: Annotated[int, Field(ctypes.c_uint64, 0x18)] - Biome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x20) - ] + Biome: Annotated[c_enum32[enums.cGcBiomeType], 0x20] MaxRelativeScale: Annotated[float, Field(ctypes.c_float, 0x24)] MinRelativeScale: Annotated[float, Field(ctypes.c_float, 0x28)] StartingTrust: Annotated[float, Field(ctypes.c_float, 0x2C)] @@ -16755,17 +14249,15 @@ class cGcSeasonPetConstraints(Structure): class cGcSettlementProductionElementRequirement(Structure): RequiredSettlementBuildingLevel: Annotated[int, Field(ctypes.c_int32, 0x0)] RequiredSettlementBuildingType: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x4), + c_enum32[enums.cGcBuildingClassification], 0x4 ] @partial_struct class cGcSettlementProductionElement(Structure): - Product: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Product: Annotated[basic.TkID0x10, 0x0] Requirements: Annotated[ - basic.cTkDynamicArray[cGcSettlementProductionElementRequirement], - Field(basic.cTkDynamicArray[cGcSettlementProductionElementRequirement], 0x10), + basic.cTkDynamicArray[cGcSettlementProductionElementRequirement], 0x10 ] ProductionAccumulationCap: Annotated[int, Field(ctypes.c_int32, 0x20)] ProductionAmountMultiplier: Annotated[float, Field(ctypes.c_float, 0x24)] @@ -16774,7 +14266,7 @@ class cGcSettlementProductionElement(Structure): @partial_struct class cGcSettlementProductionSlotData(Structure): - ElementId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ElementId: Annotated[basic.TkID0x10, 0x0] LastChangeTimestamp: Annotated[int, Field(ctypes.c_uint64, 0x10)] Amount: Annotated[int, Field(ctypes.c_int32, 0x18)] ProductionAccumulationCap: Annotated[int, Field(ctypes.c_int32, 0x1C)] @@ -16782,67 +14274,46 @@ class cGcSettlementProductionSlotData(Structure): ProductionTimeMultiplier: Annotated[float, Field(ctypes.c_float, 0x24)] RequiredSettlementBuildingLevel: Annotated[int, Field(ctypes.c_int32, 0x28)] RequiredSettlementBuildingType: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x2C), + c_enum32[enums.cGcBuildingClassification], 0x2C ] @partial_struct class cGcSeasonalMilestoneEncryption(Structure): - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Subtitle: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - TitleUpper: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - HoverPopupIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x60)] - Patch: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x78)] - DecryptMissionId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] + Description: Annotated[basic.cTkFixedString0x20, 0x0] + Subtitle: Annotated[basic.cTkFixedString0x20, 0x20] + TitleUpper: Annotated[basic.cTkFixedString0x20, 0x40] + HoverPopupIcon: Annotated[cTkTextureResource, 0x60] + Patch: Annotated[cTkTextureResource, 0x78] + DecryptMissionId: Annotated[basic.TkID0x10, 0x90] DecryptMissionSeed: Annotated[int, Field(ctypes.c_int32, 0xA0)] IsEncrypted: Annotated[bool, Field(ctypes.c_bool, 0xA4)] @partial_struct class cGcSeasonalMilestone(Structure): - Encryption: Annotated[ - cGcSeasonalMilestoneEncryption, Field(cGcSeasonalMilestoneEncryption, 0x0) - ] - CantRewardMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA8) - ] - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC8) - ] - DescriptionDone: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE8) - ] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x108)] - TitleUpper: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x128) - ] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x148)] - IconGrey: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x160)] - MissionIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x178)] - MissionIconNotSelected: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x190) - ] - MissionIconSelected: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1A8)] - IdToUseInMissionData: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1C0)] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1D0)] - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1E0)] - RewardSwitchAlt: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1F0)] + Encryption: Annotated[cGcSeasonalMilestoneEncryption, 0x0] + CantRewardMessage: Annotated[basic.cTkFixedString0x20, 0xA8] + Description: Annotated[basic.cTkFixedString0x20, 0xC8] + DescriptionDone: Annotated[basic.cTkFixedString0x20, 0xE8] + Title: Annotated[basic.cTkFixedString0x20, 0x108] + TitleUpper: Annotated[basic.cTkFixedString0x20, 0x128] + Icon: Annotated[cTkTextureResource, 0x148] + IconGrey: Annotated[cTkTextureResource, 0x160] + MissionIcon: Annotated[cTkTextureResource, 0x178] + MissionIconNotSelected: Annotated[cTkTextureResource, 0x190] + MissionIconSelected: Annotated[cTkTextureResource, 0x1A8] + IdToUseInMissionData: Annotated[basic.TkID0x10, 0x1C0] + Mission: Annotated[basic.TkID0x10, 0x1D0] + Reward: Annotated[basic.TkID0x10, 0x1E0] + RewardSwitchAlt: Annotated[basic.TkID0x10, 0x1F0] Amount: Annotated[float, Field(ctypes.c_float, 0x200)] BlockRendezvousMilestoneSeed: Annotated[int, Field(ctypes.c_int32, 0x204)] MilestoneIndex: Annotated[int, Field(ctypes.c_int32, 0x208)] RendezvousIndex: Annotated[int, Field(ctypes.c_int32, 0x20C)] StageIndex: Annotated[int, Field(ctypes.c_int32, 0x210)] - CantClaimRewardDescription: Annotated[ - basic.cTkFixedString0x200, Field(basic.cTkFixedString0x200, 0x214) - ] - RewardDescription: Annotated[ - basic.cTkFixedString0x200, Field(basic.cTkFixedString0x200, 0x414) - ] + CantClaimRewardDescription: Annotated[basic.cTkFixedString0x200, 0x214] + RewardDescription: Annotated[basic.cTkFixedString0x200, 0x414] DontAttemptFallbackTextSubs: Annotated[bool, Field(ctypes.c_bool, 0x614)] GreyIfCantStart: Annotated[bool, Field(ctypes.c_bool, 0x615)] IsOptional: Annotated[bool, Field(ctypes.c_bool, 0x616)] @@ -16859,10 +14330,7 @@ class cGcSeasonalRingData(Structure): @partial_struct class cGcSeasonalRingArray(Structure): - SeasonalRingData: Annotated[ - basic.cTkDynamicArray[cGcSeasonalRingData], - Field(basic.cTkDynamicArray[cGcSeasonalRingData], 0x0), - ] + SeasonalRingData: Annotated[basic.cTkDynamicArray[cGcSeasonalRingData], 0x0] @partial_struct @@ -16941,33 +14409,31 @@ class cGcSaveContextDataMask(Structure): @partial_struct class cGcSaveContextDataMaskTableEntry(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Mask: Annotated[cGcSaveContextDataMask, Field(cGcSaveContextDataMask, 0x10)] + Id: Annotated[basic.TkID0x10, 0x0] + Mask: Annotated[cGcSaveContextDataMask, 0x10] @partial_struct class cGcSavedEntitlement(Structure): - EntitlementId: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x0) - ] + EntitlementId: Annotated[basic.cTkFixedString0x100, 0x0] @partial_struct class cGcPortalSaveData(Structure): - PortalSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x0)] + PortalSeed: Annotated[basic.GcSeed, 0x0] LastPortalUA: Annotated[int, Field(ctypes.c_uint64, 0x10)] IsStoryPortal: Annotated[bool, Field(ctypes.c_bool, 0x18)] @partial_struct class cGcProtectedLocation(Structure): - Location: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + Location: Annotated[basic.Vector3f, 0x0] Radius: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcPlayerMissionProgressMapEntry(Structure): - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Mission: Annotated[basic.TkID0x10, 0x0] MaxProgress: Annotated[int, Field(ctypes.c_int32, 0x10)] MinProgress: Annotated[int, Field(ctypes.c_int32, 0x14)] NewProgress: Annotated[int, Field(ctypes.c_int32, 0x18)] @@ -16975,41 +14441,28 @@ class cGcPlayerMissionProgressMapEntry(Structure): @partial_struct class cGcPlayerMissionUpgradeMapEntry(Structure): - CompletedMissions: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - NewMission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + CompletedMissions: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + Mission: Annotated[basic.TkID0x10, 0x10] + NewMission: Annotated[basic.TkID0x10, 0x20] CompletePoint: Annotated[int, Field(ctypes.c_int32, 0x30)] MinProgress: Annotated[int, Field(ctypes.c_int32, 0x34)] @partial_struct class cGcPlayerSpawnStateData(Structure): - AbandonedFreighterPositionInSystem: Annotated[ - basic.Vector4f, Field(basic.Vector4f, 0x0) - ] - AbandonedFreighterTransformAt: Annotated[ - basic.Vector4f, Field(basic.Vector4f, 0x10) - ] - AbandonedFreighterTransformUp: Annotated[ - basic.Vector4f, Field(basic.Vector4f, 0x20) - ] - FreighterPositionInSystem: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x30)] - FreighterTransformAt: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x40)] - FreighterTransformUp: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x50)] - PlayerDeathRespawnPositionInSystem: Annotated[ - basic.Vector4f, Field(basic.Vector4f, 0x60) - ] - PlayerDeathRespawnTransformAt: Annotated[ - basic.Vector4f, Field(basic.Vector4f, 0x70) - ] - PlayerPositionInSystem: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x80)] - PlayerTransformAt: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x90)] - ShipPositionInSystem: Annotated[basic.Vector4f, Field(basic.Vector4f, 0xA0)] - ShipTransformAt: Annotated[basic.Vector4f, Field(basic.Vector4f, 0xB0)] - ShipTransformUp: Annotated[basic.Vector4f, Field(basic.Vector4f, 0xC0)] + AbandonedFreighterPositionInSystem: Annotated[basic.Vector4f, 0x0] + AbandonedFreighterTransformAt: Annotated[basic.Vector4f, 0x10] + AbandonedFreighterTransformUp: Annotated[basic.Vector4f, 0x20] + FreighterPositionInSystem: Annotated[basic.Vector4f, 0x30] + FreighterTransformAt: Annotated[basic.Vector4f, 0x40] + FreighterTransformUp: Annotated[basic.Vector4f, 0x50] + PlayerDeathRespawnPositionInSystem: Annotated[basic.Vector4f, 0x60] + PlayerDeathRespawnTransformAt: Annotated[basic.Vector4f, 0x70] + PlayerPositionInSystem: Annotated[basic.Vector4f, 0x80] + PlayerTransformAt: Annotated[basic.Vector4f, 0x90] + ShipPositionInSystem: Annotated[basic.Vector4f, 0xA0] + ShipTransformAt: Annotated[basic.Vector4f, 0xB0] + ShipTransformUp: Annotated[basic.Vector4f, 0xC0] class eLastKnownPlayerStateEnum(IntEnum): OnFoot = 0x0 @@ -17023,38 +14476,27 @@ class eLastKnownPlayerStateEnum(IntEnum): OnFootInCorvette = 0x8 OnFootInCorvetteLanded = 0x9 - LastKnownPlayerState: Annotated[ - c_enum32[eLastKnownPlayerStateEnum], - Field(c_enum32[eLastKnownPlayerStateEnum], 0xD0), - ] + LastKnownPlayerState: Annotated[c_enum32[eLastKnownPlayerStateEnum], 0xD0] ShipHovering: Annotated[bool, Field(ctypes.c_bool, 0xD4)] @partial_struct class cGcPlayerMissionParticipant(Structure): - BuildingLocation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - BuildingSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x10)] + BuildingLocation: Annotated[basic.Vector3f, 0x0] + BuildingSeed: Annotated[basic.GcSeed, 0x10] UA: Annotated[int, Field(ctypes.c_uint64, 0x20)] - ParticipantType: Annotated[ - c_enum32[enums.cGcPlayerMissionParticipantType], - Field(c_enum32[enums.cGcPlayerMissionParticipantType], 0x28), - ] + ParticipantType: Annotated[c_enum32[enums.cGcPlayerMissionParticipantType], 0x28] @partial_struct class cGcPetData(Structure): - CustomSpeciesName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - BoneScaleSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x20)] - ColourBaseSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x30)] - CreatureID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - CreatureSecondarySeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x50)] - CreatureSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x60)] - Descriptors: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x70), - ] + CustomSpeciesName: Annotated[basic.cTkFixedString0x20, 0x0] + BoneScaleSeed: Annotated[basic.GcSeed, 0x20] + ColourBaseSeed: Annotated[basic.GcSeed, 0x30] + CreatureID: Annotated[basic.TkID0x10, 0x40] + CreatureSecondarySeed: Annotated[basic.GcSeed, 0x50] + CreatureSeed: Annotated[basic.GcSeed, 0x60] + Descriptors: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x70] BirthTime: Annotated[int, Field(ctypes.c_uint64, 0x80)] GenusSeed: Annotated[int, Field(ctypes.c_uint64, 0x88)] LastEggTime: Annotated[int, Field(ctypes.c_uint64, 0x90)] @@ -17062,20 +14504,14 @@ class cGcPetData(Structure): LastTrustIncreaseTime: Annotated[int, Field(ctypes.c_uint64, 0xA0)] SpeciesSeed: Annotated[int, Field(ctypes.c_uint64, 0xA8)] UA: Annotated[int, Field(ctypes.c_uint64, 0xB0)] - SenderData: Annotated[cGcDiscoveryOwner, Field(cGcDiscoveryOwner, 0xB8)] - Traits: Annotated[float, Field(ctypes.c_float, 0x1BC)] - Moods: Annotated[float, Field(ctypes.c_float, 0x1C8)] - Biome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x1D0) - ] - CreatureType: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x1D4) - ] + SenderData: Annotated[cGcDiscoveryOwner, 0xB8] + Traits: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x1BC)] + Moods: Annotated[tuple[float, ...], Field(ctypes.c_float * 2, 0x1C8)] + Biome: Annotated[c_enum32[enums.cGcBiomeType], 0x1D0] + CreatureType: Annotated[c_enum32[enums.cGcCreatureTypes], 0x1D4] Scale: Annotated[float, Field(ctypes.c_float, 0x1D8)] Trust: Annotated[float, Field(ctypes.c_float, 0x1DC)] - CustomName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1E0) - ] + CustomName: Annotated[basic.cTkFixedString0x20, 0x1E0] AllowUnmodifiedReroll: Annotated[bool, Field(ctypes.c_bool, 0x200)] EggModified: Annotated[bool, Field(ctypes.c_bool, 0x201)] HasBeenSummoned: Annotated[bool, Field(ctypes.c_bool, 0x202)] @@ -17085,45 +14521,26 @@ class cGcPetData(Structure): @partial_struct class cGcInventoryLayout(Structure): - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x0)] + Seed: Annotated[basic.GcSeed, 0x0] Level: Annotated[int, Field(ctypes.c_int32, 0x10)] Slots: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cGcModularCustomisationProductLookupList(Structure): - ProductLookupList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + ProductLookupList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct class cGcKnownThingsPreset(Structure): - KnownProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + KnownProducts: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] KnownRefinerRecipes: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10), - ] - KnownSpecials: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - KnownTech: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] - KnownWordGroups: Annotated[ - basic.cTkDynamicArray[cGcWordGroupKnowledge], - Field(basic.cTkDynamicArray[cGcWordGroupKnowledge], 0x40), - ] - KnownWords: Annotated[ - basic.cTkDynamicArray[cGcWordKnowledge], - Field(basic.cTkDynamicArray[cGcWordKnowledge], 0x50), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10 ] + KnownSpecials: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + KnownTech: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] + KnownWordGroups: Annotated[basic.cTkDynamicArray[cGcWordGroupKnowledge], 0x40] + KnownWords: Annotated[basic.cTkDynamicArray[cGcWordKnowledge], 0x50] @partial_struct @@ -17137,28 +14554,20 @@ class cGcGalacticAddressData(Structure): @partial_struct class cGcHistoricalSeasonData(Structure): - SeasonName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - SeasonNameUpper: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - UnlockedTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - MainIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x60)] - FinalReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x78)] + SeasonName: Annotated[basic.cTkFixedString0x20, 0x0] + SeasonNameUpper: Annotated[basic.cTkFixedString0x20, 0x20] + UnlockedTitle: Annotated[basic.cTkFixedString0x20, 0x40] + MainIcon: Annotated[cTkTextureResource, 0x60] + FinalReward: Annotated[basic.TkID0x10, 0x78] DisplayNumber: Annotated[int, Field(ctypes.c_int32, 0x88)] RemixNumber: Annotated[int, Field(ctypes.c_int32, 0x8C)] SeasonNumber: Annotated[int, Field(ctypes.c_int32, 0x90)] - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x94) - ] + Description: Annotated[basic.cTkFixedString0x20, 0x94] @partial_struct class cGcMaintenanceSaveKey(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + Position: Annotated[basic.Vector3f, 0x0] Location: Annotated[int, Field(ctypes.c_int32, 0x10)] @@ -17170,83 +14579,59 @@ class cGcInventoryIndex(Structure): @partial_struct class cGcInventoryElement(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Index: Annotated[cGcInventoryIndex, Field(cGcInventoryIndex, 0x10)] + Id: Annotated[basic.TkID0x10, 0x0] + Index: Annotated[cGcInventoryIndex, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x18)] DamageFactor: Annotated[float, Field(ctypes.c_float, 0x1C)] MaxAmount: Annotated[int, Field(ctypes.c_int32, 0x20)] - Type: Annotated[ - c_enum32[enums.cGcInventoryType], Field(c_enum32[enums.cGcInventoryType], 0x24) - ] + Type: Annotated[c_enum32[enums.cGcInventoryType], 0x24] AddedAutomatically: Annotated[bool, Field(ctypes.c_bool, 0x28)] FullyInstalled: Annotated[bool, Field(ctypes.c_bool, 0x29)] @partial_struct class cGcPersistedStatData(Structure): - GroupId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - StatId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + GroupId: Annotated[basic.TkID0x10, 0x0] + StatId: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcModSettingsInfo(Structure): - Dependencies: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint64], - Field(basic.cTkDynamicArray[ctypes.c_uint64], 0x0), - ] + Dependencies: Annotated[basic.cTkDynamicArray[ctypes.c_uint64], 0x0] AuthorID: Annotated[int, Field(ctypes.c_uint64, 0x10)] ID: Annotated[int, Field(ctypes.c_uint64, 0x18)] LastUpdated: Annotated[int, Field(ctypes.c_uint64, 0x20)] ModPriority: Annotated[int, Field(ctypes.c_uint16, 0x28)] - Author: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x2A)] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xAA)] + Author: Annotated[basic.cTkFixedString0x80, 0x2A] + Name: Annotated[basic.cTkFixedString0x80, 0xAA] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x12A)] EnabledVR: Annotated[bool, Field(ctypes.c_bool, 0x12B)] @partial_struct class cGcModSettings(Structure): - Data: Annotated[ - basic.cTkDynamicArray[cGcModSettingsInfo], - Field(basic.cTkDynamicArray[cGcModSettingsInfo], 0x0), - ] + Data: Annotated[basic.cTkDynamicArray[cGcModSettingsInfo], 0x0] DisableAllMods: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcInventorySpecialSlot(Structure): - Index: Annotated[cGcInventoryIndex, Field(cGcInventoryIndex, 0x0)] - Type: Annotated[ - c_enum32[enums.cGcInventorySpecialSlotType], - Field(c_enum32[enums.cGcInventorySpecialSlotType], 0x8), - ] + Index: Annotated[cGcInventoryIndex, 0x0] + Type: Annotated[c_enum32[enums.cGcInventorySpecialSlotType], 0x8] @partial_struct class cGcExpeditionEventSaveData(Structure): - EventID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - InterventionEventID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x20)] - OverriddenRewardDescription: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - AffectedFrigateIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x60), - ] - AffectedFrigateResponses: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x70), - ] - OverriddenReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - RepairingFrigateIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x90), - ] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0xA0)] + EventID: Annotated[basic.TkID0x20, 0x0] + InterventionEventID: Annotated[basic.TkID0x20, 0x20] + OverriddenRewardDescription: Annotated[basic.cTkFixedString0x20, 0x40] + AffectedFrigateIndices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x60] + AffectedFrigateResponses: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x70] + OverriddenReward: Annotated[basic.TkID0x10, 0x80] + RepairingFrigateIndices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x90] + Seed: Annotated[basic.GcSeed, 0xA0] UA: Annotated[int, Field(ctypes.c_uint64, 0xB0)] - OverriddenDescription: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xB8) - ] + OverriddenDescription: Annotated[basic.cTkFixedString0x40, 0xB8] AvoidedIntervention: Annotated[bool, Field(ctypes.c_bool, 0xF8)] IsInterventionEvent: Annotated[bool, Field(ctypes.c_bool, 0xF9)] Success: Annotated[bool, Field(ctypes.c_bool, 0xFA)] @@ -17255,211 +14640,138 @@ class cGcExpeditionEventSaveData(Structure): @partial_struct class cGcFleetExpeditionSaveData(Structure): - SpawnPosition: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - TerminalPosition: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - ActiveFrigateIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x20), - ] - AllFrigateIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x30), - ] - DamagedFrigateIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x40), - ] - DestroyedFrigateIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x50), - ] - Events: Annotated[ - basic.cTkDynamicArray[cGcExpeditionEventSaveData], - Field(basic.cTkDynamicArray[cGcExpeditionEventSaveData], 0x60), - ] - InterventionEventMissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - Powerups: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x80), - ] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x90)] + SpawnPosition: Annotated[basic.Vector3f, 0x0] + TerminalPosition: Annotated[basic.Vector3f, 0x10] + ActiveFrigateIndices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x20] + AllFrigateIndices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x30] + DamagedFrigateIndices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x40] + DestroyedFrigateIndices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x50] + Events: Annotated[basic.cTkDynamicArray[cGcExpeditionEventSaveData], 0x60] + InterventionEventMissionID: Annotated[basic.TkID0x10, 0x70] + Powerups: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x80] + Seed: Annotated[basic.GcSeed, 0x90] PauseTime: Annotated[int, Field(ctypes.c_uint64, 0xA0)] StartTime: Annotated[int, Field(ctypes.c_uint64, 0xA8)] TimeOfLastUAChange: Annotated[int, Field(ctypes.c_uint64, 0xB0)] UA: Annotated[int, Field(ctypes.c_uint64, 0xB8)] - ExpeditionCategory: Annotated[ - c_enum32[enums.cGcExpeditionCategory], - Field(c_enum32[enums.cGcExpeditionCategory], 0xC0), - ] - ExpeditionDuration: Annotated[ - c_enum32[enums.cGcExpeditionDuration], - Field(c_enum32[enums.cGcExpeditionDuration], 0xC4), - ] + ExpeditionCategory: Annotated[c_enum32[enums.cGcExpeditionCategory], 0xC0] + ExpeditionDuration: Annotated[c_enum32[enums.cGcExpeditionDuration], 0xC4] NextEventToTrigger: Annotated[int, Field(ctypes.c_int32, 0xC8)] NumberOfFailedEventsThisExpedition: Annotated[int, Field(ctypes.c_int32, 0xCC)] NumberOfSuccessfulEventsThisExpedition: Annotated[int, Field(ctypes.c_int32, 0xD0)] SpeedMultiplier: Annotated[float, Field(ctypes.c_float, 0xD4)] - CustomName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xD8) - ] + CustomName: Annotated[basic.cTkFixedString0x100, 0xD8] InterventionPhoneCallActivated: Annotated[bool, Field(ctypes.c_bool, 0x1D8)] @partial_struct class cGcCustomisationColourPaletteExtraData(Structure): - ProductToUnlock: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - TipText: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10), - ] + ProductToUnlock: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + TipText: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10] @partial_struct class cGcCustomisationColourPalette(Structure): - PaletteData: Annotated[cGcPaletteData, Field(cGcPaletteData, 0x0)] - ExtraData: Annotated[ - cGcCustomisationColourPaletteExtraData, - Field(cGcCustomisationColourPaletteExtraData, 0x410), - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x430)] + PaletteData: Annotated[cGcPaletteData, 0x0] + ExtraData: Annotated[cGcCustomisationColourPaletteExtraData, 0x410] + ID: Annotated[basic.TkID0x10, 0x430] @partial_struct class cGcCustomisationMultiTextureSubOption(Structure): - Option: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Layer: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + Option: Annotated[basic.TkID0x20, 0x0] + Group: Annotated[basic.TkID0x10, 0x20] + Layer: Annotated[basic.TkID0x10, 0x30] @partial_struct class cGcCustomisationTextureOption(Structure): - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Layer: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Options: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x20), - ] - ProductsToUnlock: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] - TextureOptionsID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Tips: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x50), - ] + Group: Annotated[basic.TkID0x10, 0x0] + Layer: Annotated[basic.TkID0x10, 0x10] + Options: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x20] + ProductsToUnlock: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] + TextureOptionsID: Annotated[basic.TkID0x10, 0x40] + Tips: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x50] AllowAllColoursWithNoMarkings: Annotated[bool, Field(ctypes.c_bool, 0x60)] @partial_struct class cGcCustomisationHeadToRace(Structure): - HeadDescriptor: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - HeadAnimationRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x20) - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x24) - ] + HeadDescriptor: Annotated[basic.TkID0x20, 0x0] + HeadAnimationRace: Annotated[c_enum32[enums.cGcAlienRace], 0x20] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x24] @partial_struct class cGcFleetFrigateSaveData(Structure): - ForcedTraitsSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x0)] - HomeSystemSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x10)] - ResourceSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x20)] - Stats: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x30), - ] - TraitIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x40), - ] + ForcedTraitsSeed: Annotated[basic.GcSeed, 0x0] + HomeSystemSeed: Annotated[basic.GcSeed, 0x10] + ResourceSeed: Annotated[basic.GcSeed, 0x20] + Stats: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x30] + TraitIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x40] TimeOfLastIncomeCollection: Annotated[int, Field(ctypes.c_uint64, 0x50)] DamageTaken: Annotated[int, Field(ctypes.c_int32, 0x58)] - FrigateClass: Annotated[ - c_enum32[enums.cGcFrigateClass], Field(c_enum32[enums.cGcFrigateClass], 0x5C) - ] - InventoryClass: Annotated[ - c_enum32[enums.cGcInventoryClass], - Field(c_enum32[enums.cGcInventoryClass], 0x60), - ] + FrigateClass: Annotated[c_enum32[enums.cGcFrigateClass], 0x5C] + InventoryClass: Annotated[c_enum32[enums.cGcInventoryClass], 0x60] NumberOfTimesDamaged: Annotated[int, Field(ctypes.c_int32, 0x64)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x68) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x68] RepairsMade: Annotated[int, Field(ctypes.c_int32, 0x6C)] TotalNumberOfExpeditions: Annotated[int, Field(ctypes.c_int32, 0x70)] TotalNumberOfFailedEvents: Annotated[int, Field(ctypes.c_int32, 0x74)] TotalNumberOfSuccessfulEvents: Annotated[int, Field(ctypes.c_int32, 0x78)] - CustomName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x7C) - ] + CustomName: Annotated[basic.cTkFixedString0x100, 0x7C] @partial_struct class cGcCustomisationDescriptorVisualEffect(Structure): - Effect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - AttachTo: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10)] + Effect: Annotated[basic.TkID0x10, 0x0] + AttachTo: Annotated[basic.cTkFixedString0x20, 0x10] @partial_struct class cGcFreighterRoomNPCData(Structure): - RoomID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - POISelectionWeight: Annotated[float, Field(ctypes.c_float, 0x10)] - SpawnCapacity: Annotated[float, Field(ctypes.c_float, 0x24)] + RoomID: Annotated[basic.TkID0x10, 0x0] + POISelectionWeight: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x10)] + SpawnCapacity: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x24)] @partial_struct class cGcCustomisationDescriptorVisualEffects(Structure): - DescriptorId: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + DescriptorId: Annotated[basic.TkID0x20, 0x0] Effects: Annotated[ - basic.cTkDynamicArray[cGcCustomisationDescriptorVisualEffect], - Field(basic.cTkDynamicArray[cGcCustomisationDescriptorVisualEffect], 0x20), + basic.cTkDynamicArray[cGcCustomisationDescriptorVisualEffect], 0x20 ] @partial_struct class cGcFreighterRoomNPCSpawnCapacityEntry(Structure): - RoomID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + RoomID: Annotated[basic.TkID0x10, 0x0] SpawnCapacity: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcFreighterRoomNPCSpawnCapacities(Structure): RoomSpawnCapacities: Annotated[ - basic.cTkDynamicArray[cGcFreighterRoomNPCSpawnCapacityEntry], - Field(basic.cTkDynamicArray[cGcFreighterRoomNPCSpawnCapacityEntry], 0x0), + basic.cTkDynamicArray[cGcFreighterRoomNPCSpawnCapacityEntry], 0x0 ] @partial_struct class cGcCustomisationMultiTextureOptionList(Structure): - TextureOptionsID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] + TextureOptionsID: Annotated[basic.TkID0x20, 0x0] SubOptions: Annotated[ - basic.cTkDynamicArray[cGcCustomisationMultiTextureSubOption], - Field(basic.cTkDynamicArray[cGcCustomisationMultiTextureSubOption], 0x20), + basic.cTkDynamicArray[cGcCustomisationMultiTextureSubOption], 0x20 ] @partial_struct class cGcCustomisationMultiTextureOption(Structure): - MultiTextureOptionsID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + MultiTextureOptionsID: Annotated[basic.TkID0x10, 0x0] Options: Annotated[ - basic.cTkDynamicArray[cGcCustomisationMultiTextureOptionList], - Field(basic.cTkDynamicArray[cGcCustomisationMultiTextureOptionList], 0x10), - ] - ProductsToUnlock: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - Tips: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x30), + basic.cTkDynamicArray[cGcCustomisationMultiTextureOptionList], 0x10 ] + ProductsToUnlock: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + Tips: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x30] @partial_struct @@ -17472,69 +14784,59 @@ class cGcNPCNavSubgraphNodeTypeConnectivity(Structure): @partial_struct class cGcCharacterCustomisationBoneScaleData(Structure): - BoneName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + BoneName: Annotated[basic.TkID0x10, 0x0] Scale: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcCharacterCustomisationColourData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Palette: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x10)] + Colour: Annotated[basic.Colour, 0x0] + Palette: Annotated[cTkPaletteTexture, 0x10] @partial_struct class cGcCharacterCustomisationTextureOptionData(Structure): - TextureOptionName: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - TextureOptionGroupName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + TextureOptionName: Annotated[basic.TkID0x20, 0x0] + TextureOptionGroupName: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcCharacterCustomisationData(Structure): BoneScales: Annotated[ - basic.cTkDynamicArray[cGcCharacterCustomisationBoneScaleData], - Field(basic.cTkDynamicArray[cGcCharacterCustomisationBoneScaleData], 0x0), - ] - Colours: Annotated[ - basic.cTkDynamicArray[cGcCharacterCustomisationColourData], - Field(basic.cTkDynamicArray[cGcCharacterCustomisationColourData], 0x10), - ] - DescriptorGroups: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), + basic.cTkDynamicArray[cGcCharacterCustomisationBoneScaleData], 0x0 ] - PaletteID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + Colours: Annotated[basic.cTkDynamicArray[cGcCharacterCustomisationColourData], 0x10] + DescriptorGroups: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + PaletteID: Annotated[basic.TkID0x10, 0x30] TextureOptions: Annotated[ - basic.cTkDynamicArray[cGcCharacterCustomisationTextureOptionData], - Field(basic.cTkDynamicArray[cGcCharacterCustomisationTextureOptionData], 0x40), + basic.cTkDynamicArray[cGcCharacterCustomisationTextureOptionData], 0x40 ] Scale: Annotated[float, Field(ctypes.c_float, 0x50)] @partial_struct class cGcPersistentBaseEntry(Structure): - At: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - ObjectID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + At: Annotated[basic.Vector3f, 0x0] + Position: Annotated[basic.Vector3f, 0x10] + Up: Annotated[basic.Vector3f, 0x20] + ObjectID: Annotated[basic.TkID0x10, 0x30] Timestamp: Annotated[int, Field(ctypes.c_uint64, 0x40)] UserData: Annotated[int, Field(ctypes.c_uint64, 0x48)] - Message: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x50)] + Message: Annotated[basic.cTkFixedString0x40, 0x50] @partial_struct class cGcCharacterCustomisationSaveData(Structure): - CustomData: Annotated[ - cGcCharacterCustomisationData, Field(cGcCharacterCustomisationData, 0x0) - ] - SelectedPreset: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] + CustomData: Annotated[cGcCharacterCustomisationData, 0x0] + SelectedPreset: Annotated[basic.TkID0x10, 0x58] @partial_struct class cGcPersistentBBObjectData(Structure): - At: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - ObjectID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + At: Annotated[basic.Vector3f, 0x0] + Position: Annotated[basic.Vector3f, 0x10] + Up: Annotated[basic.Vector3f, 0x20] + ObjectID: Annotated[basic.TkID0x10, 0x30] GalacticAddress: Annotated[int, Field(ctypes.c_uint64, 0x40)] RegionSeed: Annotated[int, Field(ctypes.c_uint64, 0x48)] Timestamp: Annotated[int, Field(ctypes.c_uint64, 0x50)] @@ -17543,64 +14845,45 @@ class cGcPersistentBBObjectData(Structure): @partial_struct class cGcCustomisationDescriptorGroup(Structure): - Tip: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - Descriptors: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x40), - ] - GroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - LinkedSpecialID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] + Tip: Annotated[basic.cTkFixedString0x20, 0x0] + Title: Annotated[basic.cTkFixedString0x20, 0x20] + Descriptors: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x40] + GroupID: Annotated[basic.TkID0x10, 0x50] + LinkedSpecialID: Annotated[basic.TkID0x10, 0x60] SuffixInclusionList: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x70), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x70 ] - Image: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x80)] + Image: Annotated[basic.cTkFixedString0x80, 0x80] HiddenInCustomiser: Annotated[bool, Field(ctypes.c_bool, 0x100)] @partial_struct class cGcCustomisationDescriptorGroupFallbackData(Structure): - DescriptorGroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - FallbackPriorityList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] + DescriptorGroupID: Annotated[basic.TkID0x10, 0x0] + FallbackPriorityList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] @partial_struct class cGcFreighterNPCSpawnPriority(Structure): - PriorityScale: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x0), - ] + PriorityScale: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x0] @partial_struct class cGcCustomisationDescriptorList(Structure): - Descriptors: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0), - ] + Descriptors: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0] @partial_struct class cGcId256List(Structure): - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - IdList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x20), - ] + Id: Annotated[basic.TkID0x20, 0x0] + IdList: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x20] @partial_struct class cGcGeneratedBaseDecorationTemplate(Structure): - TemplateScene: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - InvalidRoomIndexes: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x30), - ] + TemplateScene: Annotated[cTkModelResource, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] + InvalidRoomIndexes: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x30] class eDecorationLayerEnum(IntEnum): Stairs = 0x0 @@ -17612,43 +14895,35 @@ class eDecorationLayerEnum(IntEnum): Decoration3 = 0x6 DecorationCorridor = 0x7 - DecorationLayer: Annotated[ - c_enum32[eDecorationLayerEnum], Field(c_enum32[eDecorationLayerEnum], 0x40) - ] + DecorationLayer: Annotated[c_enum32[eDecorationLayerEnum], 0x40] MaxPerRoom: Annotated[int, Field(ctypes.c_int32, 0x44)] Probability: Annotated[float, Field(ctypes.c_float, 0x48)] @partial_struct class cGcGeneratedBaseLockDoorPair(Structure): - Door: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Lock: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Door: Annotated[basic.TkID0x10, 0x0] + Lock: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcGeneratedBasePruningRule(Structure): - NodeName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - RoomFilters: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] - RuleId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + NodeName: Annotated[basic.TkID0x10, 0x0] + RoomFilters: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] + RuleId: Annotated[basic.TkID0x10, 0x20] MaxPerDungeon: Annotated[int, Field(ctypes.c_int32, 0x30)] MaxPerRoom: Annotated[int, Field(ctypes.c_int32, 0x34)] @partial_struct class cGcGeneratedBaseRoomTemplate(Structure): - PrimaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - QuaternaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - SecondaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - TernaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - LocId: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40)] - DecorationThemes: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x60), - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] + PrimaryColour: Annotated[basic.Colour, 0x0] + QuaternaryColour: Annotated[basic.Colour, 0x10] + SecondaryColour: Annotated[basic.Colour, 0x20] + TernaryColour: Annotated[basic.Colour, 0x30] + LocId: Annotated[basic.cTkFixedString0x20, 0x40] + DecorationThemes: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x60] + Name: Annotated[basic.TkID0x10, 0x70] MaxPathLength: Annotated[int, Field(ctypes.c_int32, 0x80)] MinContiguousDepth: Annotated[int, Field(ctypes.c_int32, 0x84)] MinContiguousHeight: Annotated[int, Field(ctypes.c_int32, 0x88)] @@ -17659,17 +14934,14 @@ class cGcGeneratedBaseRoomTemplate(Structure): @partial_struct class cGcGeneratedBaseStructuralTemplate(Structure): - TemplateScene: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + TemplateScene: Annotated[cTkModelResource, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcGeneratedBaseThemeTemplate(Structure): - DecorationTemplates: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DecorationTemplates: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + Name: Annotated[basic.TkID0x10, 0x10] @partial_struct @@ -17678,30 +14950,25 @@ class eBaseStatEnum(IntEnum): HasTeleporter = 0x0 HasMainframe = 0x1 - BaseStat: Annotated[c_enum32[eBaseStatEnum], Field(c_enum32[eBaseStatEnum], 0x0)] + BaseStat: Annotated[c_enum32[eBaseStatEnum], 0x0] StatValue: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcBiomeCondition(Structure): - BiomeType: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x0) - ] + BiomeType: Annotated[c_enum32[enums.cGcBiomeType], 0x0] @partial_struct class cGcGroupCondition(Structure): - Conditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] + Conditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] ORConditions: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcBuildMenuIconSet(Structure): - Glow: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - Normal: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x18)] + Glow: Annotated[cTkTextureResource, 0x0] + Normal: Annotated[cTkTextureResource, 0x18] @partial_struct @@ -17712,10 +14979,7 @@ class cGcBaseGridSearchFilter(Structure): GridHasMinParts: Annotated[int, Field(ctypes.c_int32, 0xC)] GridRateIsGreaterThan: Annotated[int, Field(ctypes.c_int32, 0x10)] GridRateIsLessThan: Annotated[int, Field(ctypes.c_int32, 0x14)] - NetworkType: Annotated[ - c_enum32[enums.cGcLinkNetworkTypes], - Field(c_enum32[enums.cGcLinkNetworkTypes], 0x18), - ] + NetworkType: Annotated[c_enum32[enums.cGcLinkNetworkTypes], 0x18] PartRateIsGreaterThan: Annotated[int, Field(ctypes.c_int32, 0x1C)] PartRateIsLessThan: Annotated[int, Field(ctypes.c_int32, 0x20)] GridHasANegativeRate: Annotated[bool, Field(ctypes.c_bool, 0x24)] @@ -17727,18 +14991,16 @@ class cGcBaseGridSearchFilter(Structure): @partial_struct class cGcBaseBuildingProperties(Structure): - DefaultInBaseObject: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DefaultInFreighterObject: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - DefaultOnTerrainObject: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + DefaultInBaseObject: Annotated[basic.TkID0x10, 0x0] + DefaultInFreighterObject: Annotated[basic.TkID0x10, 0x10] + DefaultOnTerrainObject: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcBasePartSearchFilter(Structure): - ReferenceWorldPosition: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - IsSpecificID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - BaseGridFilter: Annotated[ - cGcBaseGridSearchFilter, Field(cGcBaseGridSearchFilter, 0x20) - ] + ReferenceWorldPosition: Annotated[basic.Vector3f, 0x0] + IsSpecificID: Annotated[basic.TkID0x10, 0x10] + BaseGridFilter: Annotated[cGcBaseGridSearchFilter, 0x20] MaxDistance: Annotated[float, Field(ctypes.c_float, 0x4C)] ApplyGridFilter: Annotated[bool, Field(ctypes.c_bool, 0x50)] PartIsNotOnline: Annotated[bool, Field(ctypes.c_bool, 0x51)] @@ -17749,17 +15011,14 @@ class cGcBasePartSearchFilter(Structure): @partial_struct class cGcBaseBuildingSubGroup(Structure): - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Name: Annotated[basic.cTkFixedString0x20, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcBasePlacementRule(Structure): - PartID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Conditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x20), - ] + PartID: Annotated[basic.TkID0x20, 0x0] + Conditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x20] class eTwinCriteriaEnum(IntEnum): None_ = 0x0 @@ -17768,30 +15027,17 @@ class eTwinCriteriaEnum(IntEnum): StretchToRaycast = 0x3 MoveToTwinRelative = 0x4 - TwinCriteria: Annotated[ - c_enum32[eTwinCriteriaEnum], Field(c_enum32[eTwinCriteriaEnum], 0x30) - ] - PositionLocator: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x34) - ] + TwinCriteria: Annotated[c_enum32[eTwinCriteriaEnum], 0x30] + PositionLocator: Annotated[basic.cTkFixedString0x80, 0x34] ORConditions: Annotated[bool, Field(ctypes.c_bool, 0xB4)] @partial_struct class cGcBaseLinkGridConnectionData(Structure): - LinkSocketPositions: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x0), - ] - LinkSocketSubGroups: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x10), - ] + LinkSocketPositions: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x0] + LinkSocketSubGroups: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x10] ConnectionDistance: Annotated[float, Field(ctypes.c_float, 0x20)] - Network: Annotated[ - c_enum32[enums.cGcLinkNetworkTypes], - Field(c_enum32[enums.cGcLinkNetworkTypes], 0x24), - ] + Network: Annotated[c_enum32[enums.cGcLinkNetworkTypes], 0x24] NetworkMask: Annotated[int, Field(ctypes.c_int32, 0x28)] NetworkSubGroup: Annotated[int, Field(ctypes.c_int32, 0x2C)] UseMinDistance: Annotated[bool, Field(ctypes.c_bool, 0x30)] @@ -17799,9 +15045,7 @@ class cGcBaseLinkGridConnectionData(Structure): @partial_struct class cGcBaseLinkGridConnectionDependency(Structure): - Connection: Annotated[ - cGcBaseLinkGridConnectionData, Field(cGcBaseLinkGridConnectionData, 0x0) - ] + Connection: Annotated[cGcBaseLinkGridConnectionData, 0x0] class eDependentEffectEnum(IntEnum): None_ = 0x0 @@ -17810,9 +15054,7 @@ class eDependentEffectEnum(IntEnum): EnablesConnection = 0x3 DisablesConnection = 0x4 - DependentEffect: Annotated[ - c_enum32[eDependentEffectEnum], Field(c_enum32[eDependentEffectEnum], 0x38) - ] + DependentEffect: Annotated[c_enum32[eDependentEffectEnum], 0x38] DependentRate: Annotated[int, Field(ctypes.c_int32, 0x3C)] DisableWhenOffline: Annotated[bool, Field(ctypes.c_bool, 0x40)] TransfersConnections: Annotated[bool, Field(ctypes.c_bool, 0x41)] @@ -17820,16 +15062,11 @@ class eDependentEffectEnum(IntEnum): @partial_struct class cGcBaseSearchFilter(Structure): - BasePartFilter: Annotated[ - cGcBasePartSearchFilter, Field(cGcBasePartSearchFilter, 0x0) - ] - ReferenceWorldPosition: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x60)] - OnSpecificPlanetScanEvent: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x70) - ] + BasePartFilter: Annotated[cGcBasePartSearchFilter, 0x0] + ReferenceWorldPosition: Annotated[basic.Vector3f, 0x60] + OnSpecificPlanetScanEvent: Annotated[basic.cTkFixedString0x20, 0x70] MatchingTypes: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], 0x90), + basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], 0x90 ] InSpecificSystem: Annotated[int, Field(ctypes.c_uint64, 0xA0)] OnSpecificPlanet: Annotated[int, Field(ctypes.c_uint64, 0xA8)] @@ -17844,12 +15081,9 @@ class cGcBaseSearchFilter(Structure): @partial_struct class cGcBaseLinkGridData(Structure): - Connection: Annotated[ - cGcBaseLinkGridConnectionData, Field(cGcBaseLinkGridConnectionData, 0x0) - ] + Connection: Annotated[cGcBaseLinkGridConnectionData, 0x0] DependentConnections: Annotated[ - basic.cTkDynamicArray[cGcBaseLinkGridConnectionDependency], - Field(basic.cTkDynamicArray[cGcBaseLinkGridConnectionDependency], 0x38), + basic.cTkDynamicArray[cGcBaseLinkGridConnectionDependency], 0x38 ] class eDependsOnEnvironmentEnum(IntEnum): @@ -17857,10 +15091,7 @@ class eDependsOnEnvironmentEnum(IntEnum): DayNight = 0x1 Storms = 0x2 - DependsOnEnvironment: Annotated[ - c_enum32[eDependsOnEnvironmentEnum], - Field(c_enum32[eDependsOnEnvironmentEnum], 0x48), - ] + DependsOnEnvironment: Annotated[c_enum32[eDependsOnEnvironmentEnum], 0x48] class eDependsOnHotspotsEnum(IntEnum): None_ = 0x0 @@ -17868,33 +15099,25 @@ class eDependsOnHotspotsEnum(IntEnum): Mineral = 0x2 Gas = 0x3 - DependsOnHotspots: Annotated[ - c_enum32[eDependsOnHotspotsEnum], Field(c_enum32[eDependsOnHotspotsEnum], 0x4C) - ] + DependsOnHotspots: Annotated[c_enum32[eDependsOnHotspotsEnum], 0x4C] Rate: Annotated[int, Field(ctypes.c_int32, 0x50)] Storage: Annotated[int, Field(ctypes.c_int32, 0x54)] @partial_struct class cGcBaseBuildingPartNavNodeData(Structure): - AtDir: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - LocalPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - ConnectedNodeIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint32], - Field(basic.cTkDynamicArray[ctypes.c_uint32], 0x20), - ] - InteractionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + AtDir: Annotated[basic.Vector3f, 0x0] + LocalPos: Annotated[basic.Vector3f, 0x10] + ConnectedNodeIndices: Annotated[basic.cTkDynamicArray[ctypes.c_uint32], 0x20] + InteractionID: Annotated[basic.TkID0x10, 0x30] ArriveDist: Annotated[float, Field(ctypes.c_float, 0x40)] - Type: Annotated[ - c_enum32[enums.cGcNPCNavSubgraphNodeType], - Field(c_enum32[enums.cGcNPCNavSubgraphNodeType], 0x44), - ] + Type: Annotated[c_enum32[enums.cGcNPCNavSubgraphNodeType], 0x44] @partial_struct class cGcBaseBuildingPartData(Structure): - MagicData: Annotated[cTkMagicModelData, Field(cTkMagicModelData, 0x0)] - PartID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x30)] + MagicData: Annotated[cTkMagicModelData, 0x0] + PartID: Annotated[basic.TkID0x20, 0x30] InstanceLastProfiledTimestamp: Annotated[int, Field(ctypes.c_uint64, 0x50)] LastProfiledTimestamp: Annotated[int, Field(ctypes.c_uint64, 0x58)] InstanceMeshesCost: Annotated[int, Field(ctypes.c_uint32, 0x60)] @@ -17903,27 +15126,21 @@ class cGcBaseBuildingPartData(Structure): MeshesCost: Annotated[int, Field(ctypes.c_uint32, 0x6C)] NodesCost: Annotated[int, Field(ctypes.c_uint32, 0x70)] PhysicsCost: Annotated[int, Field(ctypes.c_uint32, 0x74)] - Style: Annotated[ - c_enum32[enums.cGcBaseBuildingPartStyle], - Field(c_enum32[enums.cGcBaseBuildingPartStyle], 0x78), - ] + Style: Annotated[c_enum32[enums.cGcBaseBuildingPartStyle], 0x78] TimeCost: Annotated[int, Field(ctypes.c_uint32, 0x7C)] @partial_struct class cGcBaseBuildingPartInteractionData(Structure): - AtDir: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - LocalPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - InteractionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + AtDir: Annotated[basic.Vector3f, 0x0] + LocalPos: Annotated[basic.Vector3f, 0x10] + InteractionID: Annotated[basic.TkID0x10, 0x20] @partial_struct class cGcBaseBuildingFamily(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ObjectIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] + ID: Annotated[basic.TkID0x10, 0x0] + ObjectIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] class eFamilyTypeEnum(IntEnum): Replacements = 0x0 @@ -17932,40 +15149,35 @@ class eFamilyTypeEnum(IntEnum): YFlip = 0x3 Rotations = 0x4 - FamilyType: Annotated[ - c_enum32[eFamilyTypeEnum], Field(c_enum32[eFamilyTypeEnum], 0x20) - ] + FamilyType: Annotated[c_enum32[eFamilyTypeEnum], 0x20] @partial_struct class cGcBaseBuildingGroup(Structure): - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x20)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x38)] - SubGroups: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingSubGroup], - Field(basic.cTkDynamicArray[cGcBaseBuildingSubGroup], 0x48), - ] + Name: Annotated[basic.cTkFixedString0x20, 0x0] + Icon: Annotated[cTkTextureResource, 0x20] + ID: Annotated[basic.TkID0x10, 0x38] + SubGroups: Annotated[basic.cTkDynamicArray[cGcBaseBuildingSubGroup], 0x48] DefaultColourIdx: Annotated[int, Field(ctypes.c_int32, 0x58)] @partial_struct class cGcBaseBuildingMaterial(Structure): - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - LocName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x40)] - SwatchImage: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x58)] + Id: Annotated[basic.TkID0x20, 0x0] + LocName: Annotated[basic.cTkFixedString0x20, 0x20] + Icon: Annotated[cTkTextureResource, 0x40] + SwatchImage: Annotated[cTkTextureResource, 0x58] MaterialIndex: Annotated[int, Field(ctypes.c_int32, 0x70)] @partial_struct class cGcBaseBuildingPalette(Structure): - PrimaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - QuaternaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - SecondaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - TernaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x40)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60)] + PrimaryColour: Annotated[basic.Colour, 0x0] + QuaternaryColour: Annotated[basic.Colour, 0x10] + SecondaryColour: Annotated[basic.Colour, 0x20] + TernaryColour: Annotated[basic.Colour, 0x30] + Id: Annotated[basic.TkID0x20, 0x40] + Name: Annotated[basic.cTkFixedString0x20, 0x60] class eSwatchPrimaryColourEnum(IntEnum): Primary = 0x0 @@ -17973,10 +15185,7 @@ class eSwatchPrimaryColourEnum(IntEnum): Ternary = 0x2 Quaternary = 0x3 - SwatchPrimaryColour: Annotated[ - c_enum32[eSwatchPrimaryColourEnum], - Field(c_enum32[eSwatchPrimaryColourEnum], 0x80), - ] + SwatchPrimaryColour: Annotated[c_enum32[eSwatchPrimaryColourEnum], 0x80] class eSwatchSecondaryColourEnum(IntEnum): Primary = 0x0 @@ -17984,15 +15193,12 @@ class eSwatchSecondaryColourEnum(IntEnum): Ternary = 0x2 Quaternary = 0x3 - SwatchSecondaryColour: Annotated[ - c_enum32[eSwatchSecondaryColourEnum], - Field(c_enum32[eSwatchSecondaryColourEnum], 0x84), - ] + SwatchSecondaryColour: Annotated[c_enum32[eSwatchSecondaryColourEnum], 0x84] @partial_struct class cGcBaseBuildingEntryCosts(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] Active0AverageFrameTimeCost: Annotated[float, Field(ctypes.c_float, 0x10)] Active1AverageFrameTimeCost: Annotated[float, Field(ctypes.c_float, 0x14)] ActivePhysicsComponents: Annotated[int, Field(ctypes.c_int32, 0x18)] @@ -18005,59 +15211,35 @@ class cGcBaseBuildingEntryCosts(Structure): @partial_struct class cGcBaseBuildingCostsTable(Structure): - ObjectCosts: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingEntryCosts], - Field(basic.cTkDynamicArray[cGcBaseBuildingEntryCosts], 0x0), - ] + ObjectCosts: Annotated[basic.cTkDynamicArray[cGcBaseBuildingEntryCosts], 0x0] @partial_struct class cGcBaseBuildingEntryGroup(Structure): - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - SubGroupName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Group: Annotated[basic.TkID0x10, 0x0] + SubGroupName: Annotated[basic.TkID0x10, 0x10] SubGroup: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcSentinelWaveGroup(Structure): - ExtremeWaves: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - Waves: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] + ExtremeWaves: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + Waves: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] @partial_struct class cGcSettlementStatValueRange(Structure): MaxValue: Annotated[int, Field(ctypes.c_int32, 0x0)] MinValue: Annotated[int, Field(ctypes.c_int32, 0x4)] - Type: Annotated[ - c_enum32[enums.cGcSettlementStatType], - Field(c_enum32[enums.cGcSettlementStatType], 0x8), - ] + Type: Annotated[c_enum32[enums.cGcSettlementStatType], 0x8] @partial_struct class cGcSettlementBuildingContribution(Structure): - Base: Annotated[ - basic.cTkDynamicArray[cGcSettlementStatValueRange], - Field(basic.cTkDynamicArray[cGcSettlementStatValueRange], 0x0), - ] - Upgrade1: Annotated[ - basic.cTkDynamicArray[cGcSettlementStatValueRange], - Field(basic.cTkDynamicArray[cGcSettlementStatValueRange], 0x10), - ] - Upgrade2: Annotated[ - basic.cTkDynamicArray[cGcSettlementStatValueRange], - Field(basic.cTkDynamicArray[cGcSettlementStatValueRange], 0x20), - ] - Upgrade3: Annotated[ - basic.cTkDynamicArray[cGcSettlementStatValueRange], - Field(basic.cTkDynamicArray[cGcSettlementStatValueRange], 0x30), - ] + Base: Annotated[basic.cTkDynamicArray[cGcSettlementStatValueRange], 0x0] + Upgrade1: Annotated[basic.cTkDynamicArray[cGcSettlementStatValueRange], 0x10] + Upgrade2: Annotated[basic.cTkDynamicArray[cGcSettlementStatValueRange], 0x20] + Upgrade3: Annotated[basic.cTkDynamicArray[cGcSettlementStatValueRange], 0x30] @partial_struct @@ -18071,79 +15253,56 @@ class cGcPortalData(Structure): class cGcSentinelSpawnData(Structure): MaxAmount: Annotated[int, Field(ctypes.c_int32, 0x0)] MinAmount: Annotated[int, Field(ctypes.c_int32, 0x4)] - Type: Annotated[ - c_enum32[enums.cGcSentinelTypes], Field(c_enum32[enums.cGcSentinelTypes], 0x8) - ] + Type: Annotated[c_enum32[enums.cGcSentinelTypes], 0x8] @partial_struct class cGcSentinelSpawnSequenceStep(Structure): - WavePool: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + WavePool: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct class cGcSentinelSpawnNamedSequence(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Waves: Annotated[ - basic.cTkDynamicArray[cGcSentinelSpawnSequenceStep], - Field(basic.cTkDynamicArray[cGcSentinelSpawnSequenceStep], 0x10), - ] + Id: Annotated[basic.TkID0x10, 0x0] + Waves: Annotated[basic.cTkDynamicArray[cGcSentinelSpawnSequenceStep], 0x10] @partial_struct class cGcPersistencyMissionOverride(Structure): - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Buffer: Annotated[ - c_enum32[enums.cGcInteractionBufferType], - Field(c_enum32[enums.cGcInteractionBufferType], 0x10), - ] + Mission: Annotated[basic.TkID0x10, 0x0] + Buffer: Annotated[c_enum32[enums.cGcInteractionBufferType], 0x10] @partial_struct class cGcSentinelSpawnSequence(Structure): - Waves: Annotated[ - basic.cTkDynamicArray[cGcSentinelSpawnSequenceStep], - Field(basic.cTkDynamicArray[cGcSentinelSpawnSequenceStep], 0x0), - ] + Waves: Annotated[basic.cTkDynamicArray[cGcSentinelSpawnSequenceStep], 0x0] @partial_struct class cGcPlayerExperienceAsteroidCreatureSpawnData(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - LargeMinMax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] - MediumMinMax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x18)] - SmallMinMax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] + ID: Annotated[basic.TkID0x10, 0x0] + LargeMinMax: Annotated[basic.Vector2f, 0x10] + MediumMinMax: Annotated[basic.Vector2f, 0x18] + SmallMinMax: Annotated[basic.Vector2f, 0x20] Weight: Annotated[float, Field(ctypes.c_float, 0x28)] @partial_struct class cGcSentinelSpawnSequenceGroup(Structure): - ExtremeSequence: Annotated[ - cGcSentinelSpawnSequence, Field(cGcSentinelSpawnSequence, 0x0) - ] - Sequence: Annotated[cGcSentinelSpawnSequence, Field(cGcSentinelSpawnSequence, 0x10)] + ExtremeSequence: Annotated[cGcSentinelSpawnSequence, 0x0] + Sequence: Annotated[cGcSentinelSpawnSequence, 0x10] @partial_struct class cGcPlayerExperienceAsteroidCreatureSpawnTable(Structure): LargeAsteroidSpawns: Annotated[ - basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], - Field(basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], 0x0), + basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], 0x0 ] MediumAsteroidSpawns: Annotated[ - basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], - Field( - basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], 0x10 - ), + basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], 0x10 ] SmallAsteroidSpawns: Annotated[ - basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], - Field( - basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], 0x20 - ), + basic.cTkDynamicArray[cGcPlayerExperienceAsteroidCreatureSpawnData], 0x20 ] LargeAsteroidSpawnPercent: Annotated[float, Field(ctypes.c_float, 0x30)] MediumAsteroidSpawnPercent: Annotated[float, Field(ctypes.c_float, 0x34)] @@ -18152,58 +15311,41 @@ class cGcPlayerExperienceAsteroidCreatureSpawnTable(Structure): @partial_struct class cGcSentinelSpawnSequenceGroupList(Structure): - CorruptSequences: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - ExtremeSequences: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] - Sequences: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + CorruptSequences: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + ExtremeSequences: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] + Sequences: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] @partial_struct class cGcPlayerExperienceSpawnArchetypeData(Structure): - AppearAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - BehaviourOverrides: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x10), - ] - BehaviourTreeOverride: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - BlackboardValues: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x30), - ] - DamageOverride: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - DamageReceivedMultiplier: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - GenerateResource: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - KillingBlowMessageIDOverride: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - KillStatIDOverride: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] + AppearAnim: Annotated[basic.TkID0x10, 0x0] + BehaviourOverrides: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x10] + BehaviourTreeOverride: Annotated[basic.TkID0x10, 0x20] + BlackboardValues: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x30] + DamageOverride: Annotated[basic.TkID0x10, 0x40] + DamageReceivedMultiplier: Annotated[basic.TkID0x10, 0x50] + GenerateResource: Annotated[basic.TkID0x10, 0x60] + Id: Annotated[basic.TkID0x10, 0x70] + KillingBlowMessageIDOverride: Annotated[basic.TkID0x10, 0x80] + KillStatIDOverride: Annotated[basic.TkID0x10, 0x90] DespawnDistOverride: Annotated[float, Field(ctypes.c_float, 0xA0)] HealthOverride: Annotated[int, Field(ctypes.c_int32, 0xA4)] Scale: Annotated[float, Field(ctypes.c_float, 0xA8)] ScaleVariation: Annotated[float, Field(ctypes.c_float, 0xAC)] SpawnDistOverride: Annotated[float, Field(ctypes.c_float, 0xB0)] SpeedMultiplier: Annotated[float, Field(ctypes.c_float, 0xB4)] - Type: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0xB8) - ] + Type: Annotated[c_enum32[enums.cGcCreatureTypes], 0xB8] AllowSpawnInAir: Annotated[bool, Field(ctypes.c_bool, 0xBC)] @partial_struct class cGcPlayerExperienceSpawnData(Structure): - SpawnLocatorScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - AppearAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Archetype: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - SpawnLocator: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - MaxNum: Annotated[int, Field(ctypes.c_int32, 0x50)] - MinNum: Annotated[int, Field(ctypes.c_int32, 0x60)] + SpawnLocatorScanEvent: Annotated[basic.TkID0x20, 0x0] + AppearAnim: Annotated[basic.TkID0x10, 0x20] + Archetype: Annotated[basic.TkID0x10, 0x30] + SpawnLocator: Annotated[basic.TkID0x10, 0x40] + MaxNum: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0x50)] + MinNum: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0x60)] ActiveTime: Annotated[float, Field(ctypes.c_float, 0x70)] class eFaceDirEnum(IntEnum): @@ -18212,7 +15354,7 @@ class eFaceDirEnum(IntEnum): SpawnerAt = 0x2 InFrontOfPlayer = 0x3 - FaceDir: Annotated[c_enum32[eFaceDirEnum], Field(c_enum32[eFaceDirEnum], 0x74)] + FaceDir: Annotated[c_enum32[eFaceDirEnum], 0x74] MaxDist: Annotated[float, Field(ctypes.c_float, 0x78)] MinDist: Annotated[float, Field(ctypes.c_float, 0x7C)] PlayerFacingOffsetMax: Annotated[float, Field(ctypes.c_float, 0x80)] @@ -18220,20 +15362,14 @@ class eFaceDirEnum(IntEnum): @partial_struct class cGcPlayerExperienceSpawnTable(Structure): - Event: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Spawns: Annotated[ - basic.cTkDynamicArray[cGcPlayerExperienceSpawnData], - Field(basic.cTkDynamicArray[cGcPlayerExperienceSpawnData], 0x10), - ] + Event: Annotated[basic.TkID0x10, 0x0] + Spawns: Annotated[basic.cTkDynamicArray[cGcPlayerExperienceSpawnData], 0x10] class eExperienceSpawnTypeEnum(IntEnum): Freighter = 0x0 Mission = 0x1 - ExperienceSpawnType: Annotated[ - c_enum32[eExperienceSpawnTypeEnum], - Field(c_enum32[eExperienceSpawnTypeEnum], 0x20), - ] + ExperienceSpawnType: Annotated[c_enum32[eExperienceSpawnTypeEnum], 0x20] InitialDelay: Annotated[float, Field(ctypes.c_float, 0x24)] PerSpawnDelay: Annotated[float, Field(ctypes.c_float, 0x28)] ResponseRate: Annotated[float, Field(ctypes.c_float, 0x2C)] @@ -18242,150 +15378,119 @@ class eExperienceSpawnTypeEnum(IntEnum): @partial_struct class cGcPoliceSpawnWaveData(Structure): - ShipData: Annotated[cGcAIShipSpawnData, Field(cGcAIShipSpawnData, 0x0)] - MaxCountsForFireteamSize: Annotated[int, Field(ctypes.c_int32, 0x160)] + ShipData: Annotated[cGcAIShipSpawnData, 0x0] + MaxCountsForFireteamSize: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x160) + ] @partial_struct class cGcInteractionActivationCost(Structure): - AltIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - OnlyChargeDuringSeasons: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x10), - ] - RequiredTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - StartMissionOnCantAfford: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - SubstanceId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - UseCostID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + AltIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + OnlyChargeDuringSeasons: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x10] + RequiredTech: Annotated[basic.TkID0x10, 0x20] + StartMissionOnCantAfford: Annotated[basic.TkID0x10, 0x30] + SubstanceId: Annotated[basic.TkID0x10, 0x40] + UseCostID: Annotated[basic.TkID0x10, 0x50] Cost: Annotated[int, Field(ctypes.c_int32, 0x60)] Repeat: Annotated[bool, Field(ctypes.c_bool, 0x64)] @partial_struct class cGcInteractionBaseBuildingState(Structure): - TriggerAction: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + TriggerAction: Annotated[basic.TkID0x10, 0x0] Time: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcFiendCrimeSpawnData(Structure): - MaxNum: Annotated[int, Field(ctypes.c_int32, 0x0)] - MinNum: Annotated[int, Field(ctypes.c_int32, 0x10)] + MaxNum: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0x0)] + MinNum: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 4, 0x10)] MaxDist: Annotated[float, Field(ctypes.c_float, 0x20)] MinDist: Annotated[float, Field(ctypes.c_float, 0x24)] - Type: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x28) - ] + Type: Annotated[c_enum32[enums.cGcCreatureTypes], 0x28] @partial_struct class cGcAntagonistEnemy(Structure): - Perceptions: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Perceptions: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] GrudgeFactor: Annotated[float, Field(ctypes.c_float, 0x10)] HatredFactor: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cGcAntagonistFriend(Structure): - Perceptions: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Perceptions: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] ArticulationFactor: Annotated[float, Field(ctypes.c_float, 0x10)] @partial_struct class cGcAntagonistPerception(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] Range: Annotated[float, Field(ctypes.c_float, 0x10)] class eViewShapeEnum(IntEnum): Pyramid = 0x0 Cone = 0x1 - ViewShape: Annotated[ - c_enum32[eViewShapeEnum], Field(c_enum32[eViewShapeEnum], 0x14) - ] + ViewShape: Annotated[c_enum32[eViewShapeEnum], 0x14] XFOV: Annotated[float, Field(ctypes.c_float, 0x18)] YFOV: Annotated[float, Field(ctypes.c_float, 0x1C)] - SenseLocator: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] + SenseLocator: Annotated[basic.cTkFixedString0x20, 0x20] Raycast: Annotated[bool, Field(ctypes.c_bool, 0x40)] @partial_struct class cGcDroneGun(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Anim: Annotated[basic.TkID0x10, 0x0] RequiredDestructibles: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x10 ] - Locator: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] + Locator: Annotated[basic.cTkFixedString0x20, 0x20] LaunchDuringAnim: Annotated[bool, Field(ctypes.c_bool, 0x40)] MirrorAnim: Annotated[bool, Field(ctypes.c_bool, 0x41)] @partial_struct class cGcBasePlacementComponentData(Structure): - Rules: Annotated[ - basic.cTkDynamicArray[cGcBasePlacementRule], - Field(basic.cTkDynamicArray[cGcBasePlacementRule], 0x0), - ] + Rules: Annotated[basic.cTkDynamicArray[cGcBasePlacementRule], 0x0] @partial_struct class cGcFontTableEntry(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - LargeOverrideFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - VROverrideFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] + Filename: Annotated[basic.VariableSizeString, 0x0] + Id: Annotated[basic.TkID0x10, 0x10] + LargeOverrideFilename: Annotated[basic.VariableSizeString, 0x20] + VROverrideFilename: Annotated[basic.VariableSizeString, 0x30] Spacing: Annotated[float, Field(ctypes.c_float, 0x40)] @partial_struct class cGcFontTable(Structure): - Fonts: Annotated[ - basic.cTkDynamicArray[cGcFontTableEntry], - Field(basic.cTkDynamicArray[cGcFontTableEntry], 0x0), - ] - Language: Annotated[ - c_enum32[enums.cTkLanguages], Field(c_enum32[enums.cTkLanguages], 0x10) - ] + Fonts: Annotated[basic.cTkDynamicArray[cGcFontTableEntry], 0x0] + Language: Annotated[c_enum32[enums.cTkLanguages], 0x10] @partial_struct class cGcEntitlementRewardData(Structure): - Error: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - EntitlementId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - RewardId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + Error: Annotated[basic.cTkFixedString0x20, 0x0] + Name: Annotated[basic.cTkFixedString0x20, 0x20] + EntitlementId: Annotated[basic.TkID0x10, 0x40] + RewardId: Annotated[basic.TkID0x10, 0x50] @partial_struct class cTkEntitlementListData(Structure): - EntitlementId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ServiceID: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x10) - ] + EntitlementId: Annotated[basic.TkID0x10, 0x0] + ServiceID: Annotated[basic.cTkFixedString0x40, 0x10] @partial_struct class cGcCutSceneTriggerActionData(Structure): - Action: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - GroupFilter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - IdFilter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Parameter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + Action: Annotated[basic.TkID0x10, 0x0] + GroupFilter: Annotated[basic.TkID0x10, 0x10] + IdFilter: Annotated[basic.TkID0x10, 0x20] + Parameter: Annotated[basic.TkID0x10, 0x30] @partial_struct @@ -18422,26 +15527,22 @@ class cGcConstraintsToCreateSpec(Structure): @partial_struct class cGcByteBeatSong(Structure): - LocID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RequiredSpecialId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - Data: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x40)] - AuthorOnlineID: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x240) - ] - AuthorPlatform: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x280) - ] - AuthorUsername: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x2C0) + LocID: Annotated[basic.cTkFixedString0x20, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] + RequiredSpecialId: Annotated[basic.TkID0x10, 0x30] + Data: Annotated[ + tuple[basic.cTkFixedString0x40, ...], Field(basic.cTkFixedString0x40 * 8, 0x40) ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x300)] + AuthorOnlineID: Annotated[basic.cTkFixedString0x40, 0x240] + AuthorPlatform: Annotated[basic.cTkFixedString0x40, 0x280] + AuthorUsername: Annotated[basic.cTkFixedString0x40, 0x2C0] + Name: Annotated[basic.cTkFixedString0x20, 0x300] @partial_struct class cGcByteBeatLibraryData(Structure): - MySongs: Annotated[cGcByteBeatSong, Field(cGcByteBeatSong, 0x0)] - Playlist: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1900)] + MySongs: Annotated[tuple[cGcByteBeatSong, ...], Field(cGcByteBeatSong * 8, 0x0)] + Playlist: Annotated[tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 16, 0x1900)] AutoplayInShip: Annotated[bool, Field(ctypes.c_bool, 0x1A00)] AutoplayInVehicle: Annotated[bool, Field(ctypes.c_bool, 0x1A01)] AutoplayOnFoot: Annotated[bool, Field(ctypes.c_bool, 0x1A02)] @@ -18450,28 +15551,19 @@ class cGcByteBeatLibraryData(Structure): @partial_struct class cGcByteBeatTemplate(Structure): - Children: Annotated[ - "basic.cTkDynamicArray[cGcByteBeatTemplate]", - Field("basic.cTkDynamicArray[cGcByteBeatTemplate]", 0x0), - ] + Children: Annotated["basic.cTkDynamicArray[cGcByteBeatTemplate]", 0x0] MaxValue: Annotated[int, Field(ctypes.c_int32, 0x10)] MinValue: Annotated[int, Field(ctypes.c_int32, 0x14)] - TokenType: Annotated[ - c_enum32[enums.cGcByteBeatToken], Field(c_enum32[enums.cGcByteBeatToken], 0x18) - ] + TokenType: Annotated[c_enum32[enums.cGcByteBeatToken], 0x18] Weight: Annotated[float, Field(ctypes.c_float, 0x1C)] @partial_struct class cGcAdvancedTweaks(Structure): NodesThatMustBePresent: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x40], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x0), - ] - NodesToHide: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x40], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x10), + basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x0 ] + NodesToHide: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x10] EdgeMultiplierForTangentI: Annotated[float, Field(ctypes.c_float, 0x20)] EdgeMultiplierForTangentJ: Annotated[float, Field(ctypes.c_float, 0x24)] ParticleKillSpeed: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -18483,79 +15575,64 @@ class cGcAdvancedTweaks(Structure): @partial_struct class cGcAttachedNode(Structure): - RelativeTransform_Axis0: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - RelativeTransform_Axis1: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - RelativeTransform_Axis2: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - RelativeTransform_Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] + RelativeTransform_Axis0: Annotated[basic.Vector3f, 0x0] + RelativeTransform_Axis1: Annotated[basic.Vector3f, 0x10] + RelativeTransform_Axis2: Annotated[basic.Vector3f, 0x20] + RelativeTransform_Position: Annotated[basic.Vector3f, 0x30] BlendStrength: Annotated[float, Field(ctypes.c_float, 0x40)] MaxRenderIFraction: Annotated[float, Field(ctypes.c_float, 0x44)] MaxRenderJFraction: Annotated[float, Field(ctypes.c_float, 0x48)] MinRenderIFraction: Annotated[float, Field(ctypes.c_float, 0x4C)] MinRenderJFraction: Annotated[float, Field(ctypes.c_float, 0x50)] - NodeName: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x54)] + NodeName: Annotated[basic.cTkFixedString0x40, 0x54] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x94)] @partial_struct class cGcByteBeatDrum(Structure): - AttackEnvelope: Annotated[ - c_enum32[enums.cGcByteBeatEnvelope], - Field(c_enum32[enums.cGcByteBeatEnvelope], 0x0), - ] + AttackEnvelope: Annotated[c_enum32[enums.cGcByteBeatEnvelope], 0x0] class eAugmentModeEnum(IntEnum): Add = 0x0 Multiply = 0x1 Max = 0x2 - AugmentMode: Annotated[ - c_enum32[eAugmentModeEnum], Field(c_enum32[eAugmentModeEnum], 0x4) - ] + AugmentMode: Annotated[c_enum32[eAugmentModeEnum], 0x4] AugmentOverdrive: Annotated[float, Field(ctypes.c_float, 0x8)] AugmentPitch: Annotated[float, Field(ctypes.c_float, 0xC)] AugmentPitchFalloff: Annotated[float, Field(ctypes.c_float, 0x10)] AugmentPitchFalloffPower: Annotated[float, Field(ctypes.c_float, 0x14)] AugmentSineNoiseMix: Annotated[float, Field(ctypes.c_float, 0x18)] AugmentVolume: Annotated[float, Field(ctypes.c_float, 0x1C)] - DecayEnvelope: Annotated[ - c_enum32[enums.cGcByteBeatEnvelope], - Field(c_enum32[enums.cGcByteBeatEnvelope], 0x20), - ] + DecayEnvelope: Annotated[c_enum32[enums.cGcByteBeatEnvelope], 0x20] Duration: Annotated[float, Field(ctypes.c_float, 0x24)] OctaveShift: Annotated[float, Field(ctypes.c_float, 0x28)] Volume: Annotated[float, Field(ctypes.c_float, 0x2C)] - WaveType: Annotated[ - c_enum32[enums.cGcByteBeatWave], Field(c_enum32[enums.cGcByteBeatWave], 0x30) - ] - Tree: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x34)] + WaveType: Annotated[c_enum32[enums.cGcByteBeatWave], 0x30] + Tree: Annotated[basic.cTkFixedString0x40, 0x34] @partial_struct class cGcAttachmentPointData(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + Position: Annotated[basic.Vector3f, 0x0] SimP: Annotated[int, Field(ctypes.c_int32, 0x10)] @partial_struct class cGcAttachmentPointSet(Structure): - AttachmentPoints: Annotated[ - basic.cTkDynamicArray[cGcAttachmentPointData], - Field(basic.cTkDynamicArray[cGcAttachmentPointData], 0x0), - ] + AttachmentPoints: Annotated[basic.cTkDynamicArray[cGcAttachmentPointData], 0x0] AttractionStartDistance: Annotated[float, Field(ctypes.c_float, 0x10)] AttractionStrength: Annotated[float, Field(ctypes.c_float, 0x14)] NumSimI: Annotated[int, Field(ctypes.c_int32, 0x18)] NumSimJ: Annotated[int, Field(ctypes.c_int32, 0x1C)] - JointName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x20) - ] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x60)] + JointName: Annotated[basic.cTkFixedString0x40, 0x20] + Name: Annotated[basic.cTkFixedString0x40, 0x60] Enabled: Annotated[bool, Field(ctypes.c_bool, 0xA0)] @partial_struct class cGcByteBeatJukeboxData(Structure): - Playlist: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Playlist: Annotated[tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 16, 0x0)] Playing: Annotated[bool, Field(ctypes.c_bool, 0x100)] Shuffle: Annotated[bool, Field(ctypes.c_bool, 0x101)] @@ -18569,7 +15646,9 @@ class cGcAudio3PointDopplerData(Structure): @partial_struct class cGcAudioNPCDoppler(Structure): - Config: Annotated[cGcAudio3PointDopplerData, Field(cGcAudio3PointDopplerData, 0x0)] + Config: Annotated[ + tuple[cGcAudio3PointDopplerData, ...], Field(cGcAudio3PointDopplerData * 7, 0x0) + ] @partial_struct @@ -18579,10 +15658,10 @@ class cGcAlienPodAnimParams(Structure): @partial_struct class cGcThirdPersonAnimParams(Structure): - AimDirection: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] - MoveForce: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x8)] - Velocity: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] - VelocityXY: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x18)] + AimDirection: Annotated[basic.Vector2f, 0x0] + MoveForce: Annotated[basic.Vector2f, 0x8] + Velocity: Annotated[basic.Vector2f, 0x10] + VelocityXY: Annotated[basic.Vector2f, 0x18] AimPitch: Annotated[float, Field(ctypes.c_float, 0x20)] AimYaw: Annotated[float, Field(ctypes.c_float, 0x24)] DistanceFromGround: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -18609,16 +15688,14 @@ class cGcAtlasSendSubmitContribution(Structure): @partial_struct class cTkPhysicsComponentData(Structure): - Data: Annotated[cTkPhysicsData, Field(cTkPhysicsData, 0x0)] + Data: Annotated[cTkPhysicsData, 0x0] class eModelOwnershipEnum(IntEnum): Model = 0x0 MasterModel = 0x1 None_ = 0x2 - ModelOwnership: Annotated[ - c_enum32[eModelOwnershipEnum], Field(c_enum32[eModelOwnershipEnum], 0x18) - ] + ModelOwnership: Annotated[c_enum32[eModelOwnershipEnum], 0x18] SimpleCharacterCollisionFwdOffset: Annotated[float, Field(ctypes.c_float, 0x1C)] SimpleCharacterCollisionHeight: Annotated[float, Field(ctypes.c_float, 0x20)] SimpleCharacterCollisionHeightOffset: Annotated[float, Field(ctypes.c_float, 0x24)] @@ -18629,13 +15706,8 @@ class eSurfacePropertiesEnum(IntEnum): None_ = 0x0 Glass = 0x1 - SurfaceProperties: Annotated[ - c_enum32[eSurfacePropertiesEnum], Field(c_enum32[eSurfacePropertiesEnum], 0x30) - ] - TriggerVolumeType: Annotated[ - c_enum32[enums.cTkVolumeTriggerType], - Field(c_enum32[enums.cTkVolumeTriggerType], 0x34), - ] + SurfaceProperties: Annotated[c_enum32[eSurfacePropertiesEnum], 0x30] + TriggerVolumeType: Annotated[c_enum32[enums.cTkVolumeTriggerType], 0x34] AllowedDefaultCollision: Annotated[bool, Field(ctypes.c_bool, 0x38)] AllowTeleporter: Annotated[bool, Field(ctypes.c_bool, 0x39)] Animated: Annotated[bool, Field(ctypes.c_bool, 0x3A)] @@ -18665,27 +15737,12 @@ class eSurfacePropertiesEnum(IntEnum): @partial_struct class cTkAnimPoseComponentData(Structure): - BabyModifiers: Annotated[ - basic.cTkDynamicArray[cTkAnimPoseBabyModifier], - Field(basic.cTkDynamicArray[cTkAnimPoseBabyModifier], 0x0), - ] - CorrelationMat: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x10), - ] - Correlations: Annotated[ - basic.cTkDynamicArray[cTkAnimPoseCorrelationData], - Field(basic.cTkDynamicArray[cTkAnimPoseCorrelationData], 0x20), - ] - Examples: Annotated[ - basic.cTkDynamicArray[cTkAnimPoseExampleData], - Field(basic.cTkDynamicArray[cTkAnimPoseExampleData], 0x30), - ] - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] - PoseAnims: Annotated[ - basic.cTkDynamicArray[cTkAnimPoseData], - Field(basic.cTkDynamicArray[cTkAnimPoseData], 0x50), - ] + BabyModifiers: Annotated[basic.cTkDynamicArray[cTkAnimPoseBabyModifier], 0x0] + CorrelationMat: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x10] + Correlations: Annotated[basic.cTkDynamicArray[cTkAnimPoseCorrelationData], 0x20] + Examples: Annotated[basic.cTkDynamicArray[cTkAnimPoseExampleData], 0x30] + Filename: Annotated[basic.VariableSizeString, 0x40] + PoseAnims: Annotated[basic.cTkDynamicArray[cTkAnimPoseData], 0x50] AdultCorrelationValue: Annotated[float, Field(ctypes.c_float, 0x60)] DisableForAnimOverrides: Annotated[bool, Field(ctypes.c_bool, 0x64)] ShouldRandomise: Annotated[bool, Field(ctypes.c_bool, 0x65)] @@ -18693,10 +15750,7 @@ class cTkAnimPoseComponentData(Structure): @partial_struct class cTkSketchComponentData(Structure): - Nodes: Annotated[ - basic.cTkDynamicArray[cTkSketchNodeData], - Field(basic.cTkDynamicArray[cTkSketchNodeData], 0x0), - ] + Nodes: Annotated[basic.cTkDynamicArray[cTkSketchNodeData], 0x0] GraphPosX: Annotated[float, Field(ctypes.c_float, 0x10)] GraphPosY: Annotated[float, Field(ctypes.c_float, 0x14)] GraphZoom: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -18705,41 +15759,36 @@ class cTkSketchComponentData(Structure): @partial_struct class cGcBootLogoData(Structure): - DisplayTime: Annotated[float, Field(ctypes.c_float, 0x0)] + DisplayTime: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x0)] Textures: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x10) + tuple[basic.cTkFixedString0x100, ...], + Field(basic.cTkFixedString0x100 * 4, 0x10), ] @partial_struct class cTkAnimDetailSettingsTable(Structure): - Table: Annotated[cTkAnimDetailSettings, Field(cTkAnimDetailSettings, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] + Table: Annotated[ + tuple[cTkAnimDetailSettings, ...], Field(cTkAnimDetailSettings * 4, 0x0) + ] + Id: Annotated[basic.TkID0x10, 0x80] @partial_struct class cGcTechnologyAttachmentComponentData(Structure): - Techs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Techs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] class eInventoryEnum(IntEnum): Vehicle = 0x0 - Inventory: Annotated[ - c_enum32[eInventoryEnum], Field(c_enum32[eInventoryEnum], 0x10) - ] + Inventory: Annotated[c_enum32[eInventoryEnum], 0x10] Inverted: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcTriggerActionComponentData(Structure): - PersistentState: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - States: Annotated[ - basic.cTkDynamicArray[cGcActionTriggerState], - Field(basic.cTkDynamicArray[cGcActionTriggerState], 0x10), - ] + PersistentState: Annotated[basic.TkID0x10, 0x0] + States: Annotated[basic.cTkDynamicArray[cGcActionTriggerState], 0x10] HideModel: Annotated[bool, Field(ctypes.c_bool, 0x20)] LinkStateToBaseGrid: Annotated[bool, Field(ctypes.c_bool, 0x21)] Persistent: Annotated[bool, Field(ctypes.c_bool, 0x22)] @@ -18749,14 +15798,10 @@ class cGcTriggerActionComponentData(Structure): @partial_struct class cGcPlayerCharacterComponentData(Structure): - IntialPlayerControlMode: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - JetpackEffects: Annotated[ - basic.cTkDynamicArray[cGcCharacterJetpackEffect], - Field(basic.cTkDynamicArray[cGcCharacterJetpackEffect], 0x10), - ] + IntialPlayerControlMode: Annotated[basic.TkID0x10, 0x0] + JetpackEffects: Annotated[basic.cTkDynamicArray[cGcCharacterJetpackEffect], 0x10] PlayerControlModes: Annotated[ - basic.cTkDynamicArray[cGcPlayerControlModeEntry], - Field(basic.cTkDynamicArray[cGcPlayerControlModeEntry], 0x20), + basic.cTkDynamicArray[cGcPlayerControlModeEntry], 0x20 ] @@ -18767,61 +15812,35 @@ class cGcCharacterInterfaceComponentData(Structure): @partial_struct class cGcBuildableSpaceshipComponentData(Structure): - InitialLayouts: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x0), - ] + InitialLayouts: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x0] @partial_struct class cGcNPCComponentData(Structure): AlternateAnims: Annotated[ - basic.cTkDynamicArray[cGcCharacterAlternateAnimation], - Field(basic.cTkDynamicArray[cGcCharacterAlternateAnimation], 0x0), - ] - HologramEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Tags: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x30) + basic.cTkDynamicArray[cGcCharacterAlternateAnimation], 0x0 ] + HologramEffect: Annotated[basic.TkID0x10, 0x10] + Tags: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x30] IsMech: Annotated[bool, Field(ctypes.c_bool, 0x34)] IsOldStyleNPC: Annotated[bool, Field(ctypes.c_bool, 0x35)] @partial_struct class cTkMaterialData(Structure): - Flags: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cTkMaterialFlags]], - Field(basic.cTkDynamicArray[c_enum32[enums.cTkMaterialFlags]], 0x0), - ] - FxFlags: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cTkMaterialFxFlags]], - Field(basic.cTkDynamicArray[c_enum32[enums.cTkMaterialFxFlags]], 0x10), - ] - Link: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - Metamaterial: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - Name: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] - Samplers: Annotated[ - basic.cTkDynamicArray[cTkMaterialSampler], - Field(basic.cTkDynamicArray[cTkMaterialSampler], 0x50), - ] - Shader: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x60)] - Uniforms_Float: Annotated[ - basic.cTkDynamicArray[cTkMaterialUniform_Float], - Field(basic.cTkDynamicArray[cTkMaterialUniform_Float], 0x70), - ] - Uniforms_UInt: Annotated[ - basic.cTkDynamicArray[cTkMaterialUniform_UInt], - Field(basic.cTkDynamicArray[cTkMaterialUniform_UInt], 0x80), - ] + Flags: Annotated[basic.cTkDynamicArray[c_enum32[enums.cTkMaterialFlags]], 0x0] + FxFlags: Annotated[basic.cTkDynamicArray[c_enum32[enums.cTkMaterialFxFlags]], 0x10] + Link: Annotated[basic.VariableSizeString, 0x20] + Metamaterial: Annotated[basic.VariableSizeString, 0x30] + Name: Annotated[basic.VariableSizeString, 0x40] + Samplers: Annotated[basic.cTkDynamicArray[cTkMaterialSampler], 0x50] + Shader: Annotated[basic.VariableSizeString, 0x60] + Uniforms_Float: Annotated[basic.cTkDynamicArray[cTkMaterialUniform_Float], 0x70] + Uniforms_UInt: Annotated[basic.cTkDynamicArray[cTkMaterialUniform_UInt], 0x80] ShaderMillDataHash: Annotated[int, Field(ctypes.c_int64, 0x90)] TransparencyLayerID: Annotated[int, Field(ctypes.c_int32, 0x98)] - Class: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9C)] + Class: Annotated[basic.cTkFixedString0x20, 0x9C] CastShadow: Annotated[bool, Field(ctypes.c_bool, 0xBC)] CreateFur: Annotated[bool, Field(ctypes.c_bool, 0xBD)] DisableZTest: Annotated[bool, Field(ctypes.c_bool, 0xBE)] @@ -18831,27 +15850,18 @@ class cTkMaterialData(Structure): @partial_struct class cGcCreatureComponentData(Structure): - DiscoveryUIOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - PetLargeUIOverrideOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - DeathEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - DeathEffectTrail: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - PetAccessoryNodes: Annotated[ - basic.cTkDynamicArray[basic.HashedString], - Field(basic.cTkDynamicArray[basic.HashedString], 0x50), - ] - ReplacementImpacts: Annotated[ - basic.cTkDynamicArray[cGcReplacementEffectData], - Field(basic.cTkDynamicArray[cGcReplacementEffectData], 0x60), - ] + DiscoveryUIOffset: Annotated[basic.Vector3f, 0x0] + PetLargeUIOverrideOffset: Annotated[basic.Vector3f, 0x10] + DeathEffect: Annotated[basic.TkID0x10, 0x20] + DeathEffectTrail: Annotated[basic.TkID0x10, 0x30] + Id: Annotated[basic.TkID0x10, 0x40] + PetAccessoryNodes: Annotated[basic.cTkDynamicArray[basic.HashedString], 0x50] + ReplacementImpacts: Annotated[basic.cTkDynamicArray[cGcReplacementEffectData], 0x60] ThumbnailOverrides: Annotated[ - basic.cTkDynamicArray[cGcCreatureDiscoveryThumbnailOverride], - Field(basic.cTkDynamicArray[cGcCreatureDiscoveryThumbnailOverride], 0x70), + basic.cTkDynamicArray[cGcCreatureDiscoveryThumbnailOverride], 0x70 ] AccessoryPitchOffset: Annotated[float, Field(ctypes.c_float, 0x80)] - Axis: Annotated[ - c_enum32[enums.cGcPrimaryAxis], Field(c_enum32[enums.cGcPrimaryAxis], 0x84) - ] + Axis: Annotated[c_enum32[enums.cGcPrimaryAxis], 0x84] DeathEffectScale: Annotated[float, Field(ctypes.c_float, 0x88)] DeathFadeTime: Annotated[float, Field(ctypes.c_float, 0x8C)] DiscoveryFurScaler: Annotated[float, Field(ctypes.c_float, 0x90)] @@ -18873,41 +15883,29 @@ class cGcCreatureComponentData(Structure): @partial_struct class cGcLanguageFontTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcFontTable], - Field(basic.cTkDynamicArray[cGcFontTable], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcFontTable], 0x0] @partial_struct class cGcPunctuationDelayTable(Structure): PunctuationDelays: Annotated[ - cGcPunctuationDelayData, Field(cGcPunctuationDelayData, 0x0) + tuple[cGcPunctuationDelayData, ...], Field(cGcPunctuationDelayData * 6, 0x0) ] @partial_struct class cGcNGuiSpecialTextImages(Structure): - SpecialImages: Annotated[ - basic.cTkDynamicArray[cGcNGuiSpecialTextImageData], - Field(basic.cTkDynamicArray[cGcNGuiSpecialTextImageData], 0x0), - ] + SpecialImages: Annotated[basic.cTkDynamicArray[cGcNGuiSpecialTextImageData], 0x0] @partial_struct class cGcNGuiSpecialTextStyles(Structure): - SpecialStyles: Annotated[ - basic.cTkDynamicArray[cGcNGuiSpecialTextStyleData], - Field(basic.cTkDynamicArray[cGcNGuiSpecialTextStyleData], 0x0), - ] + SpecialStyles: Annotated[basic.cTkDynamicArray[cGcNGuiSpecialTextStyleData], 0x0] @partial_struct class cGcLightingRigComponentData(Structure): - LightData: Annotated[ - basic.cTkDynamicArray[cGcHeroLightData], - Field(basic.cTkDynamicArray[cGcHeroLightData], 0x0), - ] + LightData: Annotated[basic.cTkDynamicArray[cGcHeroLightData], 0x0] PitchAngleMax: Annotated[float, Field(ctypes.c_float, 0x10)] PitchAngleMin: Annotated[float, Field(ctypes.c_float, 0x14)] @@ -18915,79 +15913,58 @@ class cGcLightingRigComponentData(Structure): @partial_struct class cTkMeshWaterQualitySettings(Structure): MeshWaterQualitySettings: Annotated[ - cTkMeshWaterQualitySettingData, Field(cTkMeshWaterQualitySettingData, 0x0) + tuple[cTkMeshWaterQualitySettingData, ...], + Field(cTkMeshWaterQualitySettingData * 4, 0x0), ] MeshWaterReflectionQualitySettings: Annotated[ - cTkMeshWaterReflectionQualitySettingData, - Field(cTkMeshWaterReflectionQualitySettingData, 0xB0), + tuple[cTkMeshWaterReflectionQualitySettingData, ...], + Field(cTkMeshWaterReflectionQualitySettingData * 4, 0xB0), ] @partial_struct class cGcTexturePrefetchData(Structure): - Textures: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x0), - ] + Textures: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x0] @partial_struct class cGcAudioPulseDemo(Structure): - InWarp: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x0)] - Planet: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x8)] - Space: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] - SpaceStation: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x18)] - Wanted: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] + InWarp: Annotated[basic.Vector2f, 0x0] + Planet: Annotated[basic.Vector2f, 0x8] + Space: Annotated[basic.Vector2f, 0x10] + SpaceStation: Annotated[basic.Vector2f, 0x18] + Wanted: Annotated[basic.Vector2f, 0x20] MixRateSeconds: Annotated[float, Field(ctypes.c_float, 0x28)] @partial_struct class cGcBaseBuildingPartsDataTable(Structure): - PartsData: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingPartData], - Field(basic.cTkDynamicArray[cGcBaseBuildingPartData], 0x0), - ] + PartsData: Annotated[basic.cTkDynamicArray[cGcBaseBuildingPartData], 0x0] @partial_struct class cGcGeneratedBaseTemplatesTable(Structure): DecorationTemplates: Annotated[ - basic.cTkDynamicArray[cGcGeneratedBaseDecorationTemplate], - Field(basic.cTkDynamicArray[cGcGeneratedBaseDecorationTemplate], 0x0), - ] - PruningRules: Annotated[ - basic.cTkDynamicArray[cGcGeneratedBasePruningRule], - Field(basic.cTkDynamicArray[cGcGeneratedBasePruningRule], 0x10), - ] - RoomTemplates: Annotated[ - basic.cTkDynamicArray[cGcGeneratedBaseRoomTemplate], - Field(basic.cTkDynamicArray[cGcGeneratedBaseRoomTemplate], 0x20), + basic.cTkDynamicArray[cGcGeneratedBaseDecorationTemplate], 0x0 ] + PruningRules: Annotated[basic.cTkDynamicArray[cGcGeneratedBasePruningRule], 0x10] + RoomTemplates: Annotated[basic.cTkDynamicArray[cGcGeneratedBaseRoomTemplate], 0x20] ThemeTemplates: Annotated[ - basic.cTkDynamicArray[cGcGeneratedBaseThemeTemplate], - Field(basic.cTkDynamicArray[cGcGeneratedBaseThemeTemplate], 0x30), + basic.cTkDynamicArray[cGcGeneratedBaseThemeTemplate], 0x30 ] @partial_struct class cTkStaticPhysicsComponentData(Structure): - Data: Annotated[cTkPhysicsData, Field(cTkPhysicsData, 0x0)] - NavMeshInclusion: Annotated[ - cTkNavMeshInclusionParams, Field(cTkNavMeshInclusionParams, 0x18) - ] + Data: Annotated[cTkPhysicsData, 0x0] + NavMeshInclusion: Annotated[cTkNavMeshInclusionParams, 0x18] class eStaticPhysicsTargetNodeEnum(IntEnum): Attachment = 0x0 MasterModel = 0x1 - StaticPhysicsTargetNode: Annotated[ - c_enum32[eStaticPhysicsTargetNodeEnum], - Field(c_enum32[eStaticPhysicsTargetNodeEnum], 0x20), - ] - TriggerVolumeType: Annotated[ - c_enum32[enums.cTkVolumeTriggerType], - Field(c_enum32[enums.cTkVolumeTriggerType], 0x24), - ] + StaticPhysicsTargetNode: Annotated[c_enum32[eStaticPhysicsTargetNodeEnum], 0x20] + TriggerVolumeType: Annotated[c_enum32[enums.cTkVolumeTriggerType], 0x24] AddToWorldImmediately: Annotated[bool, Field(ctypes.c_bool, 0x28)] AddToWorldOnPrepare: Annotated[bool, Field(ctypes.c_bool, 0x29)] CameraInvisible: Annotated[bool, Field(ctypes.c_bool, 0x2A)] @@ -19000,20 +15977,18 @@ class eStaticPhysicsTargetNodeEnum(IntEnum): @partial_struct class cGcBuildingModeCondition(Structure): - ValidBuildingModes: Annotated[int, Field(ctypes.c_int32, 0x0)] + ValidBuildingModes: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 5, 0x0)] @partial_struct class cGcBaseObjectDescriptorComponentData(Structure): - ProcSceneFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] + ProcSceneFile: Annotated[basic.VariableSizeString, 0x0] ForceShowPickUpLabel: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcCockpitComponentData(Structure): - Cockpit: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] + Cockpit: Annotated[basic.VariableSizeString, 0x0] FoVFixedDistance: Annotated[float, Field(ctypes.c_float, 0x10)] MaxHeadPitchDown: Annotated[float, Field(ctypes.c_float, 0x14)] MaxHeadPitchUp: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -19022,28 +15997,19 @@ class cGcCockpitComponentData(Structure): @partial_struct class cGcFishingRodTable(Structure): - FishingRodResource: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - FishingRods: Annotated[ - basic.cTkDynamicArray[cGcFishingRodData], - Field(basic.cTkDynamicArray[cGcFishingRodData], 0x10), - ] + FishingRodResource: Annotated[basic.VariableSizeString, 0x0] + FishingRods: Annotated[basic.cTkDynamicArray[cGcFishingRodData], 0x10] @partial_struct class cGcEntitlementRewardsTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcEntitlementRewardData], - Field(basic.cTkDynamicArray[cGcEntitlementRewardData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcEntitlementRewardData], 0x0] @partial_struct class cGcPlayerMissionUpgradeMapTable(Structure): MissionProgressTable: Annotated[ - basic.cTkDynamicArray[cGcPlayerMissionUpgradeMapEntry], - Field(basic.cTkDynamicArray[cGcPlayerMissionUpgradeMapEntry], 0x0), + basic.cTkDynamicArray[cGcPlayerMissionUpgradeMapEntry], 0x0 ] @@ -19059,20 +16025,14 @@ class cGcInventoryStoreBalance(Structure): @partial_struct class cGcPlayerMissionProgressMapTable(Structure): MissionProgressTable: Annotated[ - basic.cTkDynamicArray[cGcPlayerMissionProgressMapEntry], - Field(basic.cTkDynamicArray[cGcPlayerMissionProgressMapEntry], 0x0), + basic.cTkDynamicArray[cGcPlayerMissionProgressMapEntry], 0x0 ] @partial_struct class cTkGraphicsSettings(Structure): - MonitorNames: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x100], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x0), - ] - GraphicsDetail: Annotated[ - cTkGraphicsDetailPreset, Field(cTkGraphicsDetailPreset, 0x10) - ] + MonitorNames: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x0] + GraphicsDetail: Annotated[cTkGraphicsDetailPreset, 0x10] AdapterIndex: Annotated[int, Field(ctypes.c_int32, 0x74)] Brightness: Annotated[int, Field(ctypes.c_int32, 0x78)] FoVInShip: Annotated[float, Field(ctypes.c_float, 0x7C)] @@ -19084,7 +16044,7 @@ class eHDRModeEnum(IntEnum): HDR600 = 0x2 HDR1000 = 0x3 - HDRMode: Annotated[c_enum32[eHDRModeEnum], Field(c_enum32[eHDRModeEnum], 0x84)] + HDRMode: Annotated[c_enum32[eHDRModeEnum], 0x84] MaxframeRate: Annotated[int, Field(ctypes.c_int32, 0x88)] Monitor: Annotated[int, Field(ctypes.c_int32, 0x8C)] MotionBlurStrength: Annotated[float, Field(ctypes.c_float, 0x90)] @@ -19103,10 +16063,7 @@ class eTextureStreamingVkEnum(IntEnum): Auto = 0x2 NonDynamic = 0x3 - TextureStreamingVk: Annotated[ - c_enum32[eTextureStreamingVkEnum], - Field(c_enum32[eTextureStreamingVkEnum], 0xB4), - ] + TextureStreamingVk: Annotated[c_enum32[eTextureStreamingVkEnum], 0xB4] Version: Annotated[int, Field(ctypes.c_int32, 0xB8)] class eVsyncExEnum(IntEnum): @@ -19115,10 +16072,8 @@ class eVsyncExEnum(IntEnum): Adaptive = 0x2 Triple = 0x3 - VsyncEx: Annotated[c_enum32[eVsyncExEnum], Field(c_enum32[eVsyncExEnum], 0xBC)] - AdapterName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xC0) - ] + VsyncEx: Annotated[c_enum32[eVsyncExEnum], 0xBC] + AdapterName: Annotated[basic.cTkFixedString0x100, 0xC0] Borderless: Annotated[bool, Field(ctypes.c_bool, 0x1C0)] FullScreen: Annotated[bool, Field(ctypes.c_bool, 0x1C1)] RemoveBaseBuildingRestrictions: Annotated[bool, Field(ctypes.c_bool, 0x1C2)] @@ -19130,26 +16085,23 @@ class eVsyncExEnum(IntEnum): @partial_struct class cGcPetAccessoryTable(Structure): - Accessories: Annotated[cGcPetAccessoryInfo, Field(cGcPetAccessoryInfo, 0x0)] - AccessoryGroups: Annotated[ - basic.cTkDynamicArray[cGcPetAccessoryGroup], - Field(basic.cTkDynamicArray[cGcPetAccessoryGroup], 0x3C0), + Accessories: Annotated[ + tuple[cGcPetAccessoryInfo, ...], Field(cGcPetAccessoryInfo * 30, 0x0) ] + AccessoryGroups: Annotated[basic.cTkDynamicArray[cGcPetAccessoryGroup], 0x3C0] @partial_struct class cGcPetEggSpeciesOverrideTable(Structure): SpeciesOverrides: Annotated[ - basic.cTkDynamicArray[cGcPetEggSpeciesOverrideData], - Field(basic.cTkDynamicArray[cGcPetEggSpeciesOverrideData], 0x0), + basic.cTkDynamicArray[cGcPetEggSpeciesOverrideData], 0x0 ] @partial_struct class cTkNetReplicatedEntityComponentData(Structure): ReplicaComponentMask: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x80], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x0), + basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x0 ] class eReplicationRangeEnum(IntEnum): @@ -19162,17 +16114,13 @@ class eReplicationRangeEnum(IntEnum): SpaceStation = 0x6 Nexus = 0x7 - ReplicationRange: Annotated[ - c_enum32[eReplicationRangeEnum], Field(c_enum32[eReplicationRangeEnum], 0x10) - ] + ReplicationRange: Annotated[c_enum32[eReplicationRangeEnum], 0x10] class eSpawnTypeEnum(IntEnum): Basic = 0x0 Creature = 0x1 - SpawnType: Annotated[ - c_enum32[eSpawnTypeEnum], Field(c_enum32[eSpawnTypeEnum], 0x14) - ] + SpawnType: Annotated[c_enum32[eSpawnTypeEnum], 0x14] IgnoreComponents: Annotated[bool, Field(ctypes.c_bool, 0x18)] ReplicateToShipmates: Annotated[bool, Field(ctypes.c_bool, 0x19)] @@ -19180,171 +16128,95 @@ class eSpawnTypeEnum(IntEnum): @partial_struct class cGcCustomisationTextureOptions(Structure): MultiTextureOptions: Annotated[ - basic.cTkDynamicArray[cGcCustomisationMultiTextureOption], - Field(basic.cTkDynamicArray[cGcCustomisationMultiTextureOption], 0x0), + basic.cTkDynamicArray[cGcCustomisationMultiTextureOption], 0x0 ] TextureOptions: Annotated[ - basic.cTkDynamicArray[cGcCustomisationTextureOption], - Field(basic.cTkDynamicArray[cGcCustomisationTextureOption], 0x10), + basic.cTkDynamicArray[cGcCustomisationTextureOption], 0x10 ] @partial_struct class cGcCustomisationColourPalettes(Structure): - CustomisationTypePalettes: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Palettes: Annotated[ - basic.cTkDynamicArray[cGcCustomisationColourPalette], - Field(basic.cTkDynamicArray[cGcCustomisationColourPalette], 0x1A0), + CustomisationTypePalettes: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 26, 0x0) ] + Palettes: Annotated[basic.cTkDynamicArray[cGcCustomisationColourPalette], 0x1A0] @partial_struct class cGcCustomisationBannerGroup(Structure): - BackgroundColours: Annotated[cGcPaletteData, Field(cGcPaletteData, 0x0)] - MainColours: Annotated[cGcPaletteData, Field(cGcPaletteData, 0x410)] - BackgroundColoursExtraData: Annotated[ - cGcCustomisationColourPaletteExtraData, - Field(cGcCustomisationColourPaletteExtraData, 0x820), - ] - MainColoursExtraData: Annotated[ - cGcCustomisationColourPaletteExtraData, - Field(cGcCustomisationColourPaletteExtraData, 0x840), - ] + BackgroundColours: Annotated[cGcPaletteData, 0x0] + MainColours: Annotated[cGcPaletteData, 0x410] + BackgroundColoursExtraData: Annotated[cGcCustomisationColourPaletteExtraData, 0x820] + MainColoursExtraData: Annotated[cGcCustomisationColourPaletteExtraData, 0x840] BannerImages: Annotated[ - basic.cTkDynamicArray[cGcCustomisationBannerImageData], - Field(basic.cTkDynamicArray[cGcCustomisationBannerImageData], 0x860), + basic.cTkDynamicArray[cGcCustomisationBannerImageData], 0x860 ] @partial_struct class cGcCustomisationShipBobbleHeads(Structure): - BobbleHeads: Annotated[ - basic.cTkDynamicArray[cGcCustomisationBobbleHead], - Field(basic.cTkDynamicArray[cGcCustomisationBobbleHead], 0x0), - ] + BobbleHeads: Annotated[basic.cTkDynamicArray[cGcCustomisationBobbleHead], 0x0] @partial_struct class cGcCustomisationThrusterEffects(Structure): - BackpackData: Annotated[ - basic.cTkDynamicArray[cGcCustomisationBackpackData], - Field(basic.cTkDynamicArray[cGcCustomisationBackpackData], 0x0), - ] + BackpackData: Annotated[basic.cTkDynamicArray[cGcCustomisationBackpackData], 0x0] FreighterEngineEffects: Annotated[ - basic.cTkDynamicArray[cGcCustomisationFreighterEngineEffect], - Field(basic.cTkDynamicArray[cGcCustomisationFreighterEngineEffect], 0x10), + basic.cTkDynamicArray[cGcCustomisationFreighterEngineEffect], 0x10 ] JetpackEffects: Annotated[ - basic.cTkDynamicArray[cGcCustomisationThrusterEffect], - Field(basic.cTkDynamicArray[cGcCustomisationThrusterEffect], 0x20), - ] - ShipEffects: Annotated[ - basic.cTkDynamicArray[cGcCustomisationShipTrails], - Field(basic.cTkDynamicArray[cGcCustomisationShipTrails], 0x30), + basic.cTkDynamicArray[cGcCustomisationThrusterEffect], 0x20 ] + ShipEffects: Annotated[basic.cTkDynamicArray[cGcCustomisationShipTrails], 0x30] @partial_struct class cGcSaveContextDataMaskTable(Structure): - Masks: Annotated[ - basic.cTkDynamicArray[cGcSaveContextDataMaskTableEntry], - Field(basic.cTkDynamicArray[cGcSaveContextDataMaskTableEntry], 0x0), - ] - Default: Annotated[cGcSaveContextDataMask, Field(cGcSaveContextDataMask, 0x10)] + Masks: Annotated[basic.cTkDynamicArray[cGcSaveContextDataMaskTableEntry], 0x0] + Default: Annotated[cGcSaveContextDataMask, 0x10] @partial_struct class cGcUserSettingsData(Structure): - CustomBindingsMac: Annotated[ - basic.cTkDynamicArray[cGcInputActionMapping2], - Field(basic.cTkDynamicArray[cGcInputActionMapping2], 0x0), - ] - CustomBindingsPC: Annotated[ - basic.cTkDynamicArray[cGcInputActionMapping2], - Field(basic.cTkDynamicArray[cGcInputActionMapping2], 0x10), - ] + CustomBindingsMac: Annotated[basic.cTkDynamicArray[cGcInputActionMapping2], 0x0] + CustomBindingsPC: Annotated[basic.cTkDynamicArray[cGcInputActionMapping2], 0x10] CustomBindingsPlaystation: Annotated[ - basic.cTkDynamicArray[cGcInputActionMapping2], - Field(basic.cTkDynamicArray[cGcInputActionMapping2], 0x20), - ] - CustomBindingsSwitch: Annotated[ - basic.cTkDynamicArray[cGcInputActionMapping2], - Field(basic.cTkDynamicArray[cGcInputActionMapping2], 0x30), - ] - CustomBindingsXbox: Annotated[ - basic.cTkDynamicArray[cGcInputActionMapping2], - Field(basic.cTkDynamicArray[cGcInputActionMapping2], 0x40), - ] - SeenProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x50), - ] - SeenSubstances: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x60), - ] - SeenTechnologies: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x70), - ] - SeenWikiTopics: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x80), - ] - UnlockedPlatformRewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x90), - ] - UnlockedSeasonRewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xA0), - ] - UnlockedSpecials: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xB0), - ] - UnlockedTitles: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xC0), - ] - UnlockedTwitchRewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xD0), - ] - UnlockedWikiTopics: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xE0), - ] - UpgradedUsers: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x80], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x80], 0xF0), - ] - BlockList: Annotated[cGcBlockListPersistence, Field(cGcBlockListPersistence, 0x100)] - GyroSettings: Annotated[cGcGyroSettingsData, Field(cGcGyroSettingsData, 0x3950)] + basic.cTkDynamicArray[cGcInputActionMapping2], 0x20 + ] + CustomBindingsSwitch: Annotated[basic.cTkDynamicArray[cGcInputActionMapping2], 0x30] + CustomBindingsXbox: Annotated[basic.cTkDynamicArray[cGcInputActionMapping2], 0x40] + SeenProducts: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x50] + SeenSubstances: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x60] + SeenTechnologies: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x70] + SeenWikiTopics: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x80] + UnlockedPlatformRewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x90] + UnlockedSeasonRewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xA0] + UnlockedSpecials: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xB0] + UnlockedTitles: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xC0] + UnlockedTwitchRewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xD0] + UnlockedWikiTopics: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xE0] + UpgradedUsers: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x80], 0xF0] + BlockList: Annotated[cGcBlockListPersistence, 0x100] + GyroSettings: Annotated[cGcGyroSettingsData, 0x3950] class eBaseSharingModeEnum(IntEnum): Undecided = 0x0 On = 0x1 Off = 0x2 - BaseSharingMode: Annotated[ - c_enum32[eBaseSharingModeEnum], Field(c_enum32[eBaseSharingModeEnum], 0x39C4) - ] + BaseSharingMode: Annotated[c_enum32[eBaseSharingModeEnum], 0x39C4] CamerShakeStrength: Annotated[int, Field(ctypes.c_int32, 0x39C8)] class eConsoleHFREnum(IntEnum): False_ = 0x0 True_ = 0x1 - ConsoleHFR: Annotated[ - c_enum32[eConsoleHFREnum], Field(c_enum32[eConsoleHFREnum], 0x39CC) - ] + ConsoleHFR: Annotated[c_enum32[eConsoleHFREnum], 0x39CC] CrossSavesUploadTimeout: Annotated[float, Field(ctypes.c_float, 0x39D0)] CursorSensitivityMode1: Annotated[int, Field(ctypes.c_int32, 0x39D4)] CursorSensitivityMode2: Annotated[int, Field(ctypes.c_int32, 0x39D8)] - DominantHand: Annotated[ - c_enum32[enums.cGcHand], Field(c_enum32[enums.cGcHand], 0x39DC) - ] + DominantHand: Annotated[c_enum32[enums.cGcHand], 0x39DC] class eEyeTrackingFlagsEnum(IntEnum): empty = 0x0 @@ -19352,9 +16224,7 @@ class eEyeTrackingFlagsEnum(IntEnum): WristMenus = 0x2 Menus = 0x4 - EyeTrackingFlags: Annotated[ - c_enum32[eEyeTrackingFlagsEnum], Field(c_enum32[eEyeTrackingFlagsEnum], 0x39E0) - ] + EyeTrackingFlags: Annotated[c_enum32[eEyeTrackingFlagsEnum], 0x39E0] Filter: Annotated[int, Field(ctypes.c_int32, 0x39E4)] FireteamSessionCount: Annotated[int, Field(ctypes.c_int32, 0x39E8)] FlightSensitivityMode1: Annotated[int, Field(ctypes.c_int32, 0x39EC)] @@ -19367,35 +16237,23 @@ class eHighResVRUIEnum(IntEnum): High = 0x0 Low = 0x1 - HighResVRUI: Annotated[ - c_enum32[eHighResVRUIEnum], Field(c_enum32[eHighResVRUIEnum], 0x3A00) - ] + HighResVRUI: Annotated[c_enum32[eHighResVRUIEnum], 0x3A00] HUDZoom: Annotated[float, Field(ctypes.c_float, 0x3A04)] - Language: Annotated[ - c_enum32[enums.cTkLanguages], Field(c_enum32[enums.cTkLanguages], 0x3A08) - ] + Language: Annotated[c_enum32[enums.cTkLanguages], 0x3A08] LastSeenCommunityMission: Annotated[int, Field(ctypes.c_int32, 0x3A0C)] LastSeenCommunityMissionTier: Annotated[int, Field(ctypes.c_int32, 0x3A10)] LookSensitivityMode1: Annotated[int, Field(ctypes.c_int32, 0x3A14)] LookSensitivityMode2: Annotated[int, Field(ctypes.c_int32, 0x3A18)] MotionBlurAmount: Annotated[int, Field(ctypes.c_int32, 0x3A1C)] MouseSpringSmoothing: Annotated[int, Field(ctypes.c_int32, 0x3A20)] - MovementDirectionHands: Annotated[ - c_enum32[enums.cGcMovementDirection], - Field(c_enum32[enums.cGcMovementDirection], 0x3A24), - ] - MovementDirectionPad: Annotated[ - c_enum32[enums.cGcMovementDirection], - Field(c_enum32[enums.cGcMovementDirection], 0x3A28), - ] + MovementDirectionHands: Annotated[c_enum32[enums.cGcMovementDirection], 0x3A24] + MovementDirectionPad: Annotated[c_enum32[enums.cGcMovementDirection], 0x3A28] class eMovementModeEnum(IntEnum): Teleporter = 0x0 Smooth = 0x1 - MovementMode: Annotated[ - c_enum32[eMovementModeEnum], Field(c_enum32[eMovementModeEnum], 0x3A2C) - ] + MovementMode: Annotated[c_enum32[eMovementModeEnum], 0x3A2C] MusicVolume: Annotated[int, Field(ctypes.c_int32, 0x3A30)] PlayerHUDVROffset: Annotated[float, Field(ctypes.c_float, 0x3A34)] @@ -19405,9 +16263,7 @@ class ePlayerVoiceEnum(IntEnum): Low = 0x2 Alien = 0x3 - PlayerVoice: Annotated[ - c_enum32[ePlayerVoiceEnum], Field(c_enum32[ePlayerVoiceEnum], 0x3A38) - ] + PlayerVoice: Annotated[c_enum32[ePlayerVoiceEnum], 0x3A38] class ePS4FixedFPSEnum(IntEnum): Invalid = 0x0 @@ -19415,9 +16271,7 @@ class ePS4FixedFPSEnum(IntEnum): False_ = 0x2 MaxPerformance = 0x3 - PS4FixedFPS: Annotated[ - c_enum32[ePS4FixedFPSEnum], Field(c_enum32[ePS4FixedFPSEnum], 0x3A3C) - ] + PS4FixedFPS: Annotated[c_enum32[ePS4FixedFPSEnum], 0x3A3C] PS4FOVFoot: Annotated[float, Field(ctypes.c_float, 0x3A40)] PS4FOVShip: Annotated[float, Field(ctypes.c_float, 0x3A44)] ScreenBrightness: Annotated[int, Field(ctypes.c_int32, 0x3A48)] @@ -19429,19 +16283,14 @@ class eSpaceCombatFollowModeEnum(IntEnum): Hold = 0x1 Toggle = 0x2 - SpaceCombatFollowMode: Annotated[ - c_enum32[eSpaceCombatFollowModeEnum], - Field(c_enum32[eSpaceCombatFollowModeEnum], 0x3A54), - ] + SpaceCombatFollowMode: Annotated[c_enum32[eSpaceCombatFollowModeEnum], 0x3A54] class eSuitVoiceEnum(IntEnum): Off = 0x0 High = 0x1 Low = 0x2 - SuitVoice: Annotated[ - c_enum32[eSuitVoiceEnum], Field(c_enum32[eSuitVoiceEnum], 0x3A58) - ] + SuitVoice: Annotated[c_enum32[eSuitVoiceEnum], 0x3A58] class eTemperatureUnitEnum(IntEnum): Invalid = 0x0 @@ -19449,16 +16298,14 @@ class eTemperatureUnitEnum(IntEnum): F = 0x2 K = 0x3 - TemperatureUnit: Annotated[ - c_enum32[eTemperatureUnitEnum], Field(c_enum32[eTemperatureUnitEnum], 0x3A5C) - ] + TemperatureUnit: Annotated[c_enum32[eTemperatureUnitEnum], 0x3A5C] TriggerFeedbackStrength: Annotated[int, Field(ctypes.c_int32, 0x3A60)] class eTurnModeEnum(IntEnum): Smooth = 0x0 Snap = 0x1 - TurnMode: Annotated[c_enum32[eTurnModeEnum], Field(c_enum32[eTurnModeEnum], 0x3A64)] + TurnMode: Annotated[c_enum32[eTurnModeEnum], 0x3A64] class eUIColourSchemeEnum(IntEnum): Default = 0x0 @@ -19466,9 +16313,7 @@ class eUIColourSchemeEnum(IntEnum): Deuteranopia = 0x2 Tritanopia = 0x3 - UIColourScheme: Annotated[ - c_enum32[eUIColourSchemeEnum], Field(c_enum32[eUIColourSchemeEnum], 0x3A68) - ] + UIColourScheme: Annotated[c_enum32[eUIColourSchemeEnum], 0x3A68] UnderwaterDepthOfFieldStrength: Annotated[float, Field(ctypes.c_float, 0x3A6C)] VibrationStrength: Annotated[int, Field(ctypes.c_int32, 0x3A70)] VoiceVolume: Annotated[int, Field(ctypes.c_int32, 0x3A74)] @@ -19524,68 +16369,40 @@ class eUIColourSchemeEnum(IntEnum): @partial_struct class cGcLeveledStatTable(Structure): - LeveledStatTable: Annotated[ - basic.cTkDynamicArray[cGcLeveledStatData], - Field(basic.cTkDynamicArray[cGcLeveledStatData], 0x0), - ] + LeveledStatTable: Annotated[basic.cTkDynamicArray[cGcLeveledStatData], 0x0] @partial_struct class cGcStatGroupTable(Structure): - StatGroupTable: Annotated[ - basic.cTkDynamicArray[cGcStatGroupData], - Field(basic.cTkDynamicArray[cGcStatGroupData], 0x0), - ] + StatGroupTable: Annotated[basic.cTkDynamicArray[cGcStatGroupData], 0x0] @partial_struct class cGcJourneyMilestoneTable(Structure): JourneyMilestoneTable: Annotated[ - basic.cTkDynamicArray[cGcJourneyMilestoneData], - Field(basic.cTkDynamicArray[cGcJourneyMilestoneData], 0x0), + basic.cTkDynamicArray[cGcJourneyMilestoneData], 0x0 ] @partial_struct class cGcStatDefinitionTable(Structure): - StatDefinitionTable: Annotated[ - basic.cTkDynamicArray[cGcStatDefinition], - Field(basic.cTkDynamicArray[cGcStatDefinition], 0x0), - ] + StatDefinitionTable: Annotated[basic.cTkDynamicArray[cGcStatDefinition], 0x0] @partial_struct class cGcPaletteList(Structure): - Palettes: Annotated[cGcPaletteData, Field(cGcPaletteData, 0x0)] + Palettes: Annotated[tuple[cGcPaletteData, ...], Field(cGcPaletteData * 64, 0x0)] @partial_struct class cGcByteBeatTemplates(Structure): - HiHats: Annotated[ - basic.cTkDynamicArray[cGcByteBeatDrum], - Field(basic.cTkDynamicArray[cGcByteBeatDrum], 0x0), - ] - InitialTrees: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x40], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x10), - ] - KickDrums: Annotated[ - basic.cTkDynamicArray[cGcByteBeatDrum], - Field(basic.cTkDynamicArray[cGcByteBeatDrum], 0x20), - ] - SnareDrums: Annotated[ - basic.cTkDynamicArray[cGcByteBeatDrum], - Field(basic.cTkDynamicArray[cGcByteBeatDrum], 0x30), - ] - Songs: Annotated[ - basic.cTkDynamicArray[cGcByteBeatSong], - Field(basic.cTkDynamicArray[cGcByteBeatSong], 0x40), - ] - Templates: Annotated[ - basic.cTkDynamicArray[cGcByteBeatTemplate], - Field(basic.cTkDynamicArray[cGcByteBeatTemplate], 0x50), - ] - CombinerWeights: Annotated[float, Field(ctypes.c_float, 0x60)] + HiHats: Annotated[basic.cTkDynamicArray[cGcByteBeatDrum], 0x0] + InitialTrees: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x10] + KickDrums: Annotated[basic.cTkDynamicArray[cGcByteBeatDrum], 0x20] + SnareDrums: Annotated[basic.cTkDynamicArray[cGcByteBeatDrum], 0x30] + Songs: Annotated[basic.cTkDynamicArray[cGcByteBeatSong], 0x40] + Templates: Annotated[basic.cTkDynamicArray[cGcByteBeatTemplate], 0x50] + CombinerWeights: Annotated[tuple[float, ...], Field(ctypes.c_float * 18, 0x60)] OperatorPermuteChance: Annotated[float, Field(ctypes.c_float, 0xA8)] TemplateCombineChance: Annotated[float, Field(ctypes.c_float, 0xAC)] TemplateCombineChanceAtRoot: Annotated[float, Field(ctypes.c_float, 0xB0)] @@ -19593,128 +16410,148 @@ class cGcByteBeatTemplates(Structure): @partial_struct class cGcByteBeatIcons(Structure): - Icons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - SawTooth: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1B0)] - Sine: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1C8)] - Square: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1E0)] - Triangle: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1F8)] + Icons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 18, 0x0) + ] + SawTooth: Annotated[cTkTextureResource, 0x1B0] + Sine: Annotated[cTkTextureResource, 0x1C8] + Square: Annotated[cTkTextureResource, 0x1E0] + Triangle: Annotated[cTkTextureResource, 0x1F8] @partial_struct class cGcCustomInventoryComponentData(Structure): - DesiredTechs: Annotated[ - basic.cTkDynamicArray[cGcInventoryTechProbability], - Field(basic.cTkDynamicArray[cGcInventoryTechProbability], 0x0), - ] - Size: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DesiredTechs: Annotated[basic.cTkDynamicArray[cGcInventoryTechProbability], 0x0] + Size: Annotated[basic.TkID0x10, 0x10] Cool: Annotated[bool, Field(ctypes.c_bool, 0x20)] @partial_struct class cGcScannerIcons(Structure): - ScannableColours: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - NetworkFSPlayerColours: Annotated[basic.Colour, Field(basic.Colour, 0x4B0)] - BuildingColour: Annotated[basic.Colour, Field(basic.Colour, 0x4F0)] - GenericColour: Annotated[basic.Colour, Field(basic.Colour, 0x500)] - RelicColour: Annotated[basic.Colour, Field(basic.Colour, 0x510)] - SignalColour: Annotated[basic.Colour, Field(basic.Colour, 0x520)] - UnknownColour: Annotated[basic.Colour, Field(basic.Colour, 0x530)] - ScannableIcons: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x540)] - ScannableIconsBinocs: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x15A8)] - BuildingIcons: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x2610)] - BuildingIconsBinocs: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x2DB8)] - BuildingIconsHuge: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x3560)] - Vehicles: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x3D08)] - GenericIcons: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x3E90)] + ScannableColours: Annotated[tuple[basic.Colour, ...], Field(basic.Colour * 75, 0x0)] + NetworkFSPlayerColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 4, 0x4B0) + ] + BuildingColour: Annotated[basic.Colour, 0x4F0] + GenericColour: Annotated[basic.Colour, 0x500] + RelicColour: Annotated[basic.Colour, 0x510] + SignalColour: Annotated[basic.Colour, 0x520] + UnknownColour: Annotated[basic.Colour, 0x530] + ScannableIcons: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 75, 0x540) + ] + ScannableIconsBinocs: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 75, 0x15A8) + ] + BuildingIcons: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 35, 0x2610) + ] + BuildingIconsBinocs: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 35, 0x2DB8) + ] + BuildingIconsHuge: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 35, 0x3560) + ] + Vehicles: Annotated[tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 7, 0x3D08)] + GenericIcons: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 6, 0x3E90) + ] NetworkFSPlayerCorvetteTeleporter: Annotated[ - cGcScannerIcon, Field(cGcScannerIcon, 0x3FE0) - ] - NetworkFSPlayerMarkers: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x40C0)] - NetworkFSPlayerMarkersShip: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x41A0)] - NetworkPlayerFreighter: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4280)] - HighlightIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x4360)] - ArrowLarge: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x43D8)] - ArrowSmall: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4410)] - BaseBuildingMarker: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4448)] - Battle: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4480)] - BattleSmall: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x44B8)] - BlackHole: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x44F0)] - Bounty1: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4528)] - Bounty2: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4560)] - Bounty3: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4598)] - BountySmall: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x45D0)] - Checkpoint: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4608)] - CircleAnimation: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4640)] - Corvette: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4678)] - CorvetteDeployedTeleporter: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x46B0)] - CreatureAction: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x46E8)] - CreatureCurious: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4720)] - CreatureDanger: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4758)] - CreatureDiscovered: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4790)] - CreatureFiend: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x47C8)] - CreatureInteraction: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4800)] - CreatureMilk: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4838)] - CreatureTame: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4870)] - CreatureUndiscovered: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x48A8)] - CreatureUnknown: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x48E0)] - DamagedFrigate: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4918)] - Death: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4950)] - DeathSmall: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4988)] - DiamondAnimation: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x49C0)] - EditingBase: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x49F8)] - Expedition: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4A30)] - Freighter: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4A68)] - FreighterBase: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4AA0)] - FriendlyDrone: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4AD8)] - Garage: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4B10)] - HexAnimation: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4B48)] - MessageBeacon: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4B80)] - MessageBeaconSmall: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4BB8)] - MissionAbandonedFreighter: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4BF0)] - MissionEnterBuilding: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4C28)] - MissionEnterFreighter: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4C60)] - MissionEnterOrbit: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4C98)] - MissionEnterStation: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4CD0)] - MonumentMarker: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4D08)] - NetworkPlayerMarker: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4D40)] - NetworkPlayerMarkerShip: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4D78)] - NetworkPlayerMarkerVehicle: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4DB0)] - NPC: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4DE8)] - OtherPlayerSettlement: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4E20)] - Pet: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4E58)] - PetActivity: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4E90)] - PetInteraction: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4EC8)] - PetSad: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4F00)] - PirateRaid: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4F38)] - PlanetPoleEast: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4F70)] - PlanetPoleNorth: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4FA8)] - PlanetPoleSouth: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x4FE0)] - PlanetPoleWest: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x5018)] - PlayerBase: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x5050)] - PlayerFreighter: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x5088)] - PlayerSettlement: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x50C0)] - PortalMarker: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x50F8)] - PurchasableFrigate: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x5130)] - SettlementNPC: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x5168)] - Ship: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x51A0)] - ShipSmall: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x51D8)] - TaggedBuilding: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x5210)] - TaggedPlanet: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x5248)] - TimedEvent: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x5280)] - VehicleGeneric: Annotated[cGcScannerIcon, Field(cGcScannerIcon, 0x52B8)] + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 4, 0x3FE0) + ] + NetworkFSPlayerMarkers: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 4, 0x40C0) + ] + NetworkFSPlayerMarkersShip: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 4, 0x41A0) + ] + NetworkPlayerFreighter: Annotated[ + tuple[cGcScannerIcon, ...], Field(cGcScannerIcon * 4, 0x4280) + ] + HighlightIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 5, 0x4360) + ] + ArrowLarge: Annotated[cGcScannerIcon, 0x43D8] + ArrowSmall: Annotated[cGcScannerIcon, 0x4410] + BaseBuildingMarker: Annotated[cGcScannerIcon, 0x4448] + Battle: Annotated[cGcScannerIcon, 0x4480] + BattleSmall: Annotated[cGcScannerIcon, 0x44B8] + BlackHole: Annotated[cGcScannerIcon, 0x44F0] + Bounty1: Annotated[cGcScannerIcon, 0x4528] + Bounty2: Annotated[cGcScannerIcon, 0x4560] + Bounty3: Annotated[cGcScannerIcon, 0x4598] + BountySmall: Annotated[cGcScannerIcon, 0x45D0] + Checkpoint: Annotated[cGcScannerIcon, 0x4608] + CircleAnimation: Annotated[cGcScannerIcon, 0x4640] + Corvette: Annotated[cGcScannerIcon, 0x4678] + CorvetteDeployedTeleporter: Annotated[cGcScannerIcon, 0x46B0] + CreatureAction: Annotated[cGcScannerIcon, 0x46E8] + CreatureCurious: Annotated[cGcScannerIcon, 0x4720] + CreatureDanger: Annotated[cGcScannerIcon, 0x4758] + CreatureDiscovered: Annotated[cGcScannerIcon, 0x4790] + CreatureFiend: Annotated[cGcScannerIcon, 0x47C8] + CreatureInteraction: Annotated[cGcScannerIcon, 0x4800] + CreatureMilk: Annotated[cGcScannerIcon, 0x4838] + CreatureTame: Annotated[cGcScannerIcon, 0x4870] + CreatureUndiscovered: Annotated[cGcScannerIcon, 0x48A8] + CreatureUnknown: Annotated[cGcScannerIcon, 0x48E0] + DamagedFrigate: Annotated[cGcScannerIcon, 0x4918] + Death: Annotated[cGcScannerIcon, 0x4950] + DeathSmall: Annotated[cGcScannerIcon, 0x4988] + DiamondAnimation: Annotated[cGcScannerIcon, 0x49C0] + EditingBase: Annotated[cGcScannerIcon, 0x49F8] + Expedition: Annotated[cGcScannerIcon, 0x4A30] + Freighter: Annotated[cGcScannerIcon, 0x4A68] + FreighterBase: Annotated[cGcScannerIcon, 0x4AA0] + FriendlyDrone: Annotated[cGcScannerIcon, 0x4AD8] + Garage: Annotated[cGcScannerIcon, 0x4B10] + HexAnimation: Annotated[cGcScannerIcon, 0x4B48] + MessageBeacon: Annotated[cGcScannerIcon, 0x4B80] + MessageBeaconSmall: Annotated[cGcScannerIcon, 0x4BB8] + MissionAbandonedFreighter: Annotated[cGcScannerIcon, 0x4BF0] + MissionEnterBuilding: Annotated[cGcScannerIcon, 0x4C28] + MissionEnterFreighter: Annotated[cGcScannerIcon, 0x4C60] + MissionEnterOrbit: Annotated[cGcScannerIcon, 0x4C98] + MissionEnterStation: Annotated[cGcScannerIcon, 0x4CD0] + MonumentMarker: Annotated[cGcScannerIcon, 0x4D08] + NetworkPlayerMarker: Annotated[cGcScannerIcon, 0x4D40] + NetworkPlayerMarkerShip: Annotated[cGcScannerIcon, 0x4D78] + NetworkPlayerMarkerVehicle: Annotated[cGcScannerIcon, 0x4DB0] + NPC: Annotated[cGcScannerIcon, 0x4DE8] + OtherPlayerSettlement: Annotated[cGcScannerIcon, 0x4E20] + Pet: Annotated[cGcScannerIcon, 0x4E58] + PetActivity: Annotated[cGcScannerIcon, 0x4E90] + PetInteraction: Annotated[cGcScannerIcon, 0x4EC8] + PetSad: Annotated[cGcScannerIcon, 0x4F00] + PirateRaid: Annotated[cGcScannerIcon, 0x4F38] + PlanetPoleEast: Annotated[cGcScannerIcon, 0x4F70] + PlanetPoleNorth: Annotated[cGcScannerIcon, 0x4FA8] + PlanetPoleSouth: Annotated[cGcScannerIcon, 0x4FE0] + PlanetPoleWest: Annotated[cGcScannerIcon, 0x5018] + PlayerBase: Annotated[cGcScannerIcon, 0x5050] + PlayerFreighter: Annotated[cGcScannerIcon, 0x5088] + PlayerSettlement: Annotated[cGcScannerIcon, 0x50C0] + PortalMarker: Annotated[cGcScannerIcon, 0x50F8] + PurchasableFrigate: Annotated[cGcScannerIcon, 0x5130] + SettlementNPC: Annotated[cGcScannerIcon, 0x5168] + Ship: Annotated[cGcScannerIcon, 0x51A0] + ShipSmall: Annotated[cGcScannerIcon, 0x51D8] + TaggedBuilding: Annotated[cGcScannerIcon, 0x5210] + TaggedPlanet: Annotated[cGcScannerIcon, 0x5248] + TimedEvent: Annotated[cGcScannerIcon, 0x5280] + VehicleGeneric: Annotated[cGcScannerIcon, 0x52B8] @partial_struct class cGcScreenFilterTable(Structure): - Filters: Annotated[cGcScreenFilterData, Field(cGcScreenFilterData, 0x0)] + Filters: Annotated[ + tuple[cGcScreenFilterData, ...], Field(cGcScreenFilterData * 84, 0x0) + ] @partial_struct class cTkMetadataFilenameList(Structure): - Filenames: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x0), - ] + Filenames: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x0] @partial_struct @@ -19724,9 +16561,7 @@ class eSynchroniseScaleEnum(IntEnum): Once = 0x1 Always = 0x2 - SynchroniseScale: Annotated[ - c_enum32[eSynchroniseScaleEnum], Field(c_enum32[eSynchroniseScaleEnum], 0x0) - ] + SynchroniseScale: Annotated[c_enum32[eSynchroniseScaleEnum], 0x0] SupportTeleportation: Annotated[bool, Field(ctypes.c_bool, 0x4)] UpdateWhileInactive: Annotated[bool, Field(ctypes.c_bool, 0x5)] @@ -19738,247 +16573,170 @@ class cGcNetworkPlayerMarkerComponentData(Structure): @partial_struct class cGcStatusMessageDefinitions(Structure): - MissionMarkupColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + MissionMarkupColour: Annotated[basic.Colour, 0x0] PetChatTemplates: Annotated[ - cGcPetVocabularyEntry, Field(cGcPetVocabularyEntry, 0x10) + tuple[cGcPetVocabularyEntry, ...], Field(cGcPetVocabularyEntry * 21, 0x10) ] - PetVocabulary: Annotated[cGcPetVocabularyEntry, Field(cGcPetVocabularyEntry, 0x4A8)] - FriendlyDroneChatTemplates: Annotated[ - cGcFriendlyDroneVocabularyEntry, Field(cGcFriendlyDroneVocabularyEntry, 0x7F0) + PetVocabulary: Annotated[ + tuple[cGcPetVocabularyEntry, ...], Field(cGcPetVocabularyEntry * 15, 0x4A8) ] - Messages: Annotated[ - basic.cTkDynamicArray[cGcStatusMessageDefinition], - Field(basic.cTkDynamicArray[cGcStatusMessageDefinition], 0x890), + FriendlyDroneChatTemplates: Annotated[ + tuple[cGcFriendlyDroneVocabularyEntry, ...], + Field(cGcFriendlyDroneVocabularyEntry * 5, 0x7F0), ] + Messages: Annotated[basic.cTkDynamicArray[cGcStatusMessageDefinition], 0x890] @partial_struct class cGcItemFilterDataTable(Structure): - Filters: Annotated[ - basic.cTkDynamicArray[cGcItemFilterDataTableEntry], - Field(basic.cTkDynamicArray[cGcItemFilterDataTableEntry], 0x0), - ] + Filters: Annotated[basic.cTkDynamicArray[cGcItemFilterDataTableEntry], 0x0] @partial_struct class cGcPlayerEmoteList(Structure): - Emotes: Annotated[cGcPlayerEmote, Field(cGcPlayerEmote, 0x0)] + Emotes: Annotated[cGcPlayerEmote, 0x0] @partial_struct class cGcGalaxyInfoIcons(Structure): - RaceIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - EconomyIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0xD8)] - ConflictIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x180)] - WealthIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1E0)] - ConflictTechNotInstalledIcon: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x240) + RaceIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 9, 0x0) ] - EconomyTechNotInstalledIcon: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x258) + EconomyIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 7, 0xD8) ] - WarpErrorIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x270)] - WarpIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x288)] - WarpTechNotInstalledIcon: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x2A0) + ConflictIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 4, 0x180) ] + WealthIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 4, 0x1E0) + ] + ConflictTechNotInstalledIcon: Annotated[cTkTextureResource, 0x240] + EconomyTechNotInstalledIcon: Annotated[cTkTextureResource, 0x258] + WarpErrorIcon: Annotated[cTkTextureResource, 0x270] + WarpIcon: Annotated[cTkTextureResource, 0x288] + WarpTechNotInstalledIcon: Annotated[cTkTextureResource, 0x2A0] @partial_struct class cGcMissionCommunityData(Structure): CommunityMissionsData: Annotated[ - basic.cTkDynamicArray[cGcMissionCommunityMissionData], - Field(basic.cTkDynamicArray[cGcMissionCommunityMissionData], 0x0), - ] - CommunityMissionsIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), + basic.cTkDynamicArray[cGcMissionCommunityMissionData], 0x0 ] + CommunityMissionsIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] @partial_struct class cGcHistoricalSeasonDataTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcHistoricalSeasonData], - Field(basic.cTkDynamicArray[cGcHistoricalSeasonData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcHistoricalSeasonData], 0x0] @partial_struct class cGcPlayerTitleData(Structure): - Titles: Annotated[cGcPlayerTitle, Field(cGcPlayerTitle, 0x0)] + Titles: Annotated[cGcPlayerTitle, 0x0] @partial_struct class cGcFishTable(Structure): - Fish: Annotated[ - basic.cTkDynamicArray[cGcFishData], - Field(basic.cTkDynamicArray[cGcFishData], 0x0), - ] + Fish: Annotated[basic.cTkDynamicArray[cGcFishData], 0x0] @partial_struct class cGcBaitTable(Structure): - Bait: Annotated[ - basic.cTkDynamicArray[cGcBaitData], - Field(basic.cTkDynamicArray[cGcBaitData], 0x0), - ] + Bait: Annotated[basic.cTkDynamicArray[cGcBaitData], 0x0] @partial_struct class cGcProductDescriptionOverrideTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcProductDescriptionOverride], - Field(basic.cTkDynamicArray[cGcProductDescriptionOverride], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcProductDescriptionOverride], 0x0] @partial_struct class cGcDialogClearanceTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcDialogClearanceInfo], - Field(basic.cTkDynamicArray[cGcDialogClearanceInfo], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcDialogClearanceInfo], 0x0] @partial_struct class cGcUnlockablePlatformRewards(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcUnlockablePlatformReward], - Field(basic.cTkDynamicArray[cGcUnlockablePlatformReward], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcUnlockablePlatformReward], 0x0] @partial_struct class cGcUnlockableTwitchRewards(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcUnlockableTwitchReward], - Field(basic.cTkDynamicArray[cGcUnlockableTwitchReward], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcUnlockableTwitchReward], 0x0] @partial_struct class cGcItemCostTable(Structure): - Items: Annotated[cGcItemCostData, Field(cGcItemCostData, 0x0)] + Items: Annotated[cGcItemCostData, 0x0] @partial_struct class cGcPurchaseableSpecials(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcPurchaseableSpecial], - Field(basic.cTkDynamicArray[cGcPurchaseableSpecial], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcPurchaseableSpecial], 0x0] @partial_struct class cGcPurchaseableBuildingBlueprints(Structure): - GroupMaxItems: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x0), - ] - Table: Annotated[ - basic.cTkDynamicArray[cGcBuildingBlueprint], - Field(basic.cTkDynamicArray[cGcBuildingBlueprint], 0x10), - ] + GroupMaxItems: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x0] + Table: Annotated[basic.cTkDynamicArray[cGcBuildingBlueprint], 0x10] @partial_struct class cGcUnlockableSeasonRewards(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcUnlockableSeasonReward], - Field(basic.cTkDynamicArray[cGcUnlockableSeasonReward], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcUnlockableSeasonReward], 0x0] @partial_struct class cGcStatRewardsTable(Structure): - StatRewardGroups: Annotated[ - basic.cTkDynamicArray[cGcStatRewardGroup], - Field(basic.cTkDynamicArray[cGcStatRewardGroup], 0x0), - ] + StatRewardGroups: Annotated[basic.cTkDynamicArray[cGcStatRewardGroup], 0x0] @partial_struct class cGcCostTable(Structure): - AtlasPathCosts: Annotated[ - basic.cTkDynamicArray[cGcCostTableEntry], - Field(basic.cTkDynamicArray[cGcCostTableEntry], 0x0), - ] - InteractionTable: Annotated[ - basic.cTkDynamicArray[cGcCostTableEntry], - Field(basic.cTkDynamicArray[cGcCostTableEntry], 0x10), - ] - ItemCostsTable: Annotated[ - basic.cTkDynamicArray[cGcCostTableEntry], - Field(basic.cTkDynamicArray[cGcCostTableEntry], 0x20), - ] - SimpleInteractionTable: Annotated[ - basic.cTkDynamicArray[cGcCostTableEntry], - Field(basic.cTkDynamicArray[cGcCostTableEntry], 0x30), - ] - UnusedCostsTable: Annotated[ - basic.cTkDynamicArray[cGcCostTableEntry], - Field(basic.cTkDynamicArray[cGcCostTableEntry], 0x40), - ] + AtlasPathCosts: Annotated[basic.cTkDynamicArray[cGcCostTableEntry], 0x0] + InteractionTable: Annotated[basic.cTkDynamicArray[cGcCostTableEntry], 0x10] + ItemCostsTable: Annotated[basic.cTkDynamicArray[cGcCostTableEntry], 0x20] + SimpleInteractionTable: Annotated[basic.cTkDynamicArray[cGcCostTableEntry], 0x30] + UnusedCostsTable: Annotated[basic.cTkDynamicArray[cGcCostTableEntry], 0x40] @partial_struct class cGcAlienSpeechTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcAlienSpeechEntry], - Field(basic.cTkDynamicArray[cGcAlienSpeechEntry], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcAlienSpeechEntry], 0x0] @partial_struct class cGcDiscoveryRewardLookupTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcDiscoveryRewardLookup], - Field(basic.cTkDynamicArray[cGcDiscoveryRewardLookup], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcDiscoveryRewardLookup], 0x0] @partial_struct class cGcTechBoxTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcTechBoxData], - Field(basic.cTkDynamicArray[cGcTechBoxData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcTechBoxData], 0x0] @partial_struct class cGcProceduralTechnologyTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcProceduralTechnologyData], - Field(basic.cTkDynamicArray[cGcProceduralTechnologyData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcProceduralTechnologyData], 0x0] @partial_struct class cGcLegacyItemTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcLegacyItem], - Field(basic.cTkDynamicArray[cGcLegacyItem], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcLegacyItem], 0x0] @partial_struct class cGcAudioAreaTriggerComponentData(Structure): EnterDistance: Annotated[float, Field(ctypes.c_float, 0x0)] - EventEnter: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x4), - ] - EventExit: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x8), - ] + EventEnter: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x4] + EventExit: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x8] ExitDistance: Annotated[float, Field(ctypes.c_float, 0xC)] @partial_struct class cGcObjectSpawnerComponentData(Structure): - Object: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] + Object: Annotated[cTkModelResource, 0x0] SpawnCooldown: Annotated[float, Field(ctypes.c_float, 0x20)] SpawnPowerCost: Annotated[int, Field(ctypes.c_int32, 0x24)] @@ -19990,29 +16748,16 @@ class cGcSpawnedObjectComponentData(Structure): @partial_struct class cGcHologramComponentData(Structure): - HologramColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + HologramColour: Annotated[basic.Colour, 0x0] AttractDistance: Annotated[float, Field(ctypes.c_float, 0x10)] - HologramType: Annotated[ - c_enum32[enums.cGcHologramType], Field(c_enum32[enums.cGcHologramType], 0x14) - ] + HologramType: Annotated[c_enum32[enums.cGcHologramType], 0x14] MaxSize: Annotated[float, Field(ctypes.c_float, 0x18)] MinSize: Annotated[float, Field(ctypes.c_float, 0x1C)] - OnInteractState: Annotated[ - c_enum32[enums.cGcHologramState], Field(c_enum32[enums.cGcHologramState], 0x20) - ] + OnInteractState: Annotated[c_enum32[enums.cGcHologramState], 0x20] RotateTime: Annotated[float, Field(ctypes.c_float, 0x24)] - xPivot: Annotated[ - c_enum32[enums.cGcHologramPivotType], - Field(c_enum32[enums.cGcHologramPivotType], 0x28), - ] - yPivot: Annotated[ - c_enum32[enums.cGcHologramPivotType], - Field(c_enum32[enums.cGcHologramPivotType], 0x2C), - ] - zPivot: Annotated[ - c_enum32[enums.cGcHologramPivotType], - Field(c_enum32[enums.cGcHologramPivotType], 0x30), - ] + xPivot: Annotated[c_enum32[enums.cGcHologramPivotType], 0x28] + yPivot: Annotated[c_enum32[enums.cGcHologramPivotType], 0x2C] + zPivot: Annotated[c_enum32[enums.cGcHologramPivotType], 0x30] DisableOnInteract: Annotated[bool, Field(ctypes.c_bool, 0x34)] DisableWhenNotInteracting: Annotated[bool, Field(ctypes.c_bool, 0x35)] ScaleInAndOut: Annotated[bool, Field(ctypes.c_bool, 0x36)] @@ -20027,12 +16772,11 @@ class cGcDissolveEffectComponentData(Structure): @partial_struct class cGcModelExplosionRules(Structure): - Rules: Annotated[ - basic.cTkDynamicArray[cGcModelExplosionRule], - Field(basic.cTkDynamicArray[cGcModelExplosionRule], 0x0), + Rules: Annotated[basic.cTkDynamicArray[cGcModelExplosionRule], 0x0] + ShipSalvageDisplayScales: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 11, 0x10) ] - ShipSalvageDisplayScales: Annotated[float, Field(ctypes.c_float, 0x10)] - UseRules: Annotated[bool, Field(ctypes.c_bool, 0x3C)] + UseRules: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 11, 0x3C)] @partial_struct @@ -20058,26 +16802,24 @@ class cGcAlienPodComponentData(Structure): @partial_struct class cGcAntagonistComponentData(Structure): - Enemies: Annotated[cGcAntagonistEnemy, Field(cGcAntagonistEnemy, 0x0)] - Friends: Annotated[cGcAntagonistFriend, Field(cGcAntagonistFriend, 0x90)] - Perceptions: Annotated[ - basic.cTkDynamicArray[cGcAntagonistPerception], - Field(basic.cTkDynamicArray[cGcAntagonistPerception], 0x120), + Enemies: Annotated[ + tuple[cGcAntagonistEnemy, ...], Field(cGcAntagonistEnemy * 6, 0x0) ] + Friends: Annotated[ + tuple[cGcAntagonistFriend, ...], Field(cGcAntagonistFriend * 6, 0x90) + ] + Perceptions: Annotated[basic.cTkDynamicArray[cGcAntagonistPerception], 0x120] CommunicationDelay: Annotated[float, Field(ctypes.c_float, 0x130)] ComprehensionFactor: Annotated[float, Field(ctypes.c_float, 0x134)] - Group: Annotated[ - c_enum32[enums.cGcAntagonistGroup], - Field(c_enum32[enums.cGcAntagonistGroup], 0x138), - ] + Group: Annotated[c_enum32[enums.cGcAntagonistGroup], 0x138] ScarinessFactor: Annotated[float, Field(ctypes.c_float, 0x13C)] ShockedFactor: Annotated[float, Field(ctypes.c_float, 0x140)] @partial_struct class cGcAtmosphereEntryComponentData(Structure): - FlareEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ImpactEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + FlareEffect: Annotated[basic.TkID0x10, 0x0] + ImpactEffect: Annotated[basic.TkID0x10, 0x10] EditTerrainRadius: Annotated[float, Field(ctypes.c_float, 0x20)] EntryOffset: Annotated[float, Field(ctypes.c_float, 0x24)] EntryTime: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -20086,10 +16828,7 @@ class cGcAtmosphereEntryComponentData(Structure): @partial_struct class cGcBaseDefenceComponentData(Structure): - Triggers: Annotated[ - basic.cTkDynamicArray[cGcBaseDefenceTrigger], - Field(basic.cTkDynamicArray[cGcBaseDefenceTrigger], 0x0), - ] + Triggers: Annotated[basic.cTkDynamicArray[cGcBaseDefenceTrigger], 0x0] LaserRangeAnimateTime: Annotated[float, Field(ctypes.c_float, 0x10)] LostUncertaintyThreshold: Annotated[float, Field(ctypes.c_float, 0x14)] SearchTime: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -20113,10 +16852,7 @@ class cGcByteBeatSwitchComponentData(Structure): @partial_struct class cTkLODComponentData(Structure): - LODModels: Annotated[ - basic.cTkDynamicArray[cTkLODModelResource], - Field(basic.cTkDynamicArray[cTkLODModelResource], 0x0), - ] + LODModels: Annotated[basic.cTkDynamicArray[cTkLODModelResource], 0x0] CrossFadeOverlap: Annotated[float, Field(ctypes.c_float, 0x10)] CrossFadeTime: Annotated[float, Field(ctypes.c_float, 0x14)] UseMasterModel: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -20124,49 +16860,42 @@ class cTkLODComponentData(Structure): @partial_struct class cGcCustomSpaceStormComponentData(Structure): - StormId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + StormId: Annotated[basic.TkID0x10, 0x0] @partial_struct class cGcDiscoveryDisplayComponentData(Structure): - DiscoveryScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x0)] + DiscoveryScanEffect: Annotated[cGcScanEffectData, 0x0] DiscoveryScale: Annotated[float, Field(ctypes.c_float, 0x50)] DiscoveryScalePlanets: Annotated[float, Field(ctypes.c_float, 0x54)] @partial_struct class cTkAudioComponentData(Structure): - AmbientState: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - AnimTriggers: Annotated[ - basic.cTkDynamicArray[cTkAudioAnimTrigger], - Field(basic.cTkDynamicArray[cTkAudioAnimTrigger], 0x10), - ] - Emitters: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x20), - ] + AmbientState: Annotated[basic.TkID0x10, 0x0] + AnimTriggers: Annotated[basic.cTkDynamicArray[cTkAudioAnimTrigger], 0x10] + Emitters: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x20] MaxDistance: Annotated[int, Field(ctypes.c_int32, 0x30)] OcclusionRadius: Annotated[float, Field(ctypes.c_float, 0x34)] OcclusionRange: Annotated[float, Field(ctypes.c_float, 0x38)] - Ambient: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x3C)] - Shutdown: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xBC)] + Ambient: Annotated[basic.cTkFixedString0x80, 0x3C] + Shutdown: Annotated[basic.cTkFixedString0x80, 0xBC] LocalOnly: Annotated[bool, Field(ctypes.c_bool, 0x13C)] @partial_struct class cGcCombatEffectsComponentData(Structure): EffectsProperties: Annotated[ - cGcCombatEffectsProperties, Field(cGcCombatEffectsProperties, 0x0) + tuple[cGcCombatEffectsProperties, ...], + Field(cGcCombatEffectsProperties * 6, 0x0), ] @partial_struct class cGcBaseMiniPortalComponentData(Structure): - CorvetteTeleportInteractionName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - DestinationGroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - GroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + CorvetteTeleportInteractionName: Annotated[basic.cTkFixedString0x20, 0x0] + DestinationGroupID: Annotated[basic.TkID0x10, 0x20] + GroupID: Annotated[basic.TkID0x10, 0x30] AssociatedCorvetteDockIndex: Annotated[int, Field(ctypes.c_int32, 0x40)] class eDestinationSortTypeEnum(IntEnum): @@ -20178,10 +16907,7 @@ class eDestinationSortTypeEnum(IntEnum): ReturnToCorvette = 0x5 ReturnToCorvetteOutpost = 0x6 - DestinationSortType: Annotated[ - c_enum32[eDestinationSortTypeEnum], - Field(c_enum32[eDestinationSortTypeEnum], 0x44), - ] + DestinationSortType: Annotated[c_enum32[eDestinationSortTypeEnum], 0x44] PowerCost: Annotated[int, Field(ctypes.c_int32, 0x48)] SnapFacingAngle: Annotated[float, Field(ctypes.c_float, 0x4C)] AllowSpawnedObjects: Annotated[bool, Field(ctypes.c_bool, 0x50)] @@ -20212,11 +16938,8 @@ class cGcPlayerEffectsComponentData(Structure): @partial_struct class cGcNPCHabitationComponentData(Structure): - NPCSpawnLocator: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - NPCHabitationType: Annotated[ - c_enum32[enums.cGcNPCHabitationType], - Field(c_enum32[enums.cGcNPCHabitationType], 0x10), - ] + NPCSpawnLocator: Annotated[basic.TkID0x10, 0x0] + NPCHabitationType: Annotated[c_enum32[enums.cGcNPCHabitationType], 0x10] @partial_struct @@ -20226,23 +16949,18 @@ class cGcEncounterStateComponentData(Structure): @partial_struct class cGcEncounterComponentData(Structure): - InteractMissionTable: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - EncounterType: Annotated[ - c_enum32[enums.cGcEncounterType], Field(c_enum32[enums.cGcEncounterType], 0x10) - ] + InteractMissionTable: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + EncounterType: Annotated[c_enum32[enums.cGcEncounterType], 0x10] @partial_struct class cGcGroundWormComponentData(Structure): - AttackDamageType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - EmergeEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - EmergeShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RoarShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - SpitProjectile: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - SubmergeEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + AttackDamageType: Annotated[basic.TkID0x10, 0x0] + EmergeEffect: Annotated[basic.TkID0x10, 0x10] + EmergeShake: Annotated[basic.TkID0x10, 0x20] + RoarShake: Annotated[basic.TkID0x10, 0x30] + SpitProjectile: Annotated[basic.TkID0x10, 0x40] + SubmergeEffect: Annotated[basic.TkID0x10, 0x50] AttackAngle: Annotated[float, Field(ctypes.c_float, 0x60)] AttackCooldown: Annotated[float, Field(ctypes.c_float, 0x64)] AttackDamageRadius: Annotated[float, Field(ctypes.c_float, 0x68)] @@ -20279,25 +16997,18 @@ class cGcGroundWormComponentData(Structure): WindUpAngleBase: Annotated[float, Field(ctypes.c_float, 0xE4)] WindUpAngleHead: Annotated[float, Field(ctypes.c_float, 0xE8)] WindUpStrength: Annotated[float, Field(ctypes.c_float, 0xEC)] - GrabJoint: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xF0) - ] - LookJoint: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1F0) - ] + GrabJoint: Annotated[basic.cTkFixedString0x100, 0xF0] + LookJoint: Annotated[basic.cTkFixedString0x100, 0x1F0] @partial_struct class cGcExhibitAssemblyComponentData(Structure): - ExhibitType: Annotated[ - c_enum32[enums.cGcModularCustomisationResourceType], - Field(c_enum32[enums.cGcModularCustomisationResourceType], 0x0), - ] + ExhibitType: Annotated[c_enum32[enums.cGcModularCustomisationResourceType], 0x0] @partial_struct class cGcExpeditionHologramComponentData(Structure): - SpawnOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + SpawnOffset: Annotated[basic.Vector3f, 0x0] CaptainScale: Annotated[float, Field(ctypes.c_float, 0x10)] FrigateScale: Annotated[float, Field(ctypes.c_float, 0x14)] HologramRotationSpeedDegPerSec: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -20316,21 +17027,21 @@ class cGcFishableAreaComponentData(Structure): @partial_struct class cGcGrabPlayerComponentData(Structure): - GrabOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - DamageType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - DefendAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - GrabAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - HitReactAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - HoldAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - IdleAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - PlayerGrabbedAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - HitReactAngles: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x80)] - LookAroundAngles: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x88)] - LookAroundAnglesFine: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x90)] - LookAroundTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x98)] - LookAroundTrackTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xA0)] - LookAtPlayerTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xA8)] - SleepTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xB0)] + GrabOffset: Annotated[basic.Vector3f, 0x0] + DamageType: Annotated[basic.TkID0x10, 0x10] + DefendAnim: Annotated[basic.TkID0x10, 0x20] + GrabAnim: Annotated[basic.TkID0x10, 0x30] + HitReactAnim: Annotated[basic.TkID0x10, 0x40] + HoldAnim: Annotated[basic.TkID0x10, 0x50] + IdleAnim: Annotated[basic.TkID0x10, 0x60] + PlayerGrabbedAnim: Annotated[basic.TkID0x10, 0x70] + HitReactAngles: Annotated[basic.Vector2f, 0x80] + LookAroundAngles: Annotated[basic.Vector2f, 0x88] + LookAroundAnglesFine: Annotated[basic.Vector2f, 0x90] + LookAroundTime: Annotated[basic.Vector2f, 0x98] + LookAroundTrackTime: Annotated[basic.Vector2f, 0xA0] + LookAtPlayerTime: Annotated[basic.Vector2f, 0xA8] + SleepTime: Annotated[basic.Vector2f, 0xB0] ActivateRange: Annotated[float, Field(ctypes.c_float, 0xB8)] BodgeInputAngle: Annotated[float, Field(ctypes.c_float, 0xBC)] BodgeOutputAngle: Annotated[float, Field(ctypes.c_float, 0xC0)] @@ -20339,15 +17050,9 @@ class cGcGrabPlayerComponentData(Structure): EjectImpulse: Annotated[float, Field(ctypes.c_float, 0xCC)] FocusRange: Annotated[float, Field(ctypes.c_float, 0xD0)] GrabAttachStrength: Annotated[float, Field(ctypes.c_float, 0xD4)] - GrabBeginAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xD8), - ] + GrabBeginAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xD8] GrabBlendTime: Annotated[float, Field(ctypes.c_float, 0xDC)] - GrabEndAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xE0), - ] + GrabEndAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xE0] GrabRadius: Annotated[float, Field(ctypes.c_float, 0xE4)] HitReactAnimChance: Annotated[float, Field(ctypes.c_float, 0xE8)] HoldTime: Annotated[float, Field(ctypes.c_float, 0xEC)] @@ -20359,12 +17064,8 @@ class cGcGrabPlayerComponentData(Structure): SleepChance: Annotated[float, Field(ctypes.c_float, 0x104)] TrackTime: Annotated[float, Field(ctypes.c_float, 0x108)] TriggerRange: Annotated[float, Field(ctypes.c_float, 0x10C)] - GrabJoint: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x110) - ] - LookJoint: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x210) - ] + GrabJoint: Annotated[basic.cTkFixedString0x100, 0x110] + LookJoint: Annotated[basic.cTkFixedString0x100, 0x210] @partial_struct @@ -20374,10 +17075,7 @@ class cGcHeightAdjustComponentData(Structure): @partial_struct class cGcGrabbableComponentData(Structure): - GrabbableDataArray: Annotated[ - basic.cTkDynamicArray[cGcGrabbableData], - Field(basic.cTkDynamicArray[cGcGrabbableData], 0x0), - ] + GrabbableDataArray: Annotated[basic.cTkDynamicArray[cGcGrabbableData], 0x0] @partial_struct @@ -20387,9 +17085,9 @@ class cGcLadderComponentData(Structure): @partial_struct class cGcLootComponentData(Structure): - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - TimeOutEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Timed: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] + Reward: Annotated[basic.TkID0x10, 0x0] + TimeOutEffect: Annotated[basic.TkID0x10, 0x10] + Timed: Annotated[basic.Vector2f, 0x20] FlashPercent: Annotated[float, Field(ctypes.c_float, 0x28)] NumFlashes: Annotated[int, Field(ctypes.c_int32, 0x2C)] DeathPoint: Annotated[bool, Field(ctypes.c_bool, 0x30)] @@ -20402,12 +17100,10 @@ class cGcLookAtComponentData(Structure): class eLookAtTypeEnum(IntEnum): Player = 0x0 - LookAtType: Annotated[ - c_enum32[eLookAtTypeEnum], Field(c_enum32[eLookAtTypeEnum], 0x0) - ] + LookAtType: Annotated[c_enum32[eLookAtTypeEnum], 0x0] MinRotationRateDegrees: Annotated[float, Field(ctypes.c_float, 0x4)] RotationRateFactor: Annotated[float, Field(ctypes.c_float, 0x8)] - NodeName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC)] + NodeName: Annotated[basic.cTkFixedString0x20, 0xC] @partial_struct @@ -20419,10 +17115,7 @@ class cGcLandingHelperComponentData(Structure): @partial_struct class cGcNPCPlacementComponentData(Structure): - PlacementInfosToApply: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + PlacementInfosToApply: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] PlaceInAbandonedSystems: Annotated[bool, Field(ctypes.c_bool, 0x10)] SearchPlacementFromMaster: Annotated[bool, Field(ctypes.c_bool, 0x11)] WaitToPlace: Annotated[bool, Field(ctypes.c_bool, 0x12)] @@ -20434,15 +17127,11 @@ class eActivationTypeEnum(IntEnum): GroupNode = 0x0 Locator = 0x1 - ActivationType: Annotated[ - c_enum32[eActivationTypeEnum], Field(c_enum32[eActivationTypeEnum], 0x0) - ] + ActivationType: Annotated[c_enum32[eActivationTypeEnum], 0x0] FractionOfNodesActive: Annotated[float, Field(ctypes.c_float, 0x4)] MaxGroupsActivated: Annotated[int, Field(ctypes.c_int32, 0x8)] MaxNodesActivated: Annotated[int, Field(ctypes.c_int32, 0xC)] - GroupNodeName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10) - ] + GroupNodeName: Annotated[basic.cTkFixedString0x20, 0x10] UseNodeParent: Annotated[bool, Field(ctypes.c_bool, 0x30)] UseRaycast: Annotated[bool, Field(ctypes.c_bool, 0x31)] @@ -20454,57 +17143,43 @@ class cGcPortalComponentData(Structure): @partial_struct class cGcSentinelCoverComponentData(Structure): - CoverStateAnims: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DestroyEffectId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - SpawnEffectId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + CoverStateAnims: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 4, 0x0) + ] + DestroyEffectId: Annotated[basic.TkID0x10, 0x40] + SpawnEffectId: Annotated[basic.TkID0x10, 0x50] HealthPercLostPerSecMax: Annotated[float, Field(ctypes.c_float, 0x60)] HealthPercLostPerSecMin: Annotated[float, Field(ctypes.c_float, 0x64)] - EffectLocator: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x68) - ] + EffectLocator: Annotated[basic.cTkFixedString0x20, 0x68] @partial_struct class cGcSimpleInteractionComponentData(Structure): - ActivationCost: Annotated[ - cGcInteractionActivationCost, Field(cGcInteractionActivationCost, 0x0) - ] - RarityLocators: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x68)] - ForceSubtitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x98) - ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xB8)] - ScanData: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xD8)] - ScanType: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xF8)] - TerminalHeading: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x118) - ] - TerminalMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x138) - ] - VRInteractMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x158) - ] + ActivationCost: Annotated[cGcInteractionActivationCost, 0x0] + RarityLocators: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 3, 0x68) + ] + ForceSubtitle: Annotated[basic.cTkFixedString0x20, 0x98] + Name: Annotated[basic.cTkFixedString0x20, 0xB8] + ScanData: Annotated[basic.cTkFixedString0x20, 0xD8] + ScanType: Annotated[basic.cTkFixedString0x20, 0xF8] + TerminalHeading: Annotated[basic.cTkFixedString0x20, 0x118] + TerminalMessage: Annotated[basic.cTkFixedString0x20, 0x138] + VRInteractMessage: Annotated[basic.cTkFixedString0x20, 0x158] BaseBuildingTriggerActions: Annotated[ - basic.cTkDynamicArray[cGcInteractionBaseBuildingState], - Field(basic.cTkDynamicArray[cGcInteractionBaseBuildingState], 0x178), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x188)] - OnlyActiveDuringSeasons: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x198), + basic.cTkDynamicArray[cGcInteractionBaseBuildingState], 0x178 ] + Id: Annotated[basic.TkID0x10, 0x188] + OnlyActiveDuringSeasons: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x198] PersistencyBufferOverride: Annotated[ - basic.cTkDynamicArray[cGcPersistencyMissionOverride], - Field(basic.cTkDynamicArray[cGcPersistencyMissionOverride], 0x1A8), + basic.cTkDynamicArray[cGcPersistencyMissionOverride], 0x1A8 ] RewardOverrideTable: Annotated[ - basic.cTkDynamicArray[cGcRewardMissionOverride], - Field(basic.cTkDynamicArray[cGcRewardMissionOverride], 0x1B8), + basic.cTkDynamicArray[cGcRewardMissionOverride], 0x1B8 ] - TriggerAction: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1C8)] - TriggerActionOnPrepare: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1D8)] - TriggerActionToggle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1E8)] + TriggerAction: Annotated[basic.TkID0x10, 0x1C8] + TriggerActionOnPrepare: Annotated[basic.TkID0x10, 0x1D8] + TriggerActionToggle: Annotated[basic.TkID0x10, 0x1E8] DeactivateSimilarInteractionsNearbyRadius: Annotated[ float, Field(ctypes.c_float, 0x1F8) ] @@ -20513,15 +17188,9 @@ class cGcSimpleInteractionComponentData(Structure): InteractCrimeLevel: Annotated[int, Field(ctypes.c_int32, 0x204)] InteractDistance: Annotated[float, Field(ctypes.c_float, 0x208)] InteractFiendCrimeChance: Annotated[float, Field(ctypes.c_float, 0x20C)] - InteractFiendCrimeType: Annotated[ - c_enum32[enums.cGcFiendCrime], Field(c_enum32[enums.cGcFiendCrime], 0x210) - ] - Rarity: Annotated[ - c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x214) - ] - ScanIcon: Annotated[ - c_enum32[enums.cGcDiscoveryType], Field(c_enum32[enums.cGcDiscoveryType], 0x218) - ] + InteractFiendCrimeType: Annotated[c_enum32[enums.cGcFiendCrime], 0x210] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x214] + ScanIcon: Annotated[c_enum32[enums.cGcDiscoveryType], 0x218] class eSimpleInteractionTypeEnum(IntEnum): Interact = 0x0 @@ -20564,16 +17233,9 @@ class eSimpleInteractionTypeEnum(IntEnum): CorvetteMissionBoard = 0x25 CorvetteRampSwitch = 0x26 - SimpleInteractionType: Annotated[ - c_enum32[eSimpleInteractionTypeEnum], - Field(c_enum32[eSimpleInteractionTypeEnum], 0x21C), - ] - Size: Annotated[ - c_enum32[enums.cGcSizeIndicator], Field(c_enum32[enums.cGcSizeIndicator], 0x220) - ] - StatToTrack: Annotated[ - c_enum32[enums.cGcStatsEnum], Field(c_enum32[enums.cGcStatsEnum], 0x224) - ] + SimpleInteractionType: Annotated[c_enum32[eSimpleInteractionTypeEnum], 0x21C] + Size: Annotated[c_enum32[enums.cGcSizeIndicator], 0x220] + StatToTrack: Annotated[c_enum32[enums.cGcStatsEnum], 0x224] ActivateLocatorsFromRarity: Annotated[bool, Field(ctypes.c_bool, 0x228)] BroadcastTriggerAction: Annotated[bool, Field(ctypes.c_bool, 0x229)] CanCollectInMech: Annotated[bool, Field(ctypes.c_bool, 0x22A)] @@ -20591,7 +17253,7 @@ class eSimpleInteractionTypeEnum(IntEnum): @partial_struct class cGcSquadronHologramComponentData(Structure): - SpawnOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + SpawnOffset: Annotated[basic.Vector3f, 0x0] HologramRotationSpeedDegPerSec: Annotated[float, Field(ctypes.c_float, 0x10)] PilotScale: Annotated[float, Field(ctypes.c_float, 0x14)] SpawnRotation: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -20614,15 +17276,9 @@ class cGcThereminComponentData(Structure): PitchMinDist: Annotated[float, Field(ctypes.c_float, 0x18)] VolumeMaxDist: Annotated[float, Field(ctypes.c_float, 0x1C)] VolumeMinDist: Annotated[float, Field(ctypes.c_float, 0x20)] - PitchEndLocator: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x24) - ] - PitchStartLocator: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x44) - ] - VolumeBBName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x64) - ] + PitchEndLocator: Annotated[basic.cTkFixedString0x20, 0x24] + PitchStartLocator: Annotated[basic.cTkFixedString0x20, 0x44] + VolumeBBName: Annotated[basic.cTkFixedString0x20, 0x64] @partial_struct @@ -20632,12 +17288,12 @@ class cGcWiringSocketComponentData(Structure): @partial_struct class cGcTurretComponentData(Structure): - LaserEffectId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - LaserMuzzleChargeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - LaserMuzzleFlashId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - MissileId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - ProjectileId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - ProjectileMuzzleFlashId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + LaserEffectId: Annotated[basic.TkID0x10, 0x0] + LaserMuzzleChargeId: Annotated[basic.TkID0x10, 0x10] + LaserMuzzleFlashId: Annotated[basic.TkID0x10, 0x20] + MissileId: Annotated[basic.TkID0x10, 0x30] + ProjectileId: Annotated[basic.TkID0x10, 0x40] + ProjectileMuzzleFlashId: Annotated[basic.TkID0x10, 0x50] BaseRotationAngleThreshold: Annotated[float, Field(ctypes.c_float, 0x60)] class eGunTypeEnum(IntEnum): @@ -20645,7 +17301,7 @@ class eGunTypeEnum(IntEnum): Projectile = 0x1 Missile = 0x2 - GunType: Annotated[c_enum32[eGunTypeEnum], Field(c_enum32[eGunTypeEnum], 0x64)] + GunType: Annotated[c_enum32[eGunTypeEnum], 0x64] LevelledBurstCountExtra: Annotated[float, Field(ctypes.c_float, 0x68)] LevelledBurstTimeMultiplier: Annotated[float, Field(ctypes.c_float, 0x6C)] @@ -20654,9 +17310,7 @@ class eTargetFilterEnum(IntEnum): FreightersOnly = 0x1 SmallShipsOnly = 0x2 - TargetFilter: Annotated[ - c_enum32[eTargetFilterEnum], Field(c_enum32[eTargetFilterEnum], 0x70) - ] + TargetFilter: Annotated[c_enum32[eTargetFilterEnum], 0x70] TurrentLaserShootTimeRandomExtraMax: Annotated[float, Field(ctypes.c_float, 0x74)] TurretAimOffset: Annotated[float, Field(ctypes.c_float, 0x78)] TurretAngle: Annotated[float, Field(ctypes.c_float, 0x7C)] @@ -20716,11 +17370,8 @@ class cGcSkiffComponentData(Structure): @partial_struct class cGcOutpostComponentData(Structure): - Door: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - LSystems: Annotated[ - basic.cTkDynamicArray[cGcOutpostLSystemPair], - Field(basic.cTkDynamicArray[cGcOutpostLSystemPair], 0x10), - ] + Door: Annotated[basic.TkID0x10, 0x0] + LSystems: Annotated[basic.cTkDynamicArray[cGcOutpostLSystemPair], 0x10] ApproachAngle: Annotated[float, Field(ctypes.c_float, 0x20)] ApproachNodeTargetOffset: Annotated[float, Field(ctypes.c_float, 0x24)] ApproachRange: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -20763,22 +17414,12 @@ class cGcPlayerWeaponComponentData(Structure): @partial_struct class cGcScannableComponentData(Structure): - FreighterObjectAlreadyUsedLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ValidMissionSurveyIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + FreighterObjectAlreadyUsedLocID: Annotated[basic.cTkFixedString0x20, 0x0] + ValidMissionSurveyIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] AlwaysShowRange: Annotated[float, Field(ctypes.c_float, 0x30)] - BinocsDiscoIconOverride: Annotated[ - c_enum32[enums.cGcDiscoveryType], Field(c_enum32[enums.cGcDiscoveryType], 0x34) - ] + BinocsDiscoIconOverride: Annotated[c_enum32[enums.cGcDiscoveryType], 0x34] CompassRangeMultiplier: Annotated[float, Field(ctypes.c_float, 0x38)] - Icon: Annotated[ - c_enum32[enums.cGcScannerIconTypes], - Field(c_enum32[enums.cGcScannerIconTypes], 0x3C), - ] + Icon: Annotated[c_enum32[enums.cGcScannerIconTypes], 0x3C] MarkerOffsetOverride: Annotated[float, Field(ctypes.c_float, 0x40)] MinDisplayDistanceOverride: Annotated[float, Field(ctypes.c_float, 0x44)] @@ -20790,12 +17431,10 @@ class eScannableTypeEnum(IntEnum): SpaceBattleTarget = 0x4 None_ = 0x5 - ScannableType: Annotated[ - c_enum32[eScannableTypeEnum], Field(c_enum32[eScannableTypeEnum], 0x48) - ] + ScannableType: Annotated[c_enum32[eScannableTypeEnum], 0x48] ScanRange: Annotated[float, Field(ctypes.c_float, 0x4C)] ScanTime: Annotated[float, Field(ctypes.c_float, 0x50)] - ScanName: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x54)] + ScanName: Annotated[basic.cTkFixedString0x20, 0x54] AllowedToMerge: Annotated[bool, Field(ctypes.c_bool, 0x74)] CanTagIcon: Annotated[bool, Field(ctypes.c_bool, 0x75)] ClearTagOnArrival: Annotated[bool, Field(ctypes.c_bool, 0x76)] @@ -20812,9 +17451,9 @@ class eScannableTypeEnum(IntEnum): @partial_struct class cGcScanToRevealComponentData(Structure): - LockedMarkerScanOverride: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - OnRevealEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - RequiredTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + LockedMarkerScanOverride: Annotated[basic.TkID0x10, 0x0] + OnRevealEffect: Annotated[basic.TkID0x10, 0x10] + RequiredTech: Annotated[basic.TkID0x10, 0x20] DissolveTime: Annotated[float, Field(ctypes.c_float, 0x30)] class eHideScanMarkerConditionEnum(IntEnum): @@ -20822,14 +17461,9 @@ class eHideScanMarkerConditionEnum(IntEnum): MissingTech = 0x1 Hidden = 0x2 - HideScanMarkerCondition: Annotated[ - c_enum32[eHideScanMarkerConditionEnum], - Field(c_enum32[eHideScanMarkerConditionEnum], 0x34), - ] + HideScanMarkerCondition: Annotated[c_enum32[eHideScanMarkerConditionEnum], 0x34] MaxRange: Annotated[float, Field(ctypes.c_float, 0x38)] - RequiredStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x3C) - ] + RequiredStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x3C] RevealTime: Annotated[float, Field(ctypes.c_float, 0x40)] DoDissolve: Annotated[bool, Field(ctypes.c_bool, 0x44)] EnabledOnlyOnAbandonedNexus: Annotated[bool, Field(ctypes.c_bool, 0x45)] @@ -20843,71 +17477,34 @@ class eHideScanMarkerConditionEnum(IntEnum): @partial_struct class cGcEncyclopediaComponentData(Structure): - Type: Annotated[ - c_enum32[enums.cGcDiscoveryType], Field(c_enum32[enums.cGcDiscoveryType], 0x0) - ] + Type: Annotated[c_enum32[enums.cGcDiscoveryType], 0x0] @partial_struct class cGcScanEffectComponentData(Structure): - ScanEffects: Annotated[ - basic.cTkDynamicArray[cGcScanEffectData], - Field(basic.cTkDynamicArray[cGcScanEffectData], 0x0), - ] - NodeName: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x10)] + ScanEffects: Annotated[basic.cTkDynamicArray[cGcScanEffectData], 0x0] + NodeName: Annotated[basic.cTkFixedString0x40, 0x10] @partial_struct class cGcWFCBuilding(Structure): - DecorationSet: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - FallbackSeeds: Annotated[ - basic.cTkDynamicArray[ctypes.c_int64], - Field(basic.cTkDynamicArray[ctypes.c_int64], 0x10), - ] - GroupsEnabled: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - Layouts: Annotated[ - basic.cTkDynamicArray[cGcWeightedResource], - Field(basic.cTkDynamicArray[cGcWeightedResource], 0x30), - ] + DecorationSet: Annotated[basic.VariableSizeString, 0x0] + FallbackSeeds: Annotated[basic.cTkDynamicArray[ctypes.c_int64], 0x10] + GroupsEnabled: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + Layouts: Annotated[basic.cTkDynamicArray[cGcWeightedResource], 0x30] MinimumUseConstraints: Annotated[ - basic.cTkDynamicArray[cGcMinimumUseConstraint], - Field(basic.cTkDynamicArray[cGcMinimumUseConstraint], 0x40), - ] - ModuleOverrides: Annotated[ - basic.cTkDynamicArray[cGcModuleOverride], - Field(basic.cTkDynamicArray[cGcModuleOverride], 0x50), - ] - ModuleSet: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - NPCs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x70), - ] - PresetFallbackSeeds: Annotated[ - basic.cTkDynamicArray[ctypes.c_int64], - Field(basic.cTkDynamicArray[ctypes.c_int64], 0x80), - ] - Rooms: Annotated[ - basic.cTkDynamicArray[cGcFreighterBaseRoom], - Field(basic.cTkDynamicArray[cGcFreighterBaseRoom], 0x90), - ] - Sizes: Annotated[ - basic.cTkDynamicArray[cGcWeightedBuildingSize], - Field(basic.cTkDynamicArray[cGcWeightedBuildingSize], 0xA0), - ] + basic.cTkDynamicArray[cGcMinimumUseConstraint], 0x40 + ] + ModuleOverrides: Annotated[basic.cTkDynamicArray[cGcModuleOverride], 0x50] + ModuleSet: Annotated[basic.VariableSizeString, 0x60] + NPCs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x70] + PresetFallbackSeeds: Annotated[basic.cTkDynamicArray[ctypes.c_int64], 0x80] + Rooms: Annotated[basic.cTkDynamicArray[cGcFreighterBaseRoom], 0x90] + Sizes: Annotated[basic.cTkDynamicArray[cGcWeightedBuildingSize], 0xA0] InitialUnlockProbability: Annotated[float, Field(ctypes.c_float, 0xB0)] NumberOfPresetsPerPlanet: Annotated[int, Field(ctypes.c_int32, 0xB4)] - ReplaceMaterials: Annotated[ - c_enum32[enums.cGcBaseBuildingPartStyle], - Field(c_enum32[enums.cGcBaseBuildingPartStyle], 0xB8), - ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xBC)] + ReplaceMaterials: Annotated[c_enum32[enums.cGcBaseBuildingPartStyle], 0xB8] + Name: Annotated[basic.cTkFixedString0x20, 0xBC] DontSpawnNearPlayerBases: Annotated[bool, Field(ctypes.c_bool, 0xDC)] ImprovedCoherence: Annotated[bool, Field(ctypes.c_bool, 0xDD)] RemoveUnreachableBlocks: Annotated[bool, Field(ctypes.c_bool, 0xDE)] @@ -20916,28 +17513,23 @@ class cGcWFCBuilding(Structure): @partial_struct class cGcAbandonedFreighterComponentData(Structure): - DungeonRootScene: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - MarkerLabel: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - MarkerIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x40)] - DungeonOptions: Annotated[ - basic.cTkDynamicArray[cGcFreighterDungeonChoice], - Field(basic.cTkDynamicArray[cGcFreighterDungeonChoice], 0x58), - ] + DungeonRootScene: Annotated[cTkModelResource, 0x0] + MarkerLabel: Annotated[basic.cTkFixedString0x20, 0x20] + MarkerIcon: Annotated[cTkTextureResource, 0x40] + DungeonOptions: Annotated[basic.cTkDynamicArray[cGcFreighterDungeonChoice], 0x58] @partial_struct class cGcColouriseComponentData(Structure): - PrimaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - QuaternaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - SecondaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - TernaryColour: Annotated[basic.Colour, Field(basic.Colour, 0x30)] + PrimaryColour: Annotated[basic.Colour, 0x0] + QuaternaryColour: Annotated[basic.Colour, 0x10] + SecondaryColour: Annotated[basic.Colour, 0x20] + TernaryColour: Annotated[basic.Colour, 0x30] @partial_struct class cGcCameraShakeComponentData(Structure): - ShakeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ShakeID: Annotated[basic.TkID0x10, 0x0] FalloffDistanceMax: Annotated[float, Field(ctypes.c_float, 0x10)] FalloffDistanceMin: Annotated[float, Field(ctypes.c_float, 0x14)] @@ -20945,22 +17537,17 @@ class cGcCameraShakeComponentData(Structure): @partial_struct class cGcFreighterBaseComponentData(Structure): FreighterBaseOptions: Annotated[ - cGcFreighterBaseOptions, Field(cGcFreighterBaseOptions, 0x0) - ] - FreighterBaseForPlayerReset: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - WFCBuildingFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) + tuple[cGcFreighterBaseOptions, ...], Field(cGcFreighterBaseOptions * 4, 0x0) ] + FreighterBaseForPlayerReset: Annotated[basic.VariableSizeString, 0x40] + WFCBuildingFile: Annotated[basic.VariableSizeString, 0x50] class eFreighterBaseGenerationModeEnum(IntEnum): Prefab = 0x0 WFC = 0x1 FreighterBaseGenerationMode: Annotated[ - c_enum32[eFreighterBaseGenerationModeEnum], - Field(c_enum32[eFreighterBaseGenerationModeEnum], 0x60), + c_enum32[eFreighterBaseGenerationModeEnum], 0x60 ] @@ -20973,7 +17560,8 @@ class cGcDecorationComponentData(Structure): @partial_struct class cGcPlayerCharacterStateTable(Structure): CharacterStates: Annotated[ - cGcPlayerCharacterStateData, Field(cGcPlayerCharacterStateData, 0x0) + tuple[cGcPlayerCharacterStateData, ...], + Field(cGcPlayerCharacterStateData * 20, 0x0), ] @@ -20984,26 +17572,16 @@ class cGcMultiTextureComponentData(Structure): @partial_struct class cGcMarkerComponentData(Structure): - CustomName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CustomIcon: Annotated[ - c_enum32[enums.cGcRealityGameIcons], - Field(c_enum32[enums.cGcRealityGameIcons], 0x20), - ] + CustomName: Annotated[basic.cTkFixedString0x20, 0x0] + CustomIcon: Annotated[c_enum32[enums.cGcRealityGameIcons], 0x20] class eDisplayModeEnum(IntEnum): Always = 0x0 SpaceOnly = 0x1 PlanetOnly = 0x2 - DisplayMode: Annotated[ - c_enum32[eDisplayModeEnum], Field(c_enum32[eDisplayModeEnum], 0x24) - ] - Icon: Annotated[ - c_enum32[enums.cGcGenericIconTypes], - Field(c_enum32[enums.cGcGenericIconTypes], 0x28), - ] + DisplayMode: Annotated[c_enum32[eDisplayModeEnum], 0x24] + Icon: Annotated[c_enum32[enums.cGcGenericIconTypes], 0x28] Radius: Annotated[float, Field(ctypes.c_float, 0x2C)] ShipScannable: Annotated[bool, Field(ctypes.c_bool, 0x30)] UseCustomIcon: Annotated[bool, Field(ctypes.c_bool, 0x31)] @@ -21011,24 +17589,18 @@ class eDisplayModeEnum(IntEnum): @partial_struct class cGcMultiColouriseComponentData(Structure): - Palettes: Annotated[ - basic.cTkDynamicArray[cGcColourisePalette], - Field(basic.cTkDynamicArray[cGcColourisePalette], 0x0), - ] + Palettes: Annotated[basic.cTkDynamicArray[cGcColourisePalette], 0x0] @partial_struct class cGcPlayerControlComponentData(Structure): - BaseInput: Annotated[cGcPlayerControlInput, Field(cGcPlayerControlInput, 0x0)] - AimDir: Annotated[cTkBlackboardKey, Field(cTkBlackboardKey, 0x38)] - CrosshairDir: Annotated[cTkBlackboardKey, Field(cTkBlackboardKey, 0x50)] - TorchDir: Annotated[cTkBlackboardKey, Field(cTkBlackboardKey, 0x68)] - BaseCamera: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - InitialState: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - States: Annotated[ - basic.cTkDynamicArray[cGcPlayerControlState], - Field(basic.cTkDynamicArray[cGcPlayerControlState], 0xA0), - ] + BaseInput: Annotated[cGcPlayerControlInput, 0x0] + AimDir: Annotated[cTkBlackboardKey, 0x38] + CrosshairDir: Annotated[cTkBlackboardKey, 0x50] + TorchDir: Annotated[cTkBlackboardKey, 0x68] + BaseCamera: Annotated[basic.TkID0x10, 0x80] + InitialState: Annotated[basic.TkID0x10, 0x90] + States: Annotated[basic.cTkDynamicArray[cGcPlayerControlState], 0xA0] @partial_struct @@ -21041,9 +17613,7 @@ class cGcSimpleIkRecoilComponentData(Structure): HitReactRandomMin: Annotated[float, Field(ctypes.c_float, 0x14)] MinHitReactTime: Annotated[float, Field(ctypes.c_float, 0x18)] RecoverTime: Annotated[float, Field(ctypes.c_float, 0x1C)] - EndJoint: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x20) - ] + EndJoint: Annotated[basic.cTkFixedString0x100, 0x20] @partial_struct @@ -21053,10 +17623,7 @@ class cGcUniqueIdComponentData(Structure): @partial_struct class cGcIDEnum(Structure): - Values: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + Values: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] @partial_struct @@ -21067,19 +17634,14 @@ class eAttractorTypeEnum(IntEnum): Food = 0x0 Harvester = 0x1 - AttractorType: Annotated[ - c_enum32[eAttractorTypeEnum], Field(c_enum32[eAttractorTypeEnum], 0x4) - ] + AttractorType: Annotated[c_enum32[eAttractorTypeEnum], 0x4] Static: Annotated[bool, Field(ctypes.c_bool, 0x8)] Universal: Annotated[bool, Field(ctypes.c_bool, 0x9)] @partial_struct class cGcCreatureBaitComponentData(Structure): - AttractList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + AttractList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] BaitRadius: Annotated[float, Field(ctypes.c_float, 0x10)] BaitStrength: Annotated[float, Field(ctypes.c_float, 0x14)] Debug: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -21093,15 +17655,12 @@ class cTkRandomComponentData(Structure): @partial_struct class cGcCreatureEffectComponentData(Structure): - AnimTriggers: Annotated[ - basic.cTkDynamicArray[cGcCreatureEffectTrigger], - Field(basic.cTkDynamicArray[cGcCreatureEffectTrigger], 0x0), - ] + AnimTriggers: Annotated[basic.cTkDynamicArray[cGcCreatureEffectTrigger], 0x0] @partial_struct class cGcCreatureEggComponentData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] @partial_struct @@ -21111,18 +17670,12 @@ class cGcCreatureLegIKComponentData(Structure): @partial_struct class cGcCreatureAudioTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcCreatureVocalSoundData], - Field(basic.cTkDynamicArray[cGcCreatureVocalSoundData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcCreatureVocalSoundData], 0x0] @partial_struct class cGcCreatureFilenameTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcCreatureFilename], - Field(basic.cTkDynamicArray[cGcCreatureFilename], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcCreatureFilename], 0x0] @partial_struct @@ -21133,13 +17686,15 @@ class cGcFoliageComponentData(Structure): @partial_struct class cGcRegionHotspotsTable(Structure): RegionHotspotBiomeGases: Annotated[ - cGcRegionHotspotBiomeGases, Field(cGcRegionHotspotBiomeGases, 0x0) + tuple[cGcRegionHotspotBiomeGases, ...], + Field(cGcRegionHotspotBiomeGases * 17, 0x0), ] RegionHotspotSubstances: Annotated[ - basic.cTkDynamicArray[cGcRegionHotspotSubstance], - Field(basic.cTkDynamicArray[cGcRegionHotspotSubstance], 0x220), + basic.cTkDynamicArray[cGcRegionHotspotSubstance], 0x220 + ] + RegionHotspots: Annotated[ + tuple[cGcRegionHotspotData, ...], Field(cGcRegionHotspotData * 6, 0x230) ] - RegionHotspots: Annotated[cGcRegionHotspotData, Field(cGcRegionHotspotData, 0x230)] RegionHotspotsMaxDifferentCategoryOverlap: Annotated[ float, Field(ctypes.c_float, 0x350) ] @@ -21151,45 +17706,29 @@ class cGcRegionHotspotsTable(Structure): @partial_struct class cGcVehicleScanTable(Structure): - VehicleScanTable: Annotated[ - basic.cTkDynamicArray[cGcVehicleScanTableEntry], - Field(basic.cTkDynamicArray[cGcVehicleScanTableEntry], 0x0), - ] + VehicleScanTable: Annotated[basic.cTkDynamicArray[cGcVehicleScanTableEntry], 0x0] @partial_struct class cGcScanDataTable(Structure): - ScanData: Annotated[ - basic.cTkDynamicArray[cGcScanDataTableEntry], - Field(basic.cTkDynamicArray[cGcScanDataTableEntry], 0x0), - ] + ScanData: Annotated[basic.cTkDynamicArray[cGcScanDataTableEntry], 0x0] @partial_struct class cGcAreaDamageDataTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcAreaDamageData], - Field(basic.cTkDynamicArray[cGcAreaDamageData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcAreaDamageData], 0x0] @partial_struct class cGcShootableComponentData(Structure): - ImpactOverrideData: Annotated[ - cGcProjectileImpactData, Field(cGcProjectileImpactData, 0x0) - ] - DamageMultiplier: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - ImpactShakeEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - RequiredTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + ImpactOverrideData: Annotated[cGcProjectileImpactData, 0x0] + DamageMultiplier: Annotated[basic.TkID0x10, 0x20] + ImpactShakeEffect: Annotated[basic.TkID0x10, 0x30] + RequiredTech: Annotated[basic.TkID0x10, 0x40] CapHealthForMissingArmour: Annotated[float, Field(ctypes.c_float, 0x50)] FiendCrimeModifier: Annotated[float, Field(ctypes.c_float, 0x54)] - FiendCrimeType: Annotated[ - c_enum32[enums.cGcFiendCrime], Field(c_enum32[enums.cGcFiendCrime], 0x58) - ] - ForceImpactType: Annotated[ - c_enum32[enums.cGcProjectileImpactType], - Field(c_enum32[enums.cGcProjectileImpactType], 0x5C), - ] + FiendCrimeType: Annotated[c_enum32[enums.cGcFiendCrime], 0x58] + ForceImpactType: Annotated[c_enum32[enums.cGcProjectileImpactType], 0x5C] Health: Annotated[int, Field(ctypes.c_int32, 0x60)] IncreaseCorruptSentinelWanted: Annotated[int, Field(ctypes.c_int32, 0x64)] IncreaseWanted: Annotated[int, Field(ctypes.c_int32, 0x68)] @@ -21197,9 +17736,7 @@ class cGcShootableComponentData(Structure): LevelledExtraHealth: Annotated[int, Field(ctypes.c_int32, 0x70)] MinDamage: Annotated[int, Field(ctypes.c_int32, 0x74)] RepairTime: Annotated[float, Field(ctypes.c_float, 0x78)] - NameOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x7C) - ] + NameOverride: Annotated[basic.cTkFixedString0x20, 0x7C] AutoAimTarget: Annotated[bool, Field(ctypes.c_bool, 0x9C)] CouldCountAsArmourForParent: Annotated[bool, Field(ctypes.c_bool, 0x9D)] HitEffectEnabled: Annotated[bool, Field(ctypes.c_bool, 0x9E)] @@ -21234,9 +17771,7 @@ class eNavAreaTypeEnum(IntEnum): WFCBase = 0x7 FreighterBase = 0x8 - NavAreaType: Annotated[ - c_enum32[eNavAreaTypeEnum], Field(c_enum32[eNavAreaTypeEnum], 0x10) - ] + NavAreaType: Annotated[c_enum32[eNavAreaTypeEnum], 0x10] NeighbourCandidateDistance: Annotated[float, Field(ctypes.c_float, 0x14)] SphereCastHeightClearance: Annotated[float, Field(ctypes.c_float, 0x18)] LimitPOIConnections: Annotated[bool, Field(ctypes.c_bool, 0x1C)] @@ -21244,14 +17779,16 @@ class eNavAreaTypeEnum(IntEnum): @partial_struct class cGcPlayerHazardTable(Structure): - Table: Annotated[cGcPlayerHazardData, Field(cGcPlayerHazardData, 0x0)] + Table: Annotated[ + tuple[cGcPlayerHazardData, ...], Field(cGcPlayerHazardData * 7, 0x0) + ] @partial_struct class cGcTorpedoComponentData(Structure): - DamageProjectileId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DamageShieldProjectileId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - DestroyedEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + DamageProjectileId: Annotated[basic.TkID0x10, 0x0] + DamageShieldProjectileId: Annotated[basic.TkID0x10, 0x10] + DestroyedEffect: Annotated[basic.TkID0x10, 0x20] ApproachTime: Annotated[float, Field(ctypes.c_float, 0x30)] BrakeForceMax: Annotated[float, Field(ctypes.c_float, 0x34)] BrakeForceMin: Annotated[float, Field(ctypes.c_float, 0x38)] @@ -21268,377 +17805,274 @@ class cGcTorpedoComponentData(Structure): @partial_struct class cGcMissileComponentData(Structure): - Explosion: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Trail: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Explosion: Annotated[basic.TkID0x10, 0x0] + Trail: Annotated[basic.TkID0x10, 0x10] NoTargetLife: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcDroneComponentData(Structure): - Health: Annotated[cGcCreatureHealthData, Field(cGcCreatureHealthData, 0x0)] - Guns: Annotated[ - basic.cTkDynamicArray[cGcDroneGun], - Field(basic.cTkDynamicArray[cGcDroneGun], 0x68), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x78)] - ProjectileChoices: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x88), - ] - Axis: Annotated[ - c_enum32[enums.cGcPrimaryAxis], Field(c_enum32[enums.cGcPrimaryAxis], 0x98) - ] + Health: Annotated[cGcCreatureHealthData, 0x0] + Guns: Annotated[basic.cTkDynamicArray[cGcDroneGun], 0x68] + Id: Annotated[basic.TkID0x10, 0x78] + ProjectileChoices: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x88] + Axis: Annotated[c_enum32[enums.cGcPrimaryAxis], 0x98] HeadLookIdleTime: Annotated[float, Field(ctypes.c_float, 0x9C)] HeadLookTime: Annotated[float, Field(ctypes.c_float, 0xA0)] MaxHeadPitch: Annotated[float, Field(ctypes.c_float, 0xA4)] MaxHeadRoll: Annotated[float, Field(ctypes.c_float, 0xA8)] MaxHeadYaw: Annotated[float, Field(ctypes.c_float, 0xAC)] Scaler: Annotated[float, Field(ctypes.c_float, 0xB0)] - HeadJointName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xB4) - ] + HeadJointName: Annotated[basic.cTkFixedString0x100, 0xB4] @partial_struct class cGcSentinelRobotComponentData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Type: Annotated[ - c_enum32[enums.cGcSentinelTypes], Field(c_enum32[enums.cGcSentinelTypes], 0x10) - ] + Id: Annotated[basic.TkID0x10, 0x0] + Type: Annotated[c_enum32[enums.cGcSentinelTypes], 0x10] @partial_struct class cGcSceneSettings(Structure): - PlayerState: Annotated[cGcPlayerSpawnStateData, Field(cGcPlayerSpawnStateData, 0x0)] + PlayerState: Annotated[cGcPlayerSpawnStateData, 0x0] PlanetFiles: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE0) - ] - Events: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x130), - ] - NextSettingFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x140) - ] - PlanetSceneFiles: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x150), - ] - PostWarpEvents: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x160), - ] - SceneFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x170) - ] - ShipPreloadFiles: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x180), - ] - SolarSystemFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x190) - ] - SpawnerOptionId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1A0)] + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 5, 0xE0) + ] + Events: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x130] + NextSettingFile: Annotated[basic.VariableSizeString, 0x140] + PlanetSceneFiles: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x150] + PostWarpEvents: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x160] + SceneFile: Annotated[basic.VariableSizeString, 0x170] + ShipPreloadFiles: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x180] + SolarSystemFile: Annotated[basic.VariableSizeString, 0x190] + SpawnerOptionId: Annotated[basic.TkID0x10, 0x1A0] SpawnInsideShip: Annotated[bool, Field(ctypes.c_bool, 0x1B0)] SpawnShip: Annotated[bool, Field(ctypes.c_bool, 0x1B1)] @partial_struct class cGcWFCModuleSet(Structure): - BlockSize: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - CompatibleConnectors: Annotated[ - basic.cTkDynamicArray[cGcIDPair], Field(basic.cTkDynamicArray[cGcIDPair], 0x10) - ] + BlockSize: Annotated[basic.Vector3f, 0x0] + CompatibleConnectors: Annotated[basic.cTkDynamicArray[cGcIDPair], 0x10] ConnectorsOnHorizontalBoundary: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x20), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x20 ] ConnectorsOnLowerBoundary: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x30), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x30 ] ConnectorsOnUpperBoundary: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x40), - ] - DefaultGroups: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x50), - ] - ModulePrototypes: Annotated[ - basic.cTkDynamicArray[cGcWFCModulePrototype], - Field(basic.cTkDynamicArray[cGcWFCModulePrototype], 0x60), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x40 ] + DefaultGroups: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x50] + ModulePrototypes: Annotated[basic.cTkDynamicArray[cGcWFCModulePrototype], 0x60] VerticalOffset: Annotated[float, Field(ctypes.c_float, 0x70)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x74)] + Name: Annotated[basic.cTkFixedString0x20, 0x74] ApplyWallThemes: Annotated[bool, Field(ctypes.c_bool, 0x94)] @partial_struct class cGcBuildingDefinitionTable(Structure): BuildingPlacement: Annotated[ - cGcBuildingDefinitionData, Field(cGcBuildingDefinitionData, 0x0) + tuple[cGcBuildingDefinitionData, ...], + Field(cGcBuildingDefinitionData * 60, 0x0), ] BuildingFiles: Annotated[ - cGcBuildingFilenameList, Field(cGcBuildingFilenameList, 0x2580) - ] - ClusterLayouts: Annotated[ - basic.cTkDynamicArray[cGcBuildingClusterLayout], - Field(basic.cTkDynamicArray[cGcBuildingClusterLayout], 0xF000), + tuple[cGcBuildingFilenameList, ...], Field(cGcBuildingFilenameList * 9, 0x2580) ] + ClusterLayouts: Annotated[basic.cTkDynamicArray[cGcBuildingClusterLayout], 0xF000] @partial_struct class cGcSpaceSkyColourSettingList(Structure): - Settings: Annotated[ - basic.cTkDynamicArray[cGcSolarSystemSkyColourData], - Field(basic.cTkDynamicArray[cGcSolarSystemSkyColourData], 0x0), - ] + Settings: Annotated[basic.cTkDynamicArray[cGcSolarSystemSkyColourData], 0x0] @partial_struct class cGcNPCColourTable(Structure): - Groups: Annotated[ - basic.cTkDynamicArray[cGcNPCColourGroup], - Field(basic.cTkDynamicArray[cGcNPCColourGroup], 0x0), - ] + Groups: Annotated[basic.cTkDynamicArray[cGcNPCColourGroup], 0x0] @partial_struct class cGcHeavyAirList(Structure): - Options: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x0), - ] + Options: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x0] @partial_struct class cGcBiomeListPerStarType(Structure): - StarType: Annotated[cGcBiomeList, Field(cGcBiomeList, 0x0)] - AbandonedYellow: Annotated[cGcBiomeList, Field(cGcBiomeList, 0x2A8)] - LushYellow: Annotated[cGcBiomeList, Field(cGcBiomeList, 0x330)] - AbandonedLifeChance: Annotated[float, Field(ctypes.c_float, 0x3B8)] - LifeChance: Annotated[float, Field(ctypes.c_float, 0x3C8)] + StarType: Annotated[tuple[cGcBiomeList, ...], Field(cGcBiomeList * 5, 0x0)] + AbandonedYellow: Annotated[cGcBiomeList, 0x2A8] + LushYellow: Annotated[cGcBiomeList, 0x330] + AbandonedLifeChance: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x3B8)] + LifeChance: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x3C8)] ConvertDeadToWeird: Annotated[float, Field(ctypes.c_float, 0x3D8)] @partial_struct class cGcDeprecatedAssetsTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x80], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x80], 0x0] @partial_struct class cGcOverlayTexture(Structure): - OverlayDiffuse: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - OverlayMasks: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - OverlayNormal: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + OverlayDiffuse: Annotated[basic.VariableSizeString, 0x0] + OverlayMasks: Annotated[basic.VariableSizeString, 0x10] + OverlayNormal: Annotated[basic.VariableSizeString, 0x20] OverlayMaskIdx: Annotated[int, Field(ctypes.c_int32, 0x30)] @partial_struct class cGcWeatherTable(Structure): - Table: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - DefaultRadiation: Annotated[cGcHazardValues, Field(cGcHazardValues, 0x110)] - DefaultSpookLevel: Annotated[cGcHazardValues, Field(cGcHazardValues, 0x140)] - DefaultTemperature: Annotated[cGcHazardValues, Field(cGcHazardValues, 0x170)] - DefaultToxicity: Annotated[cGcHazardValues, Field(cGcHazardValues, 0x1A0)] + Table: Annotated[ + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 17, 0x0) + ] + DefaultRadiation: Annotated[ + tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0x110) + ] + DefaultSpookLevel: Annotated[ + tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0x140) + ] + DefaultTemperature: Annotated[ + tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0x170) + ] + DefaultToxicity: Annotated[ + tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0x1A0) + ] @partial_struct class cGcTileTypeSets(Structure): - TileTypeSets: Annotated[ - basic.cTkDynamicArray[cGcTileTypeSet], - Field(basic.cTkDynamicArray[cGcTileTypeSet], 0x0), - ] + TileTypeSets: Annotated[basic.cTkDynamicArray[cGcTileTypeSet], 0x0] @partial_struct class cGcTerrainTexture(Structure): - DiffuseTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) - ] - NormalMap: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] + DiffuseTexture: Annotated[basic.VariableSizeString, 0x0] + NormalMap: Annotated[basic.VariableSizeString, 0x10] TextureConfig: Annotated[ - cGcTerrainTextureSettings, Field(cGcTerrainTextureSettings, 0x20) + tuple[cGcTerrainTextureSettings, ...], + Field(cGcTerrainTextureSettings * 12, 0x20), ] @partial_struct class cGcWaterColourSettingList(Structure): - Settings: Annotated[ - basic.cTkDynamicArray[cGcPlanetWaterColourData], - Field(basic.cTkDynamicArray[cGcPlanetWaterColourData], 0x0), - ] + Settings: Annotated[basic.cTkDynamicArray[cGcPlanetWaterColourData], 0x0] EmissionTypeSelection: Annotated[ - cGcWaterEmissionBiomeData, Field(cGcWaterEmissionBiomeData, 0x10) + tuple[cGcWaterEmissionBiomeData, ...], + Field(cGcWaterEmissionBiomeData * 17, 0x10), ] @partial_struct class cGcSpawnDensityList(Structure): - DensityList: Annotated[ - basic.cTkDynamicArray[cGcSpawnDensity], - Field(basic.cTkDynamicArray[cGcSpawnDensity], 0x0), - ] + DensityList: Annotated[basic.cTkDynamicArray[cGcSpawnDensity], 0x0] @partial_struct class cGcCreatureGenerationData(Structure): SubBiomeSpecific: Annotated[ - cGcCreatureGenerationOptionalWeightedList, - Field(cGcCreatureGenerationOptionalWeightedList, 0x0), + tuple[cGcCreatureGenerationOptionalWeightedList, ...], + Field(cGcCreatureGenerationOptionalWeightedList * 32, 0x0), ] BiomeSpecific: Annotated[ - cGcCreatureGenerationOptionalWeightedList, - Field(cGcCreatureGenerationOptionalWeightedList, 0x900), + tuple[cGcCreatureGenerationOptionalWeightedList, ...], + Field(cGcCreatureGenerationOptionalWeightedList * 17, 0x900), + ] + AbandonedSystemSpecific: Annotated[cGcCreatureGenerationOptionalWeightedList, 0xDC8] + EmptySystemSpecific: Annotated[cGcCreatureGenerationOptionalWeightedList, 0xE10] + PurpleSystemSpecific: Annotated[cGcCreatureGenerationOptionalWeightedList, 0xE58] + Generic: Annotated[cGcCreatureGenerationWeightedList, 0xEA0] + AirArchetypesForEmptyGround: Annotated[ + basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0xEE0 ] - AbandonedSystemSpecific: Annotated[ - cGcCreatureGenerationOptionalWeightedList, - Field(cGcCreatureGenerationOptionalWeightedList, 0xDC8), + SandwormPresenceChance: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 17, 0xEF0) ] - EmptySystemSpecific: Annotated[ - cGcCreatureGenerationOptionalWeightedList, - Field(cGcCreatureGenerationOptionalWeightedList, 0xE10), + AirGroupsPerKm: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0xF34)] + CaveGroupsPerKm: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0xF44)] + DensityModifiers: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0xF54)] + GroundGroupsPerKm: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0xF64)] + LifeChance: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0xF74)] + LifeLevelDensityModifiers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0xF84) ] - PurpleSystemSpecific: Annotated[ - cGcCreatureGenerationOptionalWeightedList, - Field(cGcCreatureGenerationOptionalWeightedList, 0xE58), + RarityFrequencyModifiers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0xF94) ] - Generic: Annotated[ - cGcCreatureGenerationWeightedList, - Field(cGcCreatureGenerationWeightedList, 0xEA0), + RoleFrequencyModifiers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0xFA4) ] - AirArchetypesForEmptyGround: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], - Field( - basic.cTkDynamicArray[cGcCreatureGenerationWeightedListDomainEntry], 0xEE0 - ), - ] - SandwormPresenceChance: Annotated[float, Field(ctypes.c_float, 0xEF0)] - AirGroupsPerKm: Annotated[float, Field(ctypes.c_float, 0xF34)] - CaveGroupsPerKm: Annotated[float, Field(ctypes.c_float, 0xF44)] - DensityModifiers: Annotated[float, Field(ctypes.c_float, 0xF54)] - GroundGroupsPerKm: Annotated[float, Field(ctypes.c_float, 0xF64)] - LifeChance: Annotated[float, Field(ctypes.c_float, 0xF74)] - LifeLevelDensityModifiers: Annotated[float, Field(ctypes.c_float, 0xF84)] - RarityFrequencyModifiers: Annotated[float, Field(ctypes.c_float, 0xF94)] - RoleFrequencyModifiers: Annotated[float, Field(ctypes.c_float, 0xFA4)] - WaterGroupsPerKm: Annotated[float, Field(ctypes.c_float, 0xFB4)] + WaterGroupsPerKm: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0xFB4)] HerdCreaturePenalty: Annotated[float, Field(ctypes.c_float, 0xFC4)] @partial_struct class cGcCreatureGenerationArchetypes(Structure): AirArchetypes: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], - Field(basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], 0x0), + basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], 0x0 ] CaveArchetypes: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], - Field(basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], 0x10), + basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], 0x10 ] GroundArchetypes: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], - Field(basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], 0x20), + basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], 0x20 ] WaterArchetypes: Annotated[ - basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], - Field(basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], 0x30), + basic.cTkDynamicArray[cGcCreatureGenerationDomainTable], 0x30 ] @partial_struct class cGcGasGiantAtmosphereSettingsList(Structure): - LookUps: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x0), - ] - Normals: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x10), - ] - Settings: Annotated[ - basic.cTkDynamicArray[cGcGasGiantAtmosphereSetting], - Field(basic.cTkDynamicArray[cGcGasGiantAtmosphereSetting], 0x20), - ] + LookUps: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x0] + Normals: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x10] + Settings: Annotated[basic.cTkDynamicArray[cGcGasGiantAtmosphereSetting], 0x20] @partial_struct class cGcPlanetaryMappingTable(Structure): MappingInfo: Annotated[ - cGcPlanetaryMappingValues, Field(cGcPlanetaryMappingValues, 0x0) + tuple[cGcPlanetaryMappingValues, ...], Field(cGcPlanetaryMappingValues * 5, 0x0) ] @partial_struct class cGcAmbientModeCameras(Structure): BuildingCameraAnimations: Annotated[ - basic.cTkDynamicArray[cGcCameraAmbientBuildingData], - Field(basic.cTkDynamicArray[cGcCameraAmbientBuildingData], 0x0), + basic.cTkDynamicArray[cGcCameraAmbientBuildingData], 0x0 ] SpaceCameraAnimations: Annotated[ - basic.cTkDynamicArray[cGcCameraAmbientSpaceData], - Field(basic.cTkDynamicArray[cGcCameraAmbientSpaceData], 0x10), + basic.cTkDynamicArray[cGcCameraAmbientSpaceData], 0x10 ] SpecialCameraAnimations: Annotated[ - basic.cTkDynamicArray[cGcCameraAmbientSpecialData], - Field(basic.cTkDynamicArray[cGcCameraAmbientSpecialData], 0x20), + basic.cTkDynamicArray[cGcCameraAmbientSpecialData], 0x20 ] @partial_struct class cGcShipAIAttackDataTable(Structure): - TraderAttackLookup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - BehaviourTable: Annotated[ - basic.cTkDynamicArray[cGcShipAIAttackData], - Field(basic.cTkDynamicArray[cGcShipAIAttackData], 0x40), - ] - Definitions: Annotated[ - basic.cTkDynamicArray[cGcShipAICombatDefinition], - Field(basic.cTkDynamicArray[cGcShipAICombatDefinition], 0x50), - ] - EngineTable: Annotated[ - basic.cTkDynamicArray[cGcSpaceshipTravelData], - Field(basic.cTkDynamicArray[cGcSpaceshipTravelData], 0x60), - ] - ShieldTable: Annotated[ - basic.cTkDynamicArray[cGcSpaceshipShieldData], - Field(basic.cTkDynamicArray[cGcSpaceshipShieldData], 0x70), + TraderAttackLookup: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 4, 0x0) ] + BehaviourTable: Annotated[basic.cTkDynamicArray[cGcShipAIAttackData], 0x40] + Definitions: Annotated[basic.cTkDynamicArray[cGcShipAICombatDefinition], 0x50] + EngineTable: Annotated[basic.cTkDynamicArray[cGcSpaceshipTravelData], 0x60] + ShieldTable: Annotated[basic.cTkDynamicArray[cGcSpaceshipShieldData], 0x70] @partial_struct class cGcAISpaceshipComponentData(Structure): - Hangar: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - CombatDefinitionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Axis: Annotated[ - c_enum32[enums.cGcPrimaryAxis], Field(c_enum32[enums.cGcPrimaryAxis], 0x30) - ] - Class: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0x34), - ] - Type: Annotated[ - c_enum32[enums.cGcAISpaceshipTypes], - Field(c_enum32[enums.cGcAISpaceshipTypes], 0x38), - ] + Hangar: Annotated[cTkModelResource, 0x0] + CombatDefinitionID: Annotated[basic.TkID0x10, 0x20] + Axis: Annotated[c_enum32[enums.cGcPrimaryAxis], 0x30] + Class: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0x34] + Type: Annotated[c_enum32[enums.cGcAISpaceshipTypes], 0x38] IsSpaceAnomaly: Annotated[bool, Field(ctypes.c_bool, 0x3C)] @partial_struct class cTkGravityComponentData(Structure): - OverrideBounds: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + OverrideBounds: Annotated[basic.Vector3f, 0x0] FalloffRadius: Annotated[float, Field(ctypes.c_float, 0x10)] Strength: Annotated[float, Field(ctypes.c_float, 0x14)] MoveWithParent: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -21661,34 +18095,22 @@ class cGcEngineComponentData(Structure): @partial_struct class cGcLandingGearComponentData(Structure): - ExtendAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - FlyingAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ExtendAnim: Annotated[basic.TkID0x10, 0x0] + FlyingAnim: Annotated[basic.TkID0x10, 0x10] DeployTime: Annotated[float, Field(ctypes.c_float, 0x20)] - EndAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x24), - ] + EndAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x24] LandTime: Annotated[float, Field(ctypes.c_float, 0x28)] RetractTime: Annotated[float, Field(ctypes.c_float, 0x2C)] - StartAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x30), - ] + StartAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x30] TakeOffTime: Annotated[float, Field(ctypes.c_float, 0x34)] - DeployCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x38) - ] - FlyingCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x39) - ] - RetractCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x3A) - ] + DeployCurve: Annotated[c_enum32[enums.cTkCurveType], 0x38] + FlyingCurve: Annotated[c_enum32[enums.cTkCurveType], 0x39] + RetractCurve: Annotated[c_enum32[enums.cTkCurveType], 0x3A] @partial_struct class cGcSpaceshipShieldComponentData(Structure): - ShieldID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ShieldID: Annotated[basic.TkID0x10, 0x0] IgnoreHitsWhenPlayerAimingElsewhere: Annotated[bool, Field(ctypes.c_bool, 0x10)] RotateOnHit: Annotated[bool, Field(ctypes.c_bool, 0x11)] @@ -21699,23 +18121,19 @@ class eCheckpointTypeEnum(IntEnum): Checkpoint = 0x0 Start = 0x1 - CheckpointType: Annotated[ - c_enum32[eCheckpointTypeEnum], Field(c_enum32[eCheckpointTypeEnum], 0x0) - ] + CheckpointType: Annotated[c_enum32[eCheckpointTypeEnum], 0x0] class eRaceTypeEnum(IntEnum): Vehicle = 0x0 Spaceship = 0x1 - RaceType: Annotated[c_enum32[eRaceTypeEnum], Field(c_enum32[eRaceTypeEnum], 0x4)] + RaceType: Annotated[c_enum32[eRaceTypeEnum], 0x4] Radius: Annotated[float, Field(ctypes.c_float, 0x8)] @partial_struct class cGcVehicleGarageComponentData(Structure): - Vehicle: Annotated[ - c_enum32[enums.cGcVehicleType], Field(c_enum32[enums.cGcVehicleType], 0x0) - ] + Vehicle: Annotated[c_enum32[enums.cGcVehicleType], 0x0] @partial_struct @@ -21725,13 +18143,11 @@ class cGcVehicleRaceInviteComponentData(Structure): @partial_struct class cGcVehicleComponentData(Structure): - WheelModel: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - Cockpit: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - VehicleType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + WheelModel: Annotated[cTkModelResource, 0x0] + Cockpit: Annotated[basic.VariableSizeString, 0x20] + VehicleType: Annotated[basic.TkID0x10, 0x30] BaseHealth: Annotated[int, Field(ctypes.c_int32, 0x40)] - Class: Annotated[ - c_enum32[enums.cGcVehicleType], Field(c_enum32[enums.cGcVehicleType], 0x44) - ] + Class: Annotated[c_enum32[enums.cGcVehicleType], 0x44] FoVFixedDistance: Annotated[float, Field(ctypes.c_float, 0x48)] MaxHeadPitchDown: Annotated[float, Field(ctypes.c_float, 0x4C)] MaxHeadPitchUp: Annotated[float, Field(ctypes.c_float, 0x50)] @@ -21741,84 +18157,62 @@ class cGcVehicleComponentData(Structure): @partial_struct class cGcWaypointComponentData(Structure): - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] + Icon: Annotated[cTkTextureResource, 0x0] @partial_struct class cGcActionSets(Structure): - ActionSets: Annotated[ - basic.cTkDynamicArray[cGcActionSet], - Field(basic.cTkDynamicArray[cGcActionSet], 0x0), - ] + ActionSets: Annotated[basic.cTkDynamicArray[cGcActionSet], 0x0] @partial_struct class cGcInputActionInfoMap(Structure): - ActionMap: Annotated[cGcInputActionInfo, Field(cGcInputActionInfo, 0x0)] + ActionMap: Annotated[ + tuple[cGcInputActionInfo, ...], Field(cGcInputActionInfo * 299, 0x0) + ] @partial_struct class cGcVibrationDataTable(Structure): - Data: Annotated[ - basic.cTkDynamicArray[cGcVibrationChannelData], - Field(basic.cTkDynamicArray[cGcVibrationChannelData], 0x0), - ] + Data: Annotated[basic.cTkDynamicArray[cGcVibrationChannelData], 0x0] @partial_struct class cGcTriggerFeedbackStateTable(Structure): - Events: Annotated[ - basic.cTkDynamicArray[cGcTriggerFeedbackState], - Field(basic.cTkDynamicArray[cGcTriggerFeedbackState], 0x0), - ] + Events: Annotated[basic.cTkDynamicArray[cGcTriggerFeedbackState], 0x0] @partial_struct class cGcBaseBuildingEntry(Structure): - LinkGridData: Annotated[cGcBaseLinkGridData, Field(cGcBaseLinkGridData, 0x0)] - ColourPaletteGroupId: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x58)] - DefaultColourPaletteId: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x78)] - DefaultMaterialId: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x98)] - DescriptorID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0xB8)] - MaterialGroupId: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0xD8)] - NPCInteractionScene: Annotated[cTkModelResource, Field(cTkModelResource, 0xF8)] - PlacementScene: Annotated[cTkModelResource, Field(cTkModelResource, 0x118)] - SinglePartID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x138)] - CompositePartObjectIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x158), - ] - FamilyIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x168), - ] - FossilDisplayID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x178)] - Groups: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingEntryGroup], - Field(basic.cTkDynamicArray[cGcBaseBuildingEntryGroup], 0x188), - ] - IconOverrideProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x198)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1A8)] - ModularCustomisationBaseID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1B8)] - OverrideProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1C8)] - Tag: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1D8)] + LinkGridData: Annotated[cGcBaseLinkGridData, 0x0] + ColourPaletteGroupId: Annotated[basic.TkID0x20, 0x58] + DefaultColourPaletteId: Annotated[basic.TkID0x20, 0x78] + DefaultMaterialId: Annotated[basic.TkID0x20, 0x98] + DescriptorID: Annotated[basic.TkID0x20, 0xB8] + MaterialGroupId: Annotated[basic.TkID0x20, 0xD8] + NPCInteractionScene: Annotated[cTkModelResource, 0xF8] + PlacementScene: Annotated[cTkModelResource, 0x118] + SinglePartID: Annotated[basic.TkID0x20, 0x138] + CompositePartObjectIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x158] + FamilyIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x168] + FossilDisplayID: Annotated[basic.TkID0x10, 0x178] + Groups: Annotated[basic.cTkDynamicArray[cGcBaseBuildingEntryGroup], 0x188] + IconOverrideProductID: Annotated[basic.TkID0x10, 0x198] + ID: Annotated[basic.TkID0x10, 0x1A8] + ModularCustomisationBaseID: Annotated[basic.TkID0x10, 0x1B8] + OverrideProductID: Annotated[basic.TkID0x10, 0x1C8] + Tag: Annotated[basic.TkID0x10, 0x1D8] class eBaseTerrainEditShapeEnum(IntEnum): Cube = 0x0 Cylinder = 0x1 - BaseTerrainEditShape: Annotated[ - c_enum32[eBaseTerrainEditShapeEnum], - Field(c_enum32[eBaseTerrainEditShapeEnum], 0x1E8), - ] - Biome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x1EC) - ] + BaseTerrainEditShape: Annotated[c_enum32[eBaseTerrainEditShapeEnum], 0x1E8] + Biome: Annotated[c_enum32[enums.cGcBiomeType], 0x1EC] BuildEffectAccelerator: Annotated[float, Field(ctypes.c_float, 0x1F0)] CorvetteBaseLimit: Annotated[int, Field(ctypes.c_int32, 0x1F4)] DecorationType: Annotated[ - c_enum32[enums.cGcBaseBuildingObjectDecorationTypes], - Field(c_enum32[enums.cGcBaseBuildingObjectDecorationTypes], 0x1F8), + c_enum32[enums.cGcBaseBuildingObjectDecorationTypes], 0x1F8 ] FreighterBaseLimit: Annotated[int, Field(ctypes.c_int32, 0x1FC)] GhostsCountOverride: Annotated[int, Field(ctypes.c_int32, 0x200)] @@ -21829,10 +18223,7 @@ class eBaseTerrainEditShapeEnum(IntEnum): RegionSpawnLOD: Annotated[int, Field(ctypes.c_int32, 0x214)] SnappingDistanceOverride: Annotated[float, Field(ctypes.c_float, 0x218)] StorageContainerIndex: Annotated[int, Field(ctypes.c_int32, 0x21C)] - Style: Annotated[ - c_enum32[enums.cGcBaseBuildingPartStyle], - Field(c_enum32[enums.cGcBaseBuildingPartStyle], 0x220), - ] + Style: Annotated[c_enum32[enums.cGcBaseBuildingPartStyle], 0x220] BuildableAboveWater: Annotated[bool, Field(ctypes.c_bool, 0x224)] BuildableInShipDecorative: Annotated[bool, Field(ctypes.c_bool, 0x225)] BuildableInShipStructural: Annotated[bool, Field(ctypes.c_bool, 0x226)] @@ -21870,22 +18261,16 @@ class eBaseTerrainEditShapeEnum(IntEnum): @partial_struct class cTkAttachmentData(Structure): - AdditionalData: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] - Components: Annotated[ - basic.cTkDynamicArray[basic.LinkableNMSTemplate], - Field(basic.cTkDynamicArray[basic.LinkableNMSTemplate], 0x10), - ] - LodDistances: Annotated[float, Field(ctypes.c_float, 0x20)] + AdditionalData: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] + Components: Annotated[basic.cTkDynamicArray[basic.LinkableNMSTemplate], 0x10] + LodDistances: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x20)] @partial_struct class cTkSpeedLineData(Structure): - ColourEnd: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - ColourOrigin: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - Material: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + ColourEnd: Annotated[basic.Colour, 0x0] + ColourOrigin: Annotated[basic.Colour, 0x10] + Material: Annotated[basic.VariableSizeString, 0x20] Alpha: Annotated[float, Field(ctypes.c_float, 0x30)] FadeTime: Annotated[float, Field(ctypes.c_float, 0x34)] Length: Annotated[float, Field(ctypes.c_float, 0x38)] @@ -21895,9 +18280,7 @@ class eLinesPositionEnum(IntEnum): Absolute = 0x0 Relative = 0x1 - LinesPosition: Annotated[ - c_enum32[eLinesPositionEnum], Field(c_enum32[eLinesPositionEnum], 0x40) - ] + LinesPosition: Annotated[c_enum32[eLinesPositionEnum], 0x40] MaxVisibleSpeed: Annotated[float, Field(ctypes.c_float, 0x44)] MinVisibleSpeed: Annotated[float, Field(ctypes.c_float, 0x48)] NumberOfParticles: Annotated[int, Field(ctypes.c_int32, 0x4C)] @@ -21920,7 +18303,7 @@ class cTkTrailData(Structure): @partial_struct class cAxisSpecification(Structure): - CustomAxis: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] + CustomAxis: Annotated[basic.Vector3f, 0x0] class eAxisEnum(IntEnum): X = 0x0 @@ -21931,7 +18314,7 @@ class eAxisEnum(IntEnum): NegativeZ = 0x5 CustomAxis = 0x6 - Axis: Annotated[c_enum32[eAxisEnum], Field(c_enum32[eAxisEnum], 0x10)] + Axis: Annotated[c_enum32[eAxisEnum], 0x10] @partial_struct @@ -21941,42 +18324,36 @@ class cDirectMesh(Structure): NumSimPointsI: Annotated[int, Field(ctypes.c_int32, 0x8)] NumSimPointsJ: Annotated[int, Field(ctypes.c_int32, 0xC)] VertexOrdering: Annotated[int, Field(ctypes.c_int32, 0x10)] - NodeName: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x14)] + NodeName: Annotated[basic.cTkFixedString0x40, 0x14] RenderVertexBasedCloth: Annotated[bool, Field(ctypes.c_bool, 0x54)] @partial_struct class cMappedMesh(Structure): - NodeName: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x0)] + NodeName: Annotated[basic.cTkFixedString0x40, 0x0] @partial_struct class cShapePoint(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Uv: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x10)] + Position: Annotated[basic.Vector3f, 0x0] + Uv: Annotated[basic.Vector2f, 0x10] @partial_struct class cMappingInfluence(Structure): - mTransformInClothT_Axis0: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - mTransformInClothT_Axis1: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - mTransformInClothT_Axis2: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - mTransformInClothT_Pos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] + mTransformInClothT_Axis0: Annotated[basic.Vector3f, 0x0] + mTransformInClothT_Axis1: Annotated[basic.Vector3f, 0x10] + mTransformInClothT_Axis2: Annotated[basic.Vector3f, 0x20] + mTransformInClothT_Pos: Annotated[basic.Vector3f, 0x30] DistanceSquared: Annotated[float, Field(ctypes.c_float, 0x40)] SimP: Annotated[int, Field(ctypes.c_int32, 0x44)] @partial_struct class cTkVoxelGeneratorRegionData(Structure): - FlattenTerrainPoints: Annotated[ - basic.cTkDynamicArray[cTkNoiseFlattenPoint], - Field(basic.cTkDynamicArray[cTkNoiseFlattenPoint], 0x0), - ] - FlattenTypeChances: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x10), - ] - ShelterIndices: Annotated[int, Field(ctypes.c_int32, 0x20)] + FlattenTerrainPoints: Annotated[basic.cTkDynamicArray[cTkNoiseFlattenPoint], 0x0] + FlattenTypeChances: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x10] + ShelterIndices: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 3, 0x20)] AddShelterChance: Annotated[float, Field(ctypes.c_float, 0x2C)] LandingPadIndex: Annotated[int, Field(ctypes.c_int32, 0x30)] NumShelters: Annotated[int, Field(ctypes.c_int32, 0x34)] @@ -21989,14 +18366,11 @@ class cTkVoxelGeneratorRegionData(Structure): @partial_struct class cTkNoiseUberLayerData(Structure): - NoiseData: Annotated[cTkNoiseUberData, Field(cTkNoiseUberData, 0x0)] + NoiseData: Annotated[cTkNoiseUberData, 0x0] Height: Annotated[float, Field(ctypes.c_float, 0x40)] HeightOffset: Annotated[float, Field(ctypes.c_float, 0x44)] MaximumLOD: Annotated[int, Field(ctypes.c_int32, 0x48)] - Offset: Annotated[ - c_enum32[enums.cTkNoiseOffsetEnum], - Field(c_enum32[enums.cTkNoiseOffsetEnum], 0x4C), - ] + Offset: Annotated[c_enum32[enums.cTkNoiseOffsetEnum], 0x4C] PlateauRegionSize: Annotated[float, Field(ctypes.c_float, 0x50)] PlateauSharpness: Annotated[int, Field(ctypes.c_int32, 0x54)] PlateauStratas: Annotated[float, Field(ctypes.c_float, 0x58)] @@ -22006,19 +18380,14 @@ class cTkNoiseUberLayerData(Structure): SeedOffset: Annotated[int, Field(ctypes.c_int32, 0x68)] SmoothRadius: Annotated[float, Field(ctypes.c_float, 0x6C)] TileBlendMeters: Annotated[float, Field(ctypes.c_float, 0x70)] - VoxelType: Annotated[ - c_enum32[enums.cTkNoiseVoxelTypeEnum], - Field(c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x74), - ] + VoxelType: Annotated[c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x74] class eWaterFadeEnum(IntEnum): None_ = 0x0 Above = 0x1 Below = 0x2 - WaterFade: Annotated[ - c_enum32[eWaterFadeEnum], Field(c_enum32[eWaterFadeEnum], 0x78) - ] + WaterFade: Annotated[c_enum32[eWaterFadeEnum], 0x78] Width: Annotated[float, Field(ctypes.c_float, 0x7C)] Active: Annotated[bool, Field(ctypes.c_bool, 0x80)] Subtract: Annotated[bool, Field(ctypes.c_bool, 0x81)] @@ -22026,19 +18395,11 @@ class eWaterFadeEnum(IntEnum): @partial_struct class cTkNoiseGridData(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - TurbulenceNoiseLayer: Annotated[ - cTkNoiseUberLayerData, Field(cTkNoiseUberLayerData, 0x10) - ] - SuperPrimitive: Annotated[ - cTkNoiseSuperPrimitiveData, Field(cTkNoiseSuperPrimitiveData, 0x94) - ] - SuperFormula1: Annotated[ - cTkNoiseSuperFormulaData, Field(cTkNoiseSuperFormulaData, 0xB0) - ] - SuperFormula2: Annotated[ - cTkNoiseSuperFormulaData, Field(cTkNoiseSuperFormulaData, 0xC0) - ] + Filename: Annotated[basic.VariableSizeString, 0x0] + TurbulenceNoiseLayer: Annotated[cTkNoiseUberLayerData, 0x10] + SuperPrimitive: Annotated[cTkNoiseSuperPrimitiveData, 0x94] + SuperFormula1: Annotated[cTkNoiseSuperFormulaData, 0xB0] + SuperFormula2: Annotated[cTkNoiseSuperFormulaData, 0xC0] HeightOffset: Annotated[float, Field(ctypes.c_float, 0xD0)] MaxHeight: Annotated[float, Field(ctypes.c_float, 0xD4)] MaxHeightOffset: Annotated[float, Field(ctypes.c_float, 0xD8)] @@ -22072,13 +18433,8 @@ class eNoiseGridTypeEnum(IntEnum): SuperPrimitive = 0x14 File = 0x15 - NoiseGridType: Annotated[ - c_enum32[eNoiseGridTypeEnum], Field(c_enum32[eNoiseGridTypeEnum], 0xF0) - ] - Offset: Annotated[ - c_enum32[enums.cTkNoiseOffsetEnum], - Field(c_enum32[enums.cTkNoiseOffsetEnum], 0xF4), - ] + NoiseGridType: Annotated[c_enum32[eNoiseGridTypeEnum], 0xF0] + Offset: Annotated[c_enum32[enums.cTkNoiseOffsetEnum], 0xF4] Pitch: Annotated[float, Field(ctypes.c_float, 0xF8)] RandomPrimitive: Annotated[float, Field(ctypes.c_float, 0xFC)] RegionRatio: Annotated[float, Field(ctypes.c_float, 0x100)] @@ -22090,10 +18446,7 @@ class eNoiseGridTypeEnum(IntEnum): VaryPitch: Annotated[float, Field(ctypes.c_float, 0x118)] VaryRoll: Annotated[float, Field(ctypes.c_float, 0x11C)] VaryYaw: Annotated[float, Field(ctypes.c_float, 0x120)] - VoxelType: Annotated[ - c_enum32[enums.cTkNoiseVoxelTypeEnum], - Field(c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x124), - ] + VoxelType: Annotated[c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x124] Yaw: Annotated[float, Field(ctypes.c_float, 0x128)] Active: Annotated[bool, Field(ctypes.c_bool, 0x12C)] Hemisphere: Annotated[bool, Field(ctypes.c_bool, 0x12D)] @@ -22103,30 +18456,16 @@ class eNoiseGridTypeEnum(IntEnum): @partial_struct class cTkVirtualBinding(Structure): - CustomLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - AltHudLayerIDs: Annotated[ - basic.cTkDynamicArray[cTkVirtualBindingAltLayer], - Field(basic.cTkDynamicArray[cTkVirtualBindingAltLayer], 0x20), - ] - HudLayerID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + CustomLocID: Annotated[basic.cTkFixedString0x20, 0x0] + AltHudLayerIDs: Annotated[basic.cTkDynamicArray[cTkVirtualBindingAltLayer], 0x20] + HudLayerID: Annotated[basic.TkID0x10, 0x30] TogglableActions: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], 0x40), - ] - BottomAction: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x50) - ] - LeftAction: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x54) - ] - RightAction: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x58) - ] - TopAction: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x5C) + basic.cTkDynamicArray[c_enum32[enums.cGcInputActions]], 0x40 ] + BottomAction: Annotated[c_enum32[enums.cGcInputActions], 0x50] + LeftAction: Annotated[c_enum32[enums.cGcInputActions], 0x54] + RightAction: Annotated[c_enum32[enums.cGcInputActions], 0x58] + TopAction: Annotated[c_enum32[enums.cGcInputActions], 0x5C] Active: Annotated[bool, Field(ctypes.c_bool, 0x60)] DefaultActive: Annotated[bool, Field(ctypes.c_bool, 0x61)] DirectionalActions: Annotated[bool, Field(ctypes.c_bool, 0x62)] @@ -22135,161 +18474,99 @@ class cTkVirtualBinding(Structure): @partial_struct class cTkButtonPathMapping(Structure): - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - OverlayIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - SolidIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - SpecialIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - Hand: Annotated[ - c_enum32[enums.cTkInputHandEnum], Field(c_enum32[enums.cTkInputHandEnum], 0x50) - ] - Id: Annotated[ - c_enum32[enums.cTkInputEnum], Field(c_enum32[enums.cTkInputEnum], 0x54) - ] - OpenVROriginNames: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x58) - ] + Name: Annotated[basic.cTkFixedString0x20, 0x0] + OverlayIcon: Annotated[basic.VariableSizeString, 0x20] + SolidIcon: Annotated[basic.VariableSizeString, 0x30] + SpecialIcon: Annotated[basic.VariableSizeString, 0x40] + Hand: Annotated[c_enum32[enums.cTkInputHandEnum], 0x50] + Id: Annotated[c_enum32[enums.cTkInputEnum], 0x54] + OpenVROriginNames: Annotated[basic.cTkFixedString0x20, 0x58] @partial_struct class cTkButtonImageLookup(Structure): - Lookup: Annotated[ - basic.cTkDynamicArray[cTkButtonPathMapping], - Field(basic.cTkDynamicArray[cTkButtonPathMapping], 0x0), - ] + Lookup: Annotated[basic.cTkDynamicArray[cTkButtonPathMapping], 0x0] @partial_struct class cTkChordPathMapping(Structure): - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - ButtonIds: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cTkInputEnum]], - Field(basic.cTkDynamicArray[c_enum32[enums.cTkInputEnum]], 0x20), - ] - OverlayIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - SolidIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - SpecialIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - TextTag: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] + Name: Annotated[basic.cTkFixedString0x20, 0x0] + ButtonIds: Annotated[basic.cTkDynamicArray[c_enum32[enums.cTkInputEnum]], 0x20] + OverlayIcon: Annotated[basic.VariableSizeString, 0x30] + SolidIcon: Annotated[basic.VariableSizeString, 0x40] + SpecialIcon: Annotated[basic.VariableSizeString, 0x50] + TextTag: Annotated[basic.TkID0x10, 0x60] @partial_struct class cTkChordsImageLookup(Structure): - Lookup: Annotated[ - basic.cTkDynamicArray[cTkChordPathMapping], - Field(basic.cTkDynamicArray[cTkChordPathMapping], 0x0), - ] + Lookup: Annotated[basic.cTkDynamicArray[cTkChordPathMapping], 0x0] @partial_struct class cTkActionButtonMap(Structure): - ActionId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Platforms: Annotated[ - basic.cTkDynamicArray[cTkPlatformButtonPair], - Field(basic.cTkDynamicArray[cTkPlatformButtonPair], 0x10), - ] - PadButtonId: Annotated[ - c_enum32[enums.cTkInputEnum], Field(c_enum32[enums.cTkInputEnum], 0x20) - ] + ActionId: Annotated[basic.TkID0x10, 0x0] + Platforms: Annotated[basic.cTkDynamicArray[cTkPlatformButtonPair], 0x10] + PadButtonId: Annotated[c_enum32[enums.cTkInputEnum], 0x20] ScaleToFitFont: Annotated[bool, Field(ctypes.c_bool, 0x24)] @partial_struct class cTkActionButtonLookup(Structure): - Lookup: Annotated[ - basic.cTkDynamicArray[cTkActionButtonMap], - Field(basic.cTkDynamicArray[cTkActionButtonMap], 0x0), - ] + Lookup: Annotated[basic.cTkDynamicArray[cTkActionButtonMap], 0x0] @partial_struct class cTkAxisPathMapping(Structure): - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - OverlayIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - SolidIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - SpecialIcon: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - Hand: Annotated[ - c_enum32[enums.cTkInputHandEnum], Field(c_enum32[enums.cTkInputHandEnum], 0x50) - ] - Id: Annotated[ - c_enum32[enums.cTkInputAxisEnum], Field(c_enum32[enums.cTkInputAxisEnum], 0x54) - ] - OpenVROriginNames: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x58) - ] + Name: Annotated[basic.cTkFixedString0x20, 0x0] + OverlayIcon: Annotated[basic.VariableSizeString, 0x20] + SolidIcon: Annotated[basic.VariableSizeString, 0x30] + SpecialIcon: Annotated[basic.VariableSizeString, 0x40] + Hand: Annotated[c_enum32[enums.cTkInputHandEnum], 0x50] + Id: Annotated[c_enum32[enums.cTkInputAxisEnum], 0x54] + OpenVROriginNames: Annotated[basic.cTkFixedString0x20, 0x58] @partial_struct class cTkAxisImageLookup(Structure): - Lookup: Annotated[ - basic.cTkDynamicArray[cTkAxisPathMapping], - Field(basic.cTkDynamicArray[cTkAxisPathMapping], 0x0), - ] + Lookup: Annotated[basic.cTkDynamicArray[cTkAxisPathMapping], 0x0] @partial_struct class cTkTestMetadata(Structure): - DocOptionalVector: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - TestColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - TestVector: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - TestVector4: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x30)] - TestClass: Annotated[cTkTrophyEntry, Field(cTkTrophyEntry, 0x40)] + DocOptionalVector: Annotated[basic.Vector3f, 0x0] + TestColour: Annotated[basic.Colour, 0x10] + TestVector: Annotated[basic.Vector3f, 0x20] + TestVector4: Annotated[basic.Vector4f, 0x30] + TestClass: Annotated[cTkTrophyEntry, 0x40] TestExternalBitfieldEnumArray: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xB8) - ] - TestHashMap: Annotated[cTkLocalisationEntry, Field(cTkLocalisationEntry, 0xF8)] - DocOptionalRenamed: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x128) - ] - TestID256: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x148)] - TestLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x168) - ] - TestHashedString: Annotated[basic.HashedString, Field(basic.HashedString, 0x188)] - TestClassPointer: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x1A0)] - TestDynamicArray: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x1B0), - ] - TestDynamicString: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x1C0) - ] - TestID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1D0)] - TestIDLookup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1E0)] + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 4, 0xB8) + ] + TestHashMap: Annotated[cTkLocalisationEntry, 0xF8] + DocOptionalRenamed: Annotated[basic.cTkFixedString0x20, 0x128] + TestID256: Annotated[basic.TkID0x20, 0x148] + TestLocID: Annotated[basic.cTkFixedString0x20, 0x168] + TestHashedString: Annotated[basic.HashedString, 0x188] + TestClassPointer: Annotated[basic.NMSTemplate, 0x1A0] + TestDynamicArray: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x1B0] + TestDynamicString: Annotated[basic.VariableSizeString, 0x1C0] + TestID: Annotated[basic.TkID0x10, 0x1D0] + TestIDLookup: Annotated[basic.TkID0x10, 0x1E0] TestLinkableClassPointerArray: Annotated[ - basic.cTkDynamicArray[basic.LinkableNMSTemplate], - Field(basic.cTkDynamicArray[basic.LinkableNMSTemplate], 0x1F0), - ] - TestModelFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x200) - ] - TestSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x210)] - TestTextureFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x220) + basic.cTkDynamicArray[basic.LinkableNMSTemplate], 0x1F0 ] + TestModelFilename: Annotated[basic.VariableSizeString, 0x200] + TestSeed: Annotated[basic.GcSeed, 0x210] + TestTextureFilename: Annotated[basic.VariableSizeString, 0x220] TestInt64: Annotated[int, Field(ctypes.c_int64, 0x230)] TestUInt64: Annotated[int, Field(ctypes.c_uint64, 0x238)] TestUniqueId: Annotated[int, Field(ctypes.c_uint64, 0x240)] - TestStaticArray: Annotated[float, Field(ctypes.c_float, 0x248)] - TestExternalEnumArray: Annotated[float, Field(ctypes.c_float, 0x270)] - TestEnumArray: Annotated[float, Field(ctypes.c_float, 0x284)] - TestVector2: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x294)] + TestStaticArray: Annotated[tuple[float, ...], Field(ctypes.c_float * 10, 0x248)] + TestExternalEnumArray: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 5, 0x270) + ] + TestEnumArray: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x284)] + TestVector2: Annotated[basic.Vector2f, 0x294] class eDocOptionalEnumEnum(IntEnum): SomeValue1 = 0x0 @@ -22297,13 +18574,8 @@ class eDocOptionalEnumEnum(IntEnum): SomeValue3 = 0x2 SomeValue4 = 0x3 - DocOptionalEnum: Annotated[ - c_enum32[eDocOptionalEnumEnum], Field(c_enum32[eDocOptionalEnumEnum], 0x29C) - ] - TestAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x2A0), - ] + DocOptionalEnum: Annotated[c_enum32[eDocOptionalEnumEnum], 0x29C] + TestAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x2A0] class eTestEnumEnum(IntEnum): Default = 0x0 @@ -22311,7 +18583,7 @@ class eTestEnumEnum(IntEnum): Option2 = 0x2 Option3 = 0x3 - TestEnum: Annotated[c_enum32[eTestEnumEnum], Field(c_enum32[eTestEnumEnum], 0x2A4)] + TestEnum: Annotated[c_enum32[eTestEnumEnum], 0x2A4] class eTestEnumClassEnum(IntEnum): Default = 0x0 @@ -22319,9 +18591,7 @@ class eTestEnumClassEnum(IntEnum): Option2 = 0x2 Option3 = 0x3 - TestEnumClass: Annotated[ - c_enum32[eTestEnumClassEnum], Field(c_enum32[eTestEnumClassEnum], 0x2A8) - ] + TestEnumClass: Annotated[c_enum32[eTestEnumClassEnum], 0x2A8] class eTestEnumUInt32BitFieldEnum(IntEnum): empty = 0x0 @@ -22329,13 +18599,8 @@ class eTestEnumUInt32BitFieldEnum(IntEnum): Enum2 = 0x2 Enum3 = 0x4 - TestEnumUInt32BitField: Annotated[ - c_enum32[eTestEnumUInt32BitFieldEnum], - Field(c_enum32[eTestEnumUInt32BitFieldEnum], 0x2AC), - ] - TestExternalEnum: Annotated[ - c_enum32[enums.cTkLanguages], Field(c_enum32[enums.cTkLanguages], 0x2B0) - ] + TestEnumUInt32BitField: Annotated[c_enum32[eTestEnumUInt32BitFieldEnum], 0x2AC] + TestExternalEnum: Annotated[c_enum32[enums.cTkLanguages], 0x2B0] class eTestFlagsEnum(IntEnum): empty = 0x0 @@ -22343,9 +18608,7 @@ class eTestFlagsEnum(IntEnum): Flag2 = 0x2 Flag3 = 0x4 - TestFlags: Annotated[ - c_enum32[eTestFlagsEnum], Field(c_enum32[eTestFlagsEnum], 0x2B4) - ] + TestFlags: Annotated[c_enum32[eTestFlagsEnum], 0x2B4] TestFloat: Annotated[float, Field(ctypes.c_float, 0x2B8)] class eTestInlineEnumEnum(IntEnum): @@ -22353,40 +18616,22 @@ class eTestInlineEnumEnum(IntEnum): NotDefault = 0x1 Other = 0x2 - TestInlineEnum: Annotated[ - c_enum32[eTestInlineEnumEnum], Field(c_enum32[eTestInlineEnumEnum], 0x2BC) - ] + TestInlineEnum: Annotated[c_enum32[eTestInlineEnumEnum], 0x2BC] TestInt: Annotated[int, Field(ctypes.c_int32, 0x2C0)] - TestNodeHandle: Annotated[basic.GcNodeID, Field(basic.GcNodeID, 0x2C4)] - TestResource: Annotated[basic.GcResource, Field(basic.GcResource, 0x2C8)] + TestNodeHandle: Annotated[basic.GcNodeID, 0x2C4] + TestResource: Annotated[basic.GcResource, 0x2C8] TestUInt32: Annotated[int, Field(ctypes.c_uint32, 0x2CC)] TestInt16: Annotated[int, Field(ctypes.c_int16, 0x2D0)] TestUInt16: Annotated[int, Field(ctypes.c_uint16, 0x2D2)] - TestString2048: Annotated[ - basic.cTkFixedString0x800, Field(basic.cTkFixedString0x800, 0x2D4) - ] - TestString1024: Annotated[ - basic.cTkFixedString0x400, Field(basic.cTkFixedString0x400, 0xAD4) - ] - TestString512: Annotated[ - basic.cTkFixedString0x200, Field(basic.cTkFixedString0x200, 0xED4) - ] - TestString256: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x10D4) - ] - TestString128: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x11D4) - ] - DocRenamedString64: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1254) - ] - TestString64: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1294) - ] - TestString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x12D4) - ] - TestColour32: Annotated[basic.Colour32, Field(basic.Colour32, 0x12F4)] + TestString2048: Annotated[basic.cTkFixedString0x800, 0x2D4] + TestString1024: Annotated[basic.cTkFixedString0x400, 0xAD4] + TestString512: Annotated[basic.cTkFixedString0x200, 0xED4] + TestString256: Annotated[basic.cTkFixedString0x100, 0x10D4] + TestString128: Annotated[basic.cTkFixedString0x80, 0x11D4] + DocRenamedString64: Annotated[basic.cTkFixedString0x40, 0x1254] + TestString64: Annotated[basic.cTkFixedString0x40, 0x1294] + TestString: Annotated[basic.cTkFixedString0x20, 0x12D4] + TestColour32: Annotated[basic.Colour32, 0x12F4] TestBool: Annotated[bool, Field(ctypes.c_bool, 0x12F8)] TestByte: Annotated[bytes, Field(ctypes.c_byte, 0x12F9)] @@ -22395,52 +18640,36 @@ class eTestEnumUInt8Enum(IntEnum): Enum2 = 0x1 Enum3 = 0x2 - TestEnumUInt8: Annotated[ - c_enum32[eTestEnumUInt8Enum], Field(c_enum32[eTestEnumUInt8Enum], 0x12FA) - ] + TestEnumUInt8: Annotated[c_enum32[eTestEnumUInt8Enum], 0x12FA] TestInt8: Annotated[int, Field(ctypes.c_int8, 0x12FB)] @partial_struct class cTkReplacementResource(Structure): - Original: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] - Replacement: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x18)] + Original: Annotated[cTkTextureResource, 0x0] + Replacement: Annotated[cTkTextureResource, 0x18] @partial_struct class cTkInputFrameArray(Structure): - Array: Annotated[cTkInputFrame, Field(cTkInputFrame, 0x0)] + Array: Annotated[tuple[cTkInputFrame, ...], Field(cTkInputFrame * 20000, 0x0)] @partial_struct class cTkMaterialMetaData(Structure): - WaveOneAmplitude: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - WaveOneFallOff: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - WaveOneFrequency: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - WaveTwoAmplitude: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - WaveTwoFallOff: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x40)] - WaveTwoFrequency: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x50)] - ShaderMillData: Annotated[ - cTkMaterialShaderMillData, Field(cTkMaterialShaderMillData, 0x60) - ] - DetailNormal: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x2F8) - ] - ExternalMaterial: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x308) - ] - ForceDiffuse: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x318) - ] - ForceFeature: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x328) - ] - ForceMask: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x338) - ] - ForceNormal: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x348) - ] + WaveOneAmplitude: Annotated[basic.Vector3f, 0x0] + WaveOneFallOff: Annotated[basic.Vector3f, 0x10] + WaveOneFrequency: Annotated[basic.Vector3f, 0x20] + WaveTwoAmplitude: Annotated[basic.Vector3f, 0x30] + WaveTwoFallOff: Annotated[basic.Vector3f, 0x40] + WaveTwoFrequency: Annotated[basic.Vector3f, 0x50] + ShaderMillData: Annotated[cTkMaterialShaderMillData, 0x60] + DetailNormal: Annotated[basic.VariableSizeString, 0x2F8] + ExternalMaterial: Annotated[basic.VariableSizeString, 0x308] + ForceDiffuse: Annotated[basic.VariableSizeString, 0x318] + ForceFeature: Annotated[basic.VariableSizeString, 0x328] + ForceMask: Annotated[basic.VariableSizeString, 0x338] + ForceNormal: Annotated[basic.VariableSizeString, 0x348] BillboardSphereFactor: Annotated[float, Field(ctypes.c_float, 0x358)] BranchHSwing: Annotated[float, Field(ctypes.c_float, 0x35C)] BranchTrunkAnim: Annotated[float, Field(ctypes.c_float, 0x360)] @@ -22481,7 +18710,7 @@ class eShaderEnum(IntEnum): Particle = 0x6 ReflectionProbe = 0x7 - Shader: Annotated[c_enum32[eShaderEnum], Field(c_enum32[eShaderEnum], 0x3C4)] + Shader: Annotated[c_enum32[eShaderEnum], 0x3C4] ShadowFactor: Annotated[float, Field(ctypes.c_float, 0x3C8)] ShellsHeight: Annotated[float, Field(ctypes.c_float, 0x3CC)] SoftFadeStrength: Annotated[float, Field(ctypes.c_float, 0x3D0)] @@ -22502,9 +18731,7 @@ class eShaderEnum(IntEnum): UVScrollY: Annotated[float, Field(ctypes.c_float, 0x40C)] WaveOneSpeed: Annotated[float, Field(ctypes.c_float, 0x410)] WaveTwoSpeed: Annotated[float, Field(ctypes.c_float, 0x414)] - MaterialClass: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x418) - ] + MaterialClass: Annotated[basic.cTkFixedString0x20, 0x418] Additive: Annotated[bool, Field(ctypes.c_bool, 0x438)] AlphaCutout: Annotated[bool, Field(ctypes.c_bool, 0x439)] AlwaysOnTopUI: Annotated[bool, Field(ctypes.c_bool, 0x43A)] @@ -22540,9 +18767,7 @@ class eShaderEnum(IntEnum): ImageBasedLighting: Annotated[bool, Field(ctypes.c_bool, 0x458)] Imposter: Annotated[bool, Field(ctypes.c_bool, 0x459)] InvertAlpha: Annotated[bool, Field(ctypes.c_bool, 0x45A)] - LightLayers: Annotated[ - c_enum32[enums.cTkLightLayer], Field(c_enum32[enums.cTkLightLayer], 0x45B) - ] + LightLayers: Annotated[c_enum32[enums.cTkLightLayer], 0x45B] MatchGroundColour: Annotated[bool, Field(ctypes.c_bool, 0x45C)] MergedMeshBillboard: Annotated[bool, Field(ctypes.c_bool, 0x45D)] Metallic: Annotated[bool, Field(ctypes.c_bool, 0x45E)] @@ -22584,41 +18809,32 @@ class cTkEmitterWindDrift(Structure): CurveStartValue: Annotated[float, Field(ctypes.c_float, 0xC)] Speed: Annotated[float, Field(ctypes.c_float, 0x10)] Strength: Annotated[float, Field(ctypes.c_float, 0x14)] - Curve1Shape: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x18) - ] - Curve2Shape: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x19) - ] + Curve1Shape: Annotated[c_enum32[enums.cTkCurveType], 0x18] + Curve2Shape: Annotated[c_enum32[enums.cTkCurveType], 0x19] LimitEmitterLifetime: Annotated[bool, Field(ctypes.c_bool, 0x1A)] LimitEmitterSpeed: Annotated[bool, Field(ctypes.c_bool, 0x1B)] @partial_struct class cTkProceduralTextureLayer(Structure): - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - LinkedLayer: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Textures: Annotated[ - basic.cTkDynamicArray[cTkProceduralTexture], - Field(basic.cTkDynamicArray[cTkProceduralTexture], 0x30), - ] + Group: Annotated[basic.TkID0x10, 0x0] + LinkedLayer: Annotated[basic.TkID0x10, 0x10] + Name: Annotated[basic.TkID0x10, 0x20] + Textures: Annotated[basic.cTkDynamicArray[cTkProceduralTexture], 0x30] Probability: Annotated[float, Field(ctypes.c_float, 0x40)] SelectToMatchBase: Annotated[bool, Field(ctypes.c_bool, 0x44)] @partial_struct class cTkEmitterFloatProperty(Structure): - NextStage: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x0)] + NextStage: Annotated[basic.NMSTemplate, 0x0] class eAuthoringEnum(IntEnum): FixedValue = 0x0 RandomRangeFloat = 0x1 Curves = 0x2 - Authoring: Annotated[ - c_enum32[eAuthoringEnum], Field(c_enum32[eAuthoringEnum], 0x10) - ] + Authoring: Annotated[c_enum32[eAuthoringEnum], 0x10] CurveBlendMidpoint: Annotated[float, Field(ctypes.c_float, 0x14)] CurveEndValue: Annotated[float, Field(ctypes.c_float, 0x18)] CurveMidValue: Annotated[float, Field(ctypes.c_float, 0x1C)] @@ -22627,44 +18843,38 @@ class eAuthoringEnum(IntEnum): FixedValue: Annotated[float, Field(ctypes.c_float, 0x28)] MaxRandomValue: Annotated[float, Field(ctypes.c_float, 0x2C)] MinRandomValue: Annotated[float, Field(ctypes.c_float, 0x30)] - Curve1Shape: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x34) - ] - Curve2Shape: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x35) - ] + Curve1Shape: Annotated[c_enum32[enums.cTkCurveType], 0x34] + Curve2Shape: Annotated[c_enum32[enums.cTkCurveType], 0x35] @partial_struct class cTkEmitterRotation(Structure): - RotationAxis: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Rotation: Annotated[cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x10)] + RotationAxis: Annotated[basic.Vector3f, 0x0] + Rotation: Annotated[cTkEmitterFloatProperty, 0x10] class eAlignmentAxisEnum(IntEnum): Rotation = 0x0 Velocity = 0x1 VelocityScreenSpace = 0x2 - AlignmentAxis: Annotated[ - c_enum32[eAlignmentAxisEnum], Field(c_enum32[eAlignmentAxisEnum], 0x48) - ] + AlignmentAxis: Annotated[c_enum32[eAlignmentAxisEnum], 0x48] StartRotationVariation: Annotated[float, Field(ctypes.c_float, 0x4C)] @partial_struct class cTkProceduralTextureChosenOption(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - OptionName: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x10)] - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - Layer: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Palette: Annotated[cTkPaletteTexture, Field(cTkPaletteTexture, 0x50)] + Colour: Annotated[basic.Colour, 0x0] + OptionName: Annotated[basic.TkID0x20, 0x10] + Group: Annotated[basic.TkID0x10, 0x30] + Layer: Annotated[basic.TkID0x10, 0x40] + Palette: Annotated[cTkPaletteTexture, 0x50] OverrideColour: Annotated[bool, Field(ctypes.c_bool, 0x5C)] @partial_struct class cTkModelRendererCameraData(Structure): - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Wander: Annotated[cTkCameraWanderData, Field(cTkCameraWanderData, 0x10)] + Offset: Annotated[basic.Vector3f, 0x0] + Wander: Annotated[cTkCameraWanderData, 0x10] Distance: Annotated[float, Field(ctypes.c_float, 0x1C)] LightPitch: Annotated[float, Field(ctypes.c_float, 0x20)] LightRotate: Annotated[float, Field(ctypes.c_float, 0x24)] @@ -22675,12 +18885,10 @@ class cTkModelRendererCameraData(Structure): @partial_struct class cTkModelRendererData(Structure): - Camera: Annotated[ - cTkModelRendererCameraData, Field(cTkModelRendererCameraData, 0x0) - ] - FocusOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x40)] - FocusLocator: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x50)] - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] + Camera: Annotated[cTkModelRendererCameraData, 0x0] + FocusOffset: Annotated[basic.Vector3f, 0x40] + FocusLocator: Annotated[basic.TkID0x20, 0x50] + Anim: Annotated[basic.TkID0x10, 0x70] AspectRatio: Annotated[float, Field(ctypes.c_float, 0x80)] BlendInOffset: Annotated[float, Field(ctypes.c_float, 0x84)] BlendInTime: Annotated[float, Field(ctypes.c_float, 0x88)] @@ -22692,9 +18900,7 @@ class eFocusTypeEnum(IntEnum): NodeBoundingBox = 0x2 DiscoveryView = 0x3 - FocusType: Annotated[ - c_enum32[eFocusTypeEnum], Field(c_enum32[eFocusTypeEnum], 0x90) - ] + FocusType: Annotated[c_enum32[eFocusTypeEnum], 0x90] Fov: Annotated[float, Field(ctypes.c_float, 0x94)] HeightOffset: Annotated[float, Field(ctypes.c_float, 0x98)] LightIntensityMultiplier: Annotated[float, Field(ctypes.c_float, 0x9C)] @@ -22704,9 +18910,7 @@ class eThumbnailModeEnum(IntEnum): HUD = 0x1 GUI = 0x2 - ThumbnailMode: Annotated[ - c_enum32[eThumbnailModeEnum], Field(c_enum32[eThumbnailModeEnum], 0xA0) - ] + ThumbnailMode: Annotated[c_enum32[eThumbnailModeEnum], 0xA0] AlignUIToCameraInHmd: Annotated[bool, Field(ctypes.c_bool, 0xA4)] FlipRotationIfNecessary: Annotated[bool, Field(ctypes.c_bool, 0xA5)] LookForFocusInMasterModel: Annotated[bool, Field(ctypes.c_bool, 0xA6)] @@ -22718,9 +18922,9 @@ class eThumbnailModeEnum(IntEnum): @partial_struct class cTkModelResourceCameraData(Structure): - CameraData: Annotated[cTkCameraData, Field(cTkCameraData, 0x0)] - FocusLocator: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x30)] - Wander: Annotated[cTkCameraWanderData, Field(cTkCameraWanderData, 0x50)] + CameraData: Annotated[cTkCameraData, 0x0] + FocusLocator: Annotated[basic.TkID0x20, 0x30] + Wander: Annotated[cTkCameraWanderData, 0x50] FocusInterpTime: Annotated[float, Field(ctypes.c_float, 0x5C)] class eResourceFocusTypeEnum(IntEnum): @@ -22729,19 +18933,15 @@ class eResourceFocusTypeEnum(IntEnum): NodeBoundingBox = 0x2 World = 0x3 - ResourceFocusType: Annotated[ - c_enum32[eResourceFocusTypeEnum], Field(c_enum32[eResourceFocusTypeEnum], 0x60) - ] + ResourceFocusType: Annotated[c_enum32[eResourceFocusTypeEnum], 0x60] UseWorldUp: Annotated[bool, Field(ctypes.c_bool, 0x64)] @partial_struct class cTkModelResourceData(Structure): - Camera: Annotated[ - cTkModelResourceCameraData, Field(cTkModelResourceCameraData, 0x0) - ] - Anim: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x70)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] + Camera: Annotated[cTkModelResourceCameraData, 0x0] + Anim: Annotated[basic.TkID0x20, 0x70] + Id: Annotated[basic.TkID0x10, 0x90] AspectRatio: Annotated[float, Field(ctypes.c_float, 0xA0)] BlendInOffset: Annotated[float, Field(ctypes.c_float, 0xA4)] BlendInTime: Annotated[float, Field(ctypes.c_float, 0xA8)] @@ -22754,18 +18954,15 @@ class eResourceThumbnailModeEnum(IntEnum): HUD = 0x1 GUI = 0x2 - ResourceThumbnailMode: Annotated[ - c_enum32[eResourceThumbnailModeEnum], - Field(c_enum32[eResourceThumbnailModeEnum], 0xB8), - ] + ResourceThumbnailMode: Annotated[c_enum32[eResourceThumbnailModeEnum], 0xB8] CanRotateWithInput: Annotated[bool, Field(ctypes.c_bool, 0xBC)] @partial_struct class cTkVolumeNavMeshBuildParams(Structure): - BoundsMax: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - BoundsMin: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - BaseParams: Annotated[cTkNavMeshBuildParams, Field(cTkNavMeshBuildParams, 0x20)] + BoundsMax: Annotated[basic.Vector3f, 0x0] + BoundsMin: Annotated[basic.Vector3f, 0x10] + BaseParams: Annotated[cTkNavMeshBuildParams, 0x20] CellsPerUnitHeight: Annotated[float, Field(ctypes.c_float, 0x54)] CellsPerUnitWidth: Annotated[float, Field(ctypes.c_float, 0x58)] NumBorderCells: Annotated[int, Field(ctypes.c_int32, 0x5C)] @@ -22774,17 +18971,9 @@ class cTkVolumeNavMeshBuildParams(Structure): @partial_struct class cTkAnimCompactMetadata(Structure): - StillFrameData: Annotated[ - cTkAnimNodeFrameHalfData, Field(cTkAnimNodeFrameHalfData, 0x0) - ] - AnimFrameData: Annotated[ - basic.cTkDynamicArray[cTkAnimNodeFrameHalfData], - Field(basic.cTkDynamicArray[cTkAnimNodeFrameHalfData], 0x30), - ] - NodeData: Annotated[ - basic.cTkDynamicArray[cTkAnimNodeData], - Field(basic.cTkDynamicArray[cTkAnimNodeData], 0x40), - ] + StillFrameData: Annotated[cTkAnimNodeFrameHalfData, 0x0] + AnimFrameData: Annotated[basic.cTkDynamicArray[cTkAnimNodeFrameHalfData], 0x30] + NodeData: Annotated[basic.cTkDynamicArray[cTkAnimNodeData], 0x40] FrameCount: Annotated[int, Field(ctypes.c_int32, 0x50)] NodeCount: Annotated[int, Field(ctypes.c_int32, 0x54)] Has30HzFrames: Annotated[bool, Field(ctypes.c_bool, 0x58)] @@ -22792,15 +18981,9 @@ class cTkAnimCompactMetadata(Structure): @partial_struct class cTkAnimMetadata(Structure): - StillFrameData: Annotated[cTkAnimNodeFrameData, Field(cTkAnimNodeFrameData, 0x0)] - AnimFrameData: Annotated[ - basic.cTkDynamicArray[cTkAnimNodeFrameData], - Field(basic.cTkDynamicArray[cTkAnimNodeFrameData], 0x30), - ] - NodeData: Annotated[ - basic.cTkDynamicArray[cTkAnimNodeData], - Field(basic.cTkDynamicArray[cTkAnimNodeData], 0x40), - ] + StillFrameData: Annotated[cTkAnimNodeFrameData, 0x0] + AnimFrameData: Annotated[basic.cTkDynamicArray[cTkAnimNodeFrameData], 0x30] + NodeData: Annotated[basic.cTkDynamicArray[cTkAnimNodeData], 0x40] FrameCount: Annotated[int, Field(ctypes.c_int32, 0x50)] NodeCount: Annotated[int, Field(ctypes.c_int32, 0x54)] Has30HzFrames: Annotated[bool, Field(ctypes.c_bool, 0x58)] @@ -22808,19 +18991,13 @@ class cTkAnimMetadata(Structure): @partial_struct class cTkNGuiLayoutList(Structure): - Layouts: Annotated[ - basic.cTkDynamicArray[cTkNGuiLayoutListData], - Field(basic.cTkDynamicArray[cTkNGuiLayoutListData], 0x0), - ] + Layouts: Annotated[basic.cTkDynamicArray[cTkNGuiLayoutListData], 0x0] @partial_struct class cTkNGuiLayoutShortcut(Structure): - EditorIcon: Annotated[ - c_enum32[enums.cTkNGuiEditorIcons], - Field(c_enum32[enums.cTkNGuiEditorIcons], 0x0), - ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4)] + EditorIcon: Annotated[c_enum32[enums.cTkNGuiEditorIcons], 0x0] + Name: Annotated[basic.cTkFixedString0x20, 0x4] Available: Annotated[bool, Field(ctypes.c_bool, 0x24)] @@ -22828,10 +19005,7 @@ class cTkNGuiLayoutShortcut(Structure): class cTkNGuiGraphicStyleData(Structure): CornerRadius: Annotated[float, Field(ctypes.c_float, 0x0)] Desaturation: Annotated[float, Field(ctypes.c_float, 0x4)] - EditorIcon: Annotated[ - c_enum32[enums.cTkNGuiEditorIcons], - Field(c_enum32[enums.cTkNGuiEditorIcons], 0x8), - ] + EditorIcon: Annotated[c_enum32[enums.cTkNGuiEditorIcons], 0x8] GradientEndOffset: Annotated[float, Field(ctypes.c_float, 0xC)] GradientStartOffset: Annotated[float, Field(ctypes.c_float, 0x10)] Image: Annotated[int, Field(ctypes.c_int32, 0x14)] @@ -22842,11 +19016,11 @@ class cTkNGuiGraphicStyleData(Structure): StrokeGradientFeather: Annotated[float, Field(ctypes.c_float, 0x28)] StrokeGradientOffset: Annotated[float, Field(ctypes.c_float, 0x2C)] StrokeSize: Annotated[float, Field(ctypes.c_float, 0x30)] - Colour: Annotated[basic.Colour32, Field(basic.Colour32, 0x34)] - GradientColour: Annotated[basic.Colour32, Field(basic.Colour32, 0x38)] - IconColour: Annotated[basic.Colour32, Field(basic.Colour32, 0x3C)] - StrokeColour: Annotated[basic.Colour32, Field(basic.Colour32, 0x40)] - StrokeGradientColour: Annotated[basic.Colour32, Field(basic.Colour32, 0x44)] + Colour: Annotated[basic.Colour32, 0x34] + GradientColour: Annotated[basic.Colour32, 0x38] + IconColour: Annotated[basic.Colour32, 0x3C] + StrokeColour: Annotated[basic.Colour32, 0x40] + StrokeGradientColour: Annotated[basic.Colour32, 0x44] class eGradientEnum(IntEnum): None_ = 0x0 @@ -22856,7 +19030,7 @@ class eGradientEnum(IntEnum): Radial = 0x4 Box = 0x5 - Gradient: Annotated[c_enum32[eGradientEnum], Field(c_enum32[eGradientEnum], 0x48)] + Gradient: Annotated[c_enum32[eGradientEnum], 0x48] GradientOffsetPercent: Annotated[bool, Field(ctypes.c_bool, 0x49)] HasDropShadow: Annotated[bool, Field(ctypes.c_bool, 0x4A)] HasInnerGradient: Annotated[bool, Field(ctypes.c_bool, 0x4B)] @@ -22872,18 +19046,18 @@ class eShapeEnum(IntEnum): BezierWide = 0x6 BezierWideInverted = 0x7 - Shape: Annotated[c_enum32[eShapeEnum], Field(c_enum32[eShapeEnum], 0x4D)] + Shape: Annotated[c_enum32[eShapeEnum], 0x4D] SolidColour: Annotated[bool, Field(ctypes.c_bool, 0x4E)] StrokeGradient: Annotated[bool, Field(ctypes.c_bool, 0x4F)] @partial_struct class cTkNGuiGraphicStyle(Structure): - Active: Annotated[cTkNGuiGraphicStyleData, Field(cTkNGuiGraphicStyleData, 0x0)] - Default: Annotated[cTkNGuiGraphicStyleData, Field(cTkNGuiGraphicStyleData, 0x50)] - Highlight: Annotated[cTkNGuiGraphicStyleData, Field(cTkNGuiGraphicStyleData, 0xA0)] - CustomMaxStart: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xF0)] - CustomMinStart: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xF8)] + Active: Annotated[cTkNGuiGraphicStyleData, 0x0] + Default: Annotated[cTkNGuiGraphicStyleData, 0x50] + Highlight: Annotated[cTkNGuiGraphicStyleData, 0xA0] + CustomMaxStart: Annotated[basic.Vector2f, 0xF0] + CustomMinStart: Annotated[basic.Vector2f, 0xF8] class eAnimateEnum(IntEnum): None_ = 0x0 @@ -22893,18 +19067,14 @@ class eAnimateEnum(IntEnum): CustomWipe = 0x4 CustomWipeAlpha = 0x5 - Animate: Annotated[c_enum32[eAnimateEnum], Field(c_enum32[eAnimateEnum], 0x100)] + Animate: Annotated[c_enum32[eAnimateEnum], 0x100] AnimSplit: Annotated[float, Field(ctypes.c_float, 0x104)] AnimTime: Annotated[float, Field(ctypes.c_float, 0x108)] GlobalFade: Annotated[float, Field(ctypes.c_float, 0x10C)] HighlightScale: Annotated[float, Field(ctypes.c_float, 0x110)] HighlightTime: Annotated[float, Field(ctypes.c_float, 0x114)] - AnimCurve1: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x118) - ] - AnimCurve2: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x119) - ] + AnimCurve1: Annotated[c_enum32[enums.cTkCurveType], 0x118] + AnimCurve2: Annotated[c_enum32[enums.cTkCurveType], 0x119] AutoAdjustToChildrenHeight: Annotated[bool, Field(ctypes.c_bool, 0x11A)] AutoAdjustToChildrenWidth: Annotated[bool, Field(ctypes.c_bool, 0x11B)] DistributeChildrenHeight: Annotated[bool, Field(ctypes.c_bool, 0x11C)] @@ -22920,10 +19090,10 @@ class cTkNGuiTextStyleData(Structure): FontIndex: Annotated[int, Field(ctypes.c_int32, 0xC)] FontSpacing: Annotated[float, Field(ctypes.c_float, 0x10)] OutlineSize: Annotated[float, Field(ctypes.c_float, 0x14)] - Colour: Annotated[basic.Colour32, Field(basic.Colour32, 0x18)] - OutlineColour: Annotated[basic.Colour32, Field(basic.Colour32, 0x1C)] - ShadowColour: Annotated[basic.Colour32, Field(basic.Colour32, 0x20)] - Align: Annotated[cTkNGuiAlignment, Field(cTkNGuiAlignment, 0x24)] + Colour: Annotated[basic.Colour32, 0x18] + OutlineColour: Annotated[basic.Colour32, 0x1C] + ShadowColour: Annotated[basic.Colour32, 0x20] + Align: Annotated[cTkNGuiAlignment, 0x24] AllowScroll: Annotated[bool, Field(ctypes.c_bool, 0x26)] AutoAdjustFontHeight: Annotated[bool, Field(ctypes.c_bool, 0x27)] AutoAdjustHeight: Annotated[bool, Field(ctypes.c_bool, 0x28)] @@ -22941,37 +19111,32 @@ class cTkNGuiTextStyleData(Structure): @partial_struct class cTkNGuiTextStyle(Structure): - Active: Annotated[cTkNGuiTextStyleData, Field(cTkNGuiTextStyleData, 0x0)] - Default: Annotated[cTkNGuiTextStyleData, Field(cTkNGuiTextStyleData, 0x34)] - Highlight: Annotated[cTkNGuiTextStyleData, Field(cTkNGuiTextStyleData, 0x68)] + Active: Annotated[cTkNGuiTextStyleData, 0x0] + Default: Annotated[cTkNGuiTextStyleData, 0x34] + Highlight: Annotated[cTkNGuiTextStyleData, 0x68] @partial_struct class cTkNGuiEditorStyleData(Structure): SkinColours: Annotated[ - cTkNGuiEditorStyleColour, Field(cTkNGuiEditorStyleColour, 0x0) + tuple[cTkNGuiEditorStyleColour, ...], Field(cTkNGuiEditorStyleColour * 8, 0x0) ] - Font: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x480)] - LayoutShortcuts: Annotated[ - basic.cTkDynamicArray[cTkNGuiLayoutShortcut], - Field(basic.cTkDynamicArray[cTkNGuiLayoutShortcut], 0x490), + Font: Annotated[basic.VariableSizeString, 0x480] + LayoutShortcuts: Annotated[basic.cTkDynamicArray[cTkNGuiLayoutShortcut], 0x490] + SnapSettings: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x4A0] + GraphicStyles: Annotated[ + tuple[cTkNGuiGraphicStyle, ...], Field(cTkNGuiGraphicStyle * 95, 0x4B0) ] - SnapSettings: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x4A0), + TextStyles: Annotated[ + tuple[cTkNGuiTextStyle, ...], Field(cTkNGuiTextStyle * 15, 0x6F90) ] - GraphicStyles: Annotated[cTkNGuiGraphicStyle, Field(cTkNGuiGraphicStyle, 0x4B0)] - TextStyles: Annotated[cTkNGuiTextStyle, Field(cTkNGuiTextStyle, 0x6F90)] - Sizes: Annotated[float, Field(ctypes.c_float, 0x78B4)] + Sizes: Annotated[tuple[float, ...], Field(ctypes.c_float * 65, 0x78B4)] SkinFontHeight: Annotated[float, Field(ctypes.c_float, 0x79B8)] @partial_struct class cTkEntitlementList(Structure): - Entitlements: Annotated[ - basic.cTkDynamicArray[cTkEntitlementListData], - Field(basic.cTkDynamicArray[cTkEntitlementListData], 0x0), - ] + Entitlements: Annotated[basic.cTkDynamicArray[cTkEntitlementListData], 0x0] @partial_struct @@ -22979,43 +19144,26 @@ class cTkNGuiRectanglePulseEffect(Structure): PulseOffset: Annotated[float, Field(ctypes.c_float, 0x0)] PulseRate: Annotated[float, Field(ctypes.c_float, 0x4)] PulseWidth: Annotated[float, Field(ctypes.c_float, 0x8)] - PulseAlphaCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xC) - ] - PulseSizeCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xD) - ] + PulseAlphaCurve: Annotated[c_enum32[enums.cTkCurveType], 0xC] + PulseSizeCurve: Annotated[c_enum32[enums.cTkCurveType], 0xD] @partial_struct class cTkIOSDevicePreset(Structure): - DefaultGraphicsSettings: Annotated[ - cTkGraphicsSettings, Field(cTkGraphicsSettings, 0x0) - ] - ModelIdentifiers: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x100], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x1C8), - ] - DeviceName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1D8) - ] + DefaultGraphicsSettings: Annotated[cTkGraphicsSettings, 0x0] + ModelIdentifiers: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x1C8] + DeviceName: Annotated[basic.cTkFixedString0x100, 0x1D8] @partial_struct class cTkAnimDetailSettingsTables(Structure): - Tables: Annotated[ - basic.cTkDynamicArray[cTkAnimDetailSettingsTable], - Field(basic.cTkDynamicArray[cTkAnimDetailSettingsTable], 0x0), - ] + Tables: Annotated[basic.cTkDynamicArray[cTkAnimDetailSettingsTable], 0x0] @partial_struct class cTkWaterConditionData(Structure): - Waves: Annotated[ - basic.cTkDynamicArray[cTkWaveInputData], - Field(basic.cTkDynamicArray[cTkWaveInputData], 0x0), - ] - FoamProperties: Annotated[cTkFoamProperties, Field(cTkFoamProperties, 0x10)] + Waves: Annotated[basic.cTkDynamicArray[cTkWaveInputData], 0x0] + FoamProperties: Annotated[cTkFoamProperties, 0x10] DetailNormalsStrength: Annotated[float, Field(ctypes.c_float, 0x30)] WaveRTPCStrength: Annotated[float, Field(ctypes.c_float, 0x34)] @@ -23023,88 +19171,65 @@ class cTkWaterConditionData(Structure): @partial_struct class cTkBiomeSpecificWaterConditions(Structure): WaterConditionUsage: Annotated[ - cTkAllowedWaterConditions, Field(cTkAllowedWaterConditions, 0x0) + tuple[cTkAllowedWaterConditions, ...], Field(cTkAllowedWaterConditions * 2, 0x0) ] @partial_struct class cTkCreatureTailComponentData(Structure): - DefaultParams: Annotated[cTkCreatureTailParams, Field(cTkCreatureTailParams, 0x0)] - ParamVariations: Annotated[ - basic.cTkDynamicArray[cTkCreatureTailParams], - Field(basic.cTkDynamicArray[cTkCreatureTailParams], 0x78), - ] - LengthAxis: Annotated[ - c_enum32[enums.cGcPrimaryAxis], Field(c_enum32[enums.cGcPrimaryAxis], 0x88) - ] + DefaultParams: Annotated[cTkCreatureTailParams, 0x0] + ParamVariations: Annotated[basic.cTkDynamicArray[cTkCreatureTailParams], 0x78] + LengthAxis: Annotated[c_enum32[enums.cGcPrimaryAxis], 0x88] CanUseDefaultParams: Annotated[bool, Field(ctypes.c_bool, 0x8C)] @partial_struct class cTkAnimationOverrideList(Structure): - Anims: Annotated[ - basic.cTkDynamicArray[cTkAnimationData], - Field(basic.cTkDynamicArray[cTkAnimationData], 0x0), - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Anims: Annotated[basic.cTkDynamicArray[cTkAnimationData], 0x0] + Name: Annotated[basic.TkID0x10, 0x10] @partial_struct class cTkEasedFalloff(Structure): LeftMargin: Annotated[float, Field(ctypes.c_float, 0x0)] RightMargin: Annotated[float, Field(ctypes.c_float, 0x4)] - LeftCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8) - ] - RightCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x9) - ] + LeftCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8] + RightCurve: Annotated[c_enum32[enums.cTkCurveType], 0x9] @partial_struct class cTkInOutCurve(Structure): Midpoint: Annotated[float, Field(ctypes.c_float, 0x0)] - InCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x4) - ] - OutCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x5) - ] + InCurve: Annotated[c_enum32[enums.cTkCurveType], 0x4] + OutCurve: Annotated[c_enum32[enums.cTkCurveType], 0x5] @partial_struct class cTkHitCurveData(Structure): - Curve: Annotated[cTkInOutCurve, Field(cTkInOutCurve, 0x0)] + Curve: Annotated[cTkInOutCurve, 0x0] Time: Annotated[float, Field(ctypes.c_float, 0x8)] @partial_struct class cTkAnimStateMachineTransitionData(Structure): - Conditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] - DestinationStateDebugName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - BlendType: Annotated[ - c_enum32[enums.cTkAnimBlendType], Field(c_enum32[enums.cTkAnimBlendType], 0x20) - ] + Conditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] + DestinationStateDebugName: Annotated[basic.TkID0x10, 0x10] + BlendType: Annotated[c_enum32[enums.cTkAnimBlendType], 0x20] DestinationState: Annotated[int, Field(ctypes.c_int32, 0x24)] ExitTime: Annotated[float, Field(ctypes.c_float, 0x28)] TransitionTime: Annotated[float, Field(ctypes.c_float, 0x2C)] TransitionTimeMode: Annotated[ - c_enum32[enums.cTkAnimStateMachineBlendTimeMode], - Field(c_enum32[enums.cTkAnimStateMachineBlendTimeMode], 0x30), + c_enum32[enums.cTkAnimStateMachineBlendTimeMode], 0x30 ] HasTimedExit: Annotated[bool, Field(ctypes.c_bool, 0x34)] @partial_struct class cTkAnimStateMachineStateData(Structure): - Anim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Anim: Annotated[basic.TkID0x10, 0x0] + Name: Annotated[basic.TkID0x10, 0x10] Transitions: Annotated[ - basic.cTkDynamicArray[cTkAnimStateMachineTransitionData], - Field(basic.cTkDynamicArray[cTkAnimStateMachineTransitionData], 0x20), + basic.cTkDynamicArray[cTkAnimStateMachineTransitionData], 0x20 ] Id: Annotated[int, Field(ctypes.c_int32, 0x30)] NodePosX: Annotated[int, Field(ctypes.c_int32, 0x34)] @@ -23116,31 +19241,21 @@ class cTkAnimStateMachineStateData(Structure): @partial_struct class cTkAnimationDataTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cTkAnimationData], - Field(basic.cTkDynamicArray[cTkAnimationData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cTkAnimationData], 0x0] @partial_struct class cTkAnimationNotifies(Structure): - Notifies: Annotated[ - basic.cTkDynamicArray[cTkAnimationNotify], - Field(basic.cTkDynamicArray[cTkAnimationNotify], 0x0), - ] + Notifies: Annotated[basic.cTkDynamicArray[cTkAnimationNotify], 0x0] @partial_struct class cTkAnimStateMachineData(Structure): EntryTransitions: Annotated[ - basic.cTkDynamicArray[cTkAnimStateMachineTransitionData], - Field(basic.cTkDynamicArray[cTkAnimStateMachineTransitionData], 0x0), - ] - LayerId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - States: Annotated[ - basic.cTkDynamicArray[cTkAnimStateMachineStateData], - Field(basic.cTkDynamicArray[cTkAnimStateMachineStateData], 0x20), + basic.cTkDynamicArray[cTkAnimStateMachineTransitionData], 0x0 ] + LayerId: Annotated[basic.TkID0x10, 0x10] + States: Annotated[basic.cTkDynamicArray[cTkAnimStateMachineStateData], 0x20] DefaultState: Annotated[int, Field(ctypes.c_int32, 0x30)] EntryPosX: Annotated[int, Field(ctypes.c_int32, 0x34)] EntryPosY: Annotated[int, Field(ctypes.c_int32, 0x38)] @@ -23151,146 +19266,89 @@ class cTkAnimStateMachineData(Structure): @partial_struct class cTkAnimBlendTree(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Tree: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x10)] - GameData: Annotated[cTkAnimationGameData, Field(cTkAnimationGameData, 0x20)] + Id: Annotated[basic.TkID0x10, 0x0] + Tree: Annotated[basic.NMSTemplate, 0x10] + GameData: Annotated[cTkAnimationGameData, 0x20] Priority: Annotated[int, Field(ctypes.c_int32, 0x2C)] @partial_struct class cGcWikiTopic(Structure): - MissionButtonText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ShortDescriptionID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - TopicID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x60)] - NotifyIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x78)] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - Pages: Annotated[ - basic.cTkDynamicArray[cGcWikiPage], - Field(basic.cTkDynamicArray[cGcWikiPage], 0xA0), - ] - ActionSet: Annotated[ - c_enum32[enums.cGcActionSetType], Field(c_enum32[enums.cGcActionSetType], 0xB0) - ] + MissionButtonText: Annotated[basic.cTkFixedString0x20, 0x0] + ShortDescriptionID: Annotated[basic.cTkFixedString0x20, 0x20] + TopicID: Annotated[basic.cTkFixedString0x20, 0x40] + Icon: Annotated[cTkTextureResource, 0x60] + NotifyIcon: Annotated[cTkTextureResource, 0x78] + Mission: Annotated[basic.TkID0x10, 0x90] + Pages: Annotated[basic.cTkDynamicArray[cGcWikiPage], 0xA0] + ActionSet: Annotated[c_enum32[enums.cGcActionSetType], 0xB0] Seen: Annotated[bool, Field(ctypes.c_bool, 0xB4)] Unlocked: Annotated[bool, Field(ctypes.c_bool, 0xB5)] @partial_struct class cGcWikiCategory(Structure): - CategoryID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CategoryIDUpper: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - IconOff: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x40)] - IconOn: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x58)] - Items: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x70), - ] - Topics: Annotated[ - basic.cTkDynamicArray[cGcWikiTopic], - Field(basic.cTkDynamicArray[cGcWikiTopic], 0x80), - ] - Type: Annotated[ - c_enum32[enums.cGcWikiTopicType], Field(c_enum32[enums.cGcWikiTopicType], 0x90) - ] + CategoryID: Annotated[basic.cTkFixedString0x20, 0x0] + CategoryIDUpper: Annotated[basic.cTkFixedString0x20, 0x20] + IconOff: Annotated[cTkTextureResource, 0x40] + IconOn: Annotated[cTkTextureResource, 0x58] + Items: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x70] + Topics: Annotated[basic.cTkDynamicArray[cGcWikiTopic], 0x80] + Type: Annotated[c_enum32[enums.cGcWikiTopicType], 0x90] UnlockedCount: Annotated[int, Field(ctypes.c_int32, 0x94)] UnseenCount: Annotated[int, Field(ctypes.c_int32, 0x98)] @partial_struct class cGcStoryEntry(Structure): - AlienText: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Entry: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40)] - BranchedEntries: Annotated[ - basic.cTkDynamicArray[cGcStoryEntryBranch], - Field(basic.cTkDynamicArray[cGcStoryEntryBranch], 0x60), - ] - AlienTextForceRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x70) - ] + AlienText: Annotated[basic.cTkFixedString0x20, 0x0] + Entry: Annotated[basic.cTkFixedString0x20, 0x20] + Title: Annotated[basic.cTkFixedString0x20, 0x40] + BranchedEntries: Annotated[basic.cTkDynamicArray[cGcStoryEntryBranch], 0x60] + AlienTextForceRace: Annotated[c_enum32[enums.cGcAlienRace], 0x70] AutoPrefixWithAlienText: Annotated[bool, Field(ctypes.c_bool, 0x74)] @partial_struct class cGcStoryPage(Structure): - ID: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x20)] - Entries: Annotated[ - basic.cTkDynamicArray[cGcStoryEntry], - Field(basic.cTkDynamicArray[cGcStoryEntry], 0x38), - ] - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - InteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x58), - ] - WikiGridType: Annotated[ - c_enum32[enums.cGcWikiTopicType], Field(c_enum32[enums.cGcWikiTopicType], 0x5C) - ] + ID: Annotated[basic.cTkFixedString0x20, 0x0] + Icon: Annotated[cTkTextureResource, 0x20] + Entries: Annotated[basic.cTkDynamicArray[cGcStoryEntry], 0x38] + Stat: Annotated[basic.TkID0x10, 0x48] + InteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x58] + WikiGridType: Annotated[c_enum32[enums.cGcWikiTopicType], 0x5C] StatIsBitmask: Annotated[bool, Field(ctypes.c_bool, 0x60)] UseGridType: Annotated[bool, Field(ctypes.c_bool, 0x61)] @partial_struct class cGcStoryCategory(Structure): - CategoryID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CategoryIDUpper: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - IconOff: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x40)] - IconOn: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x58)] - Pages: Annotated[ - basic.cTkDynamicArray[cGcStoryPage], - Field(basic.cTkDynamicArray[cGcStoryPage], 0x70), - ] + CategoryID: Annotated[basic.cTkFixedString0x20, 0x0] + CategoryIDUpper: Annotated[basic.cTkFixedString0x20, 0x20] + IconOff: Annotated[cTkTextureResource, 0x40] + IconOn: Annotated[cTkTextureResource, 0x58] + Pages: Annotated[basic.cTkDynamicArray[cGcStoryPage], 0x70] @partial_struct class cGcPersistentBaseDifficultyData(Structure): - DifficultyPreset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0x0), - ] + DifficultyPreset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0x0] class ePersistentBaseDifficultyFlagsEnum(IntEnum): empty = 0x0 Locked = 0x1 PersistentBaseDifficultyFlags: Annotated[ - c_enum32[ePersistentBaseDifficultyFlagsEnum], - Field(c_enum32[ePersistentBaseDifficultyFlagsEnum], 0x4), + c_enum32[ePersistentBaseDifficultyFlagsEnum], 0x4 ] @partial_struct class cGcDifficultySettingsReplicatedState(Structure): - EasiestUsedPreset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0x0), - ] - HardestUsedPreset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0x4), - ] - Preset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0x8), - ] - RoundedDownPreset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0xC), - ] + EasiestUsedPreset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0x0] + HardestUsedPreset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0x4] + Preset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0x8] + RoundedDownPreset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0xC] IsLocked: Annotated[bool, Field(ctypes.c_bool, 0x10)] IsPermadeath: Annotated[bool, Field(ctypes.c_bool, 0x11)] @@ -23298,92 +19356,42 @@ class cGcDifficultySettingsReplicatedState(Structure): @partial_struct class cGcDifficultySettingsData(Structure): ActiveSurvivalBars: Annotated[ - c_enum32[enums.cGcActiveSurvivalBarsDifficultyOption], - Field(c_enum32[enums.cGcActiveSurvivalBarsDifficultyOption], 0x0), + c_enum32[enums.cGcActiveSurvivalBarsDifficultyOption], 0x0 ] BreakTechOnDamage: Annotated[ - c_enum32[enums.cGcBreakTechOnDamageDifficultyOption], - Field(c_enum32[enums.cGcBreakTechOnDamageDifficultyOption], 0x4), + c_enum32[enums.cGcBreakTechOnDamageDifficultyOption], 0x4 ] ChargingRequirements: Annotated[ - c_enum32[enums.cGcChargingRequirementsDifficultyOption], - Field(c_enum32[enums.cGcChargingRequirementsDifficultyOption], 0x8), + c_enum32[enums.cGcChargingRequirementsDifficultyOption], 0x8 ] CreatureHostility: Annotated[ - c_enum32[enums.cGcCreatureHostilityDifficultyOption], - Field(c_enum32[enums.cGcCreatureHostilityDifficultyOption], 0xC), - ] - CurrencyCost: Annotated[ - c_enum32[enums.cGcCurrencyCostDifficultyOption], - Field(c_enum32[enums.cGcCurrencyCostDifficultyOption], 0x10), - ] - DamageGiven: Annotated[ - c_enum32[enums.cGcDamageGivenDifficultyOption], - Field(c_enum32[enums.cGcDamageGivenDifficultyOption], 0x14), - ] - DamageReceived: Annotated[ - c_enum32[enums.cGcDamageReceivedDifficultyOption], - Field(c_enum32[enums.cGcDamageReceivedDifficultyOption], 0x18), + c_enum32[enums.cGcCreatureHostilityDifficultyOption], 0xC ] + CurrencyCost: Annotated[c_enum32[enums.cGcCurrencyCostDifficultyOption], 0x10] + DamageGiven: Annotated[c_enum32[enums.cGcDamageGivenDifficultyOption], 0x14] + DamageReceived: Annotated[c_enum32[enums.cGcDamageReceivedDifficultyOption], 0x18] DeathConsequences: Annotated[ - c_enum32[enums.cGcDeathConsequencesDifficultyOption], - Field(c_enum32[enums.cGcDeathConsequencesDifficultyOption], 0x1C), + c_enum32[enums.cGcDeathConsequencesDifficultyOption], 0x1C ] - EnergyDrain: Annotated[ - c_enum32[enums.cGcEnergyDrainDifficultyOption], - Field(c_enum32[enums.cGcEnergyDrainDifficultyOption], 0x20), - ] - Fishing: Annotated[ - c_enum32[enums.cGcFishingDifficultyOption], - Field(c_enum32[enums.cGcFishingDifficultyOption], 0x24), + EnergyDrain: Annotated[c_enum32[enums.cGcEnergyDrainDifficultyOption], 0x20] + Fishing: Annotated[c_enum32[enums.cGcFishingDifficultyOption], 0x24] + FuelUse: Annotated[c_enum32[enums.cGcFuelUseDifficultyOption], 0x28] + GroundCombatTimers: Annotated[c_enum32[enums.cGcCombatTimerDifficultyOption], 0x2C] + HazardDrain: Annotated[c_enum32[enums.cGcHazardDrainDifficultyOption], 0x30] + InventoryStackLimits: Annotated[ + c_enum32[enums.cGcInventoryStackLimitsDifficultyOption], 0x34 ] - FuelUse: Annotated[ - c_enum32[enums.cGcFuelUseDifficultyOption], - Field(c_enum32[enums.cGcFuelUseDifficultyOption], 0x28), - ] - GroundCombatTimers: Annotated[ - c_enum32[enums.cGcCombatTimerDifficultyOption], - Field(c_enum32[enums.cGcCombatTimerDifficultyOption], 0x2C), - ] - HazardDrain: Annotated[ - c_enum32[enums.cGcHazardDrainDifficultyOption], - Field(c_enum32[enums.cGcHazardDrainDifficultyOption], 0x30), - ] - InventoryStackLimits: Annotated[ - c_enum32[enums.cGcInventoryStackLimitsDifficultyOption], - Field(c_enum32[enums.cGcInventoryStackLimitsDifficultyOption], 0x34), - ] - ItemShopAvailability: Annotated[ - c_enum32[enums.cGcItemShopAvailabilityDifficultyOption], - Field(c_enum32[enums.cGcItemShopAvailabilityDifficultyOption], 0x38), - ] - LaunchFuelCost: Annotated[ - c_enum32[enums.cGcLaunchFuelCostDifficultyOption], - Field(c_enum32[enums.cGcLaunchFuelCostDifficultyOption], 0x3C), - ] - NPCPopulation: Annotated[ - c_enum32[enums.cGcNPCPopulationDifficultyOption], - Field(c_enum32[enums.cGcNPCPopulationDifficultyOption], 0x40), - ] - ReputationGain: Annotated[ - c_enum32[enums.cGcReputationGainDifficultyOption], - Field(c_enum32[enums.cGcReputationGainDifficultyOption], 0x44), - ] - ScannerRecharge: Annotated[ - c_enum32[enums.cGcScannerRechargeDifficultyOption], - Field(c_enum32[enums.cGcScannerRechargeDifficultyOption], 0x48), - ] - SpaceCombatTimers: Annotated[ - c_enum32[enums.cGcCombatTimerDifficultyOption], - Field(c_enum32[enums.cGcCombatTimerDifficultyOption], 0x4C), - ] - SprintingCost: Annotated[ - c_enum32[enums.cGcSprintingCostDifficultyOption], - Field(c_enum32[enums.cGcSprintingCostDifficultyOption], 0x50), - ] - SubstanceCollection: Annotated[ - c_enum32[enums.cGcSubstanceCollectionDifficultyOption], - Field(c_enum32[enums.cGcSubstanceCollectionDifficultyOption], 0x54), + ItemShopAvailability: Annotated[ + c_enum32[enums.cGcItemShopAvailabilityDifficultyOption], 0x38 + ] + LaunchFuelCost: Annotated[c_enum32[enums.cGcLaunchFuelCostDifficultyOption], 0x3C] + NPCPopulation: Annotated[c_enum32[enums.cGcNPCPopulationDifficultyOption], 0x40] + ReputationGain: Annotated[c_enum32[enums.cGcReputationGainDifficultyOption], 0x44] + ScannerRecharge: Annotated[c_enum32[enums.cGcScannerRechargeDifficultyOption], 0x48] + SpaceCombatTimers: Annotated[c_enum32[enums.cGcCombatTimerDifficultyOption], 0x4C] + SprintingCost: Annotated[c_enum32[enums.cGcSprintingCostDifficultyOption], 0x50] + SubstanceCollection: Annotated[ + c_enum32[enums.cGcSubstanceCollectionDifficultyOption], 0x54 ] AllSlotsUnlocked: Annotated[bool, Field(ctypes.c_bool, 0x58)] BaseAutoPower: Annotated[bool, Field(ctypes.c_bool, 0x59)] @@ -23397,108 +19405,83 @@ class cGcDifficultySettingsData(Structure): @partial_struct class cGcQuickMenuActionSaveData(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - InventoryIndex: Annotated[cGcInventoryIndex, Field(cGcInventoryIndex, 0x10)] - Action: Annotated[ - c_enum32[enums.cGcQuickMenuActions], - Field(c_enum32[enums.cGcQuickMenuActions], 0x18), - ] + Id: Annotated[basic.TkID0x10, 0x0] + InventoryIndex: Annotated[cGcInventoryIndex, 0x10] + Action: Annotated[c_enum32[enums.cGcQuickMenuActions], 0x18] Number: Annotated[int, Field(ctypes.c_int32, 0x1C)] @partial_struct class cGcHotActionsSaveData(Structure): KeyActions: Annotated[ - cGcQuickMenuActionSaveData, Field(cGcQuickMenuActionSaveData, 0x0) + tuple[cGcQuickMenuActionSaveData, ...], + Field(cGcQuickMenuActionSaveData * 10, 0x0), ] @partial_struct class cGcShipWeaponData(Structure): - Projectile: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Reticle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Projectile: Annotated[basic.TkID0x10, 0x0] + Reticle: Annotated[basic.TkID0x10, 0x10] AutoAimAngle: Annotated[float, Field(ctypes.c_float, 0x20)] AutoAimExtraAngle: Annotated[float, Field(ctypes.c_float, 0x24)] CoolRate: Annotated[float, Field(ctypes.c_float, 0x28)] OverheatCoolTime: Annotated[float, Field(ctypes.c_float, 0x2C)] - RemoteType: Annotated[ - c_enum32[enums.cGcRemoteWeapons], Field(c_enum32[enums.cGcRemoteWeapons], 0x30) - ] - Stat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x34) - ] + RemoteType: Annotated[c_enum32[enums.cGcRemoteWeapons], 0x30] + Stat: Annotated[c_enum32[enums.cGcStatsTypes], 0x34] IsProjectile: Annotated[bool, Field(ctypes.c_bool, 0x38)] ShowOverheatSwitch: Annotated[bool, Field(ctypes.c_bool, 0x39)] @partial_struct class cGcPlayerWeaponBiomeProperties(Structure): - UpgradeColourOverride: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - MuzzleChargedAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - MuzzleChargedParticlesId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - MuzzleFireAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - MuzzleFireParticlesId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - MuzzleIdleAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - MuzzleIdleParticlesId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - Projectile: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - StatBonusesOverride: Annotated[ - basic.cTkDynamicArray[cGcStatsBonus], - Field(basic.cTkDynamicArray[cGcStatsBonus], 0x80), - ] - WeaponChargedAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - WeaponFireAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - WeaponFireParticlesId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - WeaponIdleAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] - Biome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0xD0) - ] + UpgradeColourOverride: Annotated[basic.Colour, 0x0] + MuzzleChargedAnimId: Annotated[basic.TkID0x10, 0x10] + MuzzleChargedParticlesId: Annotated[basic.TkID0x10, 0x20] + MuzzleFireAnimId: Annotated[basic.TkID0x10, 0x30] + MuzzleFireParticlesId: Annotated[basic.TkID0x10, 0x40] + MuzzleIdleAnimId: Annotated[basic.TkID0x10, 0x50] + MuzzleIdleParticlesId: Annotated[basic.TkID0x10, 0x60] + Projectile: Annotated[basic.TkID0x10, 0x70] + StatBonusesOverride: Annotated[basic.cTkDynamicArray[cGcStatsBonus], 0x80] + WeaponChargedAnimId: Annotated[basic.TkID0x10, 0x90] + WeaponFireAnimId: Annotated[basic.TkID0x10, 0xA0] + WeaponFireParticlesId: Annotated[basic.TkID0x10, 0xB0] + WeaponIdleAnimId: Annotated[basic.TkID0x10, 0xC0] + Biome: Annotated[c_enum32[enums.cGcBiomeType], 0xD0] @partial_struct class cGcPlayerWeaponPropertiesData(Structure): - DefaultMuzzleLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] + DefaultMuzzleLightColour: Annotated[basic.Colour, 0x0] BiomeProperties: Annotated[ - basic.cTkDynamicArray[cGcPlayerWeaponBiomeProperties], - Field(basic.cTkDynamicArray[cGcPlayerWeaponBiomeProperties], 0x10), - ] - DefaultMuzzleChargedAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - DefaultMuzzleChargedParticlesId: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x30) - ] - DefaultMuzzleFireAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - DefaultMuzzleFireParticlesId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - DefaultMuzzleIdleAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - DefaultMuzzleIdleParticlesId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - DefaultProjectile: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - DefaultWeaponChargedAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - DefaultWeaponFireAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - DefaultWeaponFireParticlesId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - DefaultWeaponIdleAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] - MuzzleGunResource: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xD0) - ] - MuzzleLaserResource: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE0) - ] - ShakeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xF0)] - VibartionId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x100)] + basic.cTkDynamicArray[cGcPlayerWeaponBiomeProperties], 0x10 + ] + DefaultMuzzleChargedAnimId: Annotated[basic.TkID0x10, 0x20] + DefaultMuzzleChargedParticlesId: Annotated[basic.TkID0x10, 0x30] + DefaultMuzzleFireAnimId: Annotated[basic.TkID0x10, 0x40] + DefaultMuzzleFireParticlesId: Annotated[basic.TkID0x10, 0x50] + DefaultMuzzleIdleAnimId: Annotated[basic.TkID0x10, 0x60] + DefaultMuzzleIdleParticlesId: Annotated[basic.TkID0x10, 0x70] + DefaultProjectile: Annotated[basic.TkID0x10, 0x80] + DefaultWeaponChargedAnimId: Annotated[basic.TkID0x10, 0x90] + DefaultWeaponFireAnimId: Annotated[basic.TkID0x10, 0xA0] + DefaultWeaponFireParticlesId: Annotated[basic.TkID0x10, 0xB0] + DefaultWeaponIdleAnimId: Annotated[basic.TkID0x10, 0xC0] + MuzzleGunResource: Annotated[basic.VariableSizeString, 0xD0] + MuzzleLaserResource: Annotated[basic.VariableSizeString, 0xE0] + ShakeId: Annotated[basic.TkID0x10, 0xF0] + VibartionId: Annotated[basic.TkID0x10, 0x100] ChargingMuzzleFlashMaxScale: Annotated[float, Field(ctypes.c_float, 0x110)] ChargingMuzzleFlashMinScale: Annotated[float, Field(ctypes.c_float, 0x114)] MuzzleFlashScale: Annotated[float, Field(ctypes.c_float, 0x118)] MuzzleLightIntensity: Annotated[float, Field(ctypes.c_float, 0x11C)] ParticlesOffsetMultiplier: Annotated[float, Field(ctypes.c_float, 0x120)] - RemoteType: Annotated[ - c_enum32[enums.cGcRemoteWeapons], Field(c_enum32[enums.cGcRemoteWeapons], 0x124) - ] + RemoteType: Annotated[c_enum32[enums.cGcRemoteWeapons], 0x124] RumbleScale: Annotated[float, Field(ctypes.c_float, 0x128)] - Stat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x12C) - ] + Stat: Annotated[c_enum32[enums.cGcStatsTypes], 0x12C] VibrationScale: Annotated[float, Field(ctypes.c_float, 0x130)] - WeaponClass: Annotated[ - c_enum32[enums.cGcPlayerWeaponClass], - Field(c_enum32[enums.cGcPlayerWeaponClass], 0x134), - ] + WeaponClass: Annotated[c_enum32[enums.cGcPlayerWeaponClass], 0x134] FlashMuzzleOnProjectileFire: Annotated[bool, Field(ctypes.c_bool, 0x138)] MuzzleLightUsesLaserColour: Annotated[bool, Field(ctypes.c_bool, 0x139)] MuzzleLightUsesMuzzleColour: Annotated[bool, Field(ctypes.c_bool, 0x13A)] @@ -23514,69 +19497,56 @@ class cGcPlayerWeaponPropertiesData(Structure): @partial_struct class cGcMechMeshPartTable(Structure): - Parts: Annotated[cGcMechMeshPartData, Field(cGcMechMeshPartData, 0x0)] + Parts: Annotated[ + tuple[cGcMechMeshPartData, ...], Field(cGcMechMeshPartData * 5, 0x0) + ] @partial_struct class cGcMechWeaponLocationPriority(Structure): MechWeaponLocationPriority: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcMechWeaponLocation]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcMechWeaponLocation]], 0x0), + basic.cTkDynamicArray[c_enum32[enums.cGcMechWeaponLocation]], 0x0 ] @partial_struct class cGcMechPartAudioEventOverride(Structure): - MeshPart: Annotated[ - c_enum32[enums.cGcMechMeshPart], Field(c_enum32[enums.cGcMechMeshPart], 0x0) - ] - MeshType: Annotated[ - c_enum32[enums.cGcMechMeshType], Field(c_enum32[enums.cGcMechMeshType], 0x4) - ] - OverrideEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x8), - ] + MeshPart: Annotated[c_enum32[enums.cGcMechMeshPart], 0x0] + MeshType: Annotated[c_enum32[enums.cGcMechMeshType], 0x4] + OverrideEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x8] @partial_struct class cGcMechAudioEvent(Structure): MeshPartOverrides: Annotated[ - basic.cTkDynamicArray[cGcMechPartAudioEventOverride], - Field(basic.cTkDynamicArray[cGcMechPartAudioEventOverride], 0x0), - ] - DefaultEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x10), + basic.cTkDynamicArray[cGcMechPartAudioEventOverride], 0x0 ] + DefaultEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x10] @partial_struct class cGcMechAudioEventTable(Structure): - JetpackLP: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0x0)] - JetpackLPEnd: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0x18)] - JetpackRetrigger: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0x30)] - JetpackTrigger: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0x48)] - JumpLanding: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0x60)] - JumpLandingSkid: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0x78)] - MechEnter: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0x90)] - MechExit: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0xA8)] - StepRun: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0xC0)] - StepWalk: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0xD8)] - TitanFallLanding: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0xF0)] - TitanFallPoseIntro: Annotated[cGcMechAudioEvent, Field(cGcMechAudioEvent, 0x108)] + JetpackLP: Annotated[cGcMechAudioEvent, 0x0] + JetpackLPEnd: Annotated[cGcMechAudioEvent, 0x18] + JetpackRetrigger: Annotated[cGcMechAudioEvent, 0x30] + JetpackTrigger: Annotated[cGcMechAudioEvent, 0x48] + JumpLanding: Annotated[cGcMechAudioEvent, 0x60] + JumpLandingSkid: Annotated[cGcMechAudioEvent, 0x78] + MechEnter: Annotated[cGcMechAudioEvent, 0x90] + MechExit: Annotated[cGcMechAudioEvent, 0xA8] + StepRun: Annotated[cGcMechAudioEvent, 0xC0] + StepWalk: Annotated[cGcMechAudioEvent, 0xD8] + TitanFallLanding: Annotated[cGcMechAudioEvent, 0xF0] + TitanFallPoseIntro: Annotated[cGcMechAudioEvent, 0x108] @partial_struct class cGcMechDebugSpawnData(Structure): - Destination: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Facing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - CustomisatonData: Annotated[ - cGcCharacterCustomisationSaveData, - Field(cGcCharacterCustomisationSaveData, 0x40), - ] + Destination: Annotated[basic.Vector3f, 0x0] + Facing: Annotated[basic.Vector3f, 0x10] + Position: Annotated[basic.Vector3f, 0x20] + Up: Annotated[basic.Vector3f, 0x30] + CustomisatonData: Annotated[cGcCharacterCustomisationSaveData, 0x40] MoveDelay: Annotated[float, Field(ctypes.c_float, 0xA8)] TitanFallDelay: Annotated[float, Field(ctypes.c_float, 0xAC)] Running: Annotated[bool, Field(ctypes.c_bool, 0xB0)] @@ -23585,32 +19555,17 @@ class cGcMechDebugSpawnData(Structure): @partial_struct class cGcPulseEncounterInfo(Structure): - CustomNotifyColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - SpawnConditions: Annotated[ - cGcPulseEncounterSpawnConditions, Field(cGcPulseEncounterSpawnConditions, 0x10) - ] - ChatMessageName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80) - ] - CustomNotify: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA0) - ] - CustomNotifyOSD: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC0) - ] - CustomNotifyTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE0) - ] - MarkerLabel: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x100) - ] - MarkerIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x120)] - Encounter: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x138)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x148)] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x158), - ] + CustomNotifyColour: Annotated[basic.Colour, 0x0] + SpawnConditions: Annotated[cGcPulseEncounterSpawnConditions, 0x10] + ChatMessageName: Annotated[basic.cTkFixedString0x20, 0x80] + CustomNotify: Annotated[basic.cTkFixedString0x20, 0xA0] + CustomNotifyOSD: Annotated[basic.cTkFixedString0x20, 0xC0] + CustomNotifyTitle: Annotated[basic.cTkFixedString0x20, 0xE0] + MarkerLabel: Annotated[basic.cTkFixedString0x20, 0x100] + MarkerIcon: Annotated[cTkTextureResource, 0x120] + Encounter: Annotated[basic.NMSTemplate, 0x138] + Id: Annotated[basic.TkID0x10, 0x148] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x158] SpawnChance: Annotated[float, Field(ctypes.c_float, 0x15C)] SpawnDistance: Annotated[float, Field(ctypes.c_float, 0x160)] HasColourOverride: Annotated[bool, Field(ctypes.c_bool, 0x164)] @@ -23620,11 +19575,8 @@ class cGcPulseEncounterInfo(Structure): @partial_struct class cGcBackgroundSpaceEncounterSpawnConditions(Structure): - NeedsMissionActive: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - NeedsStarType: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x10), - ] + NeedsMissionActive: Annotated[basic.TkID0x10, 0x0] + NeedsStarType: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x10] NeedsAbandonedSystem: Annotated[bool, Field(ctypes.c_bool, 0x14)] NeedsAsteroidField: Annotated[bool, Field(ctypes.c_bool, 0x15)] NeedsEmptySystem: Annotated[bool, Field(ctypes.c_bool, 0x16)] @@ -23635,14 +19587,9 @@ class cGcBackgroundSpaceEncounterSpawnConditions(Structure): @partial_struct class cGcBackgroundSpaceEncounterInfo(Structure): - Encounter: Annotated[ - cGcPulseEncounterSpawnObject, Field(cGcPulseEncounterSpawnObject, 0x0) - ] - SpawnConditions: Annotated[ - cGcBackgroundSpaceEncounterSpawnConditions, - Field(cGcBackgroundSpaceEncounterSpawnConditions, 0x70), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] + Encounter: Annotated[cGcPulseEncounterSpawnObject, 0x0] + SpawnConditions: Annotated[cGcBackgroundSpaceEncounterSpawnConditions, 0x70] + Id: Annotated[basic.TkID0x10, 0x90] DespawnDistance: Annotated[float, Field(ctypes.c_float, 0xA0)] MinDuration: Annotated[float, Field(ctypes.c_float, 0xA4)] SelectionWeighting: Annotated[float, Field(ctypes.c_float, 0xA8)] @@ -23652,18 +19599,9 @@ class cGcBackgroundSpaceEncounterInfo(Structure): @partial_struct class cGcDoShipEscort(Structure): - EscortTargetShipFaction: Annotated[ - c_enum32[enums.cGcRealityCommonFactions], - Field(c_enum32[enums.cGcRealityCommonFactions], 0x0), - ] - EscortTargetShipRole: Annotated[ - c_enum32[enums.cGcAISpaceshipRoles], - Field(c_enum32[enums.cGcAISpaceshipRoles], 0x4), - ] - EscortTargetShipType: Annotated[ - c_enum32[enums.cGcAISpaceshipTypes], - Field(c_enum32[enums.cGcAISpaceshipTypes], 0x8), - ] + EscortTargetShipFaction: Annotated[c_enum32[enums.cGcRealityCommonFactions], 0x0] + EscortTargetShipRole: Annotated[c_enum32[enums.cGcAISpaceshipRoles], 0x4] + EscortTargetShipType: Annotated[c_enum32[enums.cGcAISpaceshipTypes], 0x8] MaxSearchDistance: Annotated[float, Field(ctypes.c_float, 0xC)] MatchFaction: Annotated[bool, Field(ctypes.c_bool, 0x10)] MatchRole: Annotated[bool, Field(ctypes.c_bool, 0x11)] @@ -23672,122 +19610,80 @@ class cGcDoShipEscort(Structure): @partial_struct class cGcBountySpawnInfo(Structure): - Data: Annotated[cGcAIShipSpawnData, Field(cGcAIShipSpawnData, 0x0)] - Label: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x160)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x180)] - AttackData: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x198)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1A8)] + Data: Annotated[cGcAIShipSpawnData, 0x0] + Label: Annotated[basic.cTkFixedString0x20, 0x160] + Icon: Annotated[cTkTextureResource, 0x180] + AttackData: Annotated[basic.TkID0x10, 0x198] + Id: Annotated[basic.TkID0x10, 0x1A8] @partial_struct class cGcAISpaceshipModelData(Structure): - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - AIRole: Annotated[ - c_enum32[enums.cGcAISpaceshipRoles], - Field(c_enum32[enums.cGcAISpaceshipRoles], 0x10), - ] - Class: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0x14), - ] - FrigateClass: Annotated[ - c_enum32[enums.cGcFrigateClass], Field(c_enum32[enums.cGcFrigateClass], 0x18) - ] + Filename: Annotated[basic.VariableSizeString, 0x0] + AIRole: Annotated[c_enum32[enums.cGcAISpaceshipRoles], 0x10] + Class: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0x14] + FrigateClass: Annotated[c_enum32[enums.cGcFrigateClass], 0x18] @partial_struct class cGcAISpaceshipModelDataArray(Structure): - Spaceships: Annotated[ - basic.cTkDynamicArray[cGcAISpaceshipModelData], - Field(basic.cTkDynamicArray[cGcAISpaceshipModelData], 0x0), - ] + Spaceships: Annotated[basic.cTkDynamicArray[cGcAISpaceshipModelData], 0x0] @partial_struct class cGcWeatherColourSettingList(Structure): - Settings: Annotated[ - basic.cTkDynamicArray[cGcPlanetWeatherColourData], - Field(basic.cTkDynamicArray[cGcPlanetWeatherColourData], 0x0), - ] + Settings: Annotated[basic.cTkDynamicArray[cGcPlanetWeatherColourData], 0x0] @partial_struct class cGcAISpaceshipPreloadCacheData(Structure): - TextureDescriptorHint: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x20)] - Faction: Annotated[ - c_enum32[enums.cGcRealityCommonFactions], - Field(c_enum32[enums.cGcRealityCommonFactions], 0x30), - ] - FrigateClass: Annotated[ - c_enum32[enums.cGcFrigateClass], Field(c_enum32[enums.cGcFrigateClass], 0x34) - ] - ShipClass: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0x38), - ] - ShipRole: Annotated[ - c_enum32[enums.cGcAISpaceshipRoles], - Field(c_enum32[enums.cGcAISpaceshipRoles], 0x3C), - ] + TextureDescriptorHint: Annotated[basic.TkID0x20, 0x0] + Seed: Annotated[basic.GcSeed, 0x20] + Faction: Annotated[c_enum32[enums.cGcRealityCommonFactions], 0x30] + FrigateClass: Annotated[c_enum32[enums.cGcFrigateClass], 0x34] + ShipClass: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0x38] + ShipRole: Annotated[c_enum32[enums.cGcAISpaceshipRoles], 0x3C] @partial_struct class cGcAISpaceshipPreloadList(Structure): - Cache: Annotated[ - basic.cTkDynamicArray[cGcAISpaceshipPreloadCacheData], - Field(basic.cTkDynamicArray[cGcAISpaceshipPreloadCacheData], 0x0), - ] - Faction: Annotated[ - c_enum32[enums.cGcRealityCommonFactions], - Field(c_enum32[enums.cGcRealityCommonFactions], 0x10), - ] + Cache: Annotated[basic.cTkDynamicArray[cGcAISpaceshipPreloadCacheData], 0x0] + Faction: Annotated[c_enum32[enums.cGcRealityCommonFactions], 0x10] @partial_struct class cGcScreenFilterOption(Structure): - Filter: Annotated[ - c_enum32[enums.cGcScreenFilters], Field(c_enum32[enums.cGcScreenFilters], 0x0) - ] + Filter: Annotated[c_enum32[enums.cGcScreenFilters], 0x0] Weight: Annotated[float, Field(ctypes.c_float, 0x4)] @partial_struct class cGcPlanetColourData(Structure): - Palettes: Annotated[cGcColourPaletteData, Field(cGcColourPaletteData, 0x0)] + Palettes: Annotated[ + tuple[cGcColourPaletteData, ...], Field(cGcColourPaletteData * 64, 0x0) + ] @partial_struct class cGcPlanetHeavyAirData(Structure): - Colours: Annotated[cGcHeavyAirColourData, Field(cGcHeavyAirColourData, 0x0)] - Filename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x140) + Colours: Annotated[ + tuple[cGcHeavyAirColourData, ...], Field(cGcHeavyAirColourData * 5, 0x0) ] + Filename: Annotated[basic.VariableSizeString, 0x140] @partial_struct class cGcPlanetGenerationInputData(Structure): - CommonSubstance: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - RareSubstance: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x20)] - Biome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x30) - ] - BiomeSubType: Annotated[ - c_enum32[enums.cGcBiomeSubType], Field(c_enum32[enums.cGcBiomeSubType], 0x34) - ] - Class: Annotated[ - c_enum32[enums.cGcPlanetClass], Field(c_enum32[enums.cGcPlanetClass], 0x38) - ] + CommonSubstance: Annotated[basic.TkID0x10, 0x0] + RareSubstance: Annotated[basic.TkID0x10, 0x10] + Seed: Annotated[basic.GcSeed, 0x20] + Biome: Annotated[c_enum32[enums.cGcBiomeType], 0x30] + BiomeSubType: Annotated[c_enum32[enums.cGcBiomeSubType], 0x34] + Class: Annotated[c_enum32[enums.cGcPlanetClass], 0x38] PlanetIndex: Annotated[int, Field(ctypes.c_int32, 0x3C)] - PlanetSize: Annotated[ - c_enum32[enums.cGcPlanetSize], Field(c_enum32[enums.cGcPlanetSize], 0x40) - ] + PlanetSize: Annotated[c_enum32[enums.cGcPlanetSize], 0x40] RealityIndex: Annotated[int, Field(ctypes.c_int32, 0x44)] - Star: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x48), - ] + Star: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x48] ForceContinents: Annotated[bool, Field(ctypes.c_bool, 0x4C)] HasRings: Annotated[bool, Field(ctypes.c_bool, 0x4D)] InAbandonedSystem: Annotated[bool, Field(ctypes.c_bool, 0x4E)] @@ -23800,20 +19696,14 @@ class cGcPlanetGenerationInputData(Structure): @partial_struct class cGcExternalObjectFileList(Structure): ExternalObjectFiles: Annotated[ - basic.cTkDynamicArray[cGcExternalObjectListOptions], - Field(basic.cTkDynamicArray[cGcExternalObjectListOptions], 0x0), - ] - ForceOnDuringSeasons: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x10), + basic.cTkDynamicArray[cGcExternalObjectListOptions], 0x0 ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - SubBiomeProbability: Annotated[float, Field(ctypes.c_float, 0x30)] + ForceOnDuringSeasons: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x10] + Id: Annotated[basic.TkID0x10, 0x20] + SubBiomeProbability: Annotated[tuple[float, ...], Field(ctypes.c_float * 32, 0x30)] MaxFilesToChoose: Annotated[int, Field(ctypes.c_int32, 0xB0)] MinFilesToChoose: Annotated[int, Field(ctypes.c_int32, 0xB4)] - OnlyOnBiome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0xB8) - ] + OnlyOnBiome: Annotated[c_enum32[enums.cGcBiomeType], 0xB8] ProbabilityOfBeingActive: Annotated[float, Field(ctypes.c_float, 0xBC)] ForceOnSeasonStart: Annotated[bool, Field(ctypes.c_bool, 0xC0)] NotOnDeadPlanets: Annotated[bool, Field(ctypes.c_bool, 0xC1)] @@ -23831,63 +19721,43 @@ class cGcExternalObjectFileList(Structure): @partial_struct class cGcMiningSubstanceData(Structure): - Rarity: Annotated[c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x0)] - SubstanceCategory: Annotated[ - c_enum32[enums.cGcRealitySubstanceCategory], - Field(c_enum32[enums.cGcRealitySubstanceCategory], 0x4), - ] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x0] + SubstanceCategory: Annotated[c_enum32[enums.cGcRealitySubstanceCategory], 0x4] UseRarity: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcSolarSystemEventWarpIn(Structure): - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x0)] - ShipChoiceSequence: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x10), - ] - Locator: Annotated[ - cGcSolarSystemLocatorChoice, Field(cGcSolarSystemLocatorChoice, 0x20) - ] - RepeatIntervalRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x4C)] - ShipCountRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x54)] - SpeedRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x5C)] - WarpIntervalRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x64)] - Faction: Annotated[ - c_enum32[enums.cGcRealityCommonFactions], - Field(c_enum32[enums.cGcRealityCommonFactions], 0x6C), - ] + Seed: Annotated[basic.GcSeed, 0x0] + ShipChoiceSequence: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x10] + Locator: Annotated[cGcSolarSystemLocatorChoice, 0x20] + RepeatIntervalRange: Annotated[basic.Vector2f, 0x4C] + ShipCountRange: Annotated[basic.Vector2f, 0x54] + SpeedRange: Annotated[basic.Vector2f, 0x5C] + WarpIntervalRange: Annotated[basic.Vector2f, 0x64] + Faction: Annotated[c_enum32[enums.cGcRealityCommonFactions], 0x6C] Repeat: Annotated[int, Field(ctypes.c_int32, 0x70)] - ShipRole: Annotated[ - c_enum32[enums.cGcAISpaceshipRoles], - Field(c_enum32[enums.cGcAISpaceshipRoles], 0x74), - ] + ShipRole: Annotated[c_enum32[enums.cGcAISpaceshipRoles], 0x74] Time: Annotated[float, Field(ctypes.c_float, 0x78)] - SquadName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x7C) - ] + SquadName: Annotated[basic.cTkFixedString0x20, 0x7C] InstantWarpIn: Annotated[bool, Field(ctypes.c_bool, 0x9C)] InvertDirection: Annotated[bool, Field(ctypes.c_bool, 0x9D)] @partial_struct class cGcSolarSystemEventWarpPlayer(Structure): - Locator: Annotated[ - cGcSolarSystemLocatorChoice, Field(cGcSolarSystemLocatorChoice, 0x0) - ] + Locator: Annotated[cGcSolarSystemLocatorChoice, 0x0] Time: Annotated[float, Field(ctypes.c_float, 0x2C)] @partial_struct class cGcSentinelMechWeaponData(Structure): - LaserLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - LaserLightOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - MuzzleData: Annotated[ - cGcVehicleWeaponMuzzleData, Field(cGcVehicleWeaponMuzzleData, 0x20) - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - LaserID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - Projectile: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] + LaserLightColour: Annotated[basic.Colour, 0x0] + LaserLightOffset: Annotated[basic.Vector3f, 0x10] + MuzzleData: Annotated[cGcVehicleWeaponMuzzleData, 0x20] + Id: Annotated[basic.TkID0x10, 0x40] + LaserID: Annotated[basic.TkID0x10, 0x50] + Projectile: Annotated[basic.TkID0x10, 0x60] AttackAngle: Annotated[float, Field(ctypes.c_float, 0x70)] ChargeTime: Annotated[float, Field(ctypes.c_float, 0x74)] CooldownTimeMax: Annotated[float, Field(ctypes.c_float, 0x78)] @@ -23913,32 +19783,20 @@ class eSentinelMechWeaponTypeEnum(IntEnum): Projectile = 0x0 Laser = 0x1 - SentinelMechWeaponType: Annotated[ - c_enum32[eSentinelMechWeaponTypeEnum], - Field(c_enum32[eSentinelMechWeaponTypeEnum], 0xC0), - ] - ShootLocation: Annotated[ - c_enum32[enums.cGcMechWeaponLocation], - Field(c_enum32[enums.cGcMechWeaponLocation], 0xC4), - ] - StartFireAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xC8), - ] - StopFireAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xCC), - ] + SentinelMechWeaponType: Annotated[c_enum32[eSentinelMechWeaponTypeEnum], 0xC0] + ShootLocation: Annotated[c_enum32[enums.cGcMechWeaponLocation], 0xC4] + StartFireAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xC8] + StopFireAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xCC] @partial_struct class cGcSentinelQuadWeaponData(Structure): - ChargingIdleAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - FiringIdleAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - LaunchProjectileAnimId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - MuzzleFlashEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - ProjectileId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + ChargingIdleAnimId: Annotated[basic.TkID0x10, 0x0] + FiringIdleAnimId: Annotated[basic.TkID0x10, 0x10] + Id: Annotated[basic.TkID0x10, 0x20] + LaunchProjectileAnimId: Annotated[basic.TkID0x10, 0x30] + MuzzleFlashEffect: Annotated[basic.TkID0x10, 0x40] + ProjectileId: Annotated[basic.TkID0x10, 0x50] ChargeLightIntensity: Annotated[float, Field(ctypes.c_float, 0x60)] ChargeTime: Annotated[float, Field(ctypes.c_float, 0x64)] ExplosionRadius: Annotated[float, Field(ctypes.c_float, 0x68)] @@ -23953,18 +19811,10 @@ class cGcSentinelQuadWeaponData(Structure): NumShotsMax: Annotated[int, Field(ctypes.c_int32, 0x8C)] NumShotsMin: Annotated[int, Field(ctypes.c_int32, 0x90)] ProjectileSpread: Annotated[float, Field(ctypes.c_float, 0x94)] - StartFireAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x98), - ] - StopFireAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x9C), - ] + StartFireAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x98] + StopFireAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x9C] Timeout: Annotated[float, Field(ctypes.c_float, 0xA0)] - ShootLocatorName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA4) - ] + ShootLocatorName: Annotated[basic.cTkFixedString0x20, 0xA4] @partial_struct @@ -23973,24 +19823,16 @@ class cGcButtonSpawnOffset(Structure): AngleMin: Annotated[float, Field(ctypes.c_float, 0x4)] Count: Annotated[int, Field(ctypes.c_int32, 0x8)] Facing: Annotated[float, Field(ctypes.c_float, 0xC)] - Faction: Annotated[ - c_enum32[enums.cGcRealityCommonFactions], - Field(c_enum32[enums.cGcRealityCommonFactions], 0x10), - ] + Faction: Annotated[c_enum32[enums.cGcRealityCommonFactions], 0x10] Offset: Annotated[float, Field(ctypes.c_float, 0x14)] - ShipRole: Annotated[ - c_enum32[enums.cGcAISpaceshipRoles], - Field(c_enum32[enums.cGcAISpaceshipRoles], 0x18), - ] + ShipRole: Annotated[c_enum32[enums.cGcAISpaceshipRoles], 0x18] Spacing: Annotated[float, Field(ctypes.c_float, 0x1C)] @partial_struct class cGcButtonSpawn(Structure): - Offset: Annotated[cGcButtonSpawnOffset, Field(cGcButtonSpawnOffset, 0x0)] - Button: Annotated[ - c_enum32[enums.cTkInputEnum], Field(c_enum32[enums.cTkInputEnum], 0x20) - ] + Offset: Annotated[cGcButtonSpawnOffset, 0x0] + Button: Annotated[c_enum32[enums.cTkInputEnum], 0x20] class eEventEnum(IntEnum): None_ = 0x0 @@ -23999,37 +19841,34 @@ class eEventEnum(IntEnum): Traders = 0x3 Walker = 0x4 - Event: Annotated[c_enum32[eEventEnum], Field(c_enum32[eEventEnum], 0x24)] + Event: Annotated[c_enum32[eEventEnum], 0x24] @partial_struct class cGcButtonSpawnTable(Structure): - ButtonSpawns: Annotated[ - basic.cTkDynamicArray[cGcButtonSpawn], - Field(basic.cTkDynamicArray[cGcButtonSpawn], 0x0), - ] + ButtonSpawns: Annotated[basic.cTkDynamicArray[cGcButtonSpawn], 0x0] @partial_struct class cGcDroneData(Structure): - EyeColourAlert: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - EyeColourPatrol: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - EyeColourSearch: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - CoverResource: Annotated[cGcSentinelResource, Field(cGcSentinelResource, 0x30)] - DamageEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] - MeleeAttackDamageType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x68)] - SpinAttackDamageType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x78)] - Attack: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x88)] - Friendly: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0xC0)] - FriendlyFast: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0xF8)] - MeleeAttack: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x130)] - Patrol: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x168)] - Repair: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x1A0)] - Scan: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x1D8)] - Search: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x210)] - Stun: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x248)] - Summon: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x280)] - ToCover: Annotated[cGcDroneControlData, Field(cGcDroneControlData, 0x2B8)] + EyeColourAlert: Annotated[basic.Colour, 0x0] + EyeColourPatrol: Annotated[basic.Colour, 0x10] + EyeColourSearch: Annotated[basic.Colour, 0x20] + CoverResource: Annotated[cGcSentinelResource, 0x30] + DamageEffect: Annotated[basic.TkID0x10, 0x58] + MeleeAttackDamageType: Annotated[basic.TkID0x10, 0x68] + SpinAttackDamageType: Annotated[basic.TkID0x10, 0x78] + Attack: Annotated[cGcDroneControlData, 0x88] + Friendly: Annotated[cGcDroneControlData, 0xC0] + FriendlyFast: Annotated[cGcDroneControlData, 0xF8] + MeleeAttack: Annotated[cGcDroneControlData, 0x130] + Patrol: Annotated[cGcDroneControlData, 0x168] + Repair: Annotated[cGcDroneControlData, 0x1A0] + Scan: Annotated[cGcDroneControlData, 0x1D8] + Search: Annotated[cGcDroneControlData, 0x210] + Stun: Annotated[cGcDroneControlData, 0x248] + Summon: Annotated[cGcDroneControlData, 0x280] + ToCover: Annotated[cGcDroneControlData, 0x2B8] AttackActivateTime: Annotated[float, Field(ctypes.c_float, 0x2F0)] AttackAlertFailTime: Annotated[float, Field(ctypes.c_float, 0x2F4)] AttackAngle: Annotated[float, Field(ctypes.c_float, 0x2F8)] @@ -24102,43 +19941,27 @@ class cGcDroneData(Structure): SpinAttackRange: Annotated[float, Field(ctypes.c_float, 0x3F4)] SpinAttackRevolutions: Annotated[float, Field(ctypes.c_float, 0x3F8)] EnableCoverPlacement: Annotated[bool, Field(ctypes.c_bool, 0x3FC)] - SpinAttackRevolutionCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x3FD) - ] + SpinAttackRevolutionCurve: Annotated[c_enum32[enums.cTkCurveType], 0x3FD] @partial_struct class cGcDroneDataWithId(Structure): - Data: Annotated[cGcDroneData, Field(cGcDroneData, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x400)] + Data: Annotated[cGcDroneData, 0x0] + Id: Annotated[basic.TkID0x10, 0x400] @partial_struct class cGcSentinelEncounterOverride(Structure): - OSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - OSDOnDefeat: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - OSDOnWaveStart: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - ExtremeSpawnID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - SpawnID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - StatusMessage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - CustomOSDIcon: Annotated[ - c_enum32[enums.cGcRealityGameIcons], - Field(c_enum32[enums.cGcRealityGameIcons], 0xA0), - ] - EncounterTypeOverride: Annotated[ - c_enum32[enums.cGcEncounterType], Field(c_enum32[enums.cGcEncounterType], 0xA4) - ] - OSDOnWaveStartAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xA8), - ] + OSDMessage: Annotated[basic.cTkFixedString0x20, 0x0] + OSDOnDefeat: Annotated[basic.cTkFixedString0x20, 0x20] + OSDOnWaveStart: Annotated[basic.cTkFixedString0x20, 0x40] + ExtremeSpawnID: Annotated[basic.TkID0x10, 0x60] + Id: Annotated[basic.TkID0x10, 0x70] + SpawnID: Annotated[basic.TkID0x10, 0x80] + StatusMessage: Annotated[basic.TkID0x10, 0x90] + CustomOSDIcon: Annotated[c_enum32[enums.cGcRealityGameIcons], 0xA0] + EncounterTypeOverride: Annotated[c_enum32[enums.cGcEncounterType], 0xA4] + OSDOnWaveStartAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xA8] SummonRadius: Annotated[float, Field(ctypes.c_float, 0xAC)] EncounterBlocksWantedSpawns: Annotated[bool, Field(ctypes.c_bool, 0xB0)] EncounterClearsWantedOnDefeat: Annotated[bool, Field(ctypes.c_bool, 0xB1)] @@ -24150,27 +19973,20 @@ class cGcSentinelEncounterOverride(Structure): @partial_struct class cGcCombatEffectDamageMultiplier(Structure): - CombatEffectType: Annotated[ - c_enum32[enums.cGcCombatEffectType], - Field(c_enum32[enums.cGcCombatEffectType], 0x0), - ] + CombatEffectType: Annotated[c_enum32[enums.cGcCombatEffectType], 0x0] DamageMultiplier: Annotated[float, Field(ctypes.c_float, 0x4)] @partial_struct class cGcCameraAerialViewDataTableEntry(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - CameraAerialViewData: Annotated[ - cGcCameraAerialViewData, Field(cGcCameraAerialViewData, 0x10) - ] + ID: Annotated[basic.TkID0x10, 0x0] + CameraAerialViewData: Annotated[cGcCameraAerialViewData, 0x10] @partial_struct class cGcPlayerCommunicatorMessage(Structure): - Dialog: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - ShipHUDOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] + Dialog: Annotated[basic.cTkFixedString0x20, 0x0] + ShipHUDOverride: Annotated[basic.cTkFixedString0x20, 0x20] class eCommunicatorTypeEnum(IntEnum): HoloExplorer = 0x0 @@ -24187,46 +20003,28 @@ class eCommunicatorTypeEnum(IntEnum): FleetExpeditionCaptain = 0xB LivingFrigate = 0xC - CommunicatorType: Annotated[ - c_enum32[eCommunicatorTypeEnum], Field(c_enum32[eCommunicatorTypeEnum], 0x40) - ] - HailAudioOverride: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x44), - ] - RaceOverride: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x48) - ] + CommunicatorType: Annotated[c_enum32[eCommunicatorTypeEnum], 0x40] + HailAudioOverride: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x44] + RaceOverride: Annotated[c_enum32[enums.cGcAlienRace], 0x48] ShowHologram: Annotated[bool, Field(ctypes.c_bool, 0x4C)] @partial_struct class cGcPlayerCommunicatorMessageWeighted(Structure): - Message: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0x0) - ] + Message: Annotated[cGcPlayerCommunicatorMessage, 0x0] Weight: Annotated[int, Field(ctypes.c_int32, 0x50)] @partial_struct class cGcExplosionData(Structure): - AddedLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Model: Annotated[cTkModelResource, Field(cTkModelResource, 0x10)] - Debris: Annotated[ - basic.cTkDynamicArray[cGcDebrisData], - Field(basic.cTkDynamicArray[cGcDebrisData], 0x30), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - ShakeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + AddedLightColour: Annotated[basic.Colour, 0x0] + Model: Annotated[cTkModelResource, 0x10] + Debris: Annotated[basic.cTkDynamicArray[cGcDebrisData], 0x30] + Id: Annotated[basic.TkID0x10, 0x40] + ShakeId: Annotated[basic.TkID0x10, 0x50] AddedLightIntensity: Annotated[float, Field(ctypes.c_float, 0x60)] - AudioEndEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x64), - ] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x68), - ] + AudioEndEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x64] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x68] CamShakeCustomMaxDistance: Annotated[float, Field(ctypes.c_float, 0x6C)] ClampToGroundRayDownLength: Annotated[float, Field(ctypes.c_float, 0x70)] ClampToGroundRayUpLength: Annotated[float, Field(ctypes.c_float, 0x74)] @@ -24251,83 +20049,56 @@ class cGcExplosionData(Structure): @partial_struct class cGcNPCWordReactionList(Structure): - Reactions: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityWordReactionData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityWordReactionData], 0x0), - ] + Reactions: Annotated[basic.cTkDynamicArray[cGcNPCProbabilityWordReactionData], 0x0] @partial_struct class cGcNPCWordReactionCategory(Structure): - Categories: Annotated[cGcNPCWordReactionList, Field(cGcNPCWordReactionList, 0x0)] - Fallback: Annotated[cGcNPCWordReactionList, Field(cGcNPCWordReactionList, 0x70)] + Categories: Annotated[ + tuple[cGcNPCWordReactionList, ...], Field(cGcNPCWordReactionList * 7, 0x0) + ] + Fallback: Annotated[cGcNPCWordReactionList, 0x70] @partial_struct class cGcNPCSettlementBehaviourAreaPropertyWeightEntry(Structure): - AreaProperty: Annotated[ - c_enum32[enums.cGcNPCSettlementBehaviourAreaProperty], - Field(c_enum32[enums.cGcNPCSettlementBehaviourAreaProperty], 0x0), - ] + AreaProperty: Annotated[c_enum32[enums.cGcNPCSettlementBehaviourAreaProperty], 0x0] EntryWeight: Annotated[float, Field(ctypes.c_float, 0x4)] ExitWeight: Annotated[float, Field(ctypes.c_float, 0x8)] @partial_struct class cGcNPCSettlementBehaviourBuildingClassCapacityEntry(Structure): - BuildingClass: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x0), - ] + BuildingClass: Annotated[c_enum32[enums.cGcBuildingClassification], 0x0] Capacity: Annotated[int, Field(ctypes.c_int32, 0x4)] @partial_struct class cGcNPCSettlementBehaviourBuildingClassWeightEntry(Structure): - BuildingClass: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x0), - ] + BuildingClass: Annotated[c_enum32[enums.cGcBuildingClassification], 0x0] EntryWeight: Annotated[float, Field(ctypes.c_float, 0x4)] ExitWeight: Annotated[float, Field(ctypes.c_float, 0x8)] @partial_struct class cGcNPCSettlementBehaviourObjectTypeWeightEntry(Structure): - ObjectType: Annotated[ - c_enum32[enums.cGcNPCInteractiveObjectType], - Field(c_enum32[enums.cGcNPCInteractiveObjectType], 0x0), - ] + ObjectType: Annotated[c_enum32[enums.cGcNPCInteractiveObjectType], 0x0] Weight: Annotated[float, Field(ctypes.c_float, 0x4)] @partial_struct class cGcNPCSettlementBehaviourEntry(Structure): AreaPropertyWeights: Annotated[ - basic.cTkDynamicArray[cGcNPCSettlementBehaviourAreaPropertyWeightEntry], - Field( - basic.cTkDynamicArray[cGcNPCSettlementBehaviourAreaPropertyWeightEntry], 0x0 - ), + basic.cTkDynamicArray[cGcNPCSettlementBehaviourAreaPropertyWeightEntry], 0x0 ] BuildingClassCapacities: Annotated[ - basic.cTkDynamicArray[cGcNPCSettlementBehaviourBuildingClassCapacityEntry], - Field( - basic.cTkDynamicArray[cGcNPCSettlementBehaviourBuildingClassCapacityEntry], - 0x10, - ), + basic.cTkDynamicArray[cGcNPCSettlementBehaviourBuildingClassCapacityEntry], 0x10 ] BuildingClassWeights: Annotated[ - basic.cTkDynamicArray[cGcNPCSettlementBehaviourBuildingClassWeightEntry], - Field( - basic.cTkDynamicArray[cGcNPCSettlementBehaviourBuildingClassWeightEntry], - 0x20, - ), + basic.cTkDynamicArray[cGcNPCSettlementBehaviourBuildingClassWeightEntry], 0x20 ] ObjectTypeWeights: Annotated[ - basic.cTkDynamicArray[cGcNPCSettlementBehaviourObjectTypeWeightEntry], - Field( - basic.cTkDynamicArray[cGcNPCSettlementBehaviourObjectTypeWeightEntry], 0x30 - ), + basic.cTkDynamicArray[cGcNPCSettlementBehaviourObjectTypeWeightEntry], 0x30 ] RunWhenOutdoorsProbability: Annotated[float, Field(ctypes.c_float, 0x40)] OnlyUseIndoorPOIs: Annotated[bool, Field(ctypes.c_bool, 0x44)] @@ -24336,80 +20107,58 @@ class cGcNPCSettlementBehaviourEntry(Structure): @partial_struct class cGcNPCRaceProbabilityModifierData(Structure): Modifier: Annotated[float, Field(ctypes.c_float, 0x0)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x4) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x4] @partial_struct class cGcNPCProbabilityReactionData(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Name: Annotated[basic.TkID0x10, 0x0] RaceModifiers: Annotated[ - basic.cTkDynamicArray[cGcNPCRaceProbabilityModifierData], - Field(basic.cTkDynamicArray[cGcNPCRaceProbabilityModifierData], 0x10), + basic.cTkDynamicArray[cGcNPCRaceProbabilityModifierData], 0x10 ] Probability: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcNPCPropInfo(Structure): - ScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x0)] - AttachRotation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x50)] - AttachTranslation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x60)] - AttachLocator: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - Model: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x80)] + ScanEffect: Annotated[cGcScanEffectData, 0x0] + AttachRotation: Annotated[basic.Vector3f, 0x50] + AttachTranslation: Annotated[basic.Vector3f, 0x60] + AttachLocator: Annotated[basic.TkID0x10, 0x70] + Model: Annotated[basic.VariableSizeString, 0x80] AttachScale: Annotated[float, Field(ctypes.c_float, 0x90)] AttachScaleGek: Annotated[float, Field(ctypes.c_float, 0x94)] - DominantHand: Annotated[ - c_enum32[enums.cGcHand], Field(c_enum32[enums.cGcHand], 0x98) - ] + DominantHand: Annotated[c_enum32[enums.cGcHand], 0x98] class eNPCPropAttachLocationEnum(IntEnum): Hand = 0x0 Wrist = 0x1 - NPCPropAttachLocation: Annotated[ - c_enum32[eNPCPropAttachLocationEnum], - Field(c_enum32[eNPCPropAttachLocationEnum], 0x9C), - ] - ShopType: Annotated[ - c_enum32[enums.cGcTechnologyCategory], - Field(c_enum32[enums.cGcTechnologyCategory], 0xA0), - ] + NPCPropAttachLocation: Annotated[c_enum32[eNPCPropAttachLocationEnum], 0x9C] + ShopType: Annotated[c_enum32[enums.cGcTechnologyCategory], 0xA0] Weight: Annotated[float, Field(ctypes.c_float, 0xA4)] - ScanEffectNodeName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xA8) - ] + ScanEffectNodeName: Annotated[basic.cTkFixedString0x40, 0xA8] Hologram: Annotated[bool, Field(ctypes.c_bool, 0xE8)] @partial_struct class cGcNPCInteractionData(Structure): - Data: Annotated[cTkAttachmentData, Field(cTkAttachmentData, 0x0)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x38)] + Data: Annotated[cTkAttachmentData, 0x0] + ID: Annotated[basic.TkID0x10, 0x38] @partial_struct class cGcNPCReactionEntry(Structure): - Animations: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityReactionData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityReactionData], 0x0), - ] - Emote: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Animations: Annotated[basic.cTkDynamicArray[cGcNPCProbabilityReactionData], 0x0] + Emote: Annotated[basic.TkID0x10, 0x10] ReactionChance: Annotated[float, Field(ctypes.c_float, 0x20)] @partial_struct class cGcNPCProbabilityAnimationData(Structure): - ExcludeRace: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcAlienRace]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcAlienRace]], 0x0), - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Tags: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + ExcludeRace: Annotated[basic.cTkDynamicArray[c_enum32[enums.cGcAlienRace]], 0x0] + Name: Annotated[basic.TkID0x10, 0x10] + Tags: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] class eAnimationIntensityEnum(IntEnum): Low = 0x0 @@ -24417,26 +20166,17 @@ class eAnimationIntensityEnum(IntEnum): High = 0x2 None_ = 0x3 - AnimationIntensity: Annotated[ - c_enum32[eAnimationIntensityEnum], - Field(c_enum32[eAnimationIntensityEnum], 0x30), - ] + AnimationIntensity: Annotated[c_enum32[eAnimationIntensityEnum], 0x30] Probability: Annotated[float, Field(ctypes.c_float, 0x34)] @partial_struct class cGcNPCInteractiveObjectStateTransition(Structure): - ExcludeTags: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - ForceIfMood: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcAlienMood]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcAlienMood]], 0x10), - ] - NewState: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RequireEvent: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - RequireLocator: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + ExcludeTags: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + ForceIfMood: Annotated[basic.cTkDynamicArray[c_enum32[enums.cGcAlienMood]], 0x10] + NewState: Annotated[basic.TkID0x10, 0x20] + RequireEvent: Annotated[basic.TkID0x10, 0x30] + RequireLocator: Annotated[basic.TkID0x10, 0x40] Probability: Annotated[float, Field(ctypes.c_float, 0x50)] class eRequireModeEnum(IntEnum): @@ -24444,24 +20184,18 @@ class eRequireModeEnum(IntEnum): Standing = 0x1 None_ = 0x2 - RequireMode: Annotated[ - c_enum32[eRequireModeEnum], Field(c_enum32[eRequireModeEnum], 0x54) - ] + RequireMode: Annotated[c_enum32[eRequireModeEnum], 0x54] @partial_struct class cGcNPCAnimationList(Structure): - Animations: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x0), - ] + Animations: Annotated[basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x0] @partial_struct class cGcBuildingPartSearchType(Structure): BaseSearchFilters: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], 0x0), + basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], 0x0 ] class eBuildPartSearchTypeEnum(IntEnum): @@ -24470,108 +20204,80 @@ class eBuildPartSearchTypeEnum(IntEnum): AllPlayerOwned = 0x2 OtherPlayerBase = 0x3 - BuildPartSearchType: Annotated[ - c_enum32[eBuildPartSearchTypeEnum], - Field(c_enum32[eBuildPartSearchTypeEnum], 0x10), - ] + BuildPartSearchType: Annotated[c_enum32[eBuildPartSearchTypeEnum], 0x10] IncludeGlobalBaseObjects: Annotated[bool, Field(ctypes.c_bool, 0x14)] IncludeOnlyOverlappingBases: Annotated[bool, Field(ctypes.c_bool, 0x15)] @partial_struct class cGcNPCAnimationSetData(Structure): - MoodAnims: Annotated[cGcNPCAnimationList, Field(cGcNPCAnimationList, 0x0)] - MoodLoops: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] + MoodAnims: Annotated[ + tuple[cGcNPCAnimationList, ...], Field(cGcNPCAnimationList * 10, 0x0) + ] + MoodLoops: Annotated[tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 10, 0xA0)] ChatterAnimations: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x140), + basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x140 ] GreetAnimations: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x150), + basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x150 ] IdleAnimations: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x160), + basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x160 ] IdleFlavourAnimations: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x170), + basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x170 ] ListenAnimations: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x180), + basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x180 ] @partial_struct class cGcMissionSequenceWaitForRefuel(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] - TargetStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x24) - ] + TargetStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x24] @partial_struct class cGcMissionSequenceWaitForRepair(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - TargetStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x20) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + TargetStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x20] @partial_struct class cGcMissionSequenceWaitForFactionStanding(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - SelectFrom: Annotated[cGcFactionSelectOptions, Field(cGcFactionSelectOptions, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + SelectFrom: Annotated[cGcFactionSelectOptions, 0x20] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x28)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x2C)] @partial_struct class cGcMissionSequenceWaitForShips(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - MessageLowShield: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + MessageLowShield: Annotated[basic.VariableSizeString, 0x20] Count: Annotated[int, Field(ctypes.c_int32, 0x30)] - Type: Annotated[ - c_enum32[enums.cGcRealityCommonFactions], - Field(c_enum32[enums.cGcRealityCommonFactions], 0x34), - ] + Type: Annotated[c_enum32[enums.cGcRealityCommonFactions], 0x34] @partial_struct class cGcMissionSequenceShowMessage(Structure): - OSDMessageColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x10) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - OSDMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - OSDMessageSubtitle: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - StatusMessageDefinition: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + OSDMessageColour: Annotated[basic.Colour, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] + OSDMessage: Annotated[basic.VariableSizeString, 0x30] + OSDMessageSubtitle: Annotated[basic.VariableSizeString, 0x40] + StatusMessageDefinition: Annotated[basic.TkID0x10, 0x50] UseConditionsForTextFormatting: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x60), - ] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x70), - ] - Category: Annotated[ - c_enum32[enums.cGcMissionCategory], - Field(c_enum32[enums.cGcMissionCategory], 0x74), + basic.cTkDynamicArray[basic.NMSTemplate], 0x60 ] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x70] + Category: Annotated[c_enum32[enums.cGcMissionCategory], 0x74] class eOSDMessageStyleEnum(IntEnum): Standard = 0x0 @@ -24580,9 +20286,7 @@ class eOSDMessageStyleEnum(IntEnum): Settlement = 0x3 Spook = 0x4 - OSDMessageStyle: Annotated[ - c_enum32[eOSDMessageStyleEnum], Field(c_enum32[eOSDMessageStyleEnum], 0x78) - ] + OSDMessageStyle: Annotated[c_enum32[eOSDMessageStyleEnum], 0x78] OSDTime: Annotated[float, Field(ctypes.c_float, 0x7C)] Time: Annotated[float, Field(ctypes.c_float, 0x80)] DisableIcon: Annotated[bool, Field(ctypes.c_bool, 0x84)] @@ -24592,22 +20296,13 @@ class eOSDMessageStyleEnum(IntEnum): @partial_struct class cGcMissionSequenceWaitForConditions(Structure): - ForceAllowMissionRestartEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Conditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x20), - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] - ConditionTest: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0x50), - ] + ForceAllowMissionRestartEvent: Annotated[basic.TkID0x20, 0x0] + Conditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x20] + DebugText: Annotated[basic.VariableSizeString, 0x30] + Message: Annotated[basic.VariableSizeString, 0x40] + ConditionTest: Annotated[c_enum32[enums.cGcMissionConditionTest], 0x50] StatusMessageMissionMarkup: Annotated[ - c_enum32[enums.cGcStatusMessageMissionMarkup], - Field(c_enum32[enums.cGcStatusMessageMissionMarkup], 0x54), + c_enum32[enums.cGcStatusMessageMissionMarkup], 0x54 ] AllowedToFormatObjectives: Annotated[bool, Field(ctypes.c_bool, 0x58)] ForceAllowMissionRestart: Annotated[bool, Field(ctypes.c_bool, 0x59)] @@ -24615,19 +20310,11 @@ class cGcMissionSequenceWaitForConditions(Structure): @partial_struct class cGcMissionSequenceStartScanEvent(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] + Event: Annotated[basic.TkID0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] InSystemRerolls: Annotated[int, Field(ctypes.c_int32, 0x30)] - Participant: Annotated[ - c_enum32[enums.cGcPlayerMissionParticipantType], - Field(c_enum32[enums.cGcPlayerMissionParticipantType], 0x34), - ] - Table: Annotated[ - c_enum32[enums.cGcScanEventTableType], - Field(c_enum32[enums.cGcScanEventTableType], 0x38), - ] + Participant: Annotated[c_enum32[enums.cGcPlayerMissionParticipantType], 0x34] + Table: Annotated[c_enum32[enums.cGcScanEventTableType], 0x38] Time: Annotated[float, Field(ctypes.c_float, 0x3C)] AllowOtherPlayersBase: Annotated[bool, Field(ctypes.c_bool, 0x40)] DoAerialScan: Annotated[bool, Field(ctypes.c_bool, 0x41)] @@ -24636,13 +20323,9 @@ class cGcMissionSequenceStartScanEvent(Structure): @partial_struct class cGcMissionSequenceStartScanEventSpecific(Structure): - Participant: Annotated[ - cGcPlayerMissionParticipant, Field(cGcPlayerMissionParticipant, 0x0) - ] - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x30)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] + Participant: Annotated[cGcPlayerMissionParticipant, 0x0] + Event: Annotated[basic.TkID0x20, 0x30] + DebugText: Annotated[basic.VariableSizeString, 0x50] Time: Annotated[float, Field(ctypes.c_float, 0x60)] AllowOtherPlayersBase: Annotated[bool, Field(ctypes.c_bool, 0x64)] IMeantThisAndKnowWhatItDoes: Annotated[bool, Field(ctypes.c_bool, 0x65)] @@ -24650,99 +20333,57 @@ class cGcMissionSequenceStartScanEventSpecific(Structure): @partial_struct class cGcMissionSequenceStartSummonAnomaly(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Anomaly: Annotated[ - c_enum32[enums.cGcGalaxyStarAnomaly], - Field(c_enum32[enums.cGcGalaxyStarAnomaly], 0x10), - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Anomaly: Annotated[c_enum32[enums.cGcGalaxyStarAnomaly], 0x10] SummonInFrontDistance: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cGcMissionSequenceTeleport(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] EffectTime: Annotated[float, Field(ctypes.c_float, 0x20)] SequenceTime: Annotated[float, Field(ctypes.c_float, 0x24)] - TeleporterType: Annotated[ - c_enum32[enums.cGcTeleporterType], - Field(c_enum32[enums.cGcTeleporterType], 0x28), - ] + TeleporterType: Annotated[c_enum32[enums.cGcTeleporterType], 0x28] DoCameraShake: Annotated[bool, Field(ctypes.c_bool, 0x2C)] DoWhiteout: Annotated[bool, Field(ctypes.c_bool, 0x2D)] @partial_struct class cGcMissionSequenceModifyStat(Structure): - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Stat: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] - ModifyType: Annotated[ - c_enum32[enums.cGcStatModifyType], - Field(c_enum32[enums.cGcStatModifyType], 0x14), - ] + ModifyType: Annotated[c_enum32[enums.cGcStatModifyType], 0x14] @partial_struct class cGcMissionSequenceGroup(Structure): - ColourOverride: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - SurveyTarget: Annotated[ - cGcTargetMissionSurveyOptions, Field(cGcTargetMissionSurveyOptions, 0x10) - ] - SeasonalObjectiveOverrides: Annotated[ - cGcSeasonalObjectiveOverrides, Field(cGcSeasonalObjectiveOverrides, 0xB8) - ] - ObjectiveFormatting: Annotated[ - cGcObjectiveTextFormatOptions, Field(cGcObjectiveTextFormatOptions, 0x108) - ] - ObjectiveID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x150) - ] - ObjectiveTipID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x170) - ] - PageDataLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x190) - ] - PrefixTitleText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1B0) - ] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1D0)] - BuildMenuHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1E8)] - Conditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x1F8), - ] - Consequences: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x208), - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x218) - ] - FoodTarget: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x228)] - InventoryHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x238)] - Stages: Annotated[ - basic.cTkDynamicArray[cGcGenericMissionStage], - Field(basic.cTkDynamicArray[cGcGenericMissionStage], 0x248), - ] - TerrainTarget: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x258)] - CustomNotifyTimers: Annotated[ - cGcCustomNotifyTimerOptions, Field(cGcCustomNotifyTimerOptions, 0x268) - ] - ConditionTest: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0x274), - ] + ColourOverride: Annotated[basic.Colour, 0x0] + SurveyTarget: Annotated[cGcTargetMissionSurveyOptions, 0x10] + SeasonalObjectiveOverrides: Annotated[cGcSeasonalObjectiveOverrides, 0xB8] + ObjectiveFormatting: Annotated[cGcObjectiveTextFormatOptions, 0x108] + ObjectiveID: Annotated[basic.cTkFixedString0x20, 0x150] + ObjectiveTipID: Annotated[basic.cTkFixedString0x20, 0x170] + PageDataLocID: Annotated[basic.cTkFixedString0x20, 0x190] + PrefixTitleText: Annotated[basic.cTkFixedString0x20, 0x1B0] + Icon: Annotated[cTkTextureResource, 0x1D0] + BuildMenuHint: Annotated[basic.TkID0x10, 0x1E8] + Conditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x1F8] + Consequences: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x208] + DebugText: Annotated[basic.VariableSizeString, 0x218] + FoodTarget: Annotated[basic.TkID0x10, 0x228] + InventoryHint: Annotated[basic.TkID0x10, 0x238] + Stages: Annotated[basic.cTkDynamicArray[cGcGenericMissionStage], 0x248] + TerrainTarget: Annotated[basic.TkID0x10, 0x258] + CustomNotifyTimers: Annotated[cGcCustomNotifyTimerOptions, 0x268] + ConditionTest: Annotated[c_enum32[enums.cGcMissionConditionTest], 0x274] class eGalMapPathOverrideEnum(IntEnum): None_ = 0x0 BlackHole = 0x1 Atlas = 0x2 - GalMapPathOverride: Annotated[ - c_enum32[eGalMapPathOverrideEnum], - Field(c_enum32[eGalMapPathOverrideEnum], 0x278), - ] + GalMapPathOverride: Annotated[c_enum32[eGalMapPathOverrideEnum], 0x278] class eIconStyleEnum(IntEnum): Default = 0x0 @@ -24750,29 +20391,17 @@ class eIconStyleEnum(IntEnum): Square = 0x2 NoFrame = 0x3 - IconStyle: Annotated[ - c_enum32[eIconStyleEnum], Field(c_enum32[eIconStyleEnum], 0x27C) - ] - OverrideCategory: Annotated[ - c_enum32[enums.cGcMissionCategory], - Field(c_enum32[enums.cGcMissionCategory], 0x280), - ] - PageHint: Annotated[ - c_enum32[enums.cGcMissionPageHint], - Field(c_enum32[enums.cGcMissionPageHint], 0x284), - ] + IconStyle: Annotated[c_enum32[eIconStyleEnum], 0x27C] + OverrideCategory: Annotated[c_enum32[enums.cGcMissionCategory], 0x280] + PageHint: Annotated[c_enum32[enums.cGcMissionPageHint], 0x284] class eRepeatLogicEnum(IntEnum): None_ = 0x0 Loop = 0x1 RestartOnConditionFail = 0x2 - RepeatLogic: Annotated[ - c_enum32[eRepeatLogicEnum], Field(c_enum32[eRepeatLogicEnum], 0x288) - ] - SpecialButtonIcon: Annotated[ - c_enum32[enums.cTkInputEnum], Field(c_enum32[enums.cTkInputEnum], 0x28C) - ] + RepeatLogic: Annotated[c_enum32[eRepeatLogicEnum], 0x288] + SpecialButtonIcon: Annotated[c_enum32[enums.cTkInputEnum], 0x28C] AutoPinRepairs: Annotated[bool, Field(ctypes.c_bool, 0x290)] BlockPinning: Annotated[bool, Field(ctypes.c_bool, 0x291)] BlockSpaceBattles: Annotated[bool, Field(ctypes.c_bool, 0x292)] @@ -24786,110 +20415,74 @@ class eRepeatLogicEnum(IntEnum): @partial_struct class cGcMissionSequenceGatherForRefuel(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] - TargetStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x24) - ] + TargetStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x24] @partial_struct class cGcMissionSequenceGatherForRepair(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - GatherResource: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] - TargetStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x30) - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + GatherResource: Annotated[basic.TkID0x10, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] + TargetStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x30] @partial_struct class cGcMissionSequenceDoMissionsForFaction(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - SelectFrom: Annotated[cGcFactionSelectOptions, Field(cGcFactionSelectOptions, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + Message: Annotated[basic.VariableSizeString, 0x10] + SelectFrom: Annotated[cGcFactionSelectOptions, 0x20] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x28)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x2C)] @partial_struct class cGcMissionSequenceDetailMessage(Structure): - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Image: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x20)] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - Points: Annotated[ - basic.cTkDynamicArray[cGcMissionSequenceDetailMessagePoint], - Field(basic.cTkDynamicArray[cGcMissionSequenceDetailMessagePoint], 0x70), - ] - TakeImageFromItemIcon: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x90), - ] + Description: Annotated[basic.cTkFixedString0x20, 0x0] + Image: Annotated[basic.TkID0x20, 0x20] + Title: Annotated[basic.cTkFixedString0x20, 0x40] + DebugText: Annotated[basic.VariableSizeString, 0x60] + Points: Annotated[basic.cTkDynamicArray[cGcMissionSequenceDetailMessagePoint], 0x70] + TakeImageFromItemIcon: Annotated[basic.TkID0x10, 0x80] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x90] TakeDataFromSeason: Annotated[bool, Field(ctypes.c_bool, 0x94)] @partial_struct class cGcMissionSequenceCommunicator(Structure): - Comms: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0x0) - ] - OptionalWaitMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x80)] - OSDMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x90) - ] - VRMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xA0) - ] + Comms: Annotated[cGcPlayerCommunicatorMessage, 0x0] + OptionalWaitMessage: Annotated[basic.cTkFixedString0x20, 0x50] + DebugText: Annotated[basic.VariableSizeString, 0x70] + Message: Annotated[basic.VariableSizeString, 0x80] + OSDMessage: Annotated[basic.VariableSizeString, 0x90] + VRMessage: Annotated[basic.VariableSizeString, 0xA0] MinTimeInSpaceBeforeCall: Annotated[float, Field(ctypes.c_float, 0xB0)] - FormatDialogIDWithSeasonData: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xB4) - ] + FormatDialogIDWithSeasonData: Annotated[basic.cTkFixedString0x20, 0xB4] AutoOpen: Annotated[bool, Field(ctypes.c_bool, 0xD4)] UsePulseEncounterObjectAsAttachment: Annotated[bool, Field(ctypes.c_bool, 0xD5)] @partial_struct class cGcMissionSequenceCommunicatorOnTakeOff(Structure): - Comms: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0x0) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x60)] + Comms: Annotated[cGcPlayerCommunicatorMessage, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x50] + Message: Annotated[basic.VariableSizeString, 0x60] @partial_struct class cGcMissionSequenceCollectSubstance(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - ForBuild: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - ForRepair: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] - Substance: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + ForBuild: Annotated[basic.TkID0x10, 0x10] + ForRepair: Annotated[basic.TkID0x10, 0x20] + Message: Annotated[basic.VariableSizeString, 0x30] + Substance: Annotated[basic.TkID0x10, 0x40] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x50)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x54)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionSubstanceEnum], - Field(c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x58), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x58] DefaultValueMultiplier: Annotated[float, Field(ctypes.c_float, 0x5C)] - Purpose: Annotated[ - c_enum32[enums.cGcItemNeedPurpose], - Field(c_enum32[enums.cGcItemNeedPurpose], 0x60), - ] + Purpose: Annotated[c_enum32[enums.cGcItemNeedPurpose], 0x60] CanFormatObjectives: Annotated[bool, Field(ctypes.c_bool, 0x64)] CanSetIcon: Annotated[bool, Field(ctypes.c_bool, 0x65)] FromNow: Annotated[bool, Field(ctypes.c_bool, 0x66)] @@ -24901,37 +20494,19 @@ class cGcMissionSequenceCollectSubstance(Structure): @partial_struct class cGcMissionSequenceConstruct(Structure): - NexusNeedPartsScanEvent: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - NoBaseInSystemScanEvent: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - Type: Annotated[cGcBuildingPartSearchType, Field(cGcBuildingPartSearchType, 0x40)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x58) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x68)] - MessageInNexusAndNeedParts: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x78) - ] - MessageNoBaseInSystem: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x88) - ] - MessageNoBaseInSystemAndNoStation: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x98) - ] - MessageOutsideBase: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xA8) - ] + NexusNeedPartsScanEvent: Annotated[basic.cTkFixedString0x20, 0x0] + NoBaseInSystemScanEvent: Annotated[basic.cTkFixedString0x20, 0x20] + Type: Annotated[cGcBuildingPartSearchType, 0x40] + DebugText: Annotated[basic.VariableSizeString, 0x58] + Message: Annotated[basic.VariableSizeString, 0x68] + MessageInNexusAndNeedParts: Annotated[basic.VariableSizeString, 0x78] + MessageNoBaseInSystem: Annotated[basic.VariableSizeString, 0x88] + MessageNoBaseInSystemAndNoStation: Annotated[basic.VariableSizeString, 0x98] + MessageOutsideBase: Annotated[basic.VariableSizeString, 0xA8] PotentialPartGroups: Annotated[ - basic.cTkDynamicArray[cGcConstructionPartGroup], - Field(basic.cTkDynamicArray[cGcConstructionPartGroup], 0xB8), - ] - PotentialParts: Annotated[ - basic.cTkDynamicArray[cGcConstructionPart], - Field(basic.cTkDynamicArray[cGcConstructionPart], 0xC8), + basic.cTkDynamicArray[cGcConstructionPartGroup], 0xB8 ] + PotentialParts: Annotated[basic.cTkDynamicArray[cGcConstructionPart], 0xC8] NumUniquePartsRequired: Annotated[int, Field(ctypes.c_int32, 0xD8)] HideCompletedPartsOutOfBase: Annotated[bool, Field(ctypes.c_bool, 0xDC)] HideOtherPartsWhenBuyingBlueprints: Annotated[bool, Field(ctypes.c_bool, 0xDD)] @@ -24941,45 +20516,33 @@ class cGcMissionSequenceConstruct(Structure): @partial_struct class cGcMissionSchedulingData(Structure): - MissionIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - RecurrenceType: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x10)] + MissionIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + RecurrenceType: Annotated[basic.NMSTemplate, 0x10] EarlyEndOffset: Annotated[int, Field(ctypes.c_uint64, 0x20)] - EndDate: Annotated[cGcDate, Field(cGcDate, 0x28)] - StartDate: Annotated[cGcDate, Field(cGcDate, 0x3C)] + EndDate: Annotated[cGcDate, 0x28] + StartDate: Annotated[cGcDate, 0x3C] HasEndDate: Annotated[bool, Field(ctypes.c_bool, 0x50)] IndependentStart: Annotated[bool, Field(ctypes.c_bool, 0x51)] @partial_struct class cGcMissionSequenceBuild(Structure): - Type: Annotated[cGcBuildingPartSearchType, Field(cGcBuildingPartSearchType, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x18) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x28)] - Part: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x38)] + Type: Annotated[cGcBuildingPartSearchType, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x18] + Message: Annotated[basic.VariableSizeString, 0x28] + Part: Annotated[basic.TkID0x10, 0x38] TakePartFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x48)] TeachIfNotKnown: Annotated[bool, Field(ctypes.c_bool, 0x49)] @partial_struct class cGcMissionSequenceCollectLocalSubstance(Structure): - UseScanEventToDetermineLocation: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] + UseScanEventToDetermineLocation: Annotated[basic.cTkFixedString0x20, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x20] + Message: Annotated[basic.VariableSizeString, 0x30] Amount: Annotated[int, Field(ctypes.c_int32, 0x40)] DefaultValueMultiplier: Annotated[float, Field(ctypes.c_float, 0x44)] - LocalSubstanceType: Annotated[ - c_enum32[enums.cGcLocalSubstanceType], - Field(c_enum32[enums.cGcLocalSubstanceType], 0x48), - ] + LocalSubstanceType: Annotated[c_enum32[enums.cGcLocalSubstanceType], 0x48] UseSpecificPlanetIndex: Annotated[int, Field(ctypes.c_int32, 0x4C)] CanFormatObjectives: Annotated[bool, Field(ctypes.c_bool, 0x50)] CanSetIcon: Annotated[bool, Field(ctypes.c_bool, 0x51)] @@ -24992,13 +20555,11 @@ class cGcMissionSequenceCollectLocalSubstance(Structure): @partial_struct class cGcMissionSequenceCollectMoney(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - ForItemID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x20)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + ForItemID: Annotated[basic.TkID0x10, 0x10] + Message: Annotated[basic.VariableSizeString, 0x20] Amount: Annotated[int, Field(ctypes.c_int32, 0x30)] - CollectCurrency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x34) - ] + CollectCurrency: Annotated[c_enum32[enums.cGcCurrency], 0x34] ForItemQuantity: Annotated[int, Field(ctypes.c_int32, 0x38)] ApplyDifficultyScaling: Annotated[bool, Field(ctypes.c_bool, 0x3C)] DiscountAlreadyAcquiredForItems: Annotated[bool, Field(ctypes.c_bool, 0x3D)] @@ -25007,10 +20568,10 @@ class cGcMissionSequenceCollectMoney(Structure): @partial_struct class cGcWeeklyRecurrence(Structure): - RecurrenceDay: Annotated[c_enum32[enums.cGcDay], Field(c_enum32[enums.cGcDay], 0x0)] + RecurrenceDay: Annotated[c_enum32[enums.cGcDay], 0x0] RecurrenceHour: Annotated[int, Field(ctypes.c_int32, 0x4)] RecurrenceMinute: Annotated[int, Field(ctypes.c_int32, 0x8)] - DebugText: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0xC)] + DebugText: Annotated[basic.cTkFixedString0x80, 0xC] @partial_struct @@ -25018,31 +20579,21 @@ class cGcYearlyRecurrence(Structure): RecurrenceDay: Annotated[int, Field(ctypes.c_int32, 0x0)] RecurrenceHour: Annotated[int, Field(ctypes.c_int32, 0x4)] RecurrenceMinute: Annotated[int, Field(ctypes.c_int32, 0x8)] - RecurrenceMonth: Annotated[ - c_enum32[enums.cGcMonth], Field(c_enum32[enums.cGcMonth], 0xC) - ] - DebugText: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x10) - ] + RecurrenceMonth: Annotated[c_enum32[enums.cGcMonth], 0xC] + DebugText: Annotated[basic.cTkFixedString0x80, 0x10] @partial_struct class cGcMissionSequenceCollectProduct(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - ForBuild: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - ForRepair: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x30)] - Product: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + DebugText: Annotated[basic.VariableSizeString, 0x0] + ForBuild: Annotated[basic.TkID0x10, 0x10] + ForRepair: Annotated[basic.TkID0x10, 0x20] + Message: Annotated[basic.VariableSizeString, 0x30] + Product: Annotated[basic.TkID0x10, 0x40] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x50)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x54)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionProductEnum], - Field(c_enum32[enums.cGcDefaultMissionProductEnum], 0x58), - ] - Purpose: Annotated[ - c_enum32[enums.cGcItemNeedPurpose], - Field(c_enum32[enums.cGcItemNeedPurpose], 0x5C), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionProductEnum], 0x58] + Purpose: Annotated[c_enum32[enums.cGcItemNeedPurpose], 0x5C] CanFormatObjectives: Annotated[bool, Field(ctypes.c_bool, 0x60)] CanSetIcon: Annotated[bool, Field(ctypes.c_bool, 0x61)] DependentOnSeasonMilestone: Annotated[bool, Field(ctypes.c_bool, 0x62)] @@ -25057,90 +20608,58 @@ class cGcMissionSequenceCollectProduct(Structure): @partial_struct class cGcMissionSequenceAudioEvent(Structure): - DebugText: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x10), - ] + DebugText: Annotated[basic.VariableSizeString, 0x0] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x10] UseFrontendAudioObject: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcMissionConsequenceAudioEvent(Structure): - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x0), - ] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x0] UseFrontendAudioObject: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcMissionConditionWordCategoryKnown(Structure): - Category: Annotated[ - c_enum32[enums.cGcWordCategoryTableEnum], - Field(c_enum32[enums.cGcWordCategoryTableEnum], 0x0), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x4) - ] + Category: Annotated[c_enum32[enums.cGcWordCategoryTableEnum], 0x0] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x4] @partial_struct class cGcMissionConditionSystemStarClass(Structure): - Class: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x0), - ] + Class: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x0] @partial_struct class cGcMissionConditionUsingInteraction(Structure): - InteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x0), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x4) - ] + InteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x0] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x4] MustBeSelectedMission: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcMissionConditionSystemRace(Structure): - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x0) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x0] @partial_struct class cGcMissionConditionSeasonRewardRedemptionState(Structure): - CurrentContext: Annotated[ - c_enum32[enums.cGcSaveContextQuery], - Field(c_enum32[enums.cGcSaveContextQuery], 0x0), - ] + CurrentContext: Annotated[c_enum32[enums.cGcSaveContextQuery], 0x0] RewardRedempionState: Annotated[ - c_enum32[enums.cGcSeasonEndRewardsRedemptionState], - Field(c_enum32[enums.cGcSeasonEndRewardsRedemptionState], 0x4), + c_enum32[enums.cGcSeasonEndRewardsRedemptionState], 0x4 ] @partial_struct class cGcMissionConditionSettlementStatLevel(Structure): NormalisedLevel: Annotated[float, Field(ctypes.c_float, 0x0)] - Stat: Annotated[ - c_enum32[enums.cGcSettlementStatType], - Field(c_enum32[enums.cGcSettlementStatType], 0x4), - ] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + Stat: Annotated[c_enum32[enums.cGcSettlementStatType], 0x4] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] @partial_struct class cGcMissionConditionPlanetDiscoveries(Structure): - DiscoveryType: Annotated[ - c_enum32[enums.cGcDiscoveryType], Field(c_enum32[enums.cGcDiscoveryType], 0x0) - ] + DiscoveryType: Annotated[c_enum32[enums.cGcDiscoveryType], 0x0] PercentDiscovered: Annotated[float, Field(ctypes.c_float, 0x4)] DeepSearchDoneDiscos: Annotated[bool, Field(ctypes.c_bool, 0x8)] @@ -25148,13 +20667,9 @@ class cGcMissionConditionPlanetDiscoveries(Structure): @partial_struct class cGcMissionConditionPlanetHasBuilding(Structure): AdditionalBuildings: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x0), - ] - Building: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x10), + basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x0 ] + Building: Annotated[c_enum32[enums.cGcBuildingClassification], 0x10] @partial_struct @@ -25164,89 +20679,56 @@ class eWorkerInCurrentBaseEnum(IntEnum): Yes = 0x1 No = 0x2 - WorkerInCurrentBase: Annotated[ - c_enum32[eWorkerInCurrentBaseEnum], - Field(c_enum32[eWorkerInCurrentBaseEnum], 0x0), - ] - WorkerType: Annotated[ - c_enum32[enums.cGcNPCHabitationType], - Field(c_enum32[enums.cGcNPCHabitationType], 0x4), - ] + WorkerInCurrentBase: Annotated[c_enum32[eWorkerInCurrentBaseEnum], 0x0] + WorkerType: Annotated[c_enum32[enums.cGcNPCHabitationType], 0x4] @partial_struct class cGcMissionConditionNearestBuilding(Structure): AdditionalBuildings: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x0), - ] - Building: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x10), + basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x0 ] + Building: Annotated[c_enum32[enums.cGcBuildingClassification], 0x10] Distance: Annotated[float, Field(ctypes.c_float, 0x14)] - RequireIncompleteInteraction: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x18), - ] + RequireIncompleteInteraction: Annotated[c_enum32[enums.cGcInteractionType], 0x18] @partial_struct class cGcMissionConditionIsTechnologyRepaired(Structure): - SpecificComponent: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Technology: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + SpecificComponent: Annotated[basic.TkID0x10, 0x0] + Technology: Annotated[basic.TkID0x10, 0x10] RepairedComponents: Annotated[int, Field(ctypes.c_int32, 0x20)] - TechStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x24) - ] + TechStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x24] CountAsRepairIfTechMissing: Annotated[bool, Field(ctypes.c_bool, 0x28)] @partial_struct class cGcMissionConditionItemCostsEnabled(Structure): - Purpose: Annotated[ - c_enum32[enums.cGcItemNeedPurpose], - Field(c_enum32[enums.cGcItemNeedPurpose], 0x0), - ] + Purpose: Annotated[c_enum32[enums.cGcItemNeedPurpose], 0x0] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcMissionConditionIsAnomalyLoaded(Structure): - Anomaly: Annotated[ - c_enum32[enums.cGcGalaxyStarAnomaly], - Field(c_enum32[enums.cGcGalaxyStarAnomaly], 0x0), - ] + Anomaly: Annotated[c_enum32[enums.cGcGalaxyStarAnomaly], 0x0] @partial_struct class cGcMissionConditionIsFrigateFlybyActive(Structure): - FrigateFlybyType: Annotated[ - c_enum32[enums.cGcFrigateFlybyType], - Field(c_enum32[enums.cGcFrigateFlybyType], 0x0), - ] + FrigateFlybyType: Annotated[c_enum32[enums.cGcFrigateFlybyType], 0x0] @partial_struct class cGcMissionConditionInteractionIndexChanged(Structure): - InteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x0), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x4) - ] + InteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x0] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x4] @partial_struct class cGcMissionConditionHasProcProduct(Structure): - ProcProduct: Annotated[ - c_enum32[enums.cGcProceduralProductCategory], - Field(c_enum32[enums.cGcProceduralProductCategory], 0x0), - ] + ProcProduct: Annotated[c_enum32[enums.cGcProceduralProductCategory], 0x0] SpecificFossilType: Annotated[ - c_enum32[enums.cGcModularCustomisationResourceType], - Field(c_enum32[enums.cGcModularCustomisationResourceType], 0x4), + c_enum32[enums.cGcModularCustomisationResourceType], 0x4 ] ForceSearchFreighterAndChests: Annotated[bool, Field(ctypes.c_bool, 0x8)] SearchEveryShip: Annotated[bool, Field(ctypes.c_bool, 0x9)] @@ -25254,21 +20736,12 @@ class cGcMissionConditionHasProcProduct(Structure): @partial_struct class cGcMissionConditionHasProduct(Structure): - Product: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - UseAmountToAffordRecipe: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Product: Annotated[basic.TkID0x10, 0x0] + UseAmountToAffordRecipe: Annotated[basic.TkID0x10, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionProductEnum], - Field(c_enum32[enums.cGcDefaultMissionProductEnum], 0x24), - ] - ProductCategory: Annotated[ - c_enum32[enums.cGcProductCategory], - Field(c_enum32[enums.cGcProductCategory], 0x28), - ] - Purpose: Annotated[ - c_enum32[enums.cGcItemNeedPurpose], - Field(c_enum32[enums.cGcItemNeedPurpose], 0x2C), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionProductEnum], 0x24] + ProductCategory: Annotated[c_enum32[enums.cGcProductCategory], 0x28] + Purpose: Annotated[c_enum32[enums.cGcItemNeedPurpose], 0x2C] AllowedToSetInventoryHint: Annotated[bool, Field(ctypes.c_bool, 0x30)] DependentOnSeasonMilestone: Annotated[bool, Field(ctypes.c_bool, 0x31)] DoNotFormatText: Annotated[bool, Field(ctypes.c_bool, 0x32)] @@ -25291,29 +20764,19 @@ class cGcMissionConditionHasProduct(Structure): @partial_struct class cGcMissionConditionHasSettlement(Structure): - SpecificAlienRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x0) - ] + SpecificAlienRace: Annotated[c_enum32[enums.cGcAlienRace], 0x0] @partial_struct class cGcMissionConditionHasSettlementBuilding(Structure): - BuildingClass: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x0), - ] + BuildingClass: Annotated[c_enum32[enums.cGcBuildingClassification], 0x0] RequireComplete: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcMissionConditionHasShip(Structure): - ShipInventoryClass: Annotated[ - c_enum32[enums.cGcInventoryClass], Field(c_enum32[enums.cGcInventoryClass], 0x0) - ] - ShipType: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0x4), - ] + ShipInventoryClass: Annotated[c_enum32[enums.cGcInventoryClass], 0x0] + ShipType: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0x4] BetterClassMatches: Annotated[bool, Field(ctypes.c_bool, 0x8)] CheckAllShips: Annotated[bool, Field(ctypes.c_bool, 0x9)] DontCheckType: Annotated[bool, Field(ctypes.c_bool, 0xA)] @@ -25322,17 +20785,11 @@ class cGcMissionConditionHasShip(Structure): @partial_struct class cGcMissionConditionHasSubstance(Structure): - Substance: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Substance: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] - Default: Annotated[ - c_enum32[enums.cGcDefaultMissionSubstanceEnum], - Field(c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x14), - ] + Default: Annotated[c_enum32[enums.cGcDefaultMissionSubstanceEnum], 0x14] DefaultValueMultiplier: Annotated[float, Field(ctypes.c_float, 0x18)] - Purpose: Annotated[ - c_enum32[enums.cGcItemNeedPurpose], - Field(c_enum32[enums.cGcItemNeedPurpose], 0x1C), - ] + Purpose: Annotated[c_enum32[enums.cGcItemNeedPurpose], 0x1C] MustBeImmediatelyAccessible: Annotated[bool, Field(ctypes.c_bool, 0x20)] TakeAmountFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x21)] UseDefaultAmount: Annotated[bool, Field(ctypes.c_bool, 0x22)] @@ -25341,20 +20798,14 @@ class cGcMissionConditionHasSubstance(Structure): @partial_struct class cGcMissionConditionHasMoney(Structure): Amount: Annotated[int, Field(ctypes.c_int32, 0x0)] - TestCurrency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x4) - ] + TestCurrency: Annotated[c_enum32[enums.cGcCurrency], 0x4] ApplyDifficultyScaling: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcMissionConditionHasMultiTool(Structure): - InventoryClass: Annotated[ - c_enum32[enums.cGcInventoryClass], Field(c_enum32[enums.cGcInventoryClass], 0x0) - ] - WeaponClass: Annotated[ - c_enum32[enums.cGcWeaponClasses], Field(c_enum32[enums.cGcWeaponClasses], 0x4) - ] + InventoryClass: Annotated[c_enum32[enums.cGcInventoryClass], 0x0] + WeaponClass: Annotated[c_enum32[enums.cGcWeaponClasses], 0x4] BetterClassMatches: Annotated[bool, Field(ctypes.c_bool, 0x8)] CheckAllTools: Annotated[bool, Field(ctypes.c_bool, 0x9)] MustMatchWeaponClass: Annotated[bool, Field(ctypes.c_bool, 0xA)] @@ -25363,49 +20814,33 @@ class cGcMissionConditionHasMultiTool(Structure): @partial_struct class cGcMissionConditionHasFish(Structure): - TargetFishInfo: Annotated[cGcFishData, Field(cGcFishData, 0x0)] + TargetFishInfo: Annotated[cGcFishData, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x68)] - QualityTest: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x6C) - ] - SizeTest: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x70) - ] + QualityTest: Annotated[c_enum32[enums.cTkEqualityEnum], 0x6C] + SizeTest: Annotated[c_enum32[enums.cTkEqualityEnum], 0x70] TakeAmountFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x74)] @partial_struct class cGcMissionConditionHasFossilComponent(Structure): - SpecificCategory: Annotated[ - c_enum32[enums.cGcFossilCategory], Field(c_enum32[enums.cGcFossilCategory], 0x0) - ] + SpecificCategory: Annotated[c_enum32[enums.cGcFossilCategory], 0x0] @partial_struct class cGcMissionConditionHasFuel(Structure): - SpecificTechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecificTechID: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] - TargetStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x14) - ] + TargetStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x14] FormatTextAsPercentage: Annotated[bool, Field(ctypes.c_bool, 0x18)] @partial_struct class cGcMissionConditionHasIngredientsForItem(Structure): - TakeTargetItemsFromScanEvent: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - TargetItems: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + TakeTargetItemsFromScanEvent: Annotated[basic.cTkFixedString0x20, 0x0] + TargetItems: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] ExpectedTargetItemsFromScanEvent: Annotated[int, Field(ctypes.c_int32, 0x30)] HorribleJustFormatTargetAmount: Annotated[int, Field(ctypes.c_int32, 0x34)] - ScanEventTargetGroup: Annotated[ - c_enum32[enums.cGcMaintenanceElementGroups], - Field(c_enum32[enums.cGcMaintenanceElementGroups], 0x38), - ] + ScanEventTargetGroup: Annotated[c_enum32[enums.cGcMaintenanceElementGroups], 0x38] FormatTextOneReqAtATime: Annotated[bool, Field(ctypes.c_bool, 0x3C)] NeverReturnTrueOnlyUseForFormatting: Annotated[bool, Field(ctypes.c_bool, 0x3D)] Repair: Annotated[bool, Field(ctypes.c_bool, 0x3E)] @@ -25415,60 +20850,42 @@ class cGcMissionConditionHasIngredientsForItem(Structure): @partial_struct class cGcMissionConditionHasCorvetteProduct(Structure): Amount: Annotated[int, Field(ctypes.c_int32, 0x0)] - PartType: Annotated[ - c_enum32[enums.cGcCorvettePartCategory], - Field(c_enum32[enums.cGcCorvettePartCategory], 0x4), - ] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x8) - ] + PartType: Annotated[c_enum32[enums.cGcCorvettePartCategory], 0x4] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x8] SpecificPartType: Annotated[bool, Field(ctypes.c_bool, 0xC)] @partial_struct class cGcMissionConditionEventRequiresRGB(Structure): - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - StarType: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x20), - ] + Event: Annotated[basic.TkID0x20, 0x0] + StarType: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x20] IgnoreIfPlayerHasAccess: Annotated[bool, Field(ctypes.c_bool, 0x24)] @partial_struct class cGcMissionConditionExpeditionCaptainRace(Structure): - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x0) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x0] @partial_struct class cGcMissionConditionGameMode(Structure): - Mode: Annotated[ - c_enum32[enums.cGcGameMode], Field(c_enum32[enums.cGcGameMode], 0x0) - ] + Mode: Annotated[c_enum32[enums.cGcGameMode], 0x0] @partial_struct class cGcMissionConditionBuildMenuOpen(Structure): - SecondaryMode: Annotated[ - c_enum32[enums.cGcBaseBuildingSecondaryMode], - Field(c_enum32[enums.cGcBaseBuildingSecondaryMode], 0x0), - ] + SecondaryMode: Annotated[c_enum32[enums.cGcBaseBuildingSecondaryMode], 0x0] CheckSecondaryMode: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcMissionConditionBuildMode(Structure): - Mode: Annotated[ - c_enum32[enums.cGcBaseBuildingMode], - Field(c_enum32[enums.cGcBaseBuildingMode], 0x0), - ] + Mode: Annotated[c_enum32[enums.cGcBaseBuildingMode], 0x0] @partial_struct class cGcMissionConditionBaseQuery(Structure): - BaseSearchFilter: Annotated[cGcBaseSearchFilter, Field(cGcBaseSearchFilter, 0x0)] + BaseSearchFilter: Annotated[cGcBaseSearchFilter, 0x0] MaxBasesFound: Annotated[int, Field(ctypes.c_int32, 0xC0)] MinBasesFound: Annotated[int, Field(ctypes.c_int32, 0xC4)] SearchDistanceLimit: Annotated[float, Field(ctypes.c_float, 0xC8)] @@ -25477,23 +20894,16 @@ class cGcMissionConditionBaseQuery(Structure): @partial_struct class cGcMissionConditionCorvetteHasTaggedParts(Structure): - SpecificItem: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + SpecificItem: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] class eCorvetteToQueryEnum(IntEnum): PrimaryShip = 0x0 Draft = 0x1 - CorvetteToQuery: Annotated[ - c_enum32[eCorvetteToQueryEnum], Field(c_enum32[eCorvetteToQueryEnum], 0x14) - ] - PartType: Annotated[ - c_enum32[enums.cGcCorvettePartCategory], - Field(c_enum32[enums.cGcCorvettePartCategory], 0x18), - ] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x1C) - ] + CorvetteToQuery: Annotated[c_enum32[eCorvetteToQueryEnum], 0x14] + PartType: Annotated[c_enum32[enums.cGcCorvettePartCategory], 0x18] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x1C] AlsoCountPartsInInventory: Annotated[bool, Field(ctypes.c_bool, 0x20)] TakeAmountFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x21)] UseSpecificItemOnlyForText: Annotated[bool, Field(ctypes.c_bool, 0x22)] @@ -25501,10 +20911,8 @@ class eCorvetteToQueryEnum(IntEnum): @partial_struct class cGcMissionConditionBasePartsQuery(Structure): - ExcludeBasesFilter: Annotated[cGcBaseSearchFilter, Field(cGcBaseSearchFilter, 0x0)] - PartsSearchFilter: Annotated[ - cGcBasePartSearchFilter, Field(cGcBasePartSearchFilter, 0xC0) - ] + ExcludeBasesFilter: Annotated[cGcBaseSearchFilter, 0x0] + PartsSearchFilter: Annotated[cGcBasePartSearchFilter, 0xC0] MaxPartsFound: Annotated[int, Field(ctypes.c_int32, 0x120)] MinPartsFound: Annotated[int, Field(ctypes.c_int32, 0x124)] SearchDistanceLimit: Annotated[float, Field(ctypes.c_float, 0x128)] @@ -25514,30 +20922,20 @@ class cGcMissionConditionBasePartsQuery(Structure): @partial_struct class cGcMissionConditionAIShipCount(Structure): Count: Annotated[int, Field(ctypes.c_int32, 0x0)] - Test: Annotated[ - c_enum32[enums.cTkEqualityEnum], Field(c_enum32[enums.cTkEqualityEnum], 0x4) - ] - Type: Annotated[ - c_enum32[enums.cGcRealityCommonFactions], - Field(c_enum32[enums.cGcRealityCommonFactions], 0x8), - ] + Test: Annotated[c_enum32[enums.cTkEqualityEnum], 0x4] + Type: Annotated[c_enum32[enums.cGcRealityCommonFactions], 0x8] @partial_struct class cGcMissionConditionBaseClaimed(Structure): - Base: Annotated[ - c_enum32[enums.cGcPersistentBaseTypes], - Field(c_enum32[enums.cGcPersistentBaseTypes], 0x0), - ] + Base: Annotated[c_enum32[enums.cGcPersistentBaseTypes], 0x0] class eIsOnCurrentSystemEnum(IntEnum): DontCare = 0x0 Yes = 0x1 No = 0x2 - IsOnCurrentSystem: Annotated[ - c_enum32[eIsOnCurrentSystemEnum], Field(c_enum32[eIsOnCurrentSystemEnum], 0x4) - ] + IsOnCurrentSystem: Annotated[c_enum32[eIsOnCurrentSystemEnum], 0x4] MinParts: Annotated[int, Field(ctypes.c_int32, 0x8)] Claimed: Annotated[bool, Field(ctypes.c_bool, 0xC)] MustBeInBase: Annotated[bool, Field(ctypes.c_bool, 0xD)] @@ -25545,36 +20943,28 @@ class eIsOnCurrentSystemEnum(IntEnum): @partial_struct class cGcMissionConditionBasePartBuilt(Structure): - Type: Annotated[cGcBuildingPartSearchType, Field(cGcBuildingPartSearchType, 0x0)] - PartID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18)] + Type: Annotated[cGcBuildingPartSearchType, 0x0] + PartID: Annotated[basic.TkID0x10, 0x18] Count: Annotated[int, Field(ctypes.c_int32, 0x28)] class ePartInCurrentBaseEnum(IntEnum): DontCare = 0x0 YesAllPlayerOwned = 0x1 - PartInCurrentBase: Annotated[ - c_enum32[ePartInCurrentBaseEnum], Field(c_enum32[ePartInCurrentBaseEnum], 0x2C) - ] + PartInCurrentBase: Annotated[c_enum32[ePartInCurrentBaseEnum], 0x2C] TakeIDFromSeasonData: Annotated[bool, Field(ctypes.c_bool, 0x30)] @partial_struct class cGcScanEventSave(Structure): - BuildingLocation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Event: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x10)] - BuildingSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x30)] - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + BuildingLocation: Annotated[basic.Vector3f, 0x0] + Event: Annotated[basic.TkID0x20, 0x10] + BuildingSeed: Annotated[basic.GcSeed, 0x30] + MissionID: Annotated[basic.TkID0x10, 0x40] GalacticAddress: Annotated[int, Field(ctypes.c_uint64, 0x50)] MissionSeed: Annotated[int, Field(ctypes.c_uint64, 0x58)] - BuildingClass: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x60), - ] - ParticipantType: Annotated[ - c_enum32[enums.cGcPlayerMissionParticipantType], - Field(c_enum32[enums.cGcPlayerMissionParticipantType], 0x64), - ] + BuildingClass: Annotated[c_enum32[enums.cGcBuildingClassification], 0x60] + ParticipantType: Annotated[c_enum32[enums.cGcPlayerMissionParticipantType], 0x64] Table: Annotated[int, Field(ctypes.c_int32, 0x68)] Time: Annotated[float, Field(ctypes.c_float, 0x6C)] @@ -25582,45 +20972,26 @@ class cGcScanEventSave(Structure): @partial_struct class cGcPhysicsCollisionTable(Structure): CollisionTable: Annotated[ - basic.cTkDynamicArray[cGcPhysicsCollisionGroupCollidesWith], - Field(basic.cTkDynamicArray[cGcPhysicsCollisionGroupCollidesWith], 0x0), + basic.cTkDynamicArray[cGcPhysicsCollisionGroupCollidesWith], 0x0 ] @partial_struct class cGcScanEventSolarSystemLookup(Structure): - SamePlanetAsEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - ExcludePlanetsWithEvents: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x20), - ] - NeedsResourceHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - NeedsSpecificCreature: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - SystemNeedsResourceHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - TradingData: Annotated[cGcPlanetTradingData, Field(cGcPlanetTradingData, 0x60)] + SamePlanetAsEvent: Annotated[basic.TkID0x20, 0x0] + ExcludePlanetsWithEvents: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x20] + NeedsResourceHint: Annotated[basic.TkID0x10, 0x30] + NeedsSpecificCreature: Annotated[basic.TkID0x10, 0x40] + SystemNeedsResourceHint: Annotated[basic.TkID0x10, 0x50] + TradingData: Annotated[cGcPlanetTradingData, 0x60] MinPlanets: Annotated[int, Field(ctypes.c_int32, 0x68)] - NeedsBiomeType: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x6C) - ] + NeedsBiomeType: Annotated[c_enum32[enums.cGcBiomeType], 0x6C] SamePlanetAsSeasonParty: Annotated[int, Field(ctypes.c_int32, 0x70)] - StarType: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x74), - ] - UseAnomaly: Annotated[ - c_enum32[enums.cGcGalaxyStarAnomaly], - Field(c_enum32[enums.cGcGalaxyStarAnomaly], 0x78), - ] - UseBiomeSubType: Annotated[ - c_enum32[enums.cGcBiomeSubType], Field(c_enum32[enums.cGcBiomeSubType], 0x7C) - ] - UseConflict: Annotated[ - c_enum32[enums.cGcPlayerConflictData], - Field(c_enum32[enums.cGcPlayerConflictData], 0x80), - ] - UseRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x84) - ] + StarType: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x74] + UseAnomaly: Annotated[c_enum32[enums.cGcGalaxyStarAnomaly], 0x78] + UseBiomeSubType: Annotated[c_enum32[enums.cGcBiomeSubType], 0x7C] + UseConflict: Annotated[c_enum32[enums.cGcPlayerConflictData], 0x80] + UseRace: Annotated[c_enum32[enums.cGcAlienRace], 0x84] AllowedToBePurpleWithoutAccess: Annotated[bool, Field(ctypes.c_bool, 0x88)] AllowUnsafeMatches: Annotated[bool, Field(ctypes.c_bool, 0x89)] AnyBiomeNotWeirdOrDead: Annotated[bool, Field(ctypes.c_bool, 0x8A)] @@ -25662,17 +21033,13 @@ class cGcScanEventSolarSystemLookup(Structure): @partial_struct class cGcFreighterDungeonParams(Structure): - DungeonParams: Annotated[ - cGcDungeonGenerationParams, Field(cGcDungeonGenerationParams, 0x0) - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] + DungeonParams: Annotated[cGcDungeonGenerationParams, 0x0] + Name: Annotated[basic.TkID0x10, 0x80] @partial_struct class cGcFrigateFlybyOption(Structure): - FrigateClass: Annotated[ - c_enum32[enums.cGcFrigateClass], Field(c_enum32[enums.cGcFrigateClass], 0x0) - ] + FrigateClass: Annotated[c_enum32[enums.cGcFrigateClass], 0x0] MaxCount: Annotated[int, Field(ctypes.c_int32, 0x4)] MinCount: Annotated[int, Field(ctypes.c_int32, 0x8)] Weight: Annotated[float, Field(ctypes.c_float, 0xC)] @@ -25680,14 +21047,8 @@ class cGcFrigateFlybyOption(Structure): @partial_struct class cGcFrigateFlybyLayout(Structure): - Frigates: Annotated[ - basic.cTkDynamicArray[cGcFrigateFlybyOption], - Field(basic.cTkDynamicArray[cGcFrigateFlybyOption], 0x0), - ] - FlybyType: Annotated[ - c_enum32[enums.cGcFrigateFlybyType], - Field(c_enum32[enums.cGcFrigateFlybyType], 0x10), - ] + Frigates: Annotated[basic.cTkDynamicArray[cGcFrigateFlybyOption], 0x0] + FlybyType: Annotated[c_enum32[enums.cGcFrigateFlybyType], 0x10] InitialSpeed: Annotated[float, Field(ctypes.c_float, 0x14)] InterestDistance: Annotated[float, Field(ctypes.c_float, 0x18)] InterestTime: Annotated[float, Field(ctypes.c_float, 0x1C)] @@ -25696,93 +21057,56 @@ class cGcFrigateFlybyLayout(Structure): @partial_struct class cGcMissionFishData(Structure): - SpecificFish: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - Quality: Annotated[ - c_enum32[enums.cGcItemQuality], Field(c_enum32[enums.cGcItemQuality], 0x10) - ] - Size: Annotated[ - c_enum32[enums.cGcFishSize], Field(c_enum32[enums.cGcFishSize], 0x14) - ] - Time: Annotated[ - c_enum32[enums.cGcFishingTime], Field(c_enum32[enums.cGcFishingTime], 0x18) - ] - Biome: Annotated[bool, Field(ctypes.c_bool, 0x1C)] + SpecificFish: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + Quality: Annotated[c_enum32[enums.cGcItemQuality], 0x10] + Size: Annotated[c_enum32[enums.cGcFishSize], 0x14] + Time: Annotated[c_enum32[enums.cGcFishingTime], 0x18] + Biome: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 17, 0x1C)] NeedsStorm: Annotated[bool, Field(ctypes.c_bool, 0x2D)] @partial_struct class cGcPassiveFrigateIncome(Structure): - IncomeId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + IncomeId: Annotated[basic.TkID0x10, 0x0] AmountOfIncomeRewarded: Annotated[int, Field(ctypes.c_int32, 0x10)] ForEveryXAmountOfTheStat: Annotated[int, Field(ctypes.c_int32, 0x14)] - IncomeType: Annotated[ - c_enum32[enums.cGcInventoryType], Field(c_enum32[enums.cGcInventoryType], 0x18) - ] + IncomeType: Annotated[c_enum32[enums.cGcInventoryType], 0x18] @partial_struct class cGcPassiveFrigateIncomeArray(Structure): - Array: Annotated[cGcPassiveFrigateIncome, Field(cGcPassiveFrigateIncome, 0x0)] + Array: Annotated[ + tuple[cGcPassiveFrigateIncome, ...], Field(cGcPassiveFrigateIncome * 10, 0x0) + ] @partial_struct class cGcFrigateTraitData(Structure): - DisplayName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - ChanceOfBeingOffered: Annotated[int, Field(ctypes.c_int32, 0x30)] - FrigateStatType: Annotated[ - c_enum32[enums.cGcFrigateStatType], - Field(c_enum32[enums.cGcFrigateStatType], 0x58), - ] - Strength: Annotated[ - c_enum32[enums.cGcFrigateTraitStrength], - Field(c_enum32[enums.cGcFrigateTraitStrength], 0x5C), - ] + DisplayName: Annotated[basic.cTkFixedString0x20, 0x0] + ID: Annotated[basic.TkID0x10, 0x20] + ChanceOfBeingOffered: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 10, 0x30)] + FrigateStatType: Annotated[c_enum32[enums.cGcFrigateStatType], 0x58] + Strength: Annotated[c_enum32[enums.cGcFrigateTraitStrength], 0x5C] @partial_struct class cGcExpeditionEventData(Structure): - ID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - DamageDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x20) - ] - FailureDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x38) - ] - GenericFailureDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x50) - ] - GenericFailureWhaleDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x68) - ] - GenericSuccessDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x80) - ] - SecondaryDamageDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x98) - ] - SecondaryDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0xB0) - ] - SecondaryFailureDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0xC8) - ] - SuccessDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0xE0) - ] - SuccessWhaleDescriptionList: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0xF8) - ] - EasySuccessReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x110)] - FailureReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x120)] - SuccessReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x130)] - WhaleReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x140)] - StatContribution: Annotated[float, Field(ctypes.c_float, 0x150)] + ID: Annotated[basic.TkID0x20, 0x0] + DamageDescriptionList: Annotated[cGcNumberedTextList, 0x20] + FailureDescriptionList: Annotated[cGcNumberedTextList, 0x38] + GenericFailureDescriptionList: Annotated[cGcNumberedTextList, 0x50] + GenericFailureWhaleDescriptionList: Annotated[cGcNumberedTextList, 0x68] + GenericSuccessDescriptionList: Annotated[cGcNumberedTextList, 0x80] + SecondaryDamageDescriptionList: Annotated[cGcNumberedTextList, 0x98] + SecondaryDescriptionList: Annotated[cGcNumberedTextList, 0xB0] + SecondaryFailureDescriptionList: Annotated[cGcNumberedTextList, 0xC8] + SuccessDescriptionList: Annotated[cGcNumberedTextList, 0xE0] + SuccessWhaleDescriptionList: Annotated[cGcNumberedTextList, 0xF8] + EasySuccessReward: Annotated[basic.TkID0x10, 0x110] + FailureReward: Annotated[basic.TkID0x10, 0x120] + SuccessReward: Annotated[basic.TkID0x10, 0x130] + WhaleReward: Annotated[basic.TkID0x10, 0x140] + StatContribution: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x150)] AdditionalShipDifficultyIncrease: Annotated[int, Field(ctypes.c_int32, 0x164)] DifficultyModifier: Annotated[int, Field(ctypes.c_int32, 0x168)] DifficultyVarianceModifier: Annotated[int, Field(ctypes.c_int32, 0x16C)] @@ -25790,55 +21114,35 @@ class cGcExpeditionEventData(Structure): @partial_struct class cGcExpeditionInterventionEventData(Structure): - ID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - InteractionID: Annotated[cGcNumberedTextList, Field(cGcNumberedTextList, 0x20)] - AvoidanceFailureReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x38)] - AvoidanceSuccessReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - FailureReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] - SuccessReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x68)] - ExpeditionCategory: Annotated[ - c_enum32[enums.cGcExpeditionCategory], - Field(c_enum32[enums.cGcExpeditionCategory], 0x78), - ] + ID: Annotated[basic.TkID0x20, 0x0] + InteractionID: Annotated[cGcNumberedTextList, 0x20] + AvoidanceFailureReward: Annotated[basic.TkID0x10, 0x38] + AvoidanceSuccessReward: Annotated[basic.TkID0x10, 0x48] + FailureReward: Annotated[basic.TkID0x10, 0x58] + SuccessReward: Annotated[basic.TkID0x10, 0x68] + ExpeditionCategory: Annotated[c_enum32[enums.cGcExpeditionCategory], 0x78] FailureDamageChance: Annotated[int, Field(ctypes.c_int32, 0x7C)] - MissionType: Annotated[ - c_enum32[enums.cGcMissionType], Field(c_enum32[enums.cGcMissionType], 0x80) - ] + MissionType: Annotated[c_enum32[enums.cGcMissionType], 0x80] SelectionWeight: Annotated[int, Field(ctypes.c_int32, 0x84)] - AvoidanceFailureLogEntry: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x88) - ] - AvoidanceSuccessLogEntry: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA8) - ] - FailureLogEntry: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC8) - ] - SuccessLogEntry: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE8) - ] + AvoidanceFailureLogEntry: Annotated[basic.cTkFixedString0x20, 0x88] + AvoidanceSuccessLogEntry: Annotated[basic.cTkFixedString0x20, 0xA8] + FailureLogEntry: Annotated[basic.cTkFixedString0x20, 0xC8] + SuccessLogEntry: Annotated[basic.cTkFixedString0x20, 0xE8] @partial_struct class cGcGalaxyWaypoint(Structure): - EventId: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Address: Annotated[cGcGalacticAddressData, Field(cGcGalacticAddressData, 0x20)] + EventId: Annotated[basic.cTkFixedString0x20, 0x0] + Address: Annotated[cGcGalacticAddressData, 0x20] RealityIndex: Annotated[int, Field(ctypes.c_int32, 0x34)] - Type: Annotated[ - c_enum32[enums.cGcGalaxyWaypointTypes], - Field(c_enum32[enums.cGcGalaxyWaypointTypes], 0x38), - ] + Type: Annotated[c_enum32[enums.cGcGalaxyWaypointTypes], 0x38] @partial_struct class cGcGalaxySolarSystemParams(Structure): - MoonParameters: Annotated[ - cGcGalaxySolarSystemOrbitParams, Field(cGcGalaxySolarSystemOrbitParams, 0x0) - ] - PlanetParameters: Annotated[ - cGcGalaxySolarSystemOrbitParams, Field(cGcGalaxySolarSystemOrbitParams, 0x1C) - ] - PlanetRadii: Annotated[float, Field(ctypes.c_float, 0x38)] + MoonParameters: Annotated[cGcGalaxySolarSystemOrbitParams, 0x0] + PlanetParameters: Annotated[cGcGalaxySolarSystemOrbitParams, 0x1C] + PlanetRadii: Annotated[tuple[float, ...], Field(ctypes.c_float * 5, 0x38)] DefaultDistance: Annotated[float, Field(ctypes.c_float, 0x4C)] NonVisitedPlanetAlpha: Annotated[float, Field(ctypes.c_float, 0x50)] SystemTilt: Annotated[float, Field(ctypes.c_float, 0x54)] @@ -25847,29 +21151,19 @@ class cGcGalaxySolarSystemParams(Structure): @partial_struct class cGcGalaxyStarAttributesData(Structure): - PlanetSeeds: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x0)] - PlanetParentIndices: Annotated[int, Field(ctypes.c_int32, 0x100)] + PlanetSeeds: Annotated[tuple[basic.GcSeed, ...], Field(basic.GcSeed * 16, 0x0)] + PlanetParentIndices: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 16, 0x100)] PlanetSizes: Annotated[ - c_enum32[enums.cGcPlanetSize], Field(c_enum32[enums.cGcPlanetSize], 0x140) - ] - TradingData: Annotated[cGcPlanetTradingData, Field(cGcPlanetTradingData, 0x180)] - Anomaly: Annotated[ - c_enum32[enums.cGcGalaxyStarAnomaly], - Field(c_enum32[enums.cGcGalaxyStarAnomaly], 0x188), - ] - ConflictData: Annotated[ - c_enum32[enums.cGcPlayerConflictData], - Field(c_enum32[enums.cGcPlayerConflictData], 0x18C), + tuple[enums.cGcPlanetSize, ...], + Field(c_enum32[enums.cGcPlanetSize] * 16, 0x140), ] + TradingData: Annotated[cGcPlanetTradingData, 0x180] + Anomaly: Annotated[c_enum32[enums.cGcGalaxyStarAnomaly], 0x188] + ConflictData: Annotated[c_enum32[enums.cGcPlayerConflictData], 0x18C] NumberOfPlanets: Annotated[int, Field(ctypes.c_int32, 0x190)] NumberOfPrimePlanets: Annotated[int, Field(ctypes.c_int32, 0x194)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x198) - ] - Type: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x19C), - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x198] + Type: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x19C] AbandonedSystem: Annotated[bool, Field(ctypes.c_bool, 0x1A0)] IsGasGiantSystem: Annotated[bool, Field(ctypes.c_bool, 0x1A1)] IsGiantSystem: Annotated[bool, Field(ctypes.c_bool, 0x1A2)] @@ -25879,123 +21173,63 @@ class cGcGalaxyStarAttributesData(Structure): @partial_struct class cGcGalaxyAudioSetupData(Structure): - EventAddWaypoint: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x0), - ] - EventMapEnter: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x4), - ] - EventMapExit: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x8), - ] - EventNavmodeChange: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xC), - ] - EventNavmodeChangeFailed: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x10), - ] - EventNavmodePathMove: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x14), - ] - EventPlanetRumble: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x18), - ] - EventRemoveWaypoint: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x1C), - ] - EventRouteLines: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x20), - ] - EventSystemDeselect: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x24), - ] - EventSystemSelect: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x28), - ] - EventTextAppear: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x2C), - ] - EventWaypointError: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x30), - ] - EventWaypointLoop: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x34), - ] - RTPCStarWhoosh: Annotated[ - c_enum32[enums.cGcAudioWwiseRTPCs], - Field(c_enum32[enums.cGcAudioWwiseRTPCs], 0x38), - ] + EventAddWaypoint: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x0] + EventMapEnter: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x4] + EventMapExit: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x8] + EventNavmodeChange: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xC] + EventNavmodeChangeFailed: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x10] + EventNavmodePathMove: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x14] + EventPlanetRumble: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x18] + EventRemoveWaypoint: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x1C] + EventRouteLines: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x20] + EventSystemDeselect: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x24] + EventSystemSelect: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x28] + EventTextAppear: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x2C] + EventWaypointError: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x30] + EventWaypointLoop: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x34] + RTPCStarWhoosh: Annotated[c_enum32[enums.cGcAudioWwiseRTPCs], 0x38] WhooshClip: Annotated[float, Field(ctypes.c_float, 0x3C)] WhooshMultiplier: Annotated[float, Field(ctypes.c_float, 0x40)] @partial_struct class cGcSettlementColourUpgradeBuildingOverride(Structure): - BuildingPalette: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - DecorationPalette: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - Building: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x40), - ] + BuildingPalette: Annotated[basic.cTkFixedString0x20, 0x0] + DecorationPalette: Annotated[basic.cTkFixedString0x20, 0x20] + Building: Annotated[c_enum32[enums.cGcBuildingClassification], 0x40] @partial_struct class cGcWFCDecorationItem(Structure): - ApplicableModules: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - Scenes: Annotated[ - basic.cTkDynamicArray[cGcWeightedResource], - Field(basic.cTkDynamicArray[cGcWeightedResource], 0x30), - ] - Back: Annotated[cGcWFCDecorationFace, Field(cGcWFCDecorationFace, 0x40)] - Down: Annotated[cGcWFCDecorationFace, Field(cGcWFCDecorationFace, 0xC4)] - Forward: Annotated[cGcWFCDecorationFace, Field(cGcWFCDecorationFace, 0x148)] - Left: Annotated[cGcWFCDecorationFace, Field(cGcWFCDecorationFace, 0x1CC)] - Right: Annotated[cGcWFCDecorationFace, Field(cGcWFCDecorationFace, 0x250)] - Up: Annotated[cGcWFCDecorationFace, Field(cGcWFCDecorationFace, 0x2D4)] + ApplicableModules: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + Group: Annotated[basic.TkID0x10, 0x10] + Name: Annotated[basic.TkID0x10, 0x20] + Scenes: Annotated[basic.cTkDynamicArray[cGcWeightedResource], 0x30] + Back: Annotated[cGcWFCDecorationFace, 0x40] + Down: Annotated[cGcWFCDecorationFace, 0xC4] + Forward: Annotated[cGcWFCDecorationFace, 0x148] + Left: Annotated[cGcWFCDecorationFace, 0x1CC] + Right: Annotated[cGcWFCDecorationFace, 0x250] + Up: Annotated[cGcWFCDecorationFace, 0x2D4] class eInsideOutsideEnum(IntEnum): Both = 0x0 InteriorOnly = 0x1 ExteriorOnly = 0x2 - InsideOutside: Annotated[ - c_enum32[eInsideOutsideEnum], Field(c_enum32[eInsideOutsideEnum], 0x358) - ] + InsideOutside: Annotated[c_enum32[eInsideOutsideEnum], 0x358] class eLevelEnum(IntEnum): Everywhere = 0x0 GroundLevelOnly = 0x1 AboveGroundOnly = 0x2 - Level: Annotated[c_enum32[eLevelEnum], Field(c_enum32[eLevelEnum], 0x35C)] + Level: Annotated[c_enum32[eLevelEnum], 0x35C] MaxPerBuilding: Annotated[int, Field(ctypes.c_int32, 0x360)] MinPerBuilding: Annotated[int, Field(ctypes.c_int32, 0x364)] NoSceneProbability: Annotated[float, Field(ctypes.c_float, 0x368)] RelativeProbability: Annotated[float, Field(ctypes.c_float, 0x36C)] - DecorationThemes: Annotated[bool, Field(ctypes.c_bool, 0x370)] + DecorationThemes: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 5, 0x370)] Include: Annotated[bool, Field(ctypes.c_bool, 0x375)] IsRoof: Annotated[bool, Field(ctypes.c_bool, 0x376)] RequireAboveTerrain: Annotated[bool, Field(ctypes.c_bool, 0x377)] @@ -26005,107 +21239,71 @@ class eLevelEnum(IntEnum): @partial_struct class cGcBuildingColourPalette(Structure): - Palettes: Annotated[ - basic.cTkDynamicArray[cGcWeightedColourId], - Field(basic.cTkDynamicArray[cGcWeightedColourId], 0x0), - ] - Building: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x10), - ] + Palettes: Annotated[basic.cTkDynamicArray[cGcWeightedColourId], 0x0] + Building: Annotated[c_enum32[enums.cGcBuildingClassification], 0x10] @partial_struct class cGcBuildingMaterialOverride(Structure): - Materials: Annotated[ - basic.cTkDynamicArray[cGcWeightedMaterialId], - Field(basic.cTkDynamicArray[cGcWeightedMaterialId], 0x0), - ] - Building: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x10), - ] + Materials: Annotated[basic.cTkDynamicArray[cGcWeightedMaterialId], 0x0] + Building: Annotated[c_enum32[enums.cGcBuildingClassification], 0x10] @partial_struct class cGcSettlementMaterialData(Structure): BuildingMaterials: Annotated[ - basic.cTkDynamicArray[cGcBuildingMaterialOverride], - Field(basic.cTkDynamicArray[cGcBuildingMaterialOverride], 0x0), + basic.cTkDynamicArray[cGcBuildingMaterialOverride], 0x0 ] BuildingPalettes: Annotated[ - basic.cTkDynamicArray[cGcBuildingMaterialOverride], - Field(basic.cTkDynamicArray[cGcBuildingMaterialOverride], 0x10), - ] - DefaultMaterials: Annotated[ - basic.cTkDynamicArray[cGcWeightedMaterialId], - Field(basic.cTkDynamicArray[cGcWeightedMaterialId], 0x20), - ] - DefaultPalettes: Annotated[ - basic.cTkDynamicArray[cGcWeightedMaterialId], - Field(basic.cTkDynamicArray[cGcWeightedMaterialId], 0x30), + basic.cTkDynamicArray[cGcBuildingMaterialOverride], 0x10 ] + DefaultMaterials: Annotated[basic.cTkDynamicArray[cGcWeightedMaterialId], 0x20] + DefaultPalettes: Annotated[basic.cTkDynamicArray[cGcWeightedMaterialId], 0x30] @partial_struct class cGcSettlementColourPalette(Structure): UpgradeLevel: Annotated[ - cGcSettlementMaterialData, Field(cGcSettlementMaterialData, 0x0) + tuple[cGcSettlementMaterialData, ...], Field(cGcSettlementMaterialData * 4, 0x0) ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x100)] + Name: Annotated[basic.TkID0x10, 0x100] RelativeProbability: Annotated[float, Field(ctypes.c_float, 0x110)] - Style: Annotated[ - c_enum32[enums.cGcBaseBuildingPartStyle], - Field(c_enum32[enums.cGcBaseBuildingPartStyle], 0x114), - ] + Style: Annotated[c_enum32[enums.cGcBaseBuildingPartStyle], 0x114] @partial_struct class cGcWeatherColourModifiers(Structure): - HeavyAirColour: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x0)] - CloudColour1: Annotated[cGcColourModifier, Field(cGcColourModifier, 0xF0)] - CloudColour2: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x120)] - FogColour: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x150)] - HeightFogColour: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x180)] - HorizonColour: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x1B0)] - LightColour: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x1E0)] - SkyColour: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x210)] - SkyUpperColour: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x240)] - SunColour: Annotated[cGcColourModifier, Field(cGcColourModifier, 0x270)] + HeavyAirColour: Annotated[ + tuple[cGcColourModifier, ...], Field(cGcColourModifier * 5, 0x0) + ] + CloudColour1: Annotated[cGcColourModifier, 0xF0] + CloudColour2: Annotated[cGcColourModifier, 0x120] + FogColour: Annotated[cGcColourModifier, 0x150] + HeightFogColour: Annotated[cGcColourModifier, 0x180] + HorizonColour: Annotated[cGcColourModifier, 0x1B0] + LightColour: Annotated[cGcColourModifier, 0x1E0] + SkyColour: Annotated[cGcColourModifier, 0x210] + SkyUpperColour: Annotated[cGcColourModifier, 0x240] + SunColour: Annotated[cGcColourModifier, 0x270] @partial_struct class cGcSelectableObjectList(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Options: Annotated[ - basic.cTkDynamicArray[cGcSelectableObjectData], - Field(basic.cTkDynamicArray[cGcSelectableObjectData], 0x10), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x20) - ] + Name: Annotated[basic.TkID0x10, 0x0] + Options: Annotated[basic.cTkDynamicArray[cGcSelectableObjectData], 0x10] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x20] @partial_struct class cGcWeatherEffect(Structure): - OSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - BlockedByCluster: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - EffectData: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x30)] - Effects: Annotated[ - basic.cTkDynamicArray[cGcWeightedFilename], - Field(basic.cTkDynamicArray[cGcWeightedFilename], 0x40), - ] - ForcedOnByHazard: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - ImpactGift: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] - Audio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x80), - ] + OSDMessage: Annotated[basic.cTkFixedString0x20, 0x0] + BlockedByCluster: Annotated[basic.TkID0x10, 0x20] + EffectData: Annotated[basic.NMSTemplate, 0x30] + Effects: Annotated[basic.cTkDynamicArray[cGcWeightedFilename], 0x40] + ForcedOnByHazard: Annotated[basic.TkID0x10, 0x50] + Id: Annotated[basic.TkID0x10, 0x60] + ImpactGift: Annotated[basic.VariableSizeString, 0x70] + Audio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x80] ChanceOfPlanetBeingExtreme: Annotated[float, Field(ctypes.c_float, 0x84)] ClusterMaxLifetime: Annotated[float, Field(ctypes.c_float, 0x88)] ClusterMinLifetime: Annotated[float, Field(ctypes.c_float, 0x8C)] @@ -26121,8 +21319,7 @@ class cGcWeatherEffect(Structure): MinSpawnScale: Annotated[float, Field(ctypes.c_float, 0xB4)] MoveSpeed: Annotated[float, Field(ctypes.c_float, 0xB8)] MultiplySpawnChanceByHazardLevel: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0xBC), + c_enum32[enums.cGcPlayerHazardType], 0xBC ] PatchMaxRadius: Annotated[float, Field(ctypes.c_float, 0xC0)] PatchMaxSpawns: Annotated[int, Field(ctypes.c_int32, 0xC4)] @@ -26141,9 +21338,7 @@ class eSpawnConditionsEnum(IntEnum): NotInStorm = 0x3 AtNightNotInStorm = 0x4 - SpawnConditions: Annotated[ - c_enum32[eSpawnConditionsEnum], Field(c_enum32[eSpawnConditionsEnum], 0xE4) - ] + SpawnConditions: Annotated[c_enum32[eSpawnConditionsEnum], 0xE4] WanderMaxArcDeg: Annotated[float, Field(ctypes.c_float, 0xE8)] WanderMaxRadius: Annotated[float, Field(ctypes.c_float, 0xEC)] WanderMinArcDeg: Annotated[float, Field(ctypes.c_float, 0xF0)] @@ -26154,10 +21349,7 @@ class eWeatherEffectBehaviourEnum(IntEnum): Wander = 0x1 ChasePlayer = 0x2 - WeatherEffectBehaviour: Annotated[ - c_enum32[eWeatherEffectBehaviourEnum], - Field(c_enum32[eWeatherEffectBehaviourEnum], 0xF8), - ] + WeatherEffectBehaviour: Annotated[c_enum32[eWeatherEffectBehaviourEnum], 0xF8] class eWeatherEffectSpawnTypeEnum(IntEnum): Single = 0x0 @@ -26165,10 +21357,7 @@ class eWeatherEffectSpawnTypeEnum(IntEnum): Patch = 0x2 ClusterPatch = 0x3 - WeatherEffectSpawnType: Annotated[ - c_enum32[eWeatherEffectSpawnTypeEnum], - Field(c_enum32[eWeatherEffectSpawnTypeEnum], 0xFC), - ] + WeatherEffectSpawnType: Annotated[c_enum32[eWeatherEffectSpawnTypeEnum], 0xFC] ExclusivePrimaryHazard: Annotated[bool, Field(ctypes.c_bool, 0x100)] FadeoutAudio: Annotated[bool, Field(ctypes.c_bool, 0x101)] FadeoutVisuals: Annotated[bool, Field(ctypes.c_bool, 0x102)] @@ -26177,97 +21366,68 @@ class eWeatherEffectSpawnTypeEnum(IntEnum): @partial_struct class cGcStormProperties(Structure): - ColourModifiers: Annotated[ - cGcWeatherColourModifiers, Field(cGcWeatherColourModifiers, 0x0) + ColourModifiers: Annotated[cGcWeatherColourModifiers, 0x0] + Fog: Annotated[cGcFogProperties, 0x2A0] + HazardModifiers: Annotated[ + tuple[basic.Vector2f, ...], Field(basic.Vector2f * 6, 0x470) ] - Fog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x2A0)] - HazardModifiers: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x470)] Weighting: Annotated[float, Field(ctypes.c_float, 0x4A0)] @partial_struct class cGcSubstanceAmount(Structure): - Specific: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - SpecificSecondary: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Specific: Annotated[basic.TkID0x10, 0x0] + SpecificSecondary: Annotated[basic.TkID0x10, 0x10] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x24)] - Category: Annotated[ - c_enum32[enums.cGcRealitySubstanceCategory], - Field(c_enum32[enums.cGcRealitySubstanceCategory], 0x28), - ] - Rarity: Annotated[c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x2C)] + Category: Annotated[c_enum32[enums.cGcRealitySubstanceCategory], 0x28] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x2C] @partial_struct class cGcPlanetSkyProperties(Structure): - PlanetExtremeFog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x0)] - PlanetFlightFog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x1D0)] - PlanetFog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x3A0)] - PlanetStormFog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x570)] - PlanetSky: Annotated[cGcSkyProperties, Field(cGcSkyProperties, 0x740)] + PlanetExtremeFog: Annotated[cGcFogProperties, 0x0] + PlanetFlightFog: Annotated[cGcFogProperties, 0x1D0] + PlanetFog: Annotated[cGcFogProperties, 0x3A0] + PlanetStormFog: Annotated[cGcFogProperties, 0x570] + PlanetSky: Annotated[cGcSkyProperties, 0x740] @partial_struct class cGcPetEggTraitModifierOverrideData(Structure): - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - SubstanceID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + ProductID: Annotated[basic.TkID0x10, 0x0] + SubstanceID: Annotated[basic.TkID0x10, 0x10] BaseValueOverride: Annotated[int, Field(ctypes.c_int32, 0x20)] - Trait: Annotated[ - c_enum32[enums.cGcCreaturePetTraits], - Field(c_enum32[enums.cGcCreaturePetTraits], 0x24), - ] + Trait: Annotated[c_enum32[enums.cGcCreaturePetTraits], 0x24] IncreasesTrait: Annotated[bool, Field(ctypes.c_bool, 0x28)] @partial_struct class cGcCreatureIkData(Structure): - Type: Annotated[ - c_enum32[enums.cGcCreatureIkType], Field(c_enum32[enums.cGcCreatureIkType], 0x0) - ] - JointName: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x4) - ] + Type: Annotated[c_enum32[enums.cGcCreatureIkType], 0x0] + JointName: Annotated[basic.cTkFixedString0x100, 0x4] @partial_struct class cGcCreatureRoleDescription(Structure): - Filter: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - ForceID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RequireTag: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - ActiveTime: Annotated[ - c_enum32[enums.cGcCreatureActiveTime], - Field(c_enum32[enums.cGcCreatureActiveTime], 0x40), - ] - Density: Annotated[ - c_enum32[enums.cGcCreatureGenerationDensity], - Field(c_enum32[enums.cGcCreatureGenerationDensity], 0x44), - ] - ForceType: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x48) - ] + Filter: Annotated[basic.TkID0x20, 0x0] + ForceID: Annotated[basic.TkID0x10, 0x20] + RequireTag: Annotated[basic.TkID0x10, 0x30] + ActiveTime: Annotated[c_enum32[enums.cGcCreatureActiveTime], 0x40] + Density: Annotated[c_enum32[enums.cGcCreatureGenerationDensity], 0x44] + ForceType: Annotated[c_enum32[enums.cGcCreatureTypes], 0x48] IncreasedSpawnDistance: Annotated[float, Field(ctypes.c_float, 0x4C)] MaxGroupSize: Annotated[int, Field(ctypes.c_int32, 0x50)] - MaxSize: Annotated[ - c_enum32[enums.cGcCreatureSizeClasses], - Field(c_enum32[enums.cGcCreatureSizeClasses], 0x54), - ] + MaxSize: Annotated[c_enum32[enums.cGcCreatureSizeClasses], 0x54] MinGroupSize: Annotated[int, Field(ctypes.c_int32, 0x58)] - MinSize: Annotated[ - c_enum32[enums.cGcCreatureSizeClasses], - Field(c_enum32[enums.cGcCreatureSizeClasses], 0x5C), - ] + MinSize: Annotated[c_enum32[enums.cGcCreatureSizeClasses], 0x5C] ProbabilityOfBeingEnabled: Annotated[float, Field(ctypes.c_float, 0x60)] - Role: Annotated[ - c_enum32[enums.cGcCreatureRoles], Field(c_enum32[enums.cGcCreatureRoles], 0x64) - ] + Role: Annotated[c_enum32[enums.cGcCreatureRoles], 0x64] @partial_struct class cGcCreatureDebugSpawnData(Structure): - Waypoints: Annotated[ - basic.cTkDynamicArray[cGcCreatureDebugWaypoint], - Field(basic.cTkDynamicArray[cGcCreatureDebugWaypoint], 0x0), - ] + Waypoints: Annotated[basic.cTkDynamicArray[cGcCreatureDebugWaypoint], 0x0] CreatureIndex: Annotated[int, Field(ctypes.c_int32, 0x10)] CurrentWaypoint: Annotated[int, Field(ctypes.c_int32, 0x14)] InitialDelay: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -26277,14 +21437,10 @@ class eOnCompleteEnum(IntEnum): Loop = 0x1 Destroy = 0x2 - OnComplete: Annotated[ - c_enum32[eOnCompleteEnum], Field(c_enum32[eOnCompleteEnum], 0x1C) - ] + OnComplete: Annotated[c_enum32[eOnCompleteEnum], 0x1C] SmoothTime: Annotated[float, Field(ctypes.c_float, 0x20)] SmoothTimer: Annotated[float, Field(ctypes.c_float, 0x24)] - SpecialCreatureType: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x28) - ] + SpecialCreatureType: Annotated[c_enum32[enums.cGcCreatureTypes], 0x28] Timer: Annotated[float, Field(ctypes.c_float, 0x2C)] ArrivedAtCurrentWaypoint: Annotated[bool, Field(ctypes.c_bool, 0x30)] EcosystemCreature: Annotated[bool, Field(ctypes.c_bool, 0x31)] @@ -26292,13 +21448,8 @@ class eOnCompleteEnum(IntEnum): @partial_struct class cGcPetFollowUpBehaviour(Structure): - Behaviour: Annotated[ - c_enum32[enums.cGcPetBehaviours], Field(c_enum32[enums.cGcPetBehaviours], 0x0) - ] - Trait: Annotated[ - c_enum32[enums.cGcCreaturePetTraits], - Field(c_enum32[enums.cGcCreaturePetTraits], 0x4), - ] + Behaviour: Annotated[c_enum32[enums.cGcPetBehaviours], 0x0] + Trait: Annotated[c_enum32[enums.cGcCreaturePetTraits], 0x4] TraitMax: Annotated[float, Field(ctypes.c_float, 0x8)] TraitMin: Annotated[float, Field(ctypes.c_float, 0xC)] WeightMax: Annotated[float, Field(ctypes.c_float, 0x10)] @@ -26310,10 +21461,7 @@ class cGcPetFollowUpBehaviour(Structure): class cGcPetBehaviourTraitModifier(Structure): CooldownModifierMax: Annotated[float, Field(ctypes.c_float, 0x0)] CooldownModifierMin: Annotated[float, Field(ctypes.c_float, 0x4)] - Trait: Annotated[ - c_enum32[enums.cGcCreaturePetTraits], - Field(c_enum32[enums.cGcCreaturePetTraits], 0x8), - ] + Trait: Annotated[c_enum32[enums.cGcCreaturePetTraits], 0x8] TraitMax: Annotated[float, Field(ctypes.c_float, 0xC)] TraitMin: Annotated[float, Field(ctypes.c_float, 0x10)] WeightModifierMax: Annotated[float, Field(ctypes.c_float, 0x14)] @@ -26324,10 +21472,7 @@ class cGcPetBehaviourTraitModifier(Structure): class cGcPetBehaviourMoodModifier(Structure): CooldownModifierMax: Annotated[float, Field(ctypes.c_float, 0x0)] CooldownModifierMin: Annotated[float, Field(ctypes.c_float, 0x4)] - Mood: Annotated[ - c_enum32[enums.cGcCreaturePetMood], - Field(c_enum32[enums.cGcCreaturePetMood], 0x8), - ] + Mood: Annotated[c_enum32[enums.cGcCreaturePetMood], 0x8] MoodMax: Annotated[float, Field(ctypes.c_float, 0xC)] MoodMin: Annotated[float, Field(ctypes.c_float, 0x10)] WeightModifierMax: Annotated[float, Field(ctypes.c_float, 0x14)] @@ -26336,20 +21481,15 @@ class cGcPetBehaviourMoodModifier(Structure): @partial_struct class cGcPetBehaviourData(Structure): - LabelText: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - FollowUpBehaviours: Annotated[ - basic.cTkDynamicArray[cGcPetFollowUpBehaviour], - Field(basic.cTkDynamicArray[cGcPetFollowUpBehaviour], 0x20), - ] + LabelText: Annotated[basic.cTkFixedString0x20, 0x0] + FollowUpBehaviours: Annotated[basic.cTkDynamicArray[cGcPetFollowUpBehaviour], 0x20] MoodBehaviourModifiers: Annotated[ - basic.cTkDynamicArray[cGcPetBehaviourMoodModifier], - Field(basic.cTkDynamicArray[cGcPetBehaviourMoodModifier], 0x30), + basic.cTkDynamicArray[cGcPetBehaviourMoodModifier], 0x30 ] TraitBehaviourModifiers: Annotated[ - basic.cTkDynamicArray[cGcPetBehaviourTraitModifier], - Field(basic.cTkDynamicArray[cGcPetBehaviourTraitModifier], 0x40), + basic.cTkDynamicArray[cGcPetBehaviourTraitModifier], 0x40 ] - MoodModifyOnComplete: Annotated[float, Field(ctypes.c_float, 0x50)] + MoodModifyOnComplete: Annotated[tuple[float, ...], Field(ctypes.c_float * 2, 0x50)] ApproachPlayerDist: Annotated[float, Field(ctypes.c_float, 0x58)] ChatChance: Annotated[float, Field(ctypes.c_float, 0x5C)] CooldownTime: Annotated[float, Field(ctypes.c_float, 0x60)] @@ -26360,10 +21500,7 @@ class ePetBehaviourValidityEnum(IntEnum): Everywhere = 0x0 OnPlanet = 0x1 - PetBehaviourValidity: Annotated[ - c_enum32[ePetBehaviourValidityEnum], - Field(c_enum32[ePetBehaviourValidityEnum], 0x6C), - ] + PetBehaviourValidity: Annotated[c_enum32[ePetBehaviourValidityEnum], 0x6C] SearchDist: Annotated[float, Field(ctypes.c_float, 0x70)] Weight: Annotated[float, Field(ctypes.c_float, 0x74)] ReactiveBehaviour: Annotated[bool, Field(ctypes.c_bool, 0x78)] @@ -26376,20 +21513,14 @@ class cGcPetTraitStaminaModifier(Structure): StaminaDrainModifierMin: Annotated[float, Field(ctypes.c_float, 0x4)] StaminaRechargeModifierMax: Annotated[float, Field(ctypes.c_float, 0x8)] StaminaRechargeModifierMin: Annotated[float, Field(ctypes.c_float, 0xC)] - Trait: Annotated[ - c_enum32[enums.cGcCreaturePetTraits], - Field(c_enum32[enums.cGcCreaturePetTraits], 0x10), - ] + Trait: Annotated[c_enum32[enums.cGcCreaturePetTraits], 0x10] TraitMax: Annotated[float, Field(ctypes.c_float, 0x14)] TraitMin: Annotated[float, Field(ctypes.c_float, 0x18)] @partial_struct class cGcPetMoodStaminaModifier(Structure): - Mood: Annotated[ - c_enum32[enums.cGcCreaturePetMood], - Field(c_enum32[enums.cGcCreaturePetMood], 0x0), - ] + Mood: Annotated[c_enum32[enums.cGcCreaturePetMood], 0x0] MoodMax: Annotated[float, Field(ctypes.c_float, 0x4)] MoodMin: Annotated[float, Field(ctypes.c_float, 0x8)] StaminaDrainModifierMax: Annotated[float, Field(ctypes.c_float, 0xC)] @@ -26400,89 +21531,58 @@ class cGcPetMoodStaminaModifier(Structure): @partial_struct class cGcCreatureStupidNameTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcCreatureStupidName], - Field(basic.cTkDynamicArray[cGcCreatureStupidName], 0x0), - ] - StupidUserName: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x10) - ] + Table: Annotated[basic.cTkDynamicArray[cGcCreatureStupidName], 0x0] + StupidUserName: Annotated[basic.cTkFixedString0x80, 0x10] @partial_struct class cGcCreatureTagAndRarity(Structure): - Tag: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - RarityOverride: Annotated[ - c_enum32[enums.cGcCreatureRarity], - Field(c_enum32[enums.cGcCreatureRarity], 0x10), - ] + Tag: Annotated[basic.TkID0x10, 0x0] + RarityOverride: Annotated[c_enum32[enums.cGcCreatureRarity], 0x10] @partial_struct class cGcCreatureInfo(Structure): - BiomeDesc: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - DietDesc: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - NotesDesc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - TempermentDesc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] + BiomeDesc: Annotated[basic.cTkFixedString0x20, 0x0] + DietDesc: Annotated[basic.cTkFixedString0x20, 0x20] + NotesDesc: Annotated[basic.cTkFixedString0x20, 0x40] + TempermentDesc: Annotated[basic.cTkFixedString0x20, 0x60] class eAgeEnum(IntEnum): Regular = 0x0 Weird = 0x1 - Age: Annotated[c_enum32[eAgeEnum], Field(c_enum32[eAgeEnum], 0x80)] + Age: Annotated[c_enum32[eAgeEnum], 0x80] Height1: Annotated[float, Field(ctypes.c_float, 0x84)] Height2: Annotated[float, Field(ctypes.c_float, 0x88)] - Rarity: Annotated[c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x8C)] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x8C] Weight1: Annotated[float, Field(ctypes.c_float, 0x90)] Weight2: Annotated[float, Field(ctypes.c_float, 0x94)] - Diet: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x98)] - Gender1: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x118)] - Gender2: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x198)] - Height1_cTkFixedString0x80: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x218) - ] - Height2_cTkFixedString0x80: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x298) - ] - Notes: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x318)] - Temperament: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x398) - ] - Weight1_cTkFixedString0x80: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x418) - ] - Weight2_cTkFixedString0x80: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x498) - ] + Diet: Annotated[basic.cTkFixedString0x80, 0x98] + Gender1: Annotated[basic.cTkFixedString0x80, 0x118] + Gender2: Annotated[basic.cTkFixedString0x80, 0x198] + Height1_cTkFixedString0x80: Annotated[basic.cTkFixedString0x80, 0x218] + Height2_cTkFixedString0x80: Annotated[basic.cTkFixedString0x80, 0x298] + Notes: Annotated[basic.cTkFixedString0x80, 0x318] + Temperament: Annotated[basic.cTkFixedString0x80, 0x398] + Weight1_cTkFixedString0x80: Annotated[basic.cTkFixedString0x80, 0x418] + Weight2_cTkFixedString0x80: Annotated[basic.cTkFixedString0x80, 0x498] @partial_struct class cGcCreatureData(Structure): - Data: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x0), - ] - EggType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - KillingBlowMessageID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - KillStatID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Tags: Annotated[ - basic.cTkDynamicArray[cGcCreatureTagAndRarity], - Field(basic.cTkDynamicArray[cGcCreatureTagAndRarity], 0x50), - ] - ForceType: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x60) - ] + Data: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x0] + EggType: Annotated[basic.TkID0x10, 0x10] + Id: Annotated[basic.TkID0x10, 0x20] + KillingBlowMessageID: Annotated[basic.TkID0x10, 0x30] + KillStatID: Annotated[basic.TkID0x10, 0x40] + Tags: Annotated[basic.cTkDynamicArray[cGcCreatureTagAndRarity], 0x50] + ForceType: Annotated[c_enum32[enums.cGcCreatureTypes], 0x60] FurChance: Annotated[float, Field(ctypes.c_float, 0x64)] FurLengthModifierAtMaxScale: Annotated[float, Field(ctypes.c_float, 0x68)] FurLengthModifierAtMinScale: Annotated[float, Field(ctypes.c_float, 0x6C)] HerbivoreProbabilityModifier: Annotated[ - c_enum32[enums.cGcCreatureRoleFrequencyModifier], - Field(c_enum32[enums.cGcCreatureRoleFrequencyModifier], 0x70), + c_enum32[enums.cGcCreatureRoleFrequencyModifier], 0x70 ] MaxScale: Annotated[float, Field(ctypes.c_float, 0x74)] MinScale: Annotated[float, Field(ctypes.c_float, 0x78)] @@ -26493,18 +21593,12 @@ class eMoveAreaEnum(IntEnum): Air = 0x2 Space = 0x3 - MoveArea: Annotated[c_enum32[eMoveAreaEnum], Field(c_enum32[eMoveAreaEnum], 0x7C)] + MoveArea: Annotated[c_enum32[eMoveAreaEnum], 0x7C] PredatorProbabilityModifier: Annotated[ - c_enum32[enums.cGcCreatureRoleFrequencyModifier], - Field(c_enum32[enums.cGcCreatureRoleFrequencyModifier], 0x80), - ] - Rarity: Annotated[ - c_enum32[enums.cGcCreatureRarity], - Field(c_enum32[enums.cGcCreatureRarity], 0x84), - ] - RealType: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x88) + c_enum32[enums.cGcCreatureRoleFrequencyModifier], 0x80 ] + Rarity: Annotated[c_enum32[enums.cGcCreatureRarity], 0x84] + RealType: Annotated[c_enum32[enums.cGcCreatureTypes], 0x88] CanBeFemale: Annotated[bool, Field(ctypes.c_bool, 0x8C)] EcoSystemCreature: Annotated[bool, Field(ctypes.c_bool, 0x8D)] OnlySpawnWhenIdIsForced: Annotated[bool, Field(ctypes.c_bool, 0x8E)] @@ -26512,37 +21606,29 @@ class eMoveAreaEnum(IntEnum): @partial_struct class cGcCreatureSpookFiendAttackData(Structure): - SpitAttackAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - FollowDistanceOscillationRange: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x10) - ] - FollowHeightOscillationRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x18)] - FollowSpeedOscillationRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x20)] - HideDuration: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x28)] - KamikazeCooldown: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x30)] - KamikazePickWeightRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x38)] - KamikazeThreatLevelRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x40)] - NullAttackCooldown: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x48)] - PostAttackMinVisibleDuration: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x50)] - RevealDuration: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x58)] - SpitAttackCooldown: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x60)] - SpitPickWeightRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x68)] - SpitThreatLevelRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x70)] - ThreatLevelHealthScale: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x78)] - ThreatLevelTimeAliveScale: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x80)] + SpitAttackAnim: Annotated[basic.TkID0x10, 0x0] + FollowDistanceOscillationRange: Annotated[basic.Vector2f, 0x10] + FollowHeightOscillationRange: Annotated[basic.Vector2f, 0x18] + FollowSpeedOscillationRange: Annotated[basic.Vector2f, 0x20] + HideDuration: Annotated[basic.Vector2f, 0x28] + KamikazeCooldown: Annotated[basic.Vector2f, 0x30] + KamikazePickWeightRange: Annotated[basic.Vector2f, 0x38] + KamikazeThreatLevelRange: Annotated[basic.Vector2f, 0x40] + NullAttackCooldown: Annotated[basic.Vector2f, 0x48] + PostAttackMinVisibleDuration: Annotated[basic.Vector2f, 0x50] + RevealDuration: Annotated[basic.Vector2f, 0x58] + SpitAttackCooldown: Annotated[basic.Vector2f, 0x60] + SpitPickWeightRange: Annotated[basic.Vector2f, 0x68] + SpitThreatLevelRange: Annotated[basic.Vector2f, 0x70] + ThreatLevelHealthScale: Annotated[basic.Vector2f, 0x78] + ThreatLevelTimeAliveScale: Annotated[basic.Vector2f, 0x80] ApproachDistance: Annotated[float, Field(ctypes.c_float, 0x88)] FadeTime: Annotated[float, Field(ctypes.c_float, 0x8C)] FollowDistanceOscillationPeriod: Annotated[float, Field(ctypes.c_float, 0x90)] FollowHeightOscillationPeriod: Annotated[float, Field(ctypes.c_float, 0x94)] FollowSpeedOscillationPeriod: Annotated[float, Field(ctypes.c_float, 0x98)] - KamikazeAudioEventBegin: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x9C), - ] - KamikazeAudioEventEnd: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xA0), - ] + KamikazeAudioEventBegin: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x9C] + KamikazeAudioEventEnd: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xA0] MaxSimultaneousKamikaze: Annotated[int, Field(ctypes.c_int32, 0xA4)] NullAttackWeight: Annotated[float, Field(ctypes.c_float, 0xA8)] ReapproachDistance: Annotated[float, Field(ctypes.c_float, 0xAC)] @@ -26555,24 +21641,12 @@ class cGcCreatureSpookFiendAttackData(Structure): @partial_struct class cGcCreatureCrystalMovementDataParams(Structure): - DustEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ValidBiomes: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBiomeSubType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBiomeSubType]], 0x10), - ] - ValidDescriptors: Annotated[ - basic.cTkDynamicArray[basic.TkID0x20], - Field(basic.cTkDynamicArray[basic.TkID0x20], 0x20), - ] + DustEffect: Annotated[basic.TkID0x10, 0x0] + ValidBiomes: Annotated[basic.cTkDynamicArray[c_enum32[enums.cGcBiomeSubType]], 0x10] + ValidDescriptors: Annotated[basic.cTkDynamicArray[basic.TkID0x20], 0x20] AppearOvershoot: Annotated[float, Field(ctypes.c_float, 0x30)] - Audio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x34), - ] - CreationAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x38), - ] + Audio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x34] + CreationAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x38] DeathFadeStart: Annotated[float, Field(ctypes.c_float, 0x3C)] DeathFadeTime: Annotated[float, Field(ctypes.c_float, 0x40)] @@ -26580,9 +21654,7 @@ class eDeathTypeEnum(IntEnum): Explode = 0x0 Drop = 0x1 - DeathType: Annotated[ - c_enum32[eDeathTypeEnum], Field(c_enum32[eDeathTypeEnum], 0x44) - ] + DeathType: Annotated[c_enum32[eDeathTypeEnum], 0x44] DespawnDist: Annotated[float, Field(ctypes.c_float, 0x48)] HideOffset: Annotated[float, Field(ctypes.c_float, 0x4C)] IdleSpeedModifier: Annotated[float, Field(ctypes.c_float, 0x50)] @@ -26596,21 +21668,12 @@ class eDeathTypeEnum(IntEnum): MinDisappearTime: Annotated[float, Field(ctypes.c_float, 0x70)] MinScale: Annotated[float, Field(ctypes.c_float, 0x74)] MinShowTime: Annotated[float, Field(ctypes.c_float, 0x78)] - MoveStartAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x7C), - ] - MoveStopAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x80), - ] + MoveStartAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x7C] + MoveStopAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x80] NumShards: Annotated[int, Field(ctypes.c_int32, 0x84)] OffsetTilt: Annotated[float, Field(ctypes.c_float, 0x88)] ParticleScale: Annotated[float, Field(ctypes.c_float, 0x8C)] - RetractAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x90), - ] + RetractAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x90] RunSpeedModifier: Annotated[float, Field(ctypes.c_float, 0x94)] ShowOffset: Annotated[float, Field(ctypes.c_float, 0x98)] SpawnDist: Annotated[float, Field(ctypes.c_float, 0x9C)] @@ -26619,7 +21682,7 @@ class eSubTypeEnum(IntEnum): Crystal = 0x0 Tentacle = 0x1 - SubType: Annotated[c_enum32[eSubTypeEnum], Field(c_enum32[eSubTypeEnum], 0xA0)] + SubType: Annotated[c_enum32[eSubTypeEnum], 0xA0] TentacleChurnSpeed: Annotated[float, Field(ctypes.c_float, 0xA4)] TentacleIdleLookChance: Annotated[float, Field(ctypes.c_float, 0xA8)] TentacleMoveSwingAngle: Annotated[float, Field(ctypes.c_float, 0xAC)] @@ -26636,67 +21699,32 @@ class eSubTypeEnum(IntEnum): TentacleWalkSwingSpeed: Annotated[float, Field(ctypes.c_float, 0xD8)] TentacleYawRange: Annotated[float, Field(ctypes.c_float, 0xDC)] WalkSpeedModifier: Annotated[float, Field(ctypes.c_float, 0xE0)] - TentacleEndJoint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE4) - ] - TentacleStartJoint: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x104) - ] + TentacleEndJoint: Annotated[basic.cTkFixedString0x20, 0xE4] + TentacleStartJoint: Annotated[basic.cTkFixedString0x20, 0x104] CustomHideCurve: Annotated[bool, Field(ctypes.c_bool, 0x124)] - HideCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x125) - ] + HideCurve: Annotated[c_enum32[enums.cTkCurveType], 0x125] ScaleOnAppear: Annotated[bool, Field(ctypes.c_bool, 0x126)] UseTerrainAngle: Annotated[bool, Field(ctypes.c_bool, 0x127)] @partial_struct class cGcCreatureCrystalMovementData(Structure): - Params: Annotated[ - basic.cTkDynamicArray[cGcCreatureCrystalMovementDataParams], - Field(basic.cTkDynamicArray[cGcCreatureCrystalMovementDataParams], 0x0), - ] + Params: Annotated[basic.cTkDynamicArray[cGcCreatureCrystalMovementDataParams], 0x0] @partial_struct class cGcCustomisationDescriptorGroupOption(Structure): - BoneScales: Annotated[ - basic.cTkDynamicArray[cGcCustomisationBoneScales], - Field(basic.cTkDynamicArray[cGcCustomisationBoneScales], 0x0), - ] - ColourGroups: Annotated[ - basic.cTkDynamicArray[cGcCustomisationColourGroup], - Field(basic.cTkDynamicArray[cGcCustomisationColourGroup], 0x10), - ] - DescriptorOption: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - HideIfGroupActive: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), - ] - SelectingAddsGroup: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x40), - ] - SelectingRemovesGroup: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x50), - ] - TextureGroups: Annotated[ - basic.cTkDynamicArray[cGcCustomisationTextureGroup], - Field(basic.cTkDynamicArray[cGcCustomisationTextureGroup], 0x60), - ] - UnselectingAddsGroup: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x70), - ] - UnselectingRemovesGroup: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x80), - ] + BoneScales: Annotated[basic.cTkDynamicArray[cGcCustomisationBoneScales], 0x0] + ColourGroups: Annotated[basic.cTkDynamicArray[cGcCustomisationColourGroup], 0x10] + DescriptorOption: Annotated[basic.TkID0x10, 0x20] + HideIfGroupActive: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] + SelectingAddsGroup: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x40] + SelectingRemovesGroup: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x50] + TextureGroups: Annotated[basic.cTkDynamicArray[cGcCustomisationTextureGroup], 0x60] + UnselectingAddsGroup: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x70] + UnselectingRemovesGroup: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x80] InteractionCameraIndexOverride: Annotated[int, Field(ctypes.c_int32, 0x90)] - InteracttionCameraFocusJointOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x94) - ] + InteracttionCameraFocusJointOverride: Annotated[basic.cTkFixedString0x20, 0x94] ForceDisableDoF: Annotated[bool, Field(ctypes.c_bool, 0xB4)] ReplaceBaseBoneScales: Annotated[bool, Field(ctypes.c_bool, 0xB5)] ReplaceBaseColours: Annotated[bool, Field(ctypes.c_bool, 0xB6)] @@ -26704,20 +21732,16 @@ class cGcCustomisationDescriptorGroupOption(Structure): @partial_struct class cGcParticleAction(Structure): - Effect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - FindRange: Annotated[ - c_enum32[enums.cGcBroadcastLevel], - Field(c_enum32[enums.cGcBroadcastLevel], 0x10), - ] - Joint: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x14)] + Effect: Annotated[basic.TkID0x10, 0x0] + FindRange: Annotated[c_enum32[enums.cGcBroadcastLevel], 0x10] + Joint: Annotated[basic.cTkFixedString0x20, 0x14] Exact: Annotated[bool, Field(ctypes.c_bool, 0x34)] @partial_struct class cGcDisplayText(Structure): ChooseRandomTextOptions: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x0 ] class eHUDTextDisplayTypeEnum(IntEnum): @@ -26727,125 +21751,78 @@ class eHUDTextDisplayTypeEnum(IntEnum): Prompt = 0x3 Tooltip = 0x4 - HUDTextDisplayType: Annotated[ - c_enum32[eHUDTextDisplayTypeEnum], - Field(c_enum32[eHUDTextDisplayTypeEnum], 0x10), - ] - UseAlienLanguage: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x14) - ] - Subtitle1: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x18) - ] - Subtitle2: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x118) - ] - Title: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x218)] + HUDTextDisplayType: Annotated[c_enum32[eHUDTextDisplayTypeEnum], 0x10] + UseAlienLanguage: Annotated[c_enum32[enums.cGcAlienRace], 0x14] + Subtitle1: Annotated[basic.cTkFixedString0x100, 0x18] + Subtitle2: Annotated[basic.cTkFixedString0x100, 0x118] + Title: Annotated[basic.cTkFixedString0x100, 0x218] @partial_struct class cGcFiendCrimeAction(Structure): FiendCrimeModifier: Annotated[float, Field(ctypes.c_float, 0x0)] - FiendCrimeType: Annotated[ - c_enum32[enums.cGcFiendCrime], Field(c_enum32[enums.cGcFiendCrime], 0x4) - ] + FiendCrimeType: Annotated[c_enum32[enums.cGcFiendCrime], 0x4] @partial_struct class cGcGoToStateAction(Structure): - State: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - BroadcastLevel: Annotated[ - c_enum32[enums.cGcBroadcastLevel], - Field(c_enum32[enums.cGcBroadcastLevel], 0x10), - ] + State: Annotated[basic.TkID0x10, 0x0] + BroadcastLevel: Annotated[c_enum32[enums.cGcBroadcastLevel], 0x10] Broadcast: Annotated[bool, Field(ctypes.c_bool, 0x14)] @partial_struct class cGcBaseDefenceStatusAction(Structure): - TryState: Annotated[ - c_enum32[enums.cGcBaseDefenceStatusType], - Field(c_enum32[enums.cGcBaseDefenceStatusType], 0x0), - ] + TryState: Annotated[c_enum32[enums.cGcBaseDefenceStatusType], 0x0] @partial_struct class cGcPlayerControlInputAxis(Structure): - Output: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - OutputLength: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - InputX: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x20) - ] - InputY: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x24) - ] - OutputSpace: Annotated[ - c_enum32[enums.cGcCharacterControlOutputSpace], - Field(c_enum32[enums.cGcCharacterControlOutputSpace], 0x28), - ] - Validity: Annotated[ - c_enum32[enums.cGcCharacterControlInputValidity], - Field(c_enum32[enums.cGcCharacterControlInputValidity], 0x2C), - ] + Output: Annotated[basic.TkID0x10, 0x0] + OutputLength: Annotated[basic.TkID0x10, 0x10] + InputX: Annotated[c_enum32[enums.cGcInputActions], 0x20] + InputY: Annotated[c_enum32[enums.cGcInputActions], 0x24] + OutputSpace: Annotated[c_enum32[enums.cGcCharacterControlOutputSpace], 0x28] + Validity: Annotated[c_enum32[enums.cGcCharacterControlInputValidity], 0x2C] @partial_struct class cGcPlayerControlInputMouse(Structure): - Output: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - OutputLength: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Output: Annotated[basic.TkID0x10, 0x0] + OutputLength: Annotated[basic.TkID0x10, 0x10] class eInputMouseModeEnum(IntEnum): ScreenCentrePos = 0x0 - InputMouseMode: Annotated[ - c_enum32[eInputMouseModeEnum], Field(c_enum32[eInputMouseModeEnum], 0x20) - ] - OutputSpace: Annotated[ - c_enum32[enums.cGcCharacterControlOutputSpace], - Field(c_enum32[enums.cGcCharacterControlOutputSpace], 0x24), - ] - Validity: Annotated[ - c_enum32[enums.cGcCharacterControlInputValidity], - Field(c_enum32[enums.cGcCharacterControlInputValidity], 0x28), - ] + InputMouseMode: Annotated[c_enum32[eInputMouseModeEnum], 0x20] + OutputSpace: Annotated[c_enum32[enums.cGcCharacterControlOutputSpace], 0x24] + Validity: Annotated[c_enum32[enums.cGcCharacterControlInputValidity], 0x28] @partial_struct class cGcPlayerControlInputRemap(Structure): - Action: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x0) - ] - CanBeTriggeredBy: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x4) - ] + Action: Annotated[c_enum32[enums.cGcInputActions], 0x0] + CanBeTriggeredBy: Annotated[c_enum32[enums.cGcInputActions], 0x4] class eInputRemapModeEnum(IntEnum): ReplaceOriginalBinding = 0x0 AdditionalBinding = 0x1 - InputRemapMode: Annotated[ - c_enum32[eInputRemapModeEnum], Field(c_enum32[eInputRemapModeEnum], 0x8) - ] - Validity: Annotated[ - c_enum32[enums.cGcCharacterControlInputValidity], - Field(c_enum32[enums.cGcCharacterControlInputValidity], 0xC), - ] + InputRemapMode: Annotated[c_enum32[eInputRemapModeEnum], 0x8] + Validity: Annotated[c_enum32[enums.cGcCharacterControlInputValidity], 0xC] @partial_struct class cGcRewardDestructTable(Structure): Categories: Annotated[ - cGcRewardDestructRarities, Field(cGcRewardDestructRarities, 0x0) + tuple[cGcRewardDestructRarities, ...], Field(cGcRewardDestructRarities * 9, 0x0) ] @partial_struct class cGcRewardTableItemList(Structure): - IncrementStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - List: Annotated[ - basic.cTkDynamicArray[cGcRewardTableItem], - Field(basic.cTkDynamicArray[cGcRewardTableItem], 0x10), - ] + IncrementStat: Annotated[basic.TkID0x10, 0x0] + List: Annotated[basic.cTkDynamicArray[cGcRewardTableItem], 0x10] class eRewardChoiceEnum(IntEnum): GiveAll = 0x0 @@ -26861,193 +21838,132 @@ class eRewardChoiceEnum(IntEnum): SelectAlwaysSilent = 0xA SelectFromSuccessSilent = 0xB - RewardChoice: Annotated[ - c_enum32[eRewardChoiceEnum], Field(c_enum32[eRewardChoiceEnum], 0x20) - ] + RewardChoice: Annotated[c_enum32[eRewardChoiceEnum], 0x20] OverrideZeroSeed: Annotated[bool, Field(ctypes.c_bool, 0x24)] UseInventoryChoiceOverride: Annotated[bool, Field(ctypes.c_bool, 0x25)] @partial_struct class cGcUnlockableItemTrees(Structure): - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Trees: Annotated[ - basic.cTkDynamicArray[cGcUnlockableItemTree], - Field(basic.cTkDynamicArray[cGcUnlockableItemTree], 0x20), - ] + Title: Annotated[basic.cTkFixedString0x20, 0x0] + Trees: Annotated[basic.cTkDynamicArray[cGcUnlockableItemTree], 0x20] @partial_struct class cGcItemFilterStageDataIsType(Structure): - DisabledMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Type: Annotated[ - c_enum32[enums.cGcInventoryType], Field(c_enum32[enums.cGcInventoryType], 0x20) - ] + DisabledMessage: Annotated[basic.cTkFixedString0x20, 0x0] + Type: Annotated[c_enum32[enums.cGcInventoryType], 0x20] @partial_struct class cGcUnlockableTreeCostType(Structure): - CantAffordString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - CostTypeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - TypeID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - CurrencyType: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x40) - ] + CantAffordString: Annotated[basic.cTkFixedString0x20, 0x0] + CostTypeID: Annotated[basic.TkID0x10, 0x20] + TypeID: Annotated[basic.TkID0x10, 0x30] + CurrencyType: Annotated[c_enum32[enums.cGcCurrency], 0x40] class eTypeOfCostEnum(IntEnum): Currency = 0x0 Substance = 0x1 Product = 0x2 - TypeOfCost: Annotated[ - c_enum32[eTypeOfCostEnum], Field(c_enum32[eTypeOfCostEnum], 0x44) - ] + TypeOfCost: Annotated[c_enum32[eTypeOfCostEnum], 0x44] @partial_struct class cGcItemFilterStageDataProductCategory(Structure): - DisabledMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Category: Annotated[ - c_enum32[enums.cGcProductCategory], - Field(c_enum32[enums.cGcProductCategory], 0x20), - ] + DisabledMessage: Annotated[basic.cTkFixedString0x20, 0x0] + Category: Annotated[c_enum32[enums.cGcProductCategory], 0x20] @partial_struct class cGcTradeSettings(Structure): - BiggsBarterShop: Annotated[cGcTradeData, Field(cGcTradeData, 0x0)] - BiggsBasicShop: Annotated[cGcTradeData, Field(cGcTradeData, 0xE8)] - BoneShop: Annotated[cGcTradeData, Field(cGcTradeData, 0x1D0)] - BuilderShop: Annotated[cGcTradeData, Field(cGcTradeData, 0x2B8)] - ExpShip: Annotated[cGcTradeData, Field(cGcTradeData, 0x3A0)] - IllegalProds: Annotated[cGcTradeData, Field(cGcTradeData, 0x488)] - LoneExp: Annotated[cGcTradeData, Field(cGcTradeData, 0x570)] - LoneTra: Annotated[cGcTradeData, Field(cGcTradeData, 0x658)] - LoneWar: Annotated[cGcTradeData, Field(cGcTradeData, 0x740)] - MapShop: Annotated[cGcTradeData, Field(cGcTradeData, 0x828)] - NexusTechSpecialist: Annotated[cGcTradeData, Field(cGcTradeData, 0x910)] - PirateTech: Annotated[cGcTradeData, Field(cGcTradeData, 0x9F8)] - PirateVisitor: Annotated[cGcTradeData, Field(cGcTradeData, 0xAE0)] - Scrap: Annotated[cGcTradeData, Field(cGcTradeData, 0xBC8)] - SeasonRewardsShop: Annotated[cGcTradeData, Field(cGcTradeData, 0xCB0)] - Ship: Annotated[cGcTradeData, Field(cGcTradeData, 0xD98)] - ShipTechSpecialist: Annotated[cGcTradeData, Field(cGcTradeData, 0xE80)] - Shop: Annotated[cGcTradeData, Field(cGcTradeData, 0xF68)] - SmugglerStation: Annotated[cGcTradeData, Field(cGcTradeData, 0x1050)] - SpaceStation: Annotated[cGcTradeData, Field(cGcTradeData, 0x1138)] - SuitTechSpecialist: Annotated[cGcTradeData, Field(cGcTradeData, 0x1220)] - TechShop: Annotated[cGcTradeData, Field(cGcTradeData, 0x1308)] - TraShip: Annotated[cGcTradeData, Field(cGcTradeData, 0x13F0)] - VehicleTechSpecialist: Annotated[cGcTradeData, Field(cGcTradeData, 0x14D8)] - WarShip: Annotated[cGcTradeData, Field(cGcTradeData, 0x15C0)] - WeapTechSpecialist: Annotated[cGcTradeData, Field(cGcTradeData, 0x16A8)] + BiggsBarterShop: Annotated[cGcTradeData, 0x0] + BiggsBasicShop: Annotated[cGcTradeData, 0xE8] + BoneShop: Annotated[cGcTradeData, 0x1D0] + BuilderShop: Annotated[cGcTradeData, 0x2B8] + ExpShip: Annotated[cGcTradeData, 0x3A0] + IllegalProds: Annotated[cGcTradeData, 0x488] + LoneExp: Annotated[cGcTradeData, 0x570] + LoneTra: Annotated[cGcTradeData, 0x658] + LoneWar: Annotated[cGcTradeData, 0x740] + MapShop: Annotated[cGcTradeData, 0x828] + NexusTechSpecialist: Annotated[cGcTradeData, 0x910] + PirateTech: Annotated[cGcTradeData, 0x9F8] + PirateVisitor: Annotated[cGcTradeData, 0xAE0] + Scrap: Annotated[cGcTradeData, 0xBC8] + SeasonRewardsShop: Annotated[cGcTradeData, 0xCB0] + Ship: Annotated[cGcTradeData, 0xD98] + ShipTechSpecialist: Annotated[cGcTradeData, 0xE80] + Shop: Annotated[cGcTradeData, 0xF68] + SmugglerStation: Annotated[cGcTradeData, 0x1050] + SpaceStation: Annotated[cGcTradeData, 0x1138] + SuitTechSpecialist: Annotated[cGcTradeData, 0x1220] + TechShop: Annotated[cGcTradeData, 0x1308] + TraShip: Annotated[cGcTradeData, 0x13F0] + VehicleTechSpecialist: Annotated[cGcTradeData, 0x14D8] + WarShip: Annotated[cGcTradeData, 0x15C0] + WeapTechSpecialist: Annotated[cGcTradeData, 0x16A8] @partial_struct class cGcTradingClassData(Structure): - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] + Icon: Annotated[cTkTextureResource, 0x0] MaxBuyingPriceMultiplier: Annotated[float, Field(ctypes.c_float, 0x18)] MaxBuyingPriceMultiplierSurge: Annotated[float, Field(ctypes.c_float, 0x1C)] MaxSellingPriceMultiplier: Annotated[float, Field(ctypes.c_float, 0x20)] MinBuyingPriceMultiplier: Annotated[float, Field(ctypes.c_float, 0x24)] MinBuyingPriceMultiplierSurge: Annotated[float, Field(ctypes.c_float, 0x28)] MinSellingPriceMultiplier: Annotated[float, Field(ctypes.c_float, 0x2C)] - Needs: Annotated[ - c_enum32[enums.cGcTradeCategory], Field(c_enum32[enums.cGcTradeCategory], 0x30) - ] - Sells: Annotated[ - c_enum32[enums.cGcTradeCategory], Field(c_enum32[enums.cGcTradeCategory], 0x34) - ] + Needs: Annotated[c_enum32[enums.cGcTradeCategory], 0x30] + Sells: Annotated[c_enum32[enums.cGcTradeCategory], 0x34] @partial_struct class cGcTechnologyRequirement(Structure): - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ID: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] - Type: Annotated[ - c_enum32[enums.cGcInventoryType], Field(c_enum32[enums.cGcInventoryType], 0x14) - ] + Type: Annotated[c_enum32[enums.cGcInventoryType], 0x14] @partial_struct class cGcTechnology(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - LinkColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - UpgradeColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - FocusLocator: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x30)] - Group: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50)] - HintEnd: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x70)] - HintStart: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x90) - ] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0xB0)] - AmmoId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC8)] - ChargeBy: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xD8), - ] - DamagedDescription: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE8) - ] - Description: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xF8) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x108)] - ParentTechId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x118)] - RequiredTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x128)] - Requirements: Annotated[ - basic.cTkDynamicArray[cGcTechnologyRequirement], - Field(basic.cTkDynamicArray[cGcTechnologyRequirement], 0x138), - ] - RewardGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x148)] - StatBonuses: Annotated[ - basic.cTkDynamicArray[cGcStatsBonus], - Field(basic.cTkDynamicArray[cGcStatsBonus], 0x158), - ] - Subtitle: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x168) - ] - Cost: Annotated[cGcItemPriceModifiers, Field(cGcItemPriceModifiers, 0x178)] - BaseStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x18C) - ] + Colour: Annotated[basic.Colour, 0x0] + LinkColour: Annotated[basic.Colour, 0x10] + UpgradeColour: Annotated[basic.Colour, 0x20] + FocusLocator: Annotated[basic.TkID0x20, 0x30] + Group: Annotated[basic.cTkFixedString0x20, 0x50] + HintEnd: Annotated[basic.cTkFixedString0x20, 0x70] + HintStart: Annotated[basic.cTkFixedString0x20, 0x90] + Icon: Annotated[cTkTextureResource, 0xB0] + AmmoId: Annotated[basic.TkID0x10, 0xC8] + ChargeBy: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xD8] + DamagedDescription: Annotated[basic.VariableSizeString, 0xE8] + Description: Annotated[basic.VariableSizeString, 0xF8] + ID: Annotated[basic.TkID0x10, 0x108] + ParentTechId: Annotated[basic.TkID0x10, 0x118] + RequiredTech: Annotated[basic.TkID0x10, 0x128] + Requirements: Annotated[basic.cTkDynamicArray[cGcTechnologyRequirement], 0x138] + RewardGroup: Annotated[basic.TkID0x10, 0x148] + StatBonuses: Annotated[basic.cTkDynamicArray[cGcStatsBonus], 0x158] + Subtitle: Annotated[basic.VariableSizeString, 0x168] + Cost: Annotated[cGcItemPriceModifiers, 0x178] + BaseStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x18C] BaseValue: Annotated[int, Field(ctypes.c_int32, 0x190)] - Category: Annotated[ - c_enum32[enums.cGcTechnologyCategory], - Field(c_enum32[enums.cGcTechnologyCategory], 0x194), - ] + Category: Annotated[c_enum32[enums.cGcTechnologyCategory], 0x194] ChargeAmount: Annotated[int, Field(ctypes.c_int32, 0x198)] ChargeMultiplier: Annotated[float, Field(ctypes.c_float, 0x19C)] - ChargeType: Annotated[ - c_enum32[enums.cGcRealitySubstanceCategory], - Field(c_enum32[enums.cGcRealitySubstanceCategory], 0x1A0), - ] - DispensingRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x1A4) - ] + ChargeType: Annotated[c_enum32[enums.cGcRealitySubstanceCategory], 0x1A0] + DispensingRace: Annotated[c_enum32[enums.cGcAlienRace], 0x1A4] FragmentCost: Annotated[int, Field(ctypes.c_int32, 0x1A8)] Level: Annotated[int, Field(ctypes.c_int32, 0x1AC)] - Rarity: Annotated[ - c_enum32[enums.cGcTechnologyRarity], - Field(c_enum32[enums.cGcTechnologyRarity], 0x1B0), - ] + Rarity: Annotated[c_enum32[enums.cGcTechnologyRarity], 0x1B0] RequiredLevel: Annotated[int, Field(ctypes.c_int32, 0x1B4)] RequiredRank: Annotated[int, Field(ctypes.c_int32, 0x1B8)] - TechShopRarity: Annotated[ - c_enum32[enums.cGcTechnologyRarity], - Field(c_enum32[enums.cGcTechnologyRarity], 0x1BC), - ] + TechShopRarity: Annotated[c_enum32[enums.cGcTechnologyRarity], 0x1BC] Value: Annotated[float, Field(ctypes.c_float, 0x1C0)] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x1C4)] - NameLower: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x244) - ] + Name: Annotated[basic.cTkFixedString0x80, 0x1C4] + NameLower: Annotated[basic.cTkFixedString0x80, 0x244] BrokenSlotTech: Annotated[bool, Field(ctypes.c_bool, 0x2C4)] BuildFullyCharged: Annotated[bool, Field(ctypes.c_bool, 0x2C5)] Chargeable: Annotated[bool, Field(ctypes.c_bool, 0x2C6)] @@ -27066,80 +21982,50 @@ class cGcTechnology(Structure): @partial_struct class cGcTechnologyTypes(Structure): - Technology: Annotated[ - basic.cTkDynamicArray[cGcTechnology], - Field(basic.cTkDynamicArray[cGcTechnology], 0x0), - ] + Technology: Annotated[basic.cTkDynamicArray[cGcTechnology], 0x0] @partial_struct class cGcStoryUtilityOverride(Structure): - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - Reward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Name: Annotated[basic.cTkFixedString0x20, 0x0] + Reward: Annotated[basic.TkID0x10, 0x20] SpecificRewardOverrideTable: Annotated[ - basic.cTkDynamicArray[cGcRewardMissionOverride], - Field(basic.cTkDynamicArray[cGcRewardMissionOverride], 0x30), + basic.cTkDynamicArray[cGcRewardMissionOverride], 0x30 ] @partial_struct class cGcSettlementPerkUsefulData(Structure): - BaseID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + BaseID: Annotated[basic.TkID0x10, 0x0] SeedValue: Annotated[int, Field(ctypes.c_uint64, 0x10)] ChangeStrength: Annotated[float, Field(ctypes.c_float, 0x18)] - Stat: Annotated[ - c_enum32[enums.cGcSettlementStatType], - Field(c_enum32[enums.cGcSettlementStatType], 0x1C), - ] + Stat: Annotated[c_enum32[enums.cGcSettlementStatType], 0x1C] IsNegative: Annotated[bool, Field(ctypes.c_bool, 0x20)] IsProc: Annotated[bool, Field(ctypes.c_bool, 0x21)] @partial_struct class cGcSettlementStatChange(Structure): - Stat: Annotated[ - c_enum32[enums.cGcSettlementStatType], - Field(c_enum32[enums.cGcSettlementStatType], 0x0), - ] - Strength: Annotated[ - c_enum32[enums.cGcSettlementStatStrength], - Field(c_enum32[enums.cGcSettlementStatStrength], 0x4), - ] + Stat: Annotated[c_enum32[enums.cGcSettlementStatType], 0x0] + Strength: Annotated[c_enum32[enums.cGcSettlementStatStrength], 0x4] DirectlyChangePopulation: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcSettlementJudgementOption(Structure): - OptionText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - AdditionalRewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] - AltOptionText: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x30), - ] - ChainedJudgementID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Perks: Annotated[ - basic.cTkDynamicArray[cGcSettlementJudgementPerkOption], - Field(basic.cTkDynamicArray[cGcSettlementJudgementPerkOption], 0x50), - ] - StatChanges: Annotated[ - basic.cTkDynamicArray[cGcSettlementStatChange], - Field(basic.cTkDynamicArray[cGcSettlementStatChange], 0x60), - ] + OptionText: Annotated[basic.cTkFixedString0x20, 0x0] + AdditionalRewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] + AltOptionText: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x30] + ChainedJudgementID: Annotated[basic.TkID0x10, 0x40] + Perks: Annotated[basic.cTkDynamicArray[cGcSettlementJudgementPerkOption], 0x50] + StatChanges: Annotated[basic.cTkDynamicArray[cGcSettlementStatChange], 0x60] class eJudgementOptionStandingEnum(IntEnum): None_ = 0x0 Positive = 0x1 Negative = 0x2 - JudgementOptionStanding: Annotated[ - c_enum32[eJudgementOptionStandingEnum], - Field(c_enum32[eJudgementOptionStandingEnum], 0x70), - ] + JudgementOptionStanding: Annotated[c_enum32[eJudgementOptionStandingEnum], 0x70] HidePerkInJudgement: Annotated[bool, Field(ctypes.c_bool, 0x74)] OptionIsPositiveForNPC: Annotated[bool, Field(ctypes.c_bool, 0x75)] UseGiftReward: Annotated[bool, Field(ctypes.c_bool, 0x76)] @@ -27150,47 +22036,22 @@ class eJudgementOptionStandingEnum(IntEnum): @partial_struct class cGcSettlementJudgementData(Structure): - DilemmaText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - HeaderOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - NPC1CustomName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - NPC2CustomName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - NPCTitle: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80)] - QuestionText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA0) - ] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC0)] - NPC1CustomId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xE0)] - NPC1HoloEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xF0)] - NPC2CustomId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x100)] - NPC2HoloEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x110)] - Option1List: Annotated[ - basic.cTkDynamicArray[cGcSettlementJudgementOption], - Field(basic.cTkDynamicArray[cGcSettlementJudgementOption], 0x120), - ] - Option2List: Annotated[ - basic.cTkDynamicArray[cGcSettlementJudgementOption], - Field(basic.cTkDynamicArray[cGcSettlementJudgementOption], 0x130), - ] - Option3List: Annotated[ - basic.cTkDynamicArray[cGcSettlementJudgementOption], - Field(basic.cTkDynamicArray[cGcSettlementJudgementOption], 0x140), - ] - Option4List: Annotated[ - basic.cTkDynamicArray[cGcSettlementJudgementOption], - Field(basic.cTkDynamicArray[cGcSettlementJudgementOption], 0x150), - ] - JudgementType: Annotated[ - c_enum32[enums.cGcSettlementJudgementType], - Field(c_enum32[enums.cGcSettlementJudgementType], 0x160), - ] + DilemmaText: Annotated[basic.cTkFixedString0x20, 0x0] + HeaderOverride: Annotated[basic.cTkFixedString0x20, 0x20] + NPC1CustomName: Annotated[basic.cTkFixedString0x20, 0x40] + NPC2CustomName: Annotated[basic.cTkFixedString0x20, 0x60] + NPCTitle: Annotated[basic.cTkFixedString0x20, 0x80] + QuestionText: Annotated[basic.cTkFixedString0x20, 0xA0] + Title: Annotated[basic.cTkFixedString0x20, 0xC0] + NPC1CustomId: Annotated[basic.TkID0x10, 0xE0] + NPC1HoloEffect: Annotated[basic.TkID0x10, 0xF0] + NPC2CustomId: Annotated[basic.TkID0x10, 0x100] + NPC2HoloEffect: Annotated[basic.TkID0x10, 0x110] + Option1List: Annotated[basic.cTkDynamicArray[cGcSettlementJudgementOption], 0x120] + Option2List: Annotated[basic.cTkDynamicArray[cGcSettlementJudgementOption], 0x130] + Option3List: Annotated[basic.cTkDynamicArray[cGcSettlementJudgementOption], 0x140] + Option4List: Annotated[basic.cTkDynamicArray[cGcSettlementJudgementOption], 0x150] + JudgementType: Annotated[c_enum32[enums.cGcSettlementJudgementType], 0x160] class eNPCsEnum(IntEnum): None_ = 0x0 @@ -27198,7 +22059,7 @@ class eNPCsEnum(IntEnum): Two = 0x2 ExistingPerkJob = 0x3 - NPCs: Annotated[c_enum32[eNPCsEnum], Field(c_enum32[eNPCsEnum], 0x164)] + NPCs: Annotated[c_enum32[eNPCsEnum], 0x164] Weighting: Annotated[float, Field(ctypes.c_float, 0x168)] DilemmaTextIsAlien: Annotated[bool, Field(ctypes.c_bool, 0x16C)] UseAltResearchLoc: Annotated[bool, Field(ctypes.c_bool, 0x16D)] @@ -27207,46 +22068,31 @@ class eNPCsEnum(IntEnum): @partial_struct class cGcSettlementCustomJudgement(Structure): - Data: Annotated[cGcSettlementJudgementData, Field(cGcSettlementJudgementData, 0x0)] - CustomCostText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x170) - ] - CustomMissionObjectiveText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x190) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1B0)] + Data: Annotated[cGcSettlementJudgementData, 0x0] + CustomCostText: Annotated[basic.cTkFixedString0x20, 0x170] + CustomMissionObjectiveText: Annotated[basic.cTkFixedString0x20, 0x190] + ID: Annotated[basic.TkID0x10, 0x1B0] @partial_struct class cGcRewardUpgradeBase(Structure): MatchingBaseTypes: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], 0x0), + basic.cTkDynamicArray[c_enum32[enums.cGcPersistentBaseTypes]], 0x0 ] class eUpgradeBaseTypeEnum(IntEnum): AllMatching = 0x0 NearestMatching = 0x1 - UpgradeBaseType: Annotated[ - c_enum32[eUpgradeBaseTypeEnum], Field(c_enum32[eUpgradeBaseTypeEnum], 0x10) - ] + UpgradeBaseType: Annotated[c_enum32[eUpgradeBaseTypeEnum], 0x10] @partial_struct class cGcSettlementJobGiftDetails(Structure): - GiftItemLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - PotentialGiftItems: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + GiftItemLoc: Annotated[basic.cTkFixedString0x20, 0x0] + PotentialGiftItems: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] GiftAmount: Annotated[int, Field(ctypes.c_int32, 0x30)] - ProcProductType: Annotated[ - c_enum32[enums.cGcProceduralProductCategory], - Field(c_enum32[enums.cGcProceduralProductCategory], 0x34), - ] + ProcProductType: Annotated[c_enum32[enums.cGcProceduralProductCategory], 0x34] GiveProcProduct: Annotated[bool, Field(ctypes.c_bool, 0x38)] GiveStanding: Annotated[bool, Field(ctypes.c_bool, 0x39)] GiveWords: Annotated[bool, Field(ctypes.c_bool, 0x3A)] @@ -27254,26 +22100,15 @@ class cGcSettlementJobGiftDetails(Structure): @partial_struct class cGcSettlementJobDetails(Structure): - Gifts: Annotated[ - cGcSettlementJobGiftDetails, Field(cGcSettlementJobGiftDetails, 0x0) - ] - InTextTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - PerkTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - Stat: Annotated[ - c_enum32[enums.cGcSettlementStatType], - Field(c_enum32[enums.cGcSettlementStatType], 0x80), - ] + Gifts: Annotated[cGcSettlementJobGiftDetails, 0x0] + InTextTitle: Annotated[basic.cTkFixedString0x20, 0x40] + PerkTitle: Annotated[basic.cTkFixedString0x20, 0x60] + Stat: Annotated[c_enum32[enums.cGcSettlementStatType], 0x80] @partial_struct class cGcRewardUpgradeShipClass(Structure): - ForceToSpecificClass: Annotated[ - c_enum32[enums.cGcInventoryClass], Field(c_enum32[enums.cGcInventoryClass], 0x0) - ] + ForceToSpecificClass: Annotated[c_enum32[enums.cGcInventoryClass], 0x0] MatchClassToCommunityTier: Annotated[bool, Field(ctypes.c_bool, 0x4)] Silent: Annotated[bool, Field(ctypes.c_bool, 0x5)] SilentlyMoveOnAtMaxClass: Annotated[bool, Field(ctypes.c_bool, 0x6)] @@ -27283,45 +22118,30 @@ class cGcRewardUpgradeShipClass(Structure): class cGcRewardTeachWord(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - Category: Annotated[ - c_enum32[enums.cGcWordCategoryTableEnum], - Field(c_enum32[enums.cGcWordCategoryTableEnum], 0x8), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0xC) - ] + Category: Annotated[c_enum32[enums.cGcWordCategoryTableEnum], 0x8] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0xC] UseCategory: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcRewardWorker(Structure): - NPCHabitationType: Annotated[ - c_enum32[enums.cGcNPCHabitationType], - Field(c_enum32[enums.cGcNPCHabitationType], 0x0), - ] + NPCHabitationType: Annotated[c_enum32[enums.cGcNPCHabitationType], 0x0] @partial_struct class cGcSettlementBuildingCostData(Structure): - Products: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - Substances: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x10), - ] + Products: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + Substances: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x10] AmountMax: Annotated[int, Field(ctypes.c_int32, 0x20)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x24)] - Currency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x28) - ] + Currency: Annotated[c_enum32[enums.cGcCurrency], 0x28] @partial_struct class cGcSettlementBuildingCost(Structure): StageCosts: Annotated[ - cGcSettlementBuildingCostData, Field(cGcSettlementBuildingCostData, 0x0) + tuple[cGcSettlementBuildingCostData, ...], + Field(cGcSettlementBuildingCostData * 9, 0x0), ] @@ -27329,21 +22149,17 @@ class cGcSettlementBuildingCost(Structure): class cGcRewardStanding(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x8) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x8] UseExpeditionEventSystemRace: Annotated[bool, Field(ctypes.c_bool, 0xC)] @partial_struct class cGcRewardStatDiff(Structure): - CompareAndSetStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - CoreStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - SubstanceID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + CompareAndSetStat: Annotated[basic.TkID0x10, 0x0] + CoreStat: Annotated[basic.TkID0x10, 0x10] + SubstanceID: Annotated[basic.TkID0x10, 0x20] AmountPerStat: Annotated[int, Field(ctypes.c_int32, 0x30)] - RewardCurrency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x34) - ] + RewardCurrency: Annotated[c_enum32[enums.cGcCurrency], 0x34] StatRewardCap: Annotated[int, Field(ctypes.c_int32, 0x38)] OKToGiveZero: Annotated[bool, Field(ctypes.c_bool, 0x3C)] @@ -27352,14 +22168,9 @@ class cGcRewardStatDiff(Structure): class cGcRewardSubstance(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - ItemCatagory: Annotated[ - c_enum32[enums.cGcRealitySubstanceCategory], - Field(c_enum32[enums.cGcRealitySubstanceCategory], 0x8), - ] + ItemCatagory: Annotated[c_enum32[enums.cGcRealitySubstanceCategory], 0x8] ItemLevel: Annotated[int, Field(ctypes.c_int32, 0xC)] - ItemRarity: Annotated[ - c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x10) - ] + ItemRarity: Annotated[c_enum32[enums.cGcRarity], 0x10] DisableMultiplier: Annotated[bool, Field(ctypes.c_bool, 0x14)] RewardAsBlobs: Annotated[bool, Field(ctypes.c_bool, 0x15)] UseFuelMultiplier: Annotated[bool, Field(ctypes.c_bool, 0x16)] @@ -27367,45 +22178,36 @@ class cGcRewardSubstance(Structure): @partial_struct class cGcRewardTeachSpecificWords(Structure): - CustomOSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - SpecificWordGroups: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x20), - ] + CustomOSDMessage: Annotated[basic.cTkFixedString0x20, 0x0] + SpecificWordGroups: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x20] OSDMessageTime: Annotated[float, Field(ctypes.c_float, 0x30)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x34) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x34] SuppressOSDMessage: Annotated[bool, Field(ctypes.c_bool, 0x38)] @partial_struct class cGcRewardTableCategory(Structure): - Sizes: Annotated[cGcRewardTableItemList, Field(cGcRewardTableItemList, 0x0)] + Sizes: Annotated[ + tuple[cGcRewardTableItemList, ...], Field(cGcRewardTableItemList * 3, 0x0) + ] @partial_struct class cGcRewardTableEntry(Structure): - Rarities: Annotated[cGcRewardTableCategory, Field(cGcRewardTableCategory, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x168)] + Rarities: Annotated[ + tuple[cGcRewardTableCategory, ...], Field(cGcRewardTableCategory * 3, 0x0) + ] + Id: Annotated[basic.TkID0x10, 0x168] @partial_struct class cGcRewardSpecificFrigate(Structure): - NameOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - PrimaryTrait: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + NameOverride: Annotated[basic.cTkFixedString0x20, 0x0] + PrimaryTrait: Annotated[basic.TkID0x10, 0x20] FrigateSeed: Annotated[int, Field(ctypes.c_uint64, 0x30)] SystemSeed: Annotated[int, Field(ctypes.c_uint64, 0x38)] - AlienRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x40) - ] - FrigateClass: Annotated[ - c_enum32[enums.cGcFrigateClass], Field(c_enum32[enums.cGcFrigateClass], 0x44) - ] + AlienRace: Annotated[c_enum32[enums.cGcAlienRace], 0x40] + FrigateClass: Annotated[c_enum32[enums.cGcFrigateClass], 0x44] FormatAsSeasonal: Annotated[bool, Field(ctypes.c_bool, 0x48)] IgnoreAndMoveOnIfCannotRecruit: Annotated[bool, Field(ctypes.c_bool, 0x49)] IsGift: Annotated[bool, Field(ctypes.c_bool, 0x4A)] @@ -27415,86 +22217,64 @@ class cGcRewardSpecificFrigate(Structure): @partial_struct class cGcRewardSpecificPetEgg(Structure): - EggData: Annotated[cGcPetData, Field(cGcPetData, 0x0)] + EggData: Annotated[cGcPetData, 0x0] ImmediatelyHatchable: Annotated[bool, Field(ctypes.c_bool, 0x208)] @partial_struct class cGcRewardSettlementStat(Structure): - StatToAward: Annotated[cGcSettlementStatChange, Field(cGcSettlementStatChange, 0x0)] + StatToAward: Annotated[cGcSettlementStatChange, 0x0] Silent: Annotated[bool, Field(ctypes.c_bool, 0xC)] @partial_struct class cGcRewardSettlementJudgement(Structure): JudgementTypes: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcSettlementJudgementType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcSettlementJudgementType]], 0x0), + basic.cTkDynamicArray[c_enum32[enums.cGcSettlementJudgementType]], 0x0 ] Silent: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcRewardProceduralProduct(Structure): - OSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + OSDMessage: Annotated[basic.cTkFixedString0x20, 0x0] FreighterTechQualityOverride: Annotated[int, Field(ctypes.c_int32, 0x20)] - Rarity: Annotated[c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x24)] - Type: Annotated[ - c_enum32[enums.cGcProceduralProductCategory], - Field(c_enum32[enums.cGcProceduralProductCategory], 0x28), - ] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x24] + Type: Annotated[c_enum32[enums.cGcProceduralProductCategory], 0x28] OverrideRarity: Annotated[bool, Field(ctypes.c_bool, 0x2C)] SubIfPlayerAlreadyHasOne: Annotated[bool, Field(ctypes.c_bool, 0x2D)] @partial_struct class cGcRewardProceduralTechnology(Structure): - Type: Annotated[ - c_enum32[enums.cGcProceduralTechnologyCategory], - Field(c_enum32[enums.cGcProceduralTechnologyCategory], 0x0), - ] + Type: Annotated[c_enum32[enums.cGcProceduralTechnologyCategory], 0x0] @partial_struct class cGcRewardProduct(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - ItemCategory: Annotated[ - c_enum32[enums.cGcRealitySubstanceCategory], - Field(c_enum32[enums.cGcRealitySubstanceCategory], 0x8), - ] + ItemCategory: Annotated[c_enum32[enums.cGcRealitySubstanceCategory], 0x8] ItemLevel: Annotated[int, Field(ctypes.c_int32, 0xC)] - ItemRarity: Annotated[ - c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x10) - ] - AllowedProductTypes: Annotated[bool, Field(ctypes.c_bool, 0x14)] + ItemRarity: Annotated[c_enum32[enums.cGcRarity], 0x10] + AllowedProductTypes: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 11, 0x14)] @partial_struct class cGcRewardProductRecipe(Structure): - ItemCatagory: Annotated[ - c_enum32[enums.cGcRealitySubstanceCategory], - Field(c_enum32[enums.cGcRealitySubstanceCategory], 0x0), - ] + ItemCatagory: Annotated[c_enum32[enums.cGcRealitySubstanceCategory], 0x0] ItemLevel: Annotated[int, Field(ctypes.c_int32, 0x4)] - ItemRarity: Annotated[ - c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x8) - ] - AllowedProductTypes: Annotated[bool, Field(ctypes.c_bool, 0xC)] + ItemRarity: Annotated[c_enum32[enums.cGcRarity], 0x8] + AllowedProductTypes: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 11, 0xC)] IgnoreRarity: Annotated[bool, Field(ctypes.c_bool, 0x17)] @partial_struct class cGcRewardOSDMessage(Structure): - MessageColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x10)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x28)] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x38), - ] + MessageColour: Annotated[basic.Colour, 0x0] + Icon: Annotated[cTkTextureResource, 0x10] + Message: Annotated[basic.VariableSizeString, 0x28] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x38] Time: Annotated[float, Field(ctypes.c_float, 0x3C)] RandomiseMessage: Annotated[bool, Field(ctypes.c_bool, 0x40)] UseFancyMessage: Annotated[bool, Field(ctypes.c_bool, 0x41)] @@ -27504,253 +22284,157 @@ class cGcRewardOSDMessage(Structure): @partial_struct class cGcRewardModifyStat(Structure): - OtherStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + OtherStat: Annotated[basic.TkID0x10, 0x0] + Stat: Annotated[basic.TkID0x10, 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x20)] - ModifyType: Annotated[ - c_enum32[enums.cGcStatModifyType], - Field(c_enum32[enums.cGcStatModifyType], 0x24), - ] + ModifyType: Annotated[c_enum32[enums.cGcStatModifyType], 0x24] UseOtherStat: Annotated[bool, Field(ctypes.c_bool, 0x28)] @partial_struct class cGcRewardFrigateFlyby(Structure): - CommunicatorMessage: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0x0) - ] - CommunicatorOSDLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50) - ] - MarkerIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x70)] - CameraShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x88)] + CommunicatorMessage: Annotated[cGcPlayerCommunicatorMessage, 0x0] + CommunicatorOSDLocId: Annotated[basic.cTkFixedString0x20, 0x50] + MarkerIcon: Annotated[cTkTextureResource, 0x70] + CameraShake: Annotated[basic.TkID0x10, 0x88] AppearanceDelay: Annotated[float, Field(ctypes.c_float, 0x98)] - AudioSting: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x9C), - ] - FlybyType: Annotated[ - c_enum32[enums.cGcFrigateFlybyType], - Field(c_enum32[enums.cGcFrigateFlybyType], 0xA0), - ] - PulseAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xA4), - ] + AudioSting: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x9C] + FlybyType: Annotated[c_enum32[enums.cGcFrigateFlybyType], 0xA0] + PulseAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xA4] @partial_struct class cGcRewardMoney(Structure): AmountMax: Annotated[int, Field(ctypes.c_int32, 0x0)] AmountMin: Annotated[int, Field(ctypes.c_int32, 0x4)] - Currency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x8) - ] + Currency: Annotated[c_enum32[enums.cGcCurrency], 0x8] RoundNumber: Annotated[bool, Field(ctypes.c_bool, 0xC)] @partial_struct class cGcRewardMultiSpecificItems(Structure): - Items: Annotated[ - basic.cTkDynamicArray[cGcMultiSpecificItemEntry], - Field(basic.cTkDynamicArray[cGcMultiSpecificItemEntry], 0x0), - ] + Items: Annotated[basic.cTkDynamicArray[cGcMultiSpecificItemEntry], 0x0] Silent: Annotated[bool, Field(ctypes.c_bool, 0x10)] @partial_struct class cGcRewardIncrementInteractionIndex(Structure): - InteractionToIncrement: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x0), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x4) - ] + InteractionToIncrement: Annotated[c_enum32[enums.cGcInteractionType], 0x0] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x4] @partial_struct class cGcRewardDeath(Structure): - InitialFadeColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - DeathAuthor: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10) - ] - DeathQuote: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x30) - ] - CameraShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - PlayerDamage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - DeathSpinPitch: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x70)] - DeathSpinRoll: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x78)] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x80), - ] + InitialFadeColour: Annotated[basic.Colour, 0x0] + DeathAuthor: Annotated[basic.cTkFixedString0x20, 0x10] + DeathQuote: Annotated[basic.cTkFixedString0x20, 0x30] + CameraShake: Annotated[basic.TkID0x10, 0x50] + PlayerDamage: Annotated[basic.TkID0x10, 0x60] + DeathSpinPitch: Annotated[basic.Vector2f, 0x70] + DeathSpinRoll: Annotated[basic.Vector2f, 0x78] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x80] BlackScreenBeforeQuote: Annotated[float, Field(ctypes.c_float, 0x84)] FadeDuration: Annotated[float, Field(ctypes.c_float, 0x88)] - SetSeasonSaveState: Annotated[ - c_enum32[enums.cGcSeasonSaveStateOnDeath], - Field(c_enum32[enums.cGcSeasonSaveStateOnDeath], 0x8C), - ] + SetSeasonSaveState: Annotated[c_enum32[enums.cGcSeasonSaveStateOnDeath], 0x8C] TimeToSpendDead: Annotated[float, Field(ctypes.c_float, 0x90)] - FadeCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x94) - ] + FadeCurve: Annotated[c_enum32[enums.cTkCurveType], 0x94] OverrideShipSpin: Annotated[bool, Field(ctypes.c_bool, 0x95)] @partial_struct class cGcRefinerRecipeElement(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] Amount: Annotated[int, Field(ctypes.c_int32, 0x10)] - Type: Annotated[ - c_enum32[enums.cGcInventoryType], Field(c_enum32[enums.cGcInventoryType], 0x14) - ] + Type: Annotated[c_enum32[enums.cGcInventoryType], 0x14] @partial_struct class cGcRefinerRecipe(Structure): - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - RecipeName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - RecipeType: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - Result: Annotated[cGcRefinerRecipeElement, Field(cGcRefinerRecipeElement, 0x60)] - Ingredients: Annotated[ - basic.cTkDynamicArray[cGcRefinerRecipeElement], - Field(basic.cTkDynamicArray[cGcRefinerRecipeElement], 0x78), - ] + Id: Annotated[basic.TkID0x20, 0x0] + RecipeName: Annotated[basic.cTkFixedString0x20, 0x20] + RecipeType: Annotated[basic.cTkFixedString0x20, 0x40] + Result: Annotated[cGcRefinerRecipeElement, 0x60] + Ingredients: Annotated[basic.cTkDynamicArray[cGcRefinerRecipeElement], 0x78] TimeToMake: Annotated[float, Field(ctypes.c_float, 0x88)] Cooking: Annotated[bool, Field(ctypes.c_bool, 0x8C)] @partial_struct class cGcRepShopItem(Structure): - AltIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - ProductID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + AltIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + ProductID: Annotated[basic.TkID0x10, 0x10] AmountForSale: Annotated[int, Field(ctypes.c_int32, 0x20)] - Currency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x24) - ] + Currency: Annotated[c_enum32[enums.cGcCurrency], 0x24] PriceMul: Annotated[float, Field(ctypes.c_float, 0x28)] RepLevelRequired: Annotated[int, Field(ctypes.c_int32, 0x2C)] @partial_struct class cGcRepShopData(Structure): - DonatableItems: Annotated[ - basic.cTkDynamicArray[cGcRepShopDonation], - Field(basic.cTkDynamicArray[cGcRepShopDonation], 0x0), - ] - RepItems: Annotated[ - basic.cTkDynamicArray[cGcRepShopItem], - Field(basic.cTkDynamicArray[cGcRepShopItem], 0x10), - ] + DonatableItems: Annotated[basic.cTkDynamicArray[cGcRepShopDonation], 0x0] + RepItems: Annotated[basic.cTkDynamicArray[cGcRepShopItem], 0x10] @partial_struct class cGcRewardCommunicatorMessage(Structure): - Comms: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0x0) - ] - FailureMessageBusy: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50) - ] - FailureMessageNotInShip: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x70) - ] + Comms: Annotated[cGcPlayerCommunicatorMessage, 0x0] + FailureMessageBusy: Annotated[basic.cTkFixedString0x20, 0x50] + FailureMessageNotInShip: Annotated[basic.cTkFixedString0x20, 0x70] @partial_struct class cGcRewardCommunityContribution(Structure): - OtherStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Stat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Contribution: Annotated[ - cGcAtlasSendSubmitContribution, Field(cGcAtlasSendSubmitContribution, 0x20) - ] + OtherStat: Annotated[basic.TkID0x10, 0x0] + Stat: Annotated[basic.TkID0x10, 0x10] + Contribution: Annotated[cGcAtlasSendSubmitContribution, 0x20] class eSubmitTypeEnum(IntEnum): Value = 0x0 Stat = 0x1 StatsDiff = 0x2 - SubmitType: Annotated[ - c_enum32[eSubmitTypeEnum], Field(c_enum32[eSubmitTypeEnum], 0x28) - ] + SubmitType: Annotated[c_enum32[eSubmitTypeEnum], 0x28] AutosaveOnHandIn: Annotated[bool, Field(ctypes.c_bool, 0x2C)] @partial_struct class cGcRewardActivateFiends(Structure): - ActiveFailureOSD: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - WaterFailureOSD: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - SpawnID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - CrimeType: Annotated[ - c_enum32[enums.cGcFiendCrime], Field(c_enum32[enums.cGcFiendCrime], 0x50) - ] + ActiveFailureOSD: Annotated[basic.cTkFixedString0x20, 0x0] + WaterFailureOSD: Annotated[basic.cTkFixedString0x20, 0x20] + SpawnID: Annotated[basic.TkID0x10, 0x40] + CrimeType: Annotated[c_enum32[enums.cGcFiendCrime], 0x50] AllowInWater: Annotated[bool, Field(ctypes.c_bool, 0x54)] FailIfAlreadyActive: Annotated[bool, Field(ctypes.c_bool, 0x55)] @partial_struct class cGcRealitySubstanceData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - WorldColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - DebrisFile: Annotated[cTkModelResource, Field(cTkModelResource, 0x20)] - PinObjective: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - PinObjectiveMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - PinObjectiveTip: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80) - ] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0xA0)] - Description: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xB8) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC8)] - Subtitle: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xD8)] - WikiMissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xE8)] - Cost: Annotated[cGcItemPriceModifiers, Field(cGcItemPriceModifiers, 0xF8)] + Colour: Annotated[basic.Colour, 0x0] + WorldColour: Annotated[basic.Colour, 0x10] + DebrisFile: Annotated[cTkModelResource, 0x20] + PinObjective: Annotated[basic.cTkFixedString0x20, 0x40] + PinObjectiveMessage: Annotated[basic.cTkFixedString0x20, 0x60] + PinObjectiveTip: Annotated[basic.cTkFixedString0x20, 0x80] + Icon: Annotated[cTkTextureResource, 0xA0] + Description: Annotated[basic.VariableSizeString, 0xB8] + ID: Annotated[basic.TkID0x10, 0xC8] + Subtitle: Annotated[basic.VariableSizeString, 0xD8] + WikiMissionID: Annotated[basic.TkID0x10, 0xE8] + Cost: Annotated[cGcItemPriceModifiers, 0xF8] BaseValue: Annotated[int, Field(ctypes.c_int32, 0x10C)] - Category: Annotated[ - c_enum32[enums.cGcRealitySubstanceCategory], - Field(c_enum32[enums.cGcRealitySubstanceCategory], 0x110), - ] + Category: Annotated[c_enum32[enums.cGcRealitySubstanceCategory], 0x110] ChargeValue: Annotated[int, Field(ctypes.c_int32, 0x114)] EconomyInfluenceMultiplier: Annotated[float, Field(ctypes.c_float, 0x118)] - Legality: Annotated[ - c_enum32[enums.cGcLegality], Field(c_enum32[enums.cGcLegality], 0x11C) - ] + Legality: Annotated[c_enum32[enums.cGcLegality], 0x11C] NormalisedValueOffWorld: Annotated[float, Field(ctypes.c_float, 0x120)] NormalisedValueOnWorld: Annotated[float, Field(ctypes.c_float, 0x124)] - PinObjectiveScannableType: Annotated[ - c_enum32[enums.cGcScannerIconTypes], - Field(c_enum32[enums.cGcScannerIconTypes], 0x128), - ] - Rarity: Annotated[ - c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x12C) - ] + PinObjectiveScannableType: Annotated[c_enum32[enums.cGcScannerIconTypes], 0x128] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x12C] StackMultiplier: Annotated[int, Field(ctypes.c_int32, 0x130)] - TradeCategory: Annotated[ - c_enum32[enums.cGcTradeCategory], Field(c_enum32[enums.cGcTradeCategory], 0x134) - ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x138)] - NameLower: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x158) - ] - Symbol: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x178)] + TradeCategory: Annotated[c_enum32[enums.cGcTradeCategory], 0x134] + Name: Annotated[basic.cTkFixedString0x20, 0x138] + NameLower: Annotated[basic.cTkFixedString0x20, 0x158] + Symbol: Annotated[basic.cTkFixedString0x20, 0x178] CookingIngredient: Annotated[bool, Field(ctypes.c_bool, 0x198)] EasyToRefine: Annotated[bool, Field(ctypes.c_bool, 0x199)] EggModifierIngredient: Annotated[bool, Field(ctypes.c_bool, 0x19A)] @@ -27761,38 +22445,21 @@ class cGcRealitySubstanceData(Structure): @partial_struct class cGcPuzzleTextFlow(Structure): - DisablingConditionId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Text: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40)] - DisablingConditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x60), - ] - AlienLanguageOverride: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x70) - ] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x74), - ] + DisablingConditionId: Annotated[basic.cTkFixedString0x20, 0x0] + Text: Annotated[basic.cTkFixedString0x20, 0x20] + Title: Annotated[basic.cTkFixedString0x20, 0x40] + DisablingConditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x60] + AlienLanguageOverride: Annotated[c_enum32[enums.cGcAlienRace], 0x70] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x74] class eBracketsOverrideEnum(IntEnum): None_ = 0x0 Brackets = 0x1 NoBrackets = 0x2 - BracketsOverride: Annotated[ - c_enum32[eBracketsOverrideEnum], Field(c_enum32[eBracketsOverrideEnum], 0x78) - ] - DisablingConditionTest: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0x7C), - ] - Mood: Annotated[ - c_enum32[enums.cGcAlienMood], Field(c_enum32[enums.cGcAlienMood], 0x80) - ] + BracketsOverride: Annotated[c_enum32[eBracketsOverrideEnum], 0x78] + DisablingConditionTest: Annotated[c_enum32[enums.cGcMissionConditionTest], 0x7C] + Mood: Annotated[c_enum32[enums.cGcAlienMood], 0x80] class eTranslateAlienTextOverrideEnum(IntEnum): None_ = 0x0 @@ -27800,8 +22467,7 @@ class eTranslateAlienTextOverrideEnum(IntEnum): DoNotTranslate = 0x2 TranslateAlienTextOverride: Annotated[ - c_enum32[eTranslateAlienTextOverrideEnum], - Field(c_enum32[eTranslateAlienTextOverrideEnum], 0x84), + c_enum32[eTranslateAlienTextOverrideEnum], 0x84 ] IsAlien: Annotated[bool, Field(ctypes.c_bool, 0x88)] ShowHologram: Annotated[bool, Field(ctypes.c_bool, 0x89)] @@ -27809,9 +22475,9 @@ class eTranslateAlienTextOverrideEnum(IntEnum): @partial_struct class cGcProductProceduralOnlyData(Structure): - Description: Annotated[cGcNameGeneratorWord, Field(cGcNameGeneratorWord, 0x0)] - HeroIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x28)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x40)] + Description: Annotated[cGcNameGeneratorWord, 0x0] + HeroIcon: Annotated[cTkTextureResource, 0x28] + Icon: Annotated[cTkTextureResource, 0x40] AgeMax: Annotated[int, Field(ctypes.c_int32, 0x58)] AgeMin: Annotated[int, Field(ctypes.c_int32, 0x5C)] BaseValueMax: Annotated[int, Field(ctypes.c_int32, 0x60)] @@ -27821,108 +22487,86 @@ class cGcProductProceduralOnlyData(Structure): @partial_struct class cGcRealityIconTable(Structure): - GameIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x0)] + GameIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 115, 0x0) + ] BinocularDiscoveryIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0xAC8) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 17, 0xAC8) ] ProductCategoryIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0xC60) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 11, 0xC60) + ] + MissionFactionIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 10, 0xD68) ] - MissionFactionIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0xD68)] DiscoveryPageRaceIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0xE58) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 9, 0xE58) ] SubstanceCategoryIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0xF30) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 9, 0xF30) ] DifficultyPresetIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x1008) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 7, 0x1008) ] DiscoveryPageTradingIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x10B0) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 7, 0x10B0) + ] + HazardIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 7, 0x1158) + ] + HazardIconsHUD: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 7, 0x1200) ] - HazardIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1158)] - HazardIconsHUD: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x1200)] OptionsUIHeaderIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x12A8) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 6, 0x12A8) ] InventoryFilterIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x1338) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 5, 0x1338) ] DifficultyUIOptionIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x13B0) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 4, 0x13B0) ] DiscoveryPageConflictIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x1410) - ] - MissionDetailIcons: Annotated[cGcRealityIcon, Field(cGcRealityIcon, 0x1470)] - DiscoveryPageConflictUnknown: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x14A0) - ] - DiscoveryPageRaceUnknown: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x14B8) - ] - DiscoveryPageTradingUnknown: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x14D0) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 4, 0x1410) ] + MissionDetailIcons: Annotated[cGcRealityIcon, 0x1470] + DiscoveryPageConflictUnknown: Annotated[cTkTextureResource, 0x14A0] + DiscoveryPageRaceUnknown: Annotated[cTkTextureResource, 0x14B8] + DiscoveryPageTradingUnknown: Annotated[cTkTextureResource, 0x14D0] PlanetResourceIconLookups: Annotated[ - basic.cTkDynamicArray[cGcPlanetResourceIconLookup], - Field(basic.cTkDynamicArray[cGcPlanetResourceIconLookup], 0x14E8), - ] - RepairTechIcons: Annotated[ - basic.cTkDynamicArray[cTkTextureResource], - Field(basic.cTkDynamicArray[cTkTextureResource], 0x14F8), + basic.cTkDynamicArray[cGcPlanetResourceIconLookup], 0x14E8 ] + RepairTechIcons: Annotated[basic.cTkDynamicArray[cTkTextureResource], 0x14F8] TerrainIconLookups: Annotated[ - basic.cTkDynamicArray[cGcPlanetResourceIconLookup], - Field(basic.cTkDynamicArray[cGcPlanetResourceIconLookup], 0x1508), + basic.cTkDynamicArray[cGcPlanetResourceIconLookup], 0x1508 ] @partial_struct class cGcProceduralProductWord(Structure): - RareWord: Annotated[cGcNameGeneratorWord, Field(cGcNameGeneratorWord, 0x0)] - UncommonWord: Annotated[cGcNameGeneratorWord, Field(cGcNameGeneratorWord, 0x28)] - Word: Annotated[cGcNameGeneratorWord, Field(cGcNameGeneratorWord, 0x50)] - ReplaceKey: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x78) - ] + RareWord: Annotated[cGcNameGeneratorWord, 0x0] + UncommonWord: Annotated[cGcNameGeneratorWord, 0x28] + Word: Annotated[cGcNameGeneratorWord, 0x50] + ReplaceKey: Annotated[basic.cTkFixedString0x20, 0x78] @partial_struct class cGcPlayerDamageData(Structure): - CriticalHitMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - DeathMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - HitChatMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - HitMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - HitIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x80)] - CameraShakeNoShield: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x98)] - CameraShakeShield: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA8)] - DamageTechWithStat: Annotated[ - basic.cTkDynamicArray[cGcBreakTechByStatData], - Field(basic.cTkDynamicArray[cGcBreakTechByStatData], 0xB8), - ] - DeathStat: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC8)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xD8)] + CriticalHitMessage: Annotated[basic.cTkFixedString0x20, 0x0] + DeathMessage: Annotated[basic.cTkFixedString0x20, 0x20] + HitChatMessage: Annotated[basic.cTkFixedString0x20, 0x40] + HitMessage: Annotated[basic.cTkFixedString0x20, 0x60] + HitIcon: Annotated[cTkTextureResource, 0x80] + CameraShakeNoShield: Annotated[basic.TkID0x10, 0x98] + CameraShakeShield: Annotated[basic.TkID0x10, 0xA8] + DamageTechWithStat: Annotated[basic.cTkDynamicArray[cGcBreakTechByStatData], 0xB8] + DeathStat: Annotated[basic.TkID0x10, 0xC8] + Id: Annotated[basic.TkID0x10, 0xD8] CameraTurn: Annotated[float, Field(ctypes.c_float, 0xE8)] - CriticalHitMessageAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xEC), - ] + CriticalHitMessageAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xEC] Damage: Annotated[float, Field(ctypes.c_float, 0xF0)] HazardDrain: Annotated[int, Field(ctypes.c_int32, 0xF4)] - HitMessageAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xF8), - ] + HitMessageAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xF8] class ePlayerDamageTypeEnum(IntEnum): Normal = 0x0 @@ -27931,9 +22575,7 @@ class ePlayerDamageTypeEnum(IntEnum): Freeze = 0x3 Scorch = 0x4 - PlayerDamageType: Annotated[ - c_enum32[ePlayerDamageTypeEnum], Field(c_enum32[ePlayerDamageTypeEnum], 0xFC) - ] + PlayerDamageType: Annotated[c_enum32[ePlayerDamageTypeEnum], 0xFC] PushForce: Annotated[float, Field(ctypes.c_float, 0x100)] TechDamageChance: Annotated[float, Field(ctypes.c_float, 0x104)] AllowDeathInInteraction: Annotated[bool, Field(ctypes.c_bool, 0x108)] @@ -27944,107 +22586,63 @@ class ePlayerDamageTypeEnum(IntEnum): @partial_struct class cGcModularCustomisationSlotItemData(Structure): DescriptorGroupData: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationDescriptorGroupData], - Field(basic.cTkDynamicArray[cGcModularCustomisationDescriptorGroupData], 0x0), - ] - ItemID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - SpecificLocID: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - CreatureDiet: Annotated[ - c_enum32[enums.cGcCreatureDiet], Field(c_enum32[enums.cGcCreatureDiet], 0x30) + basic.cTkDynamicArray[cGcModularCustomisationDescriptorGroupData], 0x0 ] + ItemID: Annotated[basic.TkID0x10, 0x10] + SpecificLocID: Annotated[basic.VariableSizeString, 0x20] + CreatureDiet: Annotated[c_enum32[enums.cGcCreatureDiet], 0x30] class eDescriptorGroupSalvageRuleEnum(IntEnum): All = 0x0 Any = 0x1 DescriptorGroupSalvageRule: Annotated[ - c_enum32[eDescriptorGroupSalvageRuleEnum], - Field(c_enum32[eDescriptorGroupSalvageRuleEnum], 0x34), - ] - InventoryClass: Annotated[ - c_enum32[enums.cGcInventoryClass], - Field(c_enum32[enums.cGcInventoryClass], 0x38), + c_enum32[eDescriptorGroupSalvageRuleEnum], 0x34 ] + InventoryClass: Annotated[c_enum32[enums.cGcInventoryClass], 0x38] SetInventoryClass: Annotated[bool, Field(ctypes.c_bool, 0x3C)] UseAltCamera: Annotated[bool, Field(ctypes.c_bool, 0x3D)] @partial_struct class cGcModularCustomisationSlotConfig(Structure): - SlotEmptyFinalCustomisation: Annotated[ - cGcModularCustomisationSlotItemData, - Field(cGcModularCustomisationSlotItemData, 0x0), - ] - SlotEmptyPreviewCustomisation: Annotated[ - cGcModularCustomisationSlotItemData, - Field(cGcModularCustomisationSlotItemData, 0x40), - ] - LabelLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80) - ] - AdditionalSlottableItemLists: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xA0), - ] + SlotEmptyFinalCustomisation: Annotated[cGcModularCustomisationSlotItemData, 0x0] + SlotEmptyPreviewCustomisation: Annotated[cGcModularCustomisationSlotItemData, 0x40] + LabelLocID: Annotated[basic.cTkFixedString0x20, 0x80] + AdditionalSlottableItemLists: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xA0] AssociatedNonProcNodes: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xB0), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xB0 ] - SlotID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] + SlotID: Annotated[basic.TkID0x10, 0xC0] SlottableItems: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], - Field(basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], 0xD0), + basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], 0xD0 ] - UISlotGraphicLayer: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xE0)] - UISlotPosition: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xF0)] + UISlotGraphicLayer: Annotated[basic.TkID0x10, 0xE0] + UISlotPosition: Annotated[basic.Vector2f, 0xF0] UILineLengthFactor: Annotated[float, Field(ctypes.c_float, 0xF8)] UILineMaxAngle: Annotated[float, Field(ctypes.c_float, 0xFC)] - UILocatorName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x100) - ] + UILocatorName: Annotated[basic.cTkFixedString0x20, 0x100] IncludeInSeed: Annotated[bool, Field(ctypes.c_bool, 0x120)] @partial_struct class cGcModularCustomisationConfig(Structure): - InteractionCameraData: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x0) - ] - ModelRenderData: Annotated[cTkModelRendererData, Field(cTkModelRendererData, 0xB0)] - BaseResource: Annotated[cGcExactResource, Field(cGcExactResource, 0x160)] - SubtitleApplyingLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x180) - ] - SubtitleLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1A0) - ] - SubtitleSlotsBlockedLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1C0) - ] - SubtitleSlotsFullLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1E0) - ] - TitleLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x200) - ] + InteractionCameraData: Annotated[cTkModelRendererData, 0x0] + ModelRenderData: Annotated[cTkModelRendererData, 0xB0] + BaseResource: Annotated[cGcExactResource, 0x160] + SubtitleApplyingLocId: Annotated[basic.cTkFixedString0x20, 0x180] + SubtitleLocId: Annotated[basic.cTkFixedString0x20, 0x1A0] + SubtitleSlotsBlockedLocId: Annotated[basic.cTkFixedString0x20, 0x1C0] + SubtitleSlotsFullLocId: Annotated[basic.cTkFixedString0x20, 0x1E0] + TitleLocId: Annotated[basic.cTkFixedString0x20, 0x200] ColourDataPriorityList: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationColourData], - Field(basic.cTkDynamicArray[cGcModularCustomisationColourData], 0x220), - ] - Slots: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationSlotConfig], - Field(basic.cTkDynamicArray[cGcModularCustomisationSlotConfig], 0x230), + basic.cTkDynamicArray[cGcModularCustomisationColourData], 0x220 ] + Slots: Annotated[basic.cTkDynamicArray[cGcModularCustomisationSlotConfig], 0x230] TextureData: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationTextureGroup], - Field(basic.cTkDynamicArray[cGcModularCustomisationTextureGroup], 0x240), - ] - Effects: Annotated[ - cGcModularCustomisationEffectsData, - Field(cGcModularCustomisationEffectsData, 0x250), + basic.cTkDynamicArray[cGcModularCustomisationTextureGroup], 0x240 ] + Effects: Annotated[cGcModularCustomisationEffectsData, 0x250] HologramOffset: Annotated[float, Field(ctypes.c_float, 0x258)] HologramScale: Annotated[float, Field(ctypes.c_float, 0x25C)] IsEnabled: Annotated[bool, Field(ctypes.c_bool, 0x260)] @@ -28053,27 +22651,13 @@ class cGcModularCustomisationConfig(Structure): @partial_struct class cGcMaintenanceGroupInstallData(Structure): - InstallSubtitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - InstallTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - UninstallSubtitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - UninstallTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] + InstallSubtitle: Annotated[basic.cTkFixedString0x20, 0x0] + InstallTitle: Annotated[basic.cTkFixedString0x20, 0x20] + UninstallSubtitle: Annotated[basic.cTkFixedString0x20, 0x40] + UninstallTitle: Annotated[basic.cTkFixedString0x20, 0x60] BuildingSeedOffset: Annotated[int, Field(ctypes.c_int32, 0x80)] - ItemGroupOverride: Annotated[ - c_enum32[enums.cGcMaintenanceElementGroups], - Field(c_enum32[enums.cGcMaintenanceElementGroups], 0x84), - ] - OverrideAudioID: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x88), - ] + ItemGroupOverride: Annotated[c_enum32[enums.cGcMaintenanceElementGroups], 0x84] + OverrideAudioID: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x88] DismantleIsDelete: Annotated[bool, Field(ctypes.c_bool, 0x8C)] HideChargingInfo: Annotated[bool, Field(ctypes.c_bool, 0x8D)] InstallIsFree: Annotated[bool, Field(ctypes.c_bool, 0x8E)] @@ -28081,16 +22665,13 @@ class cGcMaintenanceGroupInstallData(Structure): @partial_struct class cGcModularCustomisationSlotItemDataTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], - Field(basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], 0x0] @partial_struct class cGcMaintenanceElement(Structure): - LocatorOverride: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + LocatorOverride: Annotated[basic.TkID0x20, 0x0] + Id: Annotated[basic.TkID0x10, 0x20] AmountEmptyTimePeriod: Annotated[float, Field(ctypes.c_float, 0x30)] class eCompletionRequirementEnum(IntEnum): @@ -28104,10 +22685,7 @@ class eCompletionRequirementEnum(IntEnum): HasIngredients = 0x7 GroupInstall = 0x8 - CompletionRequirement: Annotated[ - c_enum32[eCompletionRequirementEnum], - Field(c_enum32[eCompletionRequirementEnum], 0x34), - ] + CompletionRequirement: Annotated[c_enum32[eCompletionRequirementEnum], 0x34] DamagedAfterTimePeriodMax: Annotated[int, Field(ctypes.c_int32, 0x38)] DamagedAfterTimePeriodMin: Annotated[int, Field(ctypes.c_int32, 0x3C)] @@ -28116,80 +22694,57 @@ class eDamageStatusEnum(IntEnum): Repaired = 0x1 Random = 0x2 - DamageStatus: Annotated[ - c_enum32[eDamageStatusEnum], Field(c_enum32[eDamageStatusEnum], 0x40) - ] - ItemGroupOverride: Annotated[ - c_enum32[enums.cGcMaintenanceElementGroups], - Field(c_enum32[enums.cGcMaintenanceElementGroups], 0x44), - ] + DamageStatus: Annotated[c_enum32[eDamageStatusEnum], 0x40] + ItemGroupOverride: Annotated[c_enum32[enums.cGcMaintenanceElementGroups], 0x44] MaxCapacity: Annotated[int, Field(ctypes.c_int32, 0x48)] MaxRandAmount: Annotated[float, Field(ctypes.c_float, 0x4C)] MinRandAmount: Annotated[float, Field(ctypes.c_float, 0x50)] - Type: Annotated[ - c_enum32[enums.cGcInventoryType], Field(c_enum32[enums.cGcInventoryType], 0x54) - ] + Type: Annotated[c_enum32[enums.cGcInventoryType], 0x54] class eUpdateTypeEnum(IntEnum): UpdatesAlways = 0x0 UpdateOnlyWhenComplete = 0x1 UpdateOnlyWhenNotComplete = 0x2 - UpdateType: Annotated[ - c_enum32[eUpdateTypeEnum], Field(c_enum32[eUpdateTypeEnum], 0x58) - ] + UpdateType: Annotated[c_enum32[eUpdateTypeEnum], 0x58] BlockDiscardWhenAllowedForParent: Annotated[bool, Field(ctypes.c_bool, 0x5C)] HideWhenComplete: Annotated[bool, Field(ctypes.c_bool, 0x5D)] @partial_struct class cGcModularCustomisationSlottableItemList(Structure): - ListID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ListID: Annotated[basic.TkID0x10, 0x0] SlottableItems: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], - Field(basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], 0x10), + basic.cTkDynamicArray[cGcModularCustomisationSlotItemData], 0x10 ] @partial_struct class cGcMaintenanceGroupEntry(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + Id: Annotated[basic.TkID0x10, 0x0] OverrideAmount: Annotated[float, Field(ctypes.c_float, 0x10)] ProbabilityWeighting: Annotated[float, Field(ctypes.c_float, 0x14)] - Type: Annotated[ - c_enum32[enums.cGcInventoryType], Field(c_enum32[enums.cGcInventoryType], 0x18) - ] + Type: Annotated[c_enum32[enums.cGcInventoryType], 0x18] @partial_struct class cGcMaintenanceGroup(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcMaintenanceGroupEntry], - Field(basic.cTkDynamicArray[cGcMaintenanceGroupEntry], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcMaintenanceGroupEntry], 0x0] @partial_struct class cGcInventoryGenerationBaseStatData(Structure): BaseStatsPerClass: Annotated[ - cGcInventoryGenerationBaseStatClassData, - Field(cGcInventoryGenerationBaseStatClassData, 0x0), + tuple[cGcInventoryGenerationBaseStatClassData, ...], + Field(cGcInventoryGenerationBaseStatClassData * 4, 0x0), ] @partial_struct class cGcInventoryLayoutGenerationDataEntry(Structure): - Bounds: Annotated[ - cGcInventoryLayoutGenerationBounds, - Field(cGcInventoryLayoutGenerationBounds, 0x0), - ] - TechBounds: Annotated[ - cGcInventoryLayoutGenerationBounds, - Field(cGcInventoryLayoutGenerationBounds, 0x18), - ] - SpecialTechSlotMaxIndex: Annotated[ - cGcInventoryIndex, Field(cGcInventoryIndex, 0x30) - ] + Bounds: Annotated[cGcInventoryLayoutGenerationBounds, 0x0] + TechBounds: Annotated[cGcInventoryLayoutGenerationBounds, 0x18] + SpecialTechSlotMaxIndex: Annotated[cGcInventoryIndex, 0x30] MaxCargoSlots: Annotated[int, Field(ctypes.c_int32, 0x38)] MaxNumSpecialTechSlots: Annotated[int, Field(ctypes.c_int32, 0x3C)] MaxSlots: Annotated[int, Field(ctypes.c_int32, 0x40)] @@ -28202,130 +22757,100 @@ class cGcInventoryLayoutGenerationDataEntry(Structure): @partial_struct class cGcInventoryLayoutGenerationData(Structure): GenerationDataPerSizeType: Annotated[ - cGcInventoryLayoutGenerationDataEntry, - Field(cGcInventoryLayoutGenerationDataEntry, 0x0), + tuple[cGcInventoryLayoutGenerationDataEntry, ...], + Field(cGcInventoryLayoutGenerationDataEntry * 45, 0x0), ] @partial_struct class cGcDiscoveryTrimSettings(Structure): - BaseSearchFilter: Annotated[cGcBaseSearchFilter, Field(cGcBaseSearchFilter, 0x0)] + BaseSearchFilter: Annotated[cGcBaseSearchFilter, 0x0] DiscoveryTrimScoringRules: Annotated[ - cGcDiscoveryTrimScoringRules, Field(cGcDiscoveryTrimScoringRules, 0xC0) + tuple[cGcDiscoveryTrimScoringRules, ...], + Field(cGcDiscoveryTrimScoringRules * 8, 0xC0), + ] + DiscoveryTrimScoringWeights: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 8, 0x120) + ] + DiscoveryTrimGroupMaxCounts: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x140) ] - DiscoveryTrimScoringWeights: Annotated[float, Field(ctypes.c_float, 0x120)] - DiscoveryTrimGroupMaxCounts: Annotated[int, Field(ctypes.c_int32, 0x140)] @partial_struct class cGcGenericRewardTableEntry(Structure): - List: Annotated[cGcRewardTableItemList, Field(cGcRewardTableItemList, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x28)] + List: Annotated[cGcRewardTableItemList, 0x0] + Id: Annotated[basic.TkID0x10, 0x28] @partial_struct class cGcCostWordKnowledge(Structure): - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x0) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x0] class eRequirementEnum(IntEnum): CanLearn = 0x0 CanSpeak = 0x1 - Requirement: Annotated[ - c_enum32[eRequirementEnum], Field(c_enum32[eRequirementEnum], 0x4) - ] + Requirement: Annotated[c_enum32[eRequirementEnum], 0x4] @partial_struct class cGcCostRaceItemCombo(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - AlienRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x10) - ] + Id: Annotated[basic.TkID0x10, 0x0] + AlienRace: Annotated[c_enum32[enums.cGcAlienRace], 0x10] Amount: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cGcCostSettlementTowerReward(Structure): - Power: Annotated[ - c_enum32[enums.cGcSettlementTowerPower], - Field(c_enum32[enums.cGcSettlementTowerPower], 0x0), - ] + Power: Annotated[c_enum32[enums.cGcSettlementTowerPower], 0x0] @partial_struct class cGcCostStanding(Structure): - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x0) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x0] RequiredStanding: Annotated[int, Field(ctypes.c_int32, 0x4)] UseCurrentRankString: Annotated[bool, Field(ctypes.c_bool, 0x8)] @partial_struct class cGcCostNPCHabitation(Structure): - NPCHabitationType: Annotated[ - c_enum32[enums.cGcNPCHabitationType], - Field(c_enum32[enums.cGcNPCHabitationType], 0x0), - ] + NPCHabitationType: Annotated[c_enum32[enums.cGcNPCHabitationType], 0x0] MustBeInhabited: Annotated[bool, Field(ctypes.c_bool, 0x4)] @partial_struct class cGcCostInteractionIndex(Structure): - CantAffordLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + CantAffordLocID: Annotated[basic.cTkFixedString0x20, 0x0] Index: Annotated[int, Field(ctypes.c_int32, 0x20)] - InteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x24), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x28) - ] + InteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x24] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x28] AffordIfGreaterThanIndex: Annotated[bool, Field(ctypes.c_bool, 0x2C)] @partial_struct class cGcCostGameMode(Structure): - CostStringCantAfford: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Mode: Annotated[ - c_enum32[enums.cGcGameMode], Field(c_enum32[enums.cGcGameMode], 0x20) - ] + CostStringCantAfford: Annotated[basic.cTkFixedString0x20, 0x0] + Mode: Annotated[c_enum32[enums.cGcGameMode], 0x20] SpecificSeasonIndex: Annotated[int, Field(ctypes.c_int32, 0x24)] InvertMode: Annotated[bool, Field(ctypes.c_bool, 0x28)] @partial_struct class cGcConsumableItem(Structure): - CustomOSD: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] - RequiresCanAffordCost: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] - RequiresMissionActive: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - RewardID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] + CustomOSD: Annotated[basic.cTkFixedString0x20, 0x0] + ID: Annotated[basic.TkID0x10, 0x20] + RequiresCanAffordCost: Annotated[basic.TkID0x10, 0x30] + RequiresMissionActive: Annotated[basic.TkID0x10, 0x40] + RewardID: Annotated[basic.TkID0x10, 0x50] RewardOverrideTable: Annotated[ - basic.cTkDynamicArray[cGcRewardMissionOverride], - Field(basic.cTkDynamicArray[cGcRewardMissionOverride], 0x60), - ] - TutorialRewardID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - AudioEventOnOpen: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x80), - ] - ButtonLocID: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x84) - ] - ButtonSubLocID: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xC4) - ] - RewardFailedLocID: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x104) + basic.cTkDynamicArray[cGcRewardMissionOverride], 0x60 ] + TutorialRewardID: Annotated[basic.TkID0x10, 0x70] + AudioEventOnOpen: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x80] + ButtonLocID: Annotated[basic.cTkFixedString0x40, 0x84] + ButtonSubLocID: Annotated[basic.cTkFixedString0x40, 0xC4] + RewardFailedLocID: Annotated[basic.cTkFixedString0x40, 0x104] AddCommunityTierClassIcon: Annotated[bool, Field(ctypes.c_bool, 0x144)] CloseInventoryWhenUsed: Annotated[bool, Field(ctypes.c_bool, 0x145)] DestroyItemWhenConsumed: Annotated[bool, Field(ctypes.c_bool, 0x146)] @@ -28335,59 +22860,27 @@ class cGcConsumableItem(Structure): @partial_struct class cGcCostBuildingParts(Structure): - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - RequiredParts: Annotated[ - basic.cTkDynamicArray[cGcBuildingCostPartCount], - Field(basic.cTkDynamicArray[cGcBuildingCostPartCount], 0x20), - ] + Description: Annotated[basic.cTkFixedString0x20, 0x0] + RequiredParts: Annotated[basic.cTkDynamicArray[cGcBuildingCostPartCount], 0x20] @partial_struct class cGcAlienPuzzleOption(Structure): - DisablingConditionId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Name: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x20)] - NextInteraction: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x40)] - Text: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60)] - TitleOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80) - ] - Cost: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - DisablingConditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0xB0), - ] - Rewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xC0), - ] - AlienWordSpecificRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0xD0) - ] - AudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xD4), - ] - DisablingConditionTest: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0xD8), - ] - Mood: Annotated[ - c_enum32[enums.cGcAlienMood], Field(c_enum32[enums.cGcAlienMood], 0xDC) - ] - Prop: Annotated[ - c_enum32[enums.cGcNPCPropType], Field(c_enum32[enums.cGcNPCPropType], 0xE0) - ] - ResponseLanguageOverride: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0xE4) - ] - WordCategory: Annotated[ - c_enum32[enums.cGcWordCategoryTableEnum], - Field(c_enum32[enums.cGcWordCategoryTableEnum], 0xE8), - ] + DisablingConditionId: Annotated[basic.cTkFixedString0x20, 0x0] + Name: Annotated[basic.TkID0x20, 0x20] + NextInteraction: Annotated[basic.TkID0x20, 0x40] + Text: Annotated[basic.cTkFixedString0x20, 0x60] + TitleOverride: Annotated[basic.cTkFixedString0x20, 0x80] + Cost: Annotated[basic.TkID0x10, 0xA0] + DisablingConditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0xB0] + Rewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xC0] + AlienWordSpecificRace: Annotated[c_enum32[enums.cGcAlienRace], 0xD0] + AudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xD4] + DisablingConditionTest: Annotated[c_enum32[enums.cGcMissionConditionTest], 0xD8] + Mood: Annotated[c_enum32[enums.cGcAlienMood], 0xDC] + Prop: Annotated[c_enum32[enums.cGcNPCPropType], 0xE0] + ResponseLanguageOverride: Annotated[c_enum32[enums.cGcAlienRace], 0xE4] + WordCategory: Annotated[c_enum32[enums.cGcWordCategoryTableEnum], 0xE8] DisplayCost: Annotated[bool, Field(ctypes.c_bool, 0xEC)] IsAlien: Annotated[bool, Field(ctypes.c_bool, 0xED)] KeepOpen: Annotated[bool, Field(ctypes.c_bool, 0xEE)] @@ -28401,73 +22894,40 @@ class cGcAlienPuzzleOption(Structure): @partial_struct class cGcAdditionalOptionMissionOverride(Structure): - Option: Annotated[cGcAlienPuzzleOption, Field(cGcAlienPuzzleOption, 0x0)] - ApplicableSeasons: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0xF8), - ] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x108)] + Option: Annotated[cGcAlienPuzzleOption, 0x0] + ApplicableSeasons: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0xF8] + Mission: Annotated[basic.TkID0x10, 0x108] MissionMustBeSelected: Annotated[bool, Field(ctypes.c_bool, 0x118)] @partial_struct class cGcRagdolCollisionObject(Structure): - Centre: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Extent: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - HalfVector: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - OrientationQuaternion: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x30)] - CollisionShapeType: Annotated[ - c_enum32[enums.cCollisionShapeType], - Field(c_enum32[enums.cCollisionShapeType], 0x40), - ] + Centre: Annotated[basic.Vector3f, 0x0] + Extent: Annotated[basic.Vector3f, 0x10] + HalfVector: Annotated[basic.Vector3f, 0x20] + OrientationQuaternion: Annotated[basic.Vector4f, 0x30] + CollisionShapeType: Annotated[c_enum32[enums.cCollisionShapeType], 0x40] Radius: Annotated[float, Field(ctypes.c_float, 0x44)] @partial_struct class cGcRagdollBone(Structure): - LimitedPlaneAxis: Annotated[cAxisSpecification, Field(cAxisSpecification, 0x0)] - LimitedTwistAxis: Annotated[cAxisSpecification, Field(cAxisSpecification, 0x20)] - LimitingPlaneAxis: Annotated[cAxisSpecification, Field(cAxisSpecification, 0x40)] - LimitingTwistAxis: Annotated[cAxisSpecification, Field(cAxisSpecification, 0x60)] - ParentNodeTransformInBone_AxisX: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x80) - ] - ParentNodeTransformInBone_AxisY: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x90) - ] - ParentNodeTransformInBone_AxisZ: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0xA0) - ] - ParentNodeTransformInBone_Position: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0xB0) - ] - ChildNodes: Annotated[ - basic.cTkDynamicArray[cGcChildNode], - Field(basic.cTkDynamicArray[cGcChildNode], 0xC0), - ] - CollisionObjects: Annotated[ - basic.cTkDynamicArray[cGcRagdolCollisionObject], - Field(basic.cTkDynamicArray[cGcRagdolCollisionObject], 0xD0), - ] - NodeNames: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x40], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x40], 0xE0), - ] - NodeTransformInBone_AxisX: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0xF0), - ] - NodeTransformInBone_AxisY: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x100), - ] - NodeTransformInBone_AxisZ: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x110), - ] + LimitedPlaneAxis: Annotated[cAxisSpecification, 0x0] + LimitedTwistAxis: Annotated[cAxisSpecification, 0x20] + LimitingPlaneAxis: Annotated[cAxisSpecification, 0x40] + LimitingTwistAxis: Annotated[cAxisSpecification, 0x60] + ParentNodeTransformInBone_AxisX: Annotated[basic.Vector3f, 0x80] + ParentNodeTransformInBone_AxisY: Annotated[basic.Vector3f, 0x90] + ParentNodeTransformInBone_AxisZ: Annotated[basic.Vector3f, 0xA0] + ParentNodeTransformInBone_Position: Annotated[basic.Vector3f, 0xB0] + ChildNodes: Annotated[basic.cTkDynamicArray[cGcChildNode], 0xC0] + CollisionObjects: Annotated[basic.cTkDynamicArray[cGcRagdolCollisionObject], 0xD0] + NodeNames: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x40], 0xE0] + NodeTransformInBone_AxisX: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0xF0] + NodeTransformInBone_AxisY: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x100] + NodeTransformInBone_AxisZ: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x110] NodeTransformInBone_Position: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x120), + basic.cTkDynamicArray[basic.Vector3f], 0x120 ] ConeLimitDeg: Annotated[float, Field(ctypes.c_float, 0x130)] @@ -28480,85 +22940,51 @@ class eLimbTypeEnum(IntEnum): RightFoot = 0x5 Other = 0x6 - LimbType: Annotated[c_enum32[eLimbTypeEnum], Field(c_enum32[eLimbTypeEnum], 0x134)] + LimbType: Annotated[c_enum32[eLimbTypeEnum], 0x134] PlaneMaxAngleDeg: Annotated[float, Field(ctypes.c_float, 0x138)] PlaneMinAngleDeg: Annotated[float, Field(ctypes.c_float, 0x13C)] TwistLimitDeg: Annotated[float, Field(ctypes.c_float, 0x140)] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x144)] - ParentNodeName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x184) - ] + Name: Annotated[basic.cTkFixedString0x40, 0x144] + ParentNodeName: Annotated[basic.cTkFixedString0x40, 0x184] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x1C4)] @partial_struct class cGcAlienPuzzleEntry(Structure): - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - RequiresScanEvent: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x20)] - Text: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40)] - TextAlien: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x80)] - AdditionalText: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xA0), - ] + Id: Annotated[basic.TkID0x20, 0x0] + RequiresScanEvent: Annotated[basic.TkID0x20, 0x20] + Text: Annotated[basic.cTkFixedString0x20, 0x40] + TextAlien: Annotated[basic.cTkFixedString0x20, 0x60] + Title: Annotated[basic.cTkFixedString0x20, 0x80] + AdditionalText: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xA0] AdditionalTextAlien: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xB0), - ] - AdvancedInteractionFlow: Annotated[ - basic.cTkDynamicArray[cGcPuzzleTextFlow], - Field(basic.cTkDynamicArray[cGcPuzzleTextFlow], 0xC0), - ] - Options: Annotated[ - basic.cTkDynamicArray[cGcAlienPuzzleOption], - Field(basic.cTkDynamicArray[cGcAlienPuzzleOption], 0xD0), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xB0 ] + AdvancedInteractionFlow: Annotated[basic.cTkDynamicArray[cGcPuzzleTextFlow], 0xC0] + Options: Annotated[basic.cTkDynamicArray[cGcAlienPuzzleOption], 0xD0] class eAdditionalOptionsEnum(IntEnum): None_ = 0x0 LearnWord = 0x1 SayWord = 0x2 - AdditionalOptions: Annotated[ - c_enum32[eAdditionalOptionsEnum], Field(c_enum32[eAdditionalOptionsEnum], 0xE0) - ] - Category: Annotated[ - c_enum32[enums.cGcAlienPuzzleCategory], - Field(c_enum32[enums.cGcAlienPuzzleCategory], 0xE4), - ] + AdditionalOptions: Annotated[c_enum32[eAdditionalOptionsEnum], 0xE0] + Category: Annotated[c_enum32[enums.cGcAlienPuzzleCategory], 0xE4] CustomFreighterTextIndex: Annotated[int, Field(ctypes.c_int32, 0xE8)] MinProgressionForSelection: Annotated[int, Field(ctypes.c_int32, 0xEC)] - Mood: Annotated[ - c_enum32[enums.cGcAlienMood], Field(c_enum32[enums.cGcAlienMood], 0xF0) - ] - NextStageAudioEventOverride: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xF4), - ] + Mood: Annotated[c_enum32[enums.cGcAlienMood], 0xF0] + NextStageAudioEventOverride: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xF4] class ePersistancyBufferOverrideEnum(IntEnum): None_ = 0x0 AlwaysPersonal = 0x1 AlwaysFireteam = 0x2 - PersistancyBufferOverride: Annotated[ - c_enum32[ePersistancyBufferOverrideEnum], - Field(c_enum32[ePersistancyBufferOverrideEnum], 0xF8), - ] + PersistancyBufferOverride: Annotated[c_enum32[ePersistancyBufferOverrideEnum], 0xF8] ProgressionIndex: Annotated[int, Field(ctypes.c_int32, 0xFC)] - Prop: Annotated[ - c_enum32[enums.cGcNPCPropType], Field(c_enum32[enums.cGcNPCPropType], 0x100) - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x104) - ] - Type: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x108), - ] + Prop: Annotated[c_enum32[enums.cGcNPCPropType], 0x100] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x104] + Type: Annotated[c_enum32[enums.cGcInteractionType], 0x108] AllowNoOptions: Annotated[bool, Field(ctypes.c_bool, 0x10C)] ProgressiveDialogue: Annotated[bool, Field(ctypes.c_bool, 0x10D)] RadialInteraction: Annotated[bool, Field(ctypes.c_bool, 0x10E)] @@ -28571,29 +22997,24 @@ class ePersistancyBufferOverrideEnum(IntEnum): class cTkUniqueID(Structure): Address: Annotated[int, Field(ctypes.c_uint64, 0x0)] Index: Annotated[int, Field(ctypes.c_uint64, 0x8)] - OwnerID: Annotated[cTkSaveID, Field(cTkSaveID, 0x10)] + OwnerID: Annotated[cTkSaveID, 0x10] @partial_struct class cTkUniqueSyncKey(Structure): Index: Annotated[int, Field(ctypes.c_uint64, 0x0)] - OwnerID: Annotated[cTkSaveID, Field(cTkSaveID, 0x8)] + OwnerID: Annotated[cTkSaveID, 0x8] @partial_struct class cTkUserAccount(Structure): - PlatformGroup: Annotated[ - c_enum32[enums.cTkPlatformGroup], Field(c_enum32[enums.cTkPlatformGroup], 0x0) - ] - OnlineID: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x4)] + PlatformGroup: Annotated[c_enum32[enums.cTkPlatformGroup], 0x0] + OnlineID: Annotated[basic.cTkFixedString0x40, 0x4] @partial_struct class cGcCutSceneTriggerInputData(Structure): - Actions: Annotated[ - basic.cTkDynamicArray[cGcCutSceneTriggerActionData], - Field(basic.cTkDynamicArray[cGcCutSceneTriggerActionData], 0x0), - ] + Actions: Annotated[basic.cTkDynamicArray[cGcCutSceneTriggerActionData], 0x0] class eCutSceneKeyPressEnum(IntEnum): _1 = 0x0 @@ -28610,135 +23031,84 @@ class eCutSceneKeyPressEnum(IntEnum): PadLeft = 0xB PadRight = 0xC - CutSceneKeyPress: Annotated[ - c_enum32[eCutSceneKeyPressEnum], Field(c_enum32[eCutSceneKeyPressEnum], 0x10) - ] + CutSceneKeyPress: Annotated[c_enum32[eCutSceneKeyPressEnum], 0x10] @partial_struct class cGcPerformanceGuard(Structure): - Encounter: Annotated[ - cGcEncounterComponentData, Field(cGcEncounterComponentData, 0x0) - ] + Encounter: Annotated[cGcEncounterComponentData, 0x0] Radius: Annotated[float, Field(ctypes.c_float, 0x18)] @partial_struct class cGcMessageFiendCrime(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - FiendCrimeType: Annotated[ - c_enum32[enums.cGcFiendCrime], Field(c_enum32[enums.cGcFiendCrime], 0x10) - ] + Position: Annotated[basic.Vector3f, 0x0] + FiendCrimeType: Annotated[c_enum32[enums.cGcFiendCrime], 0x10] Value: Annotated[float, Field(ctypes.c_float, 0x14)] - Victim: Annotated[basic.GcNodeID, Field(basic.GcNodeID, 0x18)] + Victim: Annotated[basic.GcNodeID, 0x18] @partial_struct class cGcJourneyMedal(Structure): - MedalProgressText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - MedalTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - PinnedDescription: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - IconBronze: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x60)] - IconGold: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x78)] - IconNone: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x90)] - IconSilver: Annotated[cTkTextureResource, Field(cTkTextureResource, 0xA8)] - LevelledStatID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] - PinnedMission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xD0)] - StatType: Annotated[ - c_enum32[enums.cGcStatType], Field(c_enum32[enums.cGcStatType], 0xE0) - ] + MedalProgressText: Annotated[basic.cTkFixedString0x20, 0x0] + MedalTitle: Annotated[basic.cTkFixedString0x20, 0x20] + PinnedDescription: Annotated[basic.cTkFixedString0x20, 0x40] + IconBronze: Annotated[cTkTextureResource, 0x60] + IconGold: Annotated[cTkTextureResource, 0x78] + IconNone: Annotated[cTkTextureResource, 0x90] + IconSilver: Annotated[cTkTextureResource, 0xA8] + LevelledStatID: Annotated[basic.TkID0x10, 0xC0] + PinnedMission: Annotated[basic.TkID0x10, 0xD0] + StatType: Annotated[c_enum32[enums.cGcStatType], 0xE0] OverallJourneyDummy: Annotated[bool, Field(ctypes.c_bool, 0xE4)] @partial_struct class cGcJourneyCategory(Structure): - DescriptionID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - NameIDLower: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20) - ] - NameIDUpper: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x40) - ] - IconOff: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x60)] - IconOn: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x78)] - Medals: Annotated[ - basic.cTkDynamicArray[cGcJourneyMedal], - Field(basic.cTkDynamicArray[cGcJourneyMedal], 0x90), - ] - Faction: Annotated[ - c_enum32[enums.cGcMissionFaction], - Field(c_enum32[enums.cGcMissionFaction], 0xA0), - ] - GameModeRestriction: Annotated[ - c_enum32[enums.cGcGameMode], Field(c_enum32[enums.cGcGameMode], 0xA4) - ] - Type: Annotated[ - c_enum32[enums.cGcJourneyCategoryType], - Field(c_enum32[enums.cGcJourneyCategoryType], 0xA8), - ] + DescriptionID: Annotated[basic.cTkFixedString0x20, 0x0] + NameIDLower: Annotated[basic.cTkFixedString0x20, 0x20] + NameIDUpper: Annotated[basic.cTkFixedString0x20, 0x40] + IconOff: Annotated[cTkTextureResource, 0x60] + IconOn: Annotated[cTkTextureResource, 0x78] + Medals: Annotated[basic.cTkDynamicArray[cGcJourneyMedal], 0x90] + Faction: Annotated[c_enum32[enums.cGcMissionFaction], 0xA0] + GameModeRestriction: Annotated[c_enum32[enums.cGcGameMode], 0xA4] + Type: Annotated[c_enum32[enums.cGcJourneyCategoryType], 0xA8] @partial_struct class cGcActionSetHudLayer(Structure): - HudLayerIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] - Type: Annotated[ - c_enum32[enums.cGcActionSetType], Field(c_enum32[enums.cGcActionSetType], 0x10) - ] + HudLayerIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] + Type: Annotated[c_enum32[enums.cGcActionSetType], 0x10] @partial_struct class cGcInputBinding(Structure): - VirtualBinding: Annotated[cTkVirtualBinding, Field(cTkVirtualBinding, 0x0)] - Action: Annotated[ - c_enum32[enums.cGcInputActions], Field(c_enum32[enums.cGcInputActions], 0x68) - ] - Axis: Annotated[ - c_enum32[enums.cTkInputAxisEnum], Field(c_enum32[enums.cTkInputAxisEnum], 0x6C) - ] - Button: Annotated[ - c_enum32[enums.cTkInputEnum], Field(c_enum32[enums.cTkInputEnum], 0x70) - ] + VirtualBinding: Annotated[cTkVirtualBinding, 0x0] + Action: Annotated[c_enum32[enums.cGcInputActions], 0x68] + Axis: Annotated[c_enum32[enums.cTkInputAxisEnum], 0x6C] + Button: Annotated[c_enum32[enums.cTkInputEnum], 0x70] @partial_struct class cGcInputBindingSet(Structure): - InputBindings: Annotated[ - basic.cTkDynamicArray[cGcInputBinding], - Field(basic.cTkDynamicArray[cGcInputBinding], 0x0), - ] - Type: Annotated[ - c_enum32[enums.cGcActionSetType], Field(c_enum32[enums.cGcActionSetType], 0x10) - ] + InputBindings: Annotated[basic.cTkDynamicArray[cGcInputBinding], 0x0] + Type: Annotated[c_enum32[enums.cGcActionSetType], 0x10] @partial_struct class cGcNGuiLayoutData(Structure): AccessibleOverrides: Annotated[ - basic.cTkDynamicArray[cGcAccessibleOverride_Layout], - Field(basic.cTkDynamicArray[cGcAccessibleOverride_Layout], 0x0), - ] - VROverrides: Annotated[ - basic.cTkDynamicArray[cGcVROverride_Layout], - Field(basic.cTkDynamicArray[cGcVROverride_Layout], 0x10), + basic.cTkDynamicArray[cGcAccessibleOverride_Layout], 0x0 ] + VROverrides: Annotated[basic.cTkDynamicArray[cGcVROverride_Layout], 0x10] ConstrainAspect: Annotated[float, Field(ctypes.c_float, 0x20)] Height: Annotated[float, Field(ctypes.c_float, 0x24)] MaxWidth: Annotated[float, Field(ctypes.c_float, 0x28)] PositionX: Annotated[float, Field(ctypes.c_float, 0x2C)] PositionY: Annotated[float, Field(ctypes.c_float, 0x30)] Width: Annotated[float, Field(ctypes.c_float, 0x34)] - Align: Annotated[cTkNGuiAlignment, Field(cTkNGuiAlignment, 0x38)] + Align: Annotated[cTkNGuiAlignment, 0x38] Anchor: Annotated[bool, Field(ctypes.c_bool, 0x3A)] AnchorPercent: Annotated[bool, Field(ctypes.c_bool, 0x3B)] ConstrainProportions: Annotated[bool, Field(ctypes.c_bool, 0x3C)] @@ -28751,86 +23121,74 @@ class cGcNGuiLayoutData(Structure): @partial_struct class cGcNGuiElementData(Structure): - Layout: Annotated[cGcNGuiLayoutData, Field(cGcNGuiLayoutData, 0x0)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - EditorVisible: Annotated[ - c_enum32[enums.cGcNGuiEditorVisibility], - Field(c_enum32[enums.cGcNGuiEditorVisibility], 0x58), - ] - ForcedStyle: Annotated[ - c_enum32[enums.cTkNGuiForcedStyle], - Field(c_enum32[enums.cTkNGuiForcedStyle], 0x5C), - ] + Layout: Annotated[cGcNGuiLayoutData, 0x0] + ID: Annotated[basic.TkID0x10, 0x48] + EditorVisible: Annotated[c_enum32[enums.cGcNGuiEditorVisibility], 0x58] + ForcedStyle: Annotated[c_enum32[enums.cTkNGuiForcedStyle], 0x5C] IgnoreInput: Annotated[bool, Field(ctypes.c_bool, 0x60)] IsHidden: Annotated[bool, Field(ctypes.c_bool, 0x61)] @partial_struct class cGcNGuiGraphicData(Structure): - ElementData: Annotated[cGcNGuiElementData, Field(cGcNGuiElementData, 0x0)] - Image: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x68)] - Style: Annotated[cTkNGuiGraphicStyle, Field(cTkNGuiGraphicStyle, 0x78)] + ElementData: Annotated[cGcNGuiElementData, 0x0] + Image: Annotated[basic.VariableSizeString, 0x68] + Style: Annotated[cTkNGuiGraphicStyle, 0x78] Angle: Annotated[float, Field(ctypes.c_float, 0x198)] @partial_struct class cGcNGuiPresetGraphic(Structure): - Layout: Annotated[cGcNGuiLayoutData, Field(cGcNGuiLayoutData, 0x0)] - Image: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x48)] - PresetID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] - Style: Annotated[cTkNGuiGraphicStyle, Field(cTkNGuiGraphicStyle, 0x68)] + Layout: Annotated[cGcNGuiLayoutData, 0x0] + Image: Annotated[basic.VariableSizeString, 0x48] + PresetID: Annotated[basic.TkID0x10, 0x58] + Style: Annotated[cTkNGuiGraphicStyle, 0x68] @partial_struct class cGcNGuiPresetText(Structure): - Layout: Annotated[cGcNGuiLayoutData, Field(cGcNGuiLayoutData, 0x0)] - Image: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x48)] - PresetID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] - GraphicStyle: Annotated[cTkNGuiGraphicStyle, Field(cTkNGuiGraphicStyle, 0x68)] - Style: Annotated[cTkNGuiTextStyle, Field(cTkNGuiTextStyle, 0x188)] + Layout: Annotated[cGcNGuiLayoutData, 0x0] + Image: Annotated[basic.VariableSizeString, 0x48] + PresetID: Annotated[basic.TkID0x10, 0x58] + GraphicStyle: Annotated[cTkNGuiGraphicStyle, 0x68] + Style: Annotated[cTkNGuiTextStyle, 0x188] @partial_struct class cGcNGuiSpacingData(Structure): - ElementData: Annotated[cGcNGuiElementData, Field(cGcNGuiElementData, 0x0)] + ElementData: Annotated[cGcNGuiElementData, 0x0] @partial_struct class cGcTextPreset(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - Style: Annotated[basic.NMSTemplate, Field(basic.NMSTemplate, 0x10)] - Font: Annotated[ - c_enum32[enums.cGcFontTypesEnum], Field(c_enum32[enums.cGcFontTypesEnum], 0x20) - ] + Colour: Annotated[basic.Colour, 0x0] + Style: Annotated[basic.NMSTemplate, 0x10] + Font: Annotated[c_enum32[enums.cGcFontTypesEnum], 0x20] Height: Annotated[float, Field(ctypes.c_float, 0x24)] @partial_struct class cGcTextPresetTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcTextPreset], - Field(basic.cTkDynamicArray[cGcTextPreset], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcTextPreset], 0x0] @partial_struct class cGcModelViewCollection(Structure): - ModelViewData: Annotated[cTkModelRendererData, Field(cTkModelRendererData, 0x0)] + ModelViewData: Annotated[ + tuple[cTkModelRendererData, ...], Field(cTkModelRendererData * 50, 0x0) + ] @partial_struct class cGcHUDStartup(Structure): - RequiresTechBroken: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Audio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x10), - ] + RequiresTechBroken: Annotated[basic.TkID0x10, 0x0] + Audio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x10] Time: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cGcHUDStartupTable(Structure): - HUDStartup: Annotated[cGcHUDStartup, Field(cGcHUDStartup, 0x0)] + HUDStartup: Annotated[tuple[cGcHUDStartup, ...], Field(cGcHUDStartup * 13, 0x0)] BackgroundAlpha: Annotated[float, Field(ctypes.c_float, 0x138)] ButtonFlashAlpha: Annotated[float, Field(ctypes.c_float, 0x13C)] ButtonFlashRate: Annotated[float, Field(ctypes.c_float, 0x140)] @@ -28841,27 +23199,19 @@ class cGcHUDStartupTable(Structure): @partial_struct class cGcHUDTextData(Structure): - Preset: Annotated[cGcTextPreset, Field(cGcTextPreset, 0x0)] - Data: Annotated[cGcHUDComponent, Field(cGcHUDComponent, 0x30)] - Text: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x58)] + Preset: Annotated[cGcTextPreset, 0x0] + Data: Annotated[cGcHUDComponent, 0x30] + Text: Annotated[basic.cTkFixedString0x80, 0x58] @partial_struct class cGcInventorySlotActionData(Structure): - ActionAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x0), - ] + ActionAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x0] ScaleAtMax: Annotated[float, Field(ctypes.c_float, 0x4)] ScaleAtMin: Annotated[float, Field(ctypes.c_float, 0x8)] - SuitAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xC), - ] + SuitAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xC] Time: Annotated[float, Field(ctypes.c_float, 0x10)] - AnimCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x14) - ] + AnimCurve: Annotated[c_enum32[enums.cTkCurveType], 0x14] Disabled: Annotated[bool, Field(ctypes.c_bool, 0x15)] Glows: Annotated[bool, Field(ctypes.c_bool, 0x16)] Loops: Annotated[bool, Field(ctypes.c_bool, 0x17)] @@ -28870,70 +23220,44 @@ class cGcInventorySlotActionData(Structure): @partial_struct class cGcVehicleGlobals(Structure): - CheckpointBeamColourActive: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - CheckpointBeamColourNormal: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - DefaultBoosterColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - MechCrouchOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - MechWalkBackwardsCoGOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x40)] - MechMeshPartsTable: Annotated[ - cGcMechMeshPartTable, Field(cGcMechMeshPartTable, 0x50) - ] - MechWeaponData: Annotated[cGcExoMechWeaponData, Field(cGcExoMechWeaponData, 0x2D0)] + CheckpointBeamColourActive: Annotated[basic.Colour, 0x0] + CheckpointBeamColourNormal: Annotated[basic.Colour, 0x10] + DefaultBoosterColour: Annotated[basic.Colour, 0x20] + MechCrouchOffset: Annotated[basic.Vector3f, 0x30] + MechWalkBackwardsCoGOffset: Annotated[basic.Vector3f, 0x40] + MechMeshPartsTable: Annotated[cGcMechMeshPartTable, 0x50] + MechWeaponData: Annotated[ + tuple[cGcExoMechWeaponData, ...], Field(cGcExoMechWeaponData * 5, 0x2D0) + ] VehicleWeaponMuzzleFlash: Annotated[ - cGcVehicleMuzzleData, Field(cGcVehicleMuzzleData, 0x550) - ] - MechAudioEventTable: Annotated[ - cGcMechAudioEventTable, Field(cGcMechAudioEventTable, 0x780) - ] - MechEffectTable: Annotated[cGcMechEffectTable, Field(cGcMechEffectTable, 0x8A0)] - BugMechRightArmTechNameOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x940) - ] - SentinelRightArmTechNameOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x960) - ] - BugMechLeftArmTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x980)] - BugMechRightArmTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x990)] - DefaultBikeLoadout: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x9A0), - ] - DefaultBuggyLoadout: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x9B0), - ] - DefaultTruckLoadout: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x9C0), - ] - MechArmPitchAnimLeft: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x9D0)] - MechArmPitchAnimRight: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x9E0)] - MechStrongLaser: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x9F0)] - SentinelLeftArmTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA00)] - SentinelRightArmTech: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA10)] - SentinelRightLeftArmLaserData: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xA20) - ] - UnderwaterBubbleOffset: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0xA30), - ] - VehicleDataTable: Annotated[ - basic.cTkDynamicArray[cGcVehicleData], - Field(basic.cTkDynamicArray[cGcVehicleData], 0xA40), - ] - VehicleLocalScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA50)] - VehicleScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA60)] - VehicleStrongLaser: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA70)] + tuple[cGcVehicleMuzzleData, ...], Field(cGcVehicleMuzzleData * 7, 0x550) + ] + MechAudioEventTable: Annotated[cGcMechAudioEventTable, 0x780] + MechEffectTable: Annotated[cGcMechEffectTable, 0x8A0] + BugMechRightArmTechNameOverride: Annotated[basic.cTkFixedString0x20, 0x940] + SentinelRightArmTechNameOverride: Annotated[basic.cTkFixedString0x20, 0x960] + BugMechLeftArmTech: Annotated[basic.TkID0x10, 0x980] + BugMechRightArmTech: Annotated[basic.TkID0x10, 0x990] + DefaultBikeLoadout: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x9A0] + DefaultBuggyLoadout: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x9B0] + DefaultTruckLoadout: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x9C0] + MechArmPitchAnimLeft: Annotated[basic.TkID0x10, 0x9D0] + MechArmPitchAnimRight: Annotated[basic.TkID0x10, 0x9E0] + MechStrongLaser: Annotated[basic.TkID0x10, 0x9F0] + SentinelLeftArmTech: Annotated[basic.TkID0x10, 0xA00] + SentinelRightArmTech: Annotated[basic.TkID0x10, 0xA10] + SentinelRightLeftArmLaserData: Annotated[basic.TkID0x10, 0xA20] + UnderwaterBubbleOffset: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0xA30] + VehicleDataTable: Annotated[basic.cTkDynamicArray[cGcVehicleData], 0xA40] + VehicleLocalScan: Annotated[basic.TkID0x10, 0xA50] + VehicleScan: Annotated[basic.TkID0x10, 0xA60] + VehicleStrongLaser: Annotated[basic.TkID0x10, 0xA70] VehicleWeaponMuzzleDataTable: Annotated[ - basic.cTkDynamicArray[cGcVehicleWeaponMuzzleData], - Field(basic.cTkDynamicArray[cGcVehicleWeaponMuzzleData], 0xA80), + basic.cTkDynamicArray[cGcVehicleWeaponMuzzleData], 0xA80 ] - UnderwaterAvoidance: Annotated[ - cGcSpaceshipAvoidanceData, Field(cGcSpaceshipAvoidanceData, 0xA90) - ] - MechLookStickSpeedLimit: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xAB4)] - MechMovementStickSpeedLimit: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xABC)] + UnderwaterAvoidance: Annotated[cGcSpaceshipAvoidanceData, 0xA90] + MechLookStickSpeedLimit: Annotated[basic.Vector2f, 0xAB4] + MechMovementStickSpeedLimit: Annotated[basic.Vector2f, 0xABC] AIMechFlamethrowerFireInterval: Annotated[float, Field(ctypes.c_float, 0xAC4)] AIMechFlamethrowerNumShotsMax: Annotated[int, Field(ctypes.c_int32, 0xAC8)] AIMechFlamethrowerNumShotsMin: Annotated[int, Field(ctypes.c_int32, 0xACC)] @@ -29198,15 +23522,11 @@ class cGcVehicleGlobals(Structure): WheelForceHalflife: Annotated[float, Field(ctypes.c_float, 0xE60)] WheelSideVerticalFactor: Annotated[float, Field(ctypes.c_float, 0xE64)] MechWeaponLocatorNames: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE68) + tuple[basic.cTkFixedString0x20, ...], Field(basic.cTkFixedString0x20 * 5, 0xE68) ] MechAltJumpMode: Annotated[bool, Field(ctypes.c_bool, 0xF08)] - MechArmSwingCurveFastWalk: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xF09) - ] - MechArmSwingCurveWalk: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xF0A) - ] + MechArmSwingCurveFastWalk: Annotated[c_enum32[enums.cTkCurveType], 0xF09] + MechArmSwingCurveWalk: Annotated[c_enum32[enums.cTkCurveType], 0xF0A] MechCanUpdateMeshWhileMaintenanceUIActive: Annotated[ bool, Field(ctypes.c_bool, 0xF0B) ] @@ -29220,14 +23540,10 @@ class cGcVehicleGlobals(Structure): ShowVehicleParticleDebug: Annotated[bool, Field(ctypes.c_bool, 0xF13)] ShowVehicleText: Annotated[bool, Field(ctypes.c_bool, 0xF14)] ShowVehicleWheelGuards: Annotated[bool, Field(ctypes.c_bool, 0xF15)] - SteeringWheelOutputCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xF16) - ] + SteeringWheelOutputCurve: Annotated[c_enum32[enums.cTkCurveType], 0xF16] TestAnims: Annotated[bool, Field(ctypes.c_bool, 0xF17)] ThrottleButtonCamRelative: Annotated[bool, Field(ctypes.c_bool, 0xF18)] - UnderwaterBuoyancyDepthCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xF19) - ] + UnderwaterBuoyancyDepthCurve: Annotated[c_enum32[enums.cTkCurveType], 0xF19] UseFirstPersonCamera: Annotated[bool, Field(ctypes.c_bool, 0xF1A)] VehicleAltControlScheme: Annotated[bool, Field(ctypes.c_bool, 0xF1B)] VehicleDrawAudioDebug: Annotated[bool, Field(ctypes.c_bool, 0xF1C)] @@ -29235,654 +23551,425 @@ class cGcVehicleGlobals(Structure): @partial_struct class cGcUIGlobals(Structure): - ModelViews: Annotated[cGcModelViewCollection, Field(cGcModelViewCollection, 0x0)] + ModelViews: Annotated[cGcModelViewCollection, 0x0] ShipThumbnailRenderSettings: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2260) - ] - HoverShipThumbnailModelView: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x29F0) - ] - LargeMultitoolThumbnailModelView: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2AA0) - ] - MultitoolThumbnailModelView: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2B50) - ] - PetThumbnailModelView: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2C00) - ] - RepairBackpackCamera: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2CB0) - ] - RepairCamera: Annotated[cTkModelRendererData, Field(cTkModelRendererData, 0x2D60)] - RepairShipCameraInWorld: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2E10) - ] - RepairShipCameraModelView: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2EC0) - ] - RepairShipCameraVR: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2F70) - ] - RepairWeaponCamera: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x3020) - ] - SpookShipThumbnailModelView: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x30D0) - ] - FileBrowserTreeViewTemplate: Annotated[ - cTkNGuiTreeViewTemplate, Field(cTkNGuiTreeViewTemplate, 0x3180) - ] - SceneInfoTreeViewTemplate: Annotated[ - cTkNGuiTreeViewTemplate, Field(cTkNGuiTreeViewTemplate, 0x3200) - ] - SkeletonToolsTreeViewTemplate: Annotated[ - cTkNGuiTreeViewTemplate, Field(cTkNGuiTreeViewTemplate, 0x3280) - ] - DebugEditorPreviewEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x3300) - ] - FreighterSummonScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x3350) - ] - OSDEpicItemRewardEffect: Annotated[ - cGcHUDEffectRewardData, Field(cGcHUDEffectRewardData, 0x33A0) - ] - OSDRareItemRewardEffect: Annotated[ - cGcHUDEffectRewardData, Field(cGcHUDEffectRewardData, 0x33F0) - ] - SystemHooverLEDColours: Annotated[basic.Colour, Field(basic.Colour, 0x3440)] - SystemHooverStatusBarColours: Annotated[basic.Colour, Field(basic.Colour, 0x3490)] - TargetDisplayScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x34E0) - ] - SpaceMapAtlasData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x3530) - ] - SpaceMapBlackHoleData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x3560) - ] - SpaceMapFreighterData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x3590) - ] - SpaceMapMarkerData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x35C0) - ] - SpaceMapNexusData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x35F0) - ] - SpaceMapPlanetData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x3620) - ] - SpaceMapPulseEncounterData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x3650) - ] - SpaceMapShipData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x3680) - ] - SpaceMapStationData: Annotated[ - cGcSpaceMapObjectData, Field(cGcSpaceMapObjectData, 0x36B0) - ] - AltimeterBandColour1: Annotated[basic.Colour, Field(basic.Colour, 0x36E0)] - AltimeterBandColour2: Annotated[basic.Colour, Field(basic.Colour, 0x36F0)] - AltimeterColour1: Annotated[basic.Colour, Field(basic.Colour, 0x3700)] - AltimeterColour2: Annotated[basic.Colour, Field(basic.Colour, 0x3710)] - BaseComplexityDangerColour: Annotated[basic.Colour, Field(basic.Colour, 0x3720)] - BaseComplexityDefaultColour: Annotated[basic.Colour, Field(basic.Colour, 0x3730)] - BaseComplexityWarningColour: Annotated[basic.Colour, Field(basic.Colour, 0x3740)] - BinocularPanelLinePointOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x3750) - ] - BuildMenuErrorTextColour: Annotated[basic.Colour, Field(basic.Colour, 0x3760)] - BuildMenuErrorTextFlashColour: Annotated[basic.Colour, Field(basic.Colour, 0x3770)] - BuildMenuErrorTextOutlineColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3780) - ] - BuildMenuErrorTextOutlineFlashColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3790) - ] - BuildMenuInfoTextColour: Annotated[basic.Colour, Field(basic.Colour, 0x37A0)] - BuildMenuInfoTextOutlineColour: Annotated[basic.Colour, Field(basic.Colour, 0x37B0)] - BuildMenuPassiveErrorTextColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x37C0) - ] - BuildMenuPassiveErrorTextOutlineColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x37D0) - ] - ByteBeatArpGridActiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x37E0)] - ByteBeatArpGridInactiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x37F0)] - ByteBeatArpPipActiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x3800)] - ByteBeatArpPipInactiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x3810)] - ByteBeatRhythmColour0Active: Annotated[basic.Colour, Field(basic.Colour, 0x3820)] - ByteBeatRhythmColour0Inactive: Annotated[basic.Colour, Field(basic.Colour, 0x3830)] - ByteBeatRhythmColour1Active: Annotated[basic.Colour, Field(basic.Colour, 0x3840)] - ByteBeatRhythmColour1Inactive: Annotated[basic.Colour, Field(basic.Colour, 0x3850)] - ByteBeatRhythmColour2Active: Annotated[basic.Colour, Field(basic.Colour, 0x3860)] - ByteBeatRhythmColour2Inactive: Annotated[basic.Colour, Field(basic.Colour, 0x3870)] - ByteBeatSequencerBGColourActive: Annotated[ - basic.Colour, Field(basic.Colour, 0x3880) - ] - ByteBeatSequencerBGColourInactive: Annotated[ - basic.Colour, Field(basic.Colour, 0x3890) - ] - ByteBeatSequencerHighlightColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x38A0) - ] - ByteBeatSequencerRimColourActive: Annotated[ - basic.Colour, Field(basic.Colour, 0x38B0) - ] - ByteBeatSequencerRimColourInactive: Annotated[ - basic.Colour, Field(basic.Colour, 0x38C0) - ] - ByteBeatSequencerUnpoweredTint: Annotated[basic.Colour, Field(basic.Colour, 0x38D0)] - ByteBeatSliderFGColour: Annotated[basic.Colour, Field(basic.Colour, 0x38E0)] - ByteBeatSliderTextActiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x38F0)] - ByteBeatSliderTextInactiveColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3900) - ] - ByteBeatTreeLineColour: Annotated[basic.Colour, Field(basic.Colour, 0x3910)] - ByteBeatVisGridColour: Annotated[basic.Colour, Field(basic.Colour, 0x3920)] - ByteBeatVisLineColour: Annotated[basic.Colour, Field(basic.Colour, 0x3930)] - CommunicatorMessageColour: Annotated[basic.Colour, Field(basic.Colour, 0x3940)] - CrosshairColour: Annotated[basic.Colour, Field(basic.Colour, 0x3950)] - CrosshairLeadPassiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x3960)] - CrosshairLeadThreatColour: Annotated[basic.Colour, Field(basic.Colour, 0x3970)] - CursorColour: Annotated[basic.Colour, Field(basic.Colour, 0x3980)] - CursorConfirmColour: Annotated[basic.Colour, Field(basic.Colour, 0x3990)] - CursorDeleteColour: Annotated[basic.Colour, Field(basic.Colour, 0x39A0)] - CursorTransferUploadColour: Annotated[basic.Colour, Field(basic.Colour, 0x39B0)] - DamageNumberCriticalColour: Annotated[basic.Colour, Field(basic.Colour, 0x39C0)] - DamageNumberIneffectiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x39D0)] - DamageNumberIneffectiveWarningColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x39E0) - ] - DeathMessageColour: Annotated[basic.Colour, Field(basic.Colour, 0x39F0)] - DebugEditorAxisColourAtActive: Annotated[basic.Colour, Field(basic.Colour, 0x3A00)] - DebugEditorAxisColourAtInactive: Annotated[ - basic.Colour, Field(basic.Colour, 0x3A10) - ] - DebugEditorAxisColourRightActive: Annotated[ - basic.Colour, Field(basic.Colour, 0x3A20) - ] - DebugEditorAxisColourRightInactive: Annotated[ - basic.Colour, Field(basic.Colour, 0x3A30) - ] - DebugEditorAxisColourUpActive: Annotated[basic.Colour, Field(basic.Colour, 0x3A40)] - DebugEditorAxisColourUpInactive: Annotated[ - basic.Colour, Field(basic.Colour, 0x3A50) - ] - DefaultRefinerOffsetIn: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x3A60)] - DefaultRefinerOffsetOut: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x3A70)] - EnergyBgColour: Annotated[basic.Colour, Field(basic.Colour, 0x3A80)] - EnergyBgPulseColour: Annotated[basic.Colour, Field(basic.Colour, 0x3A90)] - FaceLockedScreenOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x3AA0)] - FreighterSummonScanEffectColourBlocked: Annotated[ - basic.Colour, Field(basic.Colour, 0x3AB0) - ] - FreighterSummonScanEffectColourHighlight: Annotated[ - basic.Colour, Field(basic.Colour, 0x3AC0) - ] - FrontendCursorBackgroundColour: Annotated[basic.Colour, Field(basic.Colour, 0x3AD0)] - FuelBgColour: Annotated[basic.Colour, Field(basic.Colour, 0x3AE0)] - GridBackgroundNegativeColour: Annotated[basic.Colour, Field(basic.Colour, 0x3AF0)] - GridBackgroundNeutralColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B00)] - GridBackgroundPositiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B10)] - GridDisconnectedColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B20)] - GridOfflineColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B30)] - GridOnlineColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B40)] - HazardBgPulseColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B50)] - HazardDamagePulseColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B60)] - HmdFramerateScreenOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x3B70)] - HUDMarkerColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B80)] - HUDNotifyColour: Annotated[basic.Colour, Field(basic.Colour, 0x3B90)] - HUDOutpostColour: Annotated[basic.Colour, Field(basic.Colour, 0x3BA0)] - HUDPlayerTrackArrowDamageGlowHullHitMaxColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3BB0) - ] - HUDPlayerTrackArrowDamageGlowHullHitMinColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3BC0) - ] - HUDPlayerTrackArrowDamageGlowShieldHitMaxColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3BD0) - ] - HUDPlayerTrackArrowDamageGlowShieldHitMinColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3BE0) - ] - HUDPlayerTrackArrowDotColour: Annotated[basic.Colour, Field(basic.Colour, 0x3BF0)] - HUDPlayerTrackArrowDotColourPirate: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C00) - ] - HUDPlayerTrackArrowDotColourPolice: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C10) - ] - HUDPlayerTrackArrowDotColourTrader: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C20) - ] - HUDPlayerTrackArrowEnergyShieldColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C30) - ] + tuple[cTkModelRendererData, ...], Field(cTkModelRendererData * 11, 0x2260) + ] + HoverShipThumbnailModelView: Annotated[cTkModelRendererData, 0x29F0] + LargeMultitoolThumbnailModelView: Annotated[cTkModelRendererData, 0x2AA0] + MultitoolThumbnailModelView: Annotated[cTkModelRendererData, 0x2B50] + PetThumbnailModelView: Annotated[cTkModelRendererData, 0x2C00] + RepairBackpackCamera: Annotated[cTkModelRendererData, 0x2CB0] + RepairCamera: Annotated[cTkModelRendererData, 0x2D60] + RepairShipCameraInWorld: Annotated[cTkModelRendererData, 0x2E10] + RepairShipCameraModelView: Annotated[cTkModelRendererData, 0x2EC0] + RepairShipCameraVR: Annotated[cTkModelRendererData, 0x2F70] + RepairWeaponCamera: Annotated[cTkModelRendererData, 0x3020] + SpookShipThumbnailModelView: Annotated[cTkModelRendererData, 0x30D0] + FileBrowserTreeViewTemplate: Annotated[cTkNGuiTreeViewTemplate, 0x3180] + SceneInfoTreeViewTemplate: Annotated[cTkNGuiTreeViewTemplate, 0x3200] + SkeletonToolsTreeViewTemplate: Annotated[cTkNGuiTreeViewTemplate, 0x3280] + DebugEditorPreviewEffect: Annotated[cGcScanEffectData, 0x3300] + FreighterSummonScanEffect: Annotated[cGcScanEffectData, 0x3350] + OSDEpicItemRewardEffect: Annotated[cGcHUDEffectRewardData, 0x33A0] + OSDRareItemRewardEffect: Annotated[cGcHUDEffectRewardData, 0x33F0] + SystemHooverLEDColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 5, 0x3440) + ] + SystemHooverStatusBarColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 5, 0x3490) + ] + TargetDisplayScanEffect: Annotated[cGcScanEffectData, 0x34E0] + SpaceMapAtlasData: Annotated[cGcSpaceMapObjectData, 0x3530] + SpaceMapBlackHoleData: Annotated[cGcSpaceMapObjectData, 0x3560] + SpaceMapFreighterData: Annotated[cGcSpaceMapObjectData, 0x3590] + SpaceMapMarkerData: Annotated[cGcSpaceMapObjectData, 0x35C0] + SpaceMapNexusData: Annotated[cGcSpaceMapObjectData, 0x35F0] + SpaceMapPlanetData: Annotated[cGcSpaceMapObjectData, 0x3620] + SpaceMapPulseEncounterData: Annotated[cGcSpaceMapObjectData, 0x3650] + SpaceMapShipData: Annotated[cGcSpaceMapObjectData, 0x3680] + SpaceMapStationData: Annotated[cGcSpaceMapObjectData, 0x36B0] + AltimeterBandColour1: Annotated[basic.Colour, 0x36E0] + AltimeterBandColour2: Annotated[basic.Colour, 0x36F0] + AltimeterColour1: Annotated[basic.Colour, 0x3700] + AltimeterColour2: Annotated[basic.Colour, 0x3710] + BaseComplexityDangerColour: Annotated[basic.Colour, 0x3720] + BaseComplexityDefaultColour: Annotated[basic.Colour, 0x3730] + BaseComplexityWarningColour: Annotated[basic.Colour, 0x3740] + BinocularPanelLinePointOffset: Annotated[basic.Vector3f, 0x3750] + BuildMenuErrorTextColour: Annotated[basic.Colour, 0x3760] + BuildMenuErrorTextFlashColour: Annotated[basic.Colour, 0x3770] + BuildMenuErrorTextOutlineColour: Annotated[basic.Colour, 0x3780] + BuildMenuErrorTextOutlineFlashColour: Annotated[basic.Colour, 0x3790] + BuildMenuInfoTextColour: Annotated[basic.Colour, 0x37A0] + BuildMenuInfoTextOutlineColour: Annotated[basic.Colour, 0x37B0] + BuildMenuPassiveErrorTextColour: Annotated[basic.Colour, 0x37C0] + BuildMenuPassiveErrorTextOutlineColour: Annotated[basic.Colour, 0x37D0] + ByteBeatArpGridActiveColour: Annotated[basic.Colour, 0x37E0] + ByteBeatArpGridInactiveColour: Annotated[basic.Colour, 0x37F0] + ByteBeatArpPipActiveColour: Annotated[basic.Colour, 0x3800] + ByteBeatArpPipInactiveColour: Annotated[basic.Colour, 0x3810] + ByteBeatRhythmColour0Active: Annotated[basic.Colour, 0x3820] + ByteBeatRhythmColour0Inactive: Annotated[basic.Colour, 0x3830] + ByteBeatRhythmColour1Active: Annotated[basic.Colour, 0x3840] + ByteBeatRhythmColour1Inactive: Annotated[basic.Colour, 0x3850] + ByteBeatRhythmColour2Active: Annotated[basic.Colour, 0x3860] + ByteBeatRhythmColour2Inactive: Annotated[basic.Colour, 0x3870] + ByteBeatSequencerBGColourActive: Annotated[basic.Colour, 0x3880] + ByteBeatSequencerBGColourInactive: Annotated[basic.Colour, 0x3890] + ByteBeatSequencerHighlightColour: Annotated[basic.Colour, 0x38A0] + ByteBeatSequencerRimColourActive: Annotated[basic.Colour, 0x38B0] + ByteBeatSequencerRimColourInactive: Annotated[basic.Colour, 0x38C0] + ByteBeatSequencerUnpoweredTint: Annotated[basic.Colour, 0x38D0] + ByteBeatSliderFGColour: Annotated[basic.Colour, 0x38E0] + ByteBeatSliderTextActiveColour: Annotated[basic.Colour, 0x38F0] + ByteBeatSliderTextInactiveColour: Annotated[basic.Colour, 0x3900] + ByteBeatTreeLineColour: Annotated[basic.Colour, 0x3910] + ByteBeatVisGridColour: Annotated[basic.Colour, 0x3920] + ByteBeatVisLineColour: Annotated[basic.Colour, 0x3930] + CommunicatorMessageColour: Annotated[basic.Colour, 0x3940] + CrosshairColour: Annotated[basic.Colour, 0x3950] + CrosshairLeadPassiveColour: Annotated[basic.Colour, 0x3960] + CrosshairLeadThreatColour: Annotated[basic.Colour, 0x3970] + CursorColour: Annotated[basic.Colour, 0x3980] + CursorConfirmColour: Annotated[basic.Colour, 0x3990] + CursorDeleteColour: Annotated[basic.Colour, 0x39A0] + CursorTransferUploadColour: Annotated[basic.Colour, 0x39B0] + DamageNumberCriticalColour: Annotated[basic.Colour, 0x39C0] + DamageNumberIneffectiveColour: Annotated[basic.Colour, 0x39D0] + DamageNumberIneffectiveWarningColour: Annotated[basic.Colour, 0x39E0] + DeathMessageColour: Annotated[basic.Colour, 0x39F0] + DebugEditorAxisColourAtActive: Annotated[basic.Colour, 0x3A00] + DebugEditorAxisColourAtInactive: Annotated[basic.Colour, 0x3A10] + DebugEditorAxisColourRightActive: Annotated[basic.Colour, 0x3A20] + DebugEditorAxisColourRightInactive: Annotated[basic.Colour, 0x3A30] + DebugEditorAxisColourUpActive: Annotated[basic.Colour, 0x3A40] + DebugEditorAxisColourUpInactive: Annotated[basic.Colour, 0x3A50] + DefaultRefinerOffsetIn: Annotated[basic.Vector3f, 0x3A60] + DefaultRefinerOffsetOut: Annotated[basic.Vector3f, 0x3A70] + EnergyBgColour: Annotated[basic.Colour, 0x3A80] + EnergyBgPulseColour: Annotated[basic.Colour, 0x3A90] + FaceLockedScreenOffset: Annotated[basic.Vector3f, 0x3AA0] + FreighterSummonScanEffectColourBlocked: Annotated[basic.Colour, 0x3AB0] + FreighterSummonScanEffectColourHighlight: Annotated[basic.Colour, 0x3AC0] + FrontendCursorBackgroundColour: Annotated[basic.Colour, 0x3AD0] + FuelBgColour: Annotated[basic.Colour, 0x3AE0] + GridBackgroundNegativeColour: Annotated[basic.Colour, 0x3AF0] + GridBackgroundNeutralColour: Annotated[basic.Colour, 0x3B00] + GridBackgroundPositiveColour: Annotated[basic.Colour, 0x3B10] + GridDisconnectedColour: Annotated[basic.Colour, 0x3B20] + GridOfflineColour: Annotated[basic.Colour, 0x3B30] + GridOnlineColour: Annotated[basic.Colour, 0x3B40] + HazardBgPulseColour: Annotated[basic.Colour, 0x3B50] + HazardDamagePulseColour: Annotated[basic.Colour, 0x3B60] + HmdFramerateScreenOffset: Annotated[basic.Vector3f, 0x3B70] + HUDMarkerColour: Annotated[basic.Colour, 0x3B80] + HUDNotifyColour: Annotated[basic.Colour, 0x3B90] + HUDOutpostColour: Annotated[basic.Colour, 0x3BA0] + HUDPlayerTrackArrowDamageGlowHullHitMaxColour: Annotated[basic.Colour, 0x3BB0] + HUDPlayerTrackArrowDamageGlowHullHitMinColour: Annotated[basic.Colour, 0x3BC0] + HUDPlayerTrackArrowDamageGlowShieldHitMaxColour: Annotated[basic.Colour, 0x3BD0] + HUDPlayerTrackArrowDamageGlowShieldHitMinColour: Annotated[basic.Colour, 0x3BE0] + HUDPlayerTrackArrowDotColour: Annotated[basic.Colour, 0x3BF0] + HUDPlayerTrackArrowDotColourPirate: Annotated[basic.Colour, 0x3C00] + HUDPlayerTrackArrowDotColourPolice: Annotated[basic.Colour, 0x3C10] + HUDPlayerTrackArrowDotColourTrader: Annotated[basic.Colour, 0x3C20] + HUDPlayerTrackArrowEnergyShieldColour: Annotated[basic.Colour, 0x3C30] HUDPlayerTrackArrowEnergyShieldDepletedGlowMaxColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C40) + basic.Colour, 0x3C40 ] HUDPlayerTrackArrowEnergyShieldDepletedGlowMinColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C50) - ] - HUDPlayerTrackArrowEnergyShieldLowColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C60) + basic.Colour, 0x3C50 ] + HUDPlayerTrackArrowEnergyShieldLowColour: Annotated[basic.Colour, 0x3C60] HUDPlayerTrackArrowEnergyShieldStartChargeGlowMaxColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C70) + basic.Colour, 0x3C70 ] HUDPlayerTrackArrowEnergyShieldStartChargeGlowMinColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3C80) - ] - HUDPlayerTrackArrowTextColour: Annotated[basic.Colour, Field(basic.Colour, 0x3C90)] - HUDRelicMarkerColourDiscovered: Annotated[basic.Colour, Field(basic.Colour, 0x3CA0)] - HUDRelicMarkerColourUnknown: Annotated[basic.Colour, Field(basic.Colour, 0x3CB0)] - HUDSpaceshipColour: Annotated[basic.Colour, Field(basic.Colour, 0x3CC0)] - HUDWarningColour: Annotated[basic.Colour, Field(basic.Colour, 0x3CD0)] - IconGlowColourActive: Annotated[basic.Colour, Field(basic.Colour, 0x3CE0)] - IconGlowColourError: Annotated[basic.Colour, Field(basic.Colour, 0x3CF0)] - IconGlowColourHighlight: Annotated[basic.Colour, Field(basic.Colour, 0x3D00)] - IconGlowColourNeutral: Annotated[basic.Colour, Field(basic.Colour, 0x3D10)] - InteractionLabelCostColour: Annotated[basic.Colour, Field(basic.Colour, 0x3D20)] - InteractionLabelPickupColour: Annotated[basic.Colour, Field(basic.Colour, 0x3D30)] - InteractionLabelPickupFillColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3D40) - ] - InvSlotGradientBaseColour: Annotated[basic.Colour, Field(basic.Colour, 0x3D50)] - InWorldInteractLabelCentreOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x3D60) - ] - InWorldInteractLabelLineOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x3D70) - ] - InWorldInteractLabelTopOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x3D80) - ] - InWorldNGuiScreenRotation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x3D90)] - InWorldStaffBinocsScreenOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x3DA0) - ] - ItemSlotColourPartiallyInstalled: Annotated[ - basic.Colour, Field(basic.Colour, 0x3DB0) - ] - ItemSlotColourProduct: Annotated[basic.Colour, Field(basic.Colour, 0x3DC0)] - ItemSlotColourSubstance: Annotated[basic.Colour, Field(basic.Colour, 0x3DD0)] - ItemSlotColourTech: Annotated[basic.Colour, Field(basic.Colour, 0x3DE0)] - ItemSlotColourTechCharge: Annotated[basic.Colour, Field(basic.Colour, 0x3DF0)] - ItemSlotColourTechDamage: Annotated[basic.Colour, Field(basic.Colour, 0x3E00)] - ItemSlotTextColourProduct: Annotated[basic.Colour, Field(basic.Colour, 0x3E10)] - ItemSlotTextColourSubstance: Annotated[basic.Colour, Field(basic.Colour, 0x3E20)] - ItemSlotTextColourTech: Annotated[basic.Colour, Field(basic.Colour, 0x3E30)] - JoaoBoxCompletedObjectiveColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3E40) - ] - LockOnMarkerActiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x3E50)] - LowerHelmetScreenOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x3E60)] - MarkerRingBGColour: Annotated[basic.Colour, Field(basic.Colour, 0x3E70)] - MissionOSDMessageBarColour: Annotated[basic.Colour, Field(basic.Colour, 0x3E80)] - MultiplayerMissionParticipantsColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x3E90) - ] - NetworkPopupTextDisabledColour: Annotated[basic.Colour, Field(basic.Colour, 0x3EA0)] - NetworkPopupTextEnabledColour: Annotated[basic.Colour, Field(basic.Colour, 0x3EB0)] - NGuiModelTranslationFactors: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x3EC0) - ] - NGuiModelTranslationFactorsInteraction: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x3ED0) - ] - NGuiThumbnailModelTranslationFactors: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x3EE0) - ] - NotificationDangerColour: Annotated[basic.Colour, Field(basic.Colour, 0x3EF0)] - NotificationDefaultColour: Annotated[basic.Colour, Field(basic.Colour, 0x3F00)] - NotificationInfoColour: Annotated[basic.Colour, Field(basic.Colour, 0x3F10)] - NotificationUrgentColour: Annotated[basic.Colour, Field(basic.Colour, 0x3F20)] - OutpostReturnMarkerOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x3F30)] - PhotoModeSelectedColour: Annotated[basic.Colour, Field(basic.Colour, 0x3F40)] - PhotoModeUnselectedColour: Annotated[basic.Colour, Field(basic.Colour, 0x3F50)] - PickedItemBorderColour: Annotated[basic.Colour, Field(basic.Colour, 0x3F60)] - PinnedRecipeBorder: Annotated[basic.Colour, Field(basic.Colour, 0x3F70)] - ProcProductColourCommon: Annotated[basic.Colour, Field(basic.Colour, 0x3F80)] - ProcProductColourRare: Annotated[basic.Colour, Field(basic.Colour, 0x3F90)] - ProcProductColourUncommon: Annotated[basic.Colour, Field(basic.Colour, 0x3FA0)] - PulseAlertColour: Annotated[basic.Colour, Field(basic.Colour, 0x3FB0)] - PulseDamageColour: Annotated[basic.Colour, Field(basic.Colour, 0x3FC0)] - QuickMenuSelectedItemColour1: Annotated[basic.Colour, Field(basic.Colour, 0x3FD0)] - QuickMenuSelectedItemColour2: Annotated[basic.Colour, Field(basic.Colour, 0x3FE0)] - RadialMenuInnerColourDisabled: Annotated[basic.Colour, Field(basic.Colour, 0x3FF0)] - RadialMenuInnerColourSelected: Annotated[basic.Colour, Field(basic.Colour, 0x4000)] - RadialMenuInnerColourUnselected: Annotated[ - basic.Colour, Field(basic.Colour, 0x4010) - ] - RadialMenuOuterColourDisabled: Annotated[basic.Colour, Field(basic.Colour, 0x4020)] - RadialMenuOuterColourSelected: Annotated[basic.Colour, Field(basic.Colour, 0x4030)] - RadialMenuOuterColourUnselected: Annotated[ - basic.Colour, Field(basic.Colour, 0x4040) - ] - RefinerBackgroundColour: Annotated[basic.Colour, Field(basic.Colour, 0x4050)] - RefinerErrorBackgroundColour: Annotated[basic.Colour, Field(basic.Colour, 0x4060)] - RemappedControlColour: Annotated[basic.Colour, Field(basic.Colour, 0x4070)] - SelectedControlColour: Annotated[basic.Colour, Field(basic.Colour, 0x4080)] - SettlementStatBackgroundColour: Annotated[basic.Colour, Field(basic.Colour, 0x4090)] - SettlementStatColour: Annotated[basic.Colour, Field(basic.Colour, 0x40A0)] - ShieldBgColour: Annotated[basic.Colour, Field(basic.Colour, 0x40B0)] - ShieldColour: Annotated[basic.Colour, Field(basic.Colour, 0x40C0)] - ShieldDamageBgColour: Annotated[basic.Colour, Field(basic.Colour, 0x40D0)] - ShieldDamageColour: Annotated[basic.Colour, Field(basic.Colour, 0x40E0)] - ShipBuilderLineColour: Annotated[basic.Colour, Field(basic.Colour, 0x40F0)] - ShipBuilderLineColourHologram: Annotated[basic.Colour, Field(basic.Colour, 0x4100)] - ShipHUDAimTargetColour: Annotated[basic.Colour, Field(basic.Colour, 0x4110)] - ShipHUDAimTargetCritColour: Annotated[basic.Colour, Field(basic.Colour, 0x4120)] - ShipHUDTargetArrowsColourLocal: Annotated[basic.Colour, Field(basic.Colour, 0x4130)] - ShipHUDTargetArrowsColourOutOfRange: Annotated[ - basic.Colour, Field(basic.Colour, 0x4140) - ] - ShipHUDTargetArrowsColourThreat: Annotated[ - basic.Colour, Field(basic.Colour, 0x4150) - ] - ShipTeleportPadMarkerOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x4160) - ] - SpaceEnemyShipLineColour: Annotated[basic.Colour, Field(basic.Colour, 0x4170)] - SpaceFriendlyShipLineColour: Annotated[basic.Colour, Field(basic.Colour, 0x4180)] - SpaceMapAttackColour: Annotated[basic.Colour, Field(basic.Colour, 0x4190)] - SpaceMapCockpitOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x41A0)] - SpaceMapDeathPointColour: Annotated[basic.Colour, Field(basic.Colour, 0x41B0)] - SpaceMapNeutralColour: Annotated[basic.Colour, Field(basic.Colour, 0x41C0)] - SpaceMapOtherPlayerColour: Annotated[basic.Colour, Field(basic.Colour, 0x41D0)] - SpaceMapPosScaler: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x41E0)] - SpaceMapSquadronColour: Annotated[basic.Colour, Field(basic.Colour, 0x41F0)] - SpaceMapThreatColour: Annotated[basic.Colour, Field(basic.Colour, 0x4200)] - SpookMeterColour: Annotated[basic.Colour, Field(basic.Colour, 0x4210)] - StoreDialFillColour: Annotated[basic.Colour, Field(basic.Colour, 0x4220)] - SuperchargeGradientBaseColour: Annotated[basic.Colour, Field(basic.Colour, 0x4230)] - SuperchargeGradientBlendColour: Annotated[basic.Colour, Field(basic.Colour, 0x4240)] - SuperchargeGradientTechColour: Annotated[basic.Colour, Field(basic.Colour, 0x4250)] - SuperchargePopupColour: Annotated[basic.Colour, Field(basic.Colour, 0x4260)] - TargetDisplayShipOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x4270)] - TargetDisplayTorpedoOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x4280)] - TargetMarkerColour: Annotated[basic.Colour, Field(basic.Colour, 0x4290)] - TargetMarkerHighlightColour: Annotated[basic.Colour, Field(basic.Colour, 0x42A0)] - TouchButtonChargeIndicatorColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x42B0) - ] - TransferSendPopupColour: Annotated[basic.Colour, Field(basic.Colour, 0x42C0)] - TravelLineColour: Annotated[basic.Colour, Field(basic.Colour, 0x42D0)] - TravelLineInvalidColour: Annotated[basic.Colour, Field(basic.Colour, 0x42E0)] - TravelLineNotAllowedColour: Annotated[basic.Colour, Field(basic.Colour, 0x42F0)] - TravelLineTooFarColour: Annotated[basic.Colour, Field(basic.Colour, 0x4300)] - TravelLineTooSteepColour: Annotated[basic.Colour, Field(basic.Colour, 0x4310)] - TravelTargetColour: Annotated[basic.Colour, Field(basic.Colour, 0x4320)] - UnseenItemColour: Annotated[basic.Colour, Field(basic.Colour, 0x4330)] - WantedColour: Annotated[basic.Colour, Field(basic.Colour, 0x4340)] - WristMenuDefaultBorderColour: Annotated[basic.Colour, Field(basic.Colour, 0x4350)] - WristMenuRepositionableBorderColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x4360) - ] + basic.Colour, 0x3C80 + ] + HUDPlayerTrackArrowTextColour: Annotated[basic.Colour, 0x3C90] + HUDRelicMarkerColourDiscovered: Annotated[basic.Colour, 0x3CA0] + HUDRelicMarkerColourUnknown: Annotated[basic.Colour, 0x3CB0] + HUDSpaceshipColour: Annotated[basic.Colour, 0x3CC0] + HUDWarningColour: Annotated[basic.Colour, 0x3CD0] + IconGlowColourActive: Annotated[basic.Colour, 0x3CE0] + IconGlowColourError: Annotated[basic.Colour, 0x3CF0] + IconGlowColourHighlight: Annotated[basic.Colour, 0x3D00] + IconGlowColourNeutral: Annotated[basic.Colour, 0x3D10] + InteractionLabelCostColour: Annotated[basic.Colour, 0x3D20] + InteractionLabelPickupColour: Annotated[basic.Colour, 0x3D30] + InteractionLabelPickupFillColour: Annotated[basic.Colour, 0x3D40] + InvSlotGradientBaseColour: Annotated[basic.Colour, 0x3D50] + InWorldInteractLabelCentreOffset: Annotated[basic.Vector3f, 0x3D60] + InWorldInteractLabelLineOffset: Annotated[basic.Vector3f, 0x3D70] + InWorldInteractLabelTopOffset: Annotated[basic.Vector3f, 0x3D80] + InWorldNGuiScreenRotation: Annotated[basic.Vector3f, 0x3D90] + InWorldStaffBinocsScreenOffset: Annotated[basic.Vector3f, 0x3DA0] + ItemSlotColourPartiallyInstalled: Annotated[basic.Colour, 0x3DB0] + ItemSlotColourProduct: Annotated[basic.Colour, 0x3DC0] + ItemSlotColourSubstance: Annotated[basic.Colour, 0x3DD0] + ItemSlotColourTech: Annotated[basic.Colour, 0x3DE0] + ItemSlotColourTechCharge: Annotated[basic.Colour, 0x3DF0] + ItemSlotColourTechDamage: Annotated[basic.Colour, 0x3E00] + ItemSlotTextColourProduct: Annotated[basic.Colour, 0x3E10] + ItemSlotTextColourSubstance: Annotated[basic.Colour, 0x3E20] + ItemSlotTextColourTech: Annotated[basic.Colour, 0x3E30] + JoaoBoxCompletedObjectiveColour: Annotated[basic.Colour, 0x3E40] + LockOnMarkerActiveColour: Annotated[basic.Colour, 0x3E50] + LowerHelmetScreenOffset: Annotated[basic.Vector3f, 0x3E60] + MarkerRingBGColour: Annotated[basic.Colour, 0x3E70] + MissionOSDMessageBarColour: Annotated[basic.Colour, 0x3E80] + MultiplayerMissionParticipantsColour: Annotated[basic.Colour, 0x3E90] + NetworkPopupTextDisabledColour: Annotated[basic.Colour, 0x3EA0] + NetworkPopupTextEnabledColour: Annotated[basic.Colour, 0x3EB0] + NGuiModelTranslationFactors: Annotated[basic.Vector3f, 0x3EC0] + NGuiModelTranslationFactorsInteraction: Annotated[basic.Vector3f, 0x3ED0] + NGuiThumbnailModelTranslationFactors: Annotated[basic.Vector3f, 0x3EE0] + NotificationDangerColour: Annotated[basic.Colour, 0x3EF0] + NotificationDefaultColour: Annotated[basic.Colour, 0x3F00] + NotificationInfoColour: Annotated[basic.Colour, 0x3F10] + NotificationUrgentColour: Annotated[basic.Colour, 0x3F20] + OutpostReturnMarkerOffset: Annotated[basic.Vector3f, 0x3F30] + PhotoModeSelectedColour: Annotated[basic.Colour, 0x3F40] + PhotoModeUnselectedColour: Annotated[basic.Colour, 0x3F50] + PickedItemBorderColour: Annotated[basic.Colour, 0x3F60] + PinnedRecipeBorder: Annotated[basic.Colour, 0x3F70] + ProcProductColourCommon: Annotated[basic.Colour, 0x3F80] + ProcProductColourRare: Annotated[basic.Colour, 0x3F90] + ProcProductColourUncommon: Annotated[basic.Colour, 0x3FA0] + PulseAlertColour: Annotated[basic.Colour, 0x3FB0] + PulseDamageColour: Annotated[basic.Colour, 0x3FC0] + QuickMenuSelectedItemColour1: Annotated[basic.Colour, 0x3FD0] + QuickMenuSelectedItemColour2: Annotated[basic.Colour, 0x3FE0] + RadialMenuInnerColourDisabled: Annotated[basic.Colour, 0x3FF0] + RadialMenuInnerColourSelected: Annotated[basic.Colour, 0x4000] + RadialMenuInnerColourUnselected: Annotated[basic.Colour, 0x4010] + RadialMenuOuterColourDisabled: Annotated[basic.Colour, 0x4020] + RadialMenuOuterColourSelected: Annotated[basic.Colour, 0x4030] + RadialMenuOuterColourUnselected: Annotated[basic.Colour, 0x4040] + RefinerBackgroundColour: Annotated[basic.Colour, 0x4050] + RefinerErrorBackgroundColour: Annotated[basic.Colour, 0x4060] + RemappedControlColour: Annotated[basic.Colour, 0x4070] + SelectedControlColour: Annotated[basic.Colour, 0x4080] + SettlementStatBackgroundColour: Annotated[basic.Colour, 0x4090] + SettlementStatColour: Annotated[basic.Colour, 0x40A0] + ShieldBgColour: Annotated[basic.Colour, 0x40B0] + ShieldColour: Annotated[basic.Colour, 0x40C0] + ShieldDamageBgColour: Annotated[basic.Colour, 0x40D0] + ShieldDamageColour: Annotated[basic.Colour, 0x40E0] + ShipBuilderLineColour: Annotated[basic.Colour, 0x40F0] + ShipBuilderLineColourHologram: Annotated[basic.Colour, 0x4100] + ShipHUDAimTargetColour: Annotated[basic.Colour, 0x4110] + ShipHUDAimTargetCritColour: Annotated[basic.Colour, 0x4120] + ShipHUDTargetArrowsColourLocal: Annotated[basic.Colour, 0x4130] + ShipHUDTargetArrowsColourOutOfRange: Annotated[basic.Colour, 0x4140] + ShipHUDTargetArrowsColourThreat: Annotated[basic.Colour, 0x4150] + ShipTeleportPadMarkerOffset: Annotated[basic.Vector3f, 0x4160] + SpaceEnemyShipLineColour: Annotated[basic.Colour, 0x4170] + SpaceFriendlyShipLineColour: Annotated[basic.Colour, 0x4180] + SpaceMapAttackColour: Annotated[basic.Colour, 0x4190] + SpaceMapCockpitOffset: Annotated[basic.Vector3f, 0x41A0] + SpaceMapDeathPointColour: Annotated[basic.Colour, 0x41B0] + SpaceMapNeutralColour: Annotated[basic.Colour, 0x41C0] + SpaceMapOtherPlayerColour: Annotated[basic.Colour, 0x41D0] + SpaceMapPosScaler: Annotated[basic.Vector3f, 0x41E0] + SpaceMapSquadronColour: Annotated[basic.Colour, 0x41F0] + SpaceMapThreatColour: Annotated[basic.Colour, 0x4200] + SpookMeterColour: Annotated[basic.Colour, 0x4210] + StoreDialFillColour: Annotated[basic.Colour, 0x4220] + SuperchargeGradientBaseColour: Annotated[basic.Colour, 0x4230] + SuperchargeGradientBlendColour: Annotated[basic.Colour, 0x4240] + SuperchargeGradientTechColour: Annotated[basic.Colour, 0x4250] + SuperchargePopupColour: Annotated[basic.Colour, 0x4260] + TargetDisplayShipOffset: Annotated[basic.Vector3f, 0x4270] + TargetDisplayTorpedoOffset: Annotated[basic.Vector3f, 0x4280] + TargetMarkerColour: Annotated[basic.Colour, 0x4290] + TargetMarkerHighlightColour: Annotated[basic.Colour, 0x42A0] + TouchButtonChargeIndicatorColour: Annotated[basic.Colour, 0x42B0] + TransferSendPopupColour: Annotated[basic.Colour, 0x42C0] + TravelLineColour: Annotated[basic.Colour, 0x42D0] + TravelLineInvalidColour: Annotated[basic.Colour, 0x42E0] + TravelLineNotAllowedColour: Annotated[basic.Colour, 0x42F0] + TravelLineTooFarColour: Annotated[basic.Colour, 0x4300] + TravelLineTooSteepColour: Annotated[basic.Colour, 0x4310] + TravelTargetColour: Annotated[basic.Colour, 0x4320] + UnseenItemColour: Annotated[basic.Colour, 0x4330] + WantedColour: Annotated[basic.Colour, 0x4340] + WristMenuDefaultBorderColour: Annotated[basic.Colour, 0x4350] + WristMenuRepositionableBorderColour: Annotated[basic.Colour, 0x4360] WonderCreatureCategoryConfig: Annotated[ - cGcWonderCategoryConfig, Field(cGcWonderCategoryConfig, 0x4370) + tuple[cGcWonderCategoryConfig, ...], Field(cGcWonderCategoryConfig * 15, 0x4370) ] WonderTreasureCategoryConfig: Annotated[ - cGcWonderCategoryConfig, Field(cGcWonderCategoryConfig, 0x46B8) + tuple[cGcWonderCategoryConfig, ...], Field(cGcWonderCategoryConfig * 13, 0x46B8) ] BuildMenuOnActionDisabledLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4990) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 21, 0x4990), ] BuildMenuOnActionErrorLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4C30) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 21, 0x4C30), ] BuildMenuOnActionLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4ED0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 21, 0x4ED0), ] WonderCustomCategoryConfig: Annotated[ - cGcWonderCategoryConfig, Field(cGcWonderCategoryConfig, 0x5170) + tuple[cGcWonderCategoryConfig, ...], Field(cGcWonderCategoryConfig * 12, 0x5170) ] WonderPlanetCategoryConfig: Annotated[ - cGcWonderCategoryConfig, Field(cGcWonderCategoryConfig, 0x5410) + tuple[cGcWonderCategoryConfig, ...], Field(cGcWonderCategoryConfig * 11, 0x5410) ] WonderWeirdBasePartCategoryConfig: Annotated[ - cGcWonderCategoryConfig, Field(cGcWonderCategoryConfig, 0x5678) + tuple[cGcWonderCategoryConfig, ...], Field(cGcWonderCategoryConfig * 11, 0x5678) ] WonderFloraCategoryConfig: Annotated[ - cGcWonderCategoryConfig, Field(cGcWonderCategoryConfig, 0x58E0) + tuple[cGcWonderCategoryConfig, ...], Field(cGcWonderCategoryConfig * 8, 0x58E0) ] WonderMineralCategoryConfig: Annotated[ - cGcWonderCategoryConfig, Field(cGcWonderCategoryConfig, 0x5AA0) - ] - IntroTiming: Annotated[cGcHUDStartupTable, Field(cGcHUDStartupTable, 0x5C60)] - IntroTimingFreighter: Annotated[ - cGcHUDStartupTable, Field(cGcHUDStartupTable, 0x5DB0) - ] - IntroTimingFreighterRepaired: Annotated[ - cGcHUDStartupTable, Field(cGcHUDStartupTable, 0x5F00) + tuple[cGcWonderCategoryConfig, ...], Field(cGcWonderCategoryConfig * 8, 0x5AA0) ] + IntroTiming: Annotated[cGcHUDStartupTable, 0x5C60] + IntroTimingFreighter: Annotated[cGcHUDStartupTable, 0x5DB0] + IntroTimingFreighterRepaired: Annotated[cGcHUDStartupTable, 0x5F00] SettlementStatFormatLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x6050) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0x6050), ] SettlementStatLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x6150) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0x6150), ] SettlementStatBasicImages: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x6250) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 8, 0x6250) ] SettlementStatNegativeImages: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x6310) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 8, 0x6310) ] SettlementStatPositiveImages: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x63D0) - ] - WonderTypeIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x6490)] - BaseBuildingPartsGridExpandableIcon: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x6538) - ] - BaseBuildingPartsGridExpandedIcon: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x6550) - ] - BaseBuildingPartsGridRetractableIcon: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x6568) - ] - RefinerPopupEmptyOutputIcon: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x6580) - ] - CamoNormalTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6598) - ] - CamoTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x65A8) - ] - DebugInventoryHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x65B8)] - ExplorationLogMissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x65C8)] - HazardDistortionParams: Annotated[ - basic.cTkDynamicArray[basic.Vector4f], - Field(basic.cTkDynamicArray[basic.Vector4f], 0x65D8), - ] - HazardHeightmaps: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x65E8), - ] + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 8, 0x63D0) + ] + WonderTypeIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 7, 0x6490) + ] + BaseBuildingPartsGridExpandableIcon: Annotated[cTkTextureResource, 0x6538] + BaseBuildingPartsGridExpandedIcon: Annotated[cTkTextureResource, 0x6550] + BaseBuildingPartsGridRetractableIcon: Annotated[cTkTextureResource, 0x6568] + RefinerPopupEmptyOutputIcon: Annotated[cTkTextureResource, 0x6580] + CamoNormalTexture: Annotated[basic.VariableSizeString, 0x6598] + CamoTexture: Annotated[basic.VariableSizeString, 0x65A8] + DebugInventoryHint: Annotated[basic.TkID0x10, 0x65B8] + ExplorationLogMissionID: Annotated[basic.TkID0x10, 0x65C8] + HazardDistortionParams: Annotated[basic.cTkDynamicArray[basic.Vector4f], 0x65D8] + HazardHeightmaps: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x65E8] HazardHeightmapsVR: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x65F8), - ] - HazardNormalMaps: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x6608), + basic.cTkDynamicArray[basic.VariableSizeString], 0x65F8 ] + HazardNormalMaps: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x6608] HazardNormalMapsVR: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x6618), - ] - HazardTextures: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x6628), - ] - HazardTexturesVR: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x6638), - ] - InventoryIconPositions: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x6648), - ] - MultiplayerMissionInteractEndTrigger: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x6658) - ] - MultiplayerMissionInteractStartTrigger: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x6668) - ] - SeasonalRingTable: Annotated[ - basic.cTkDynamicArray[cGcSeasonalRingArray], - Field(basic.cTkDynamicArray[cGcSeasonalRingArray], 0x6678), - ] - ShipHUDTargetArrowsColour: Annotated[ - basic.cTkDynamicArray[basic.Colour], - Field(basic.cTkDynamicArray[basic.Colour], 0x6688), - ] - ShowStatWithDeathQuote: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x6698)] - StatIcons: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x66A8), - ] + basic.cTkDynamicArray[basic.VariableSizeString], 0x6618 + ] + HazardTextures: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x6628] + HazardTexturesVR: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x6638] + InventoryIconPositions: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x6648] + MultiplayerMissionInteractEndTrigger: Annotated[basic.TkID0x10, 0x6658] + MultiplayerMissionInteractStartTrigger: Annotated[basic.TkID0x10, 0x6668] + SeasonalRingTable: Annotated[basic.cTkDynamicArray[cGcSeasonalRingArray], 0x6678] + ShipHUDTargetArrowsColour: Annotated[basic.cTkDynamicArray[basic.Colour], 0x6688] + ShowStatWithDeathQuote: Annotated[basic.TkID0x10, 0x6698] + StatIcons: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x66A8] VehicleTypeRepairCamera: Annotated[ - basic.cTkDynamicArray[cTkModelRendererData], - Field(basic.cTkDynamicArray[cTkModelRendererData], 0x66B8), - ] - CrosshairTargetLockSizeSpecific: Annotated[float, Field(ctypes.c_float, 0x66C8)] - WorldUISettings: Annotated[cGcWorldUISettings, Field(cGcWorldUISettings, 0x6718)] - WonderValueModifiersCreature: Annotated[float, Field(ctypes.c_float, 0x6768)] - WonderValueModifiersPlanet: Annotated[float, Field(ctypes.c_float, 0x67A4)] - WonderValueModifiersFlora: Annotated[float, Field(ctypes.c_float, 0x67D0)] - WonderValueModifiersMineral: Annotated[float, Field(ctypes.c_float, 0x67F0)] - BuildProductSlotAction: Annotated[ - cGcInventorySlotActionData, Field(cGcInventorySlotActionData, 0x6810) - ] - ChargeSlotAction: Annotated[ - cGcInventorySlotActionData, Field(cGcInventorySlotActionData, 0x682C) - ] - InstallTechSlotAction: Annotated[ - cGcInventorySlotActionData, Field(cGcInventorySlotActionData, 0x6848) - ] - InventoryHintAction: Annotated[ - cGcInventorySlotActionData, Field(cGcInventorySlotActionData, 0x6864) - ] - InventoryHintActionNoGlow: Annotated[ - cGcInventorySlotActionData, Field(cGcInventorySlotActionData, 0x6880) - ] - NewSlotPulseAction: Annotated[ - cGcInventorySlotActionData, Field(cGcInventorySlotActionData, 0x689C) - ] - NewSlotRevealAction: Annotated[ - cGcInventorySlotActionData, Field(cGcInventorySlotActionData, 0x68B8) - ] - RepairSlotAction: Annotated[ - cGcInventorySlotActionData, Field(cGcInventorySlotActionData, 0x68D4) - ] - InteractionDOFDisabled: Annotated[ - cGcInteractionDof, Field(cGcInteractionDof, 0x68F0) - ] - PulseBarData: Annotated[ - cTkNGuiRectanglePulseEffect, Field(cTkNGuiRectanglePulseEffect, 0x6904) - ] - PulseIconData: Annotated[ - cTkNGuiRectanglePulseEffect, Field(cTkNGuiRectanglePulseEffect, 0x6914) - ] - CrosshairLeadHitCurve: Annotated[cTkHitCurveData, Field(cTkHitCurveData, 0x6924)] - DiscoveryHelperTimings: Annotated[ - cGcDiscoveryHelperTimings, Field(cGcDiscoveryHelperTimings, 0x6930) - ] - ShootableHitCurve: Annotated[cTkHitCurveData, Field(cTkHitCurveData, 0x693C)] - BinocularEdgeFade: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6948)] - BinocularsDiscoveryPos: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6950)] - CompassCentre: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6958)] - ControlsPageParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6960)] - CursorlessDialogPageCursorOffset: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6968) - ] - DamageNumberSideSpeed: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6970)] - DialogPageCursorOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6978)] - HUDMarkerCompassPrimaryIndicatorOffset: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6980) - ] - HUDMarkerPrimaryIndicatorOffset: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6988) - ] - HUDPlayerSentinelPulseFreq: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6990)] - HUDPlayerSentinelPulseSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6998)] - HUDPlayerTrackArrowDamageGlowSize: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x69A0) - ] - HUDPlayerTrackArrowEnergyShieldGlowSize: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x69A8) - ] - HUDPlayerTrackArrowEnergyShieldSize: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x69B0) - ] - HUDPlayerTrackArrowHealthSize: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x69B8) - ] - HUDPlayerTrackArrowIconPulseSize: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x69C0) - ] - HUDPlayerTrackIconOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x69C8)] - HUDTargetHealthIconOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x69D0)] - HUDTargetHealthOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x69D8)] - HUDTargetHealthSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x69E0)] - InteractionLabelOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x69E8)] - InteractionLabelOffset_1: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x69F0)] - InteractionLabelScreenMax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x69F8)] - InteractionLabelScreenMin: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A00)] - InteractionLabelSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A08)] - InteractionLabelTouchAreaMax: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6A10) - ] - InteractionLabelTouchAreaMin: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6A18) - ] - InteractionWorldParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A20)] - IntermediateInteractionPageCursorOffset: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6A28) - ] - InWorldGameGuiAlignment: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A30)] - InWorldInteractLabelAlignment: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6A38) - ] - InWorldNGuiParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A40)] - MainMenuSaveIconPosition: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A48)] - MarkerDistanceVRAlignment: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A50)] - ModelViewWorldParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A58)] - NGuiMax2DParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A60)] - NGuiMin2DParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A68)] - NGuiModelParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A70)] - NGuiShipInteractParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A78)] - NGuiTouchPadSensitivity: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6A80)] - NotificationMissionHintPauseTime: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6A88) - ] - NotificationMissionHintPauseTimeCritical: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6A90) - ] - NotificationMissionHintPauseTimeSecondary: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6A98) - ] - PersonalRefinerInputPos: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AA0)] - PersonalRefinerOutputPos: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AA8)] - PickingCursorOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AB0)] - PlanetLabelOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AB8)] - PlanetLineOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AC0)] - PlanetMeasureOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AC8)] - PlanetMeasureOffsetBigText: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AD0)] - PlanetMeasureOffsetMoonExtra: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x6AD8) - ] - RefinerParallax: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AE0)] - SaveIconPosition: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AE8)] - ScanLabelOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AF0)] - TargetScreenCamOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6AF8)] - TrackCriticalHitOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6B00)] - TrackTypeIconOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x6B08)] + basic.cTkDynamicArray[cTkModelRendererData], 0x66B8 + ] + CrosshairTargetLockSizeSpecific: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 20, 0x66C8) + ] + WorldUISettings: Annotated[cGcWorldUISettings, 0x6718] + WonderValueModifiersCreature: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 15, 0x6768) + ] + WonderValueModifiersPlanet: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 11, 0x67A4) + ] + WonderValueModifiersFlora: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 8, 0x67D0) + ] + WonderValueModifiersMineral: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 8, 0x67F0) + ] + BuildProductSlotAction: Annotated[cGcInventorySlotActionData, 0x6810] + ChargeSlotAction: Annotated[cGcInventorySlotActionData, 0x682C] + InstallTechSlotAction: Annotated[cGcInventorySlotActionData, 0x6848] + InventoryHintAction: Annotated[cGcInventorySlotActionData, 0x6864] + InventoryHintActionNoGlow: Annotated[cGcInventorySlotActionData, 0x6880] + NewSlotPulseAction: Annotated[cGcInventorySlotActionData, 0x689C] + NewSlotRevealAction: Annotated[cGcInventorySlotActionData, 0x68B8] + RepairSlotAction: Annotated[cGcInventorySlotActionData, 0x68D4] + InteractionDOFDisabled: Annotated[cGcInteractionDof, 0x68F0] + PulseBarData: Annotated[cTkNGuiRectanglePulseEffect, 0x6904] + PulseIconData: Annotated[cTkNGuiRectanglePulseEffect, 0x6914] + CrosshairLeadHitCurve: Annotated[cTkHitCurveData, 0x6924] + DiscoveryHelperTimings: Annotated[cGcDiscoveryHelperTimings, 0x6930] + ShootableHitCurve: Annotated[cTkHitCurveData, 0x693C] + BinocularEdgeFade: Annotated[basic.Vector2f, 0x6948] + BinocularsDiscoveryPos: Annotated[basic.Vector2f, 0x6950] + CompassCentre: Annotated[basic.Vector2f, 0x6958] + ControlsPageParallax: Annotated[basic.Vector2f, 0x6960] + CursorlessDialogPageCursorOffset: Annotated[basic.Vector2f, 0x6968] + DamageNumberSideSpeed: Annotated[basic.Vector2f, 0x6970] + DialogPageCursorOffset: Annotated[basic.Vector2f, 0x6978] + HUDMarkerCompassPrimaryIndicatorOffset: Annotated[basic.Vector2f, 0x6980] + HUDMarkerPrimaryIndicatorOffset: Annotated[basic.Vector2f, 0x6988] + HUDPlayerSentinelPulseFreq: Annotated[basic.Vector2f, 0x6990] + HUDPlayerSentinelPulseSize: Annotated[basic.Vector2f, 0x6998] + HUDPlayerTrackArrowDamageGlowSize: Annotated[basic.Vector2f, 0x69A0] + HUDPlayerTrackArrowEnergyShieldGlowSize: Annotated[basic.Vector2f, 0x69A8] + HUDPlayerTrackArrowEnergyShieldSize: Annotated[basic.Vector2f, 0x69B0] + HUDPlayerTrackArrowHealthSize: Annotated[basic.Vector2f, 0x69B8] + HUDPlayerTrackArrowIconPulseSize: Annotated[basic.Vector2f, 0x69C0] + HUDPlayerTrackIconOffset: Annotated[basic.Vector2f, 0x69C8] + HUDTargetHealthIconOffset: Annotated[basic.Vector2f, 0x69D0] + HUDTargetHealthOffset: Annotated[basic.Vector2f, 0x69D8] + HUDTargetHealthSize: Annotated[basic.Vector2f, 0x69E0] + InteractionLabelOffset: Annotated[basic.Vector2f, 0x69E8] + InteractionLabelOffset_1: Annotated[basic.Vector2f, 0x69F0] + InteractionLabelScreenMax: Annotated[basic.Vector2f, 0x69F8] + InteractionLabelScreenMin: Annotated[basic.Vector2f, 0x6A00] + InteractionLabelSize: Annotated[basic.Vector2f, 0x6A08] + InteractionLabelTouchAreaMax: Annotated[basic.Vector2f, 0x6A10] + InteractionLabelTouchAreaMin: Annotated[basic.Vector2f, 0x6A18] + InteractionWorldParallax: Annotated[basic.Vector2f, 0x6A20] + IntermediateInteractionPageCursorOffset: Annotated[basic.Vector2f, 0x6A28] + InWorldGameGuiAlignment: Annotated[basic.Vector2f, 0x6A30] + InWorldInteractLabelAlignment: Annotated[basic.Vector2f, 0x6A38] + InWorldNGuiParallax: Annotated[basic.Vector2f, 0x6A40] + MainMenuSaveIconPosition: Annotated[basic.Vector2f, 0x6A48] + MarkerDistanceVRAlignment: Annotated[basic.Vector2f, 0x6A50] + ModelViewWorldParallax: Annotated[basic.Vector2f, 0x6A58] + NGuiMax2DParallax: Annotated[basic.Vector2f, 0x6A60] + NGuiMin2DParallax: Annotated[basic.Vector2f, 0x6A68] + NGuiModelParallax: Annotated[basic.Vector2f, 0x6A70] + NGuiShipInteractParallax: Annotated[basic.Vector2f, 0x6A78] + NGuiTouchPadSensitivity: Annotated[basic.Vector2f, 0x6A80] + NotificationMissionHintPauseTime: Annotated[basic.Vector2f, 0x6A88] + NotificationMissionHintPauseTimeCritical: Annotated[basic.Vector2f, 0x6A90] + NotificationMissionHintPauseTimeSecondary: Annotated[basic.Vector2f, 0x6A98] + PersonalRefinerInputPos: Annotated[basic.Vector2f, 0x6AA0] + PersonalRefinerOutputPos: Annotated[basic.Vector2f, 0x6AA8] + PickingCursorOffset: Annotated[basic.Vector2f, 0x6AB0] + PlanetLabelOffset: Annotated[basic.Vector2f, 0x6AB8] + PlanetLineOffset: Annotated[basic.Vector2f, 0x6AC0] + PlanetMeasureOffset: Annotated[basic.Vector2f, 0x6AC8] + PlanetMeasureOffsetBigText: Annotated[basic.Vector2f, 0x6AD0] + PlanetMeasureOffsetMoonExtra: Annotated[basic.Vector2f, 0x6AD8] + RefinerParallax: Annotated[basic.Vector2f, 0x6AE0] + SaveIconPosition: Annotated[basic.Vector2f, 0x6AE8] + ScanLabelOffset: Annotated[basic.Vector2f, 0x6AF0] + TargetScreenCamOffset: Annotated[basic.Vector2f, 0x6AF8] + TrackCriticalHitOffset: Annotated[basic.Vector2f, 0x6B00] + TrackTypeIconOffset: Annotated[basic.Vector2f, 0x6B08] AbandonedFreighterAirlockRoomNumber: Annotated[int, Field(ctypes.c_int32, 0x6B10)] AccessibleUIHUDPopupScale: Annotated[float, Field(ctypes.c_float, 0x6B14)] AccessibleUIPopupScale: Annotated[float, Field(ctypes.c_float, 0x6B18)] @@ -30774,10 +24861,7 @@ class cGcUIGlobals(Structure): ScanEventArrowSecondaryAlpha: Annotated[float, Field(ctypes.c_float, 0x7718)] ScanEventArrowShipFadeDistance: Annotated[float, Field(ctypes.c_float, 0x771C)] ScanEventArrowShipFadeRange: Annotated[float, Field(ctypes.c_float, 0x7720)] - ScanEventIconAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x7724), - ] + ScanEventIconAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x7724] ScannableIconMergeAngle: Annotated[float, Field(ctypes.c_float, 0x7728)] ScanTime: Annotated[float, Field(ctypes.c_float, 0x772C)] SeasonalRingChangeTime: Annotated[float, Field(ctypes.c_float, 0x7730)] @@ -30787,10 +24871,7 @@ class cGcUIGlobals(Structure): SeasonEndAutoHighlightDurationMilestone: Annotated[ float, Field(ctypes.c_float, 0x7740) ] - SeasonEndAutoHighlightSFX: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x7744), - ] + SeasonEndAutoHighlightSFX: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x7744] SeasonEndRewardsMaxScrollRate: Annotated[float, Field(ctypes.c_float, 0x7748)] SeasonEndRewardsPageOpenDelayTime: Annotated[float, Field(ctypes.c_float, 0x774C)] SeasonFinalStageIndex: Annotated[int, Field(ctypes.c_int32, 0x7750)] @@ -31012,89 +25093,43 @@ class cGcUIGlobals(Structure): ZoomHUDElementsOffsetX: Annotated[float, Field(ctypes.c_float, 0x7A88)] ZoomHUDElementsOffsetY: Annotated[float, Field(ctypes.c_float, 0x7A8C)] ZoomHUDElementTime: Annotated[float, Field(ctypes.c_float, 0x7A90)] - HUDCircleAnimIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x7A94) - ] - HUDDeathPointIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x7B94) - ] - HUDHexAnimIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x7C94) - ] - HUDMarkerColourIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x7D94) - ] - HUDMarkerIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x7E94) - ] - HUDMarkerPrimaryIndicatorIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x7F94) - ] - HUDPointIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x8094) - ] - HUDSaveIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x8194) - ] - HUDSpaceshipIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x8294) - ] - DistanceUnitKM: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x8394) - ] - DistanceUnitM: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x83B4) - ] - DistanceUnitMpS: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x83D4) - ] - MaxDialogCharSizeIdeographicString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x83F4) + HUDCircleAnimIcon: Annotated[basic.cTkFixedString0x100, 0x7A94] + HUDDeathPointIcon: Annotated[basic.cTkFixedString0x100, 0x7B94] + HUDHexAnimIcon: Annotated[basic.cTkFixedString0x100, 0x7C94] + HUDMarkerColourIcon: Annotated[basic.cTkFixedString0x100, 0x7D94] + HUDMarkerIcon: Annotated[basic.cTkFixedString0x100, 0x7E94] + HUDMarkerPrimaryIndicatorIcon: Annotated[basic.cTkFixedString0x100, 0x7F94] + HUDPointIcon: Annotated[basic.cTkFixedString0x100, 0x8094] + HUDSaveIcon: Annotated[basic.cTkFixedString0x100, 0x8194] + HUDSpaceshipIcon: Annotated[basic.cTkFixedString0x100, 0x8294] + DistanceUnitKM: Annotated[basic.cTkFixedString0x20, 0x8394] + DistanceUnitM: Annotated[basic.cTkFixedString0x20, 0x83B4] + DistanceUnitMpS: Annotated[basic.cTkFixedString0x20, 0x83D4] + MaxDialogCharSizeIdeographicString: Annotated[basic.cTkFixedString0x20, 0x83F4] + MaxDialogCharSizeRomanString: Annotated[basic.cTkFixedString0x20, 0x8414] + VRDistanceWarningUIFile: Annotated[basic.cTkFixedString0x20, 0x8434] + BuildMenuUseSmallIconOnPad: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 21, 0x8454) ] - MaxDialogCharSizeRomanString: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x8414) - ] - VRDistanceWarningUIFile: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x8434) - ] - BuildMenuUseSmallIconOnPad: Annotated[bool, Field(ctypes.c_bool, 0x8454)] AllowInventorySorting: Annotated[bool, Field(ctypes.c_bool, 0x8469)] AllowInWorldDebugBorders: Annotated[bool, Field(ctypes.c_bool, 0x846A)] AllowProjectorRepositioning: Annotated[bool, Field(ctypes.c_bool, 0x846B)] AlwaysCloseQuickMenu: Annotated[bool, Field(ctypes.c_bool, 0x846C)] - ArrowBounceLeftCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x846D) - ] - ArrowBounceRightCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x846E) - ] + ArrowBounceLeftCurve: Annotated[c_enum32[enums.cTkCurveType], 0x846D] + ArrowBounceRightCurve: Annotated[c_enum32[enums.cTkCurveType], 0x846E] AutoScrollParagraphs: Annotated[bool, Field(ctypes.c_bool, 0x846F)] BaseBuildingSmoothMenuWhileSnapped: Annotated[bool, Field(ctypes.c_bool, 0x8470)] BigPicking: Annotated[bool, Field(ctypes.c_bool, 0x8471)] BigPickingUsesNumbers: Annotated[bool, Field(ctypes.c_bool, 0x8472)] BinocularScanScreen: Annotated[bool, Field(ctypes.c_bool, 0x8473)] - CompassCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8474) - ] + CompassCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8474] CreatureInteractLabelUseBB: Annotated[bool, Field(ctypes.c_bool, 0x8475)] - CreatureReticuleAlphaCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8476) - ] - CreatureReticuleScaleCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8477) - ] - CrosshairLeadScaleCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8478) - ] - CrosshairTargetLockAlphaCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8479) - ] - CrosshairTargetLockCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x847A) - ] - DamageNumberUpCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x847B) - ] + CreatureReticuleAlphaCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8476] + CreatureReticuleScaleCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8477] + CrosshairLeadScaleCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8478] + CrosshairTargetLockAlphaCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8479] + CrosshairTargetLockCurve: Annotated[c_enum32[enums.cTkCurveType], 0x847A] + DamageNumberUpCurve: Annotated[c_enum32[enums.cTkCurveType], 0x847B] DebugInventoryIndices: Annotated[bool, Field(ctypes.c_bool, 0x847C)] DebugMarkerLabels: Annotated[bool, Field(ctypes.c_bool, 0x847D)] DebugMissionLogText: Annotated[bool, Field(ctypes.c_bool, 0x847E)] @@ -31109,62 +25144,36 @@ class cGcUIGlobals(Structure): EnableKanaConversion: Annotated[bool, Field(ctypes.c_bool, 0x8487)] EnablePopupUses: Annotated[bool, Field(ctypes.c_bool, 0x8488)] FixedInventoryIconPositions: Annotated[bool, Field(ctypes.c_bool, 0x8489)] - FrontendBootBarCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x848A) - ] - FrontendConfirmCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x848B) - ] - FrontendDoFCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x848C) - ] + FrontendBootBarCurve: Annotated[c_enum32[enums.cTkCurveType], 0x848A] + FrontendConfirmCurve: Annotated[c_enum32[enums.cTkCurveType], 0x848B] + FrontendDoFCurve: Annotated[c_enum32[enums.cTkCurveType], 0x848C] HideExtremePlanetNotifications: Annotated[bool, Field(ctypes.c_bool, 0x848D)] HideQuickMenuControls: Annotated[bool, Field(ctypes.c_bool, 0x848E)] - HUDMarkerActiveCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x848F) - ] - HUDMarkerAnimAlphaCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8490) - ] - HUDMarkerAnimCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8491) - ] + HUDMarkerActiveCurve: Annotated[c_enum32[enums.cTkCurveType], 0x848F] + HUDMarkerAnimAlphaCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8490] + HUDMarkerAnimCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8491] HUDPlayerTrackArrowEnergyShieldDepletedCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8492) + c_enum32[enums.cTkCurveType], 0x8492 ] HUDPlayerTrackArrowEnergyShieldStartChargeCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8493) + c_enum32[enums.cTkCurveType], 0x8493 ] InteractionInWorldPlayerCamAlways: Annotated[bool, Field(ctypes.c_bool, 0x8494)] - InteractionScanSlapCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x8495) - ] + InteractionScanSlapCurve: Annotated[c_enum32[enums.cTkCurveType], 0x8495] LeadTargetEnabled: Annotated[bool, Field(ctypes.c_bool, 0x8496)] ModelRendererBGPass: Annotated[bool, Field(ctypes.c_bool, 0x8497)] ModelRendererPass1: Annotated[bool, Field(ctypes.c_bool, 0x8498)] ModelRendererPass2: Annotated[bool, Field(ctypes.c_bool, 0x8499)] - NGuiModelViewFadeInAfterRenderCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x849A) - ] + NGuiModelViewFadeInAfterRenderCurve: Annotated[c_enum32[enums.cTkCurveType], 0x849A] NGuiUseSeparateLayersForModelAndReflection: Annotated[ bool, Field(ctypes.c_bool, 0x849B) ] OnlyShowEjectHandlesInVR: Annotated[bool, Field(ctypes.c_bool, 0x849C)] - PadCursorUICurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x849D) - ] - PageTurnCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x849E) - ] - PageTurnFadeCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x849F) - ] - PopupActivateCurve1: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x84A0) - ] - PopupActivateCurve2: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x84A1) - ] + PadCursorUICurve: Annotated[c_enum32[enums.cTkCurveType], 0x849D] + PageTurnCurve: Annotated[c_enum32[enums.cTkCurveType], 0x849E] + PageTurnFadeCurve: Annotated[c_enum32[enums.cTkCurveType], 0x849F] + PopupActivateCurve1: Annotated[c_enum32[enums.cTkCurveType], 0x84A0] + PopupActivateCurve2: Annotated[c_enum32[enums.cTkCurveType], 0x84A1] ProgressiveDialogStyle: Annotated[bool, Field(ctypes.c_bool, 0x84A2)] QuickMenuAllowCycle: Annotated[bool, Field(ctypes.c_bool, 0x84A3)] QuickMenuEnableSwipe: Annotated[bool, Field(ctypes.c_bool, 0x84A4)] @@ -31178,9 +25187,7 @@ class cGcUIGlobals(Structure): ShowPadlockForLockedSettings: Annotated[bool, Field(ctypes.c_bool, 0x84AC)] ShowVRDistanceWarning: Annotated[bool, Field(ctypes.c_bool, 0x84AD)] SkipShopIntro: Annotated[bool, Field(ctypes.c_bool, 0x84AE)] - SpaceMapDistanceCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x84AF) - ] + SpaceMapDistanceCurve: Annotated[c_enum32[enums.cTkCurveType], 0x84AF] SpaceMapShowAnomaly: Annotated[bool, Field(ctypes.c_bool, 0x84B0)] SpaceMapShowAnomalyLines: Annotated[bool, Field(ctypes.c_bool, 0x84B1)] SpaceMapShowFrieghterLines: Annotated[bool, Field(ctypes.c_bool, 0x84B2)] @@ -31197,15 +25204,9 @@ class cGcUIGlobals(Structure): SpaceMapShowStationLines: Annotated[bool, Field(ctypes.c_bool, 0x84BD)] SpaceOnlyLeadTargetEnabled: Annotated[bool, Field(ctypes.c_bool, 0x84BE)] TechBoxesCanStack: Annotated[bool, Field(ctypes.c_bool, 0x84BF)] - TrackCritCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x84C0) - ] - TrackReticuleInAngleCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x84C1) - ] - TrackReticuleInCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x84C2) - ] + TrackCritCurve: Annotated[c_enum32[enums.cTkCurveType], 0x84C0] + TrackReticuleInAngleCurve: Annotated[c_enum32[enums.cTkCurveType], 0x84C1] + TrackReticuleInCurve: Annotated[c_enum32[enums.cTkCurveType], 0x84C2] UseCursorHoverSlowFixedValue: Annotated[bool, Field(ctypes.c_bool, 0x84C3)] UseIntermediateMissionGiverOptions: Annotated[bool, Field(ctypes.c_bool, 0x84C4)] UseNamesOnShipHUD: Annotated[bool, Field(ctypes.c_bool, 0x84C5)] @@ -31215,122 +25216,74 @@ class cGcUIGlobals(Structure): @partial_struct class cGcSpaceshipGlobals(Structure): - ShieldEffectScanData: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x0)] - AlarmLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x50)] - AlarmLightColourHostile: Annotated[basic.Colour, Field(basic.Colour, 0x60)] - AtmosphereLightOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70)] - CockpitScale: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x80)] - DamageLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x90)] - DamageLightColourShield: Annotated[basic.Colour, Field(basic.Colour, 0xA0)] - DamageLightOffsetLeft: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xB0)] - DamageLightOffsetRight: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xC0)] - DamageLightOffsetTop: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xD0)] - DefaultCentreOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xE0)] - DefaultCentreOffsetDropship: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xF0)] - DefaultCentreOffsetRoyal: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x100)] - DefaultCentreOffsetSail: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x110)] - DefaultCentreOffsetScientific: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x120) - ] - DirectionDockingInRangeColour: Annotated[basic.Colour, Field(basic.Colour, 0x130)] - DirectionDockingOutRangeColour: Annotated[basic.Colour, Field(basic.Colour, 0x140)] - GroundEffectBuildingColour: Annotated[basic.Colour, Field(basic.Colour, 0x150)] - GroundEffectWaterColour: Annotated[basic.Colour, Field(basic.Colour, 0x160)] - GunOffset3rdPersonLeft: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x170)] - GunOffset3rdPersonRight: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x180)] - GunOffsetLeft: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x190)] - GunOffsetLeft2: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1A0)] - GunOffsetRight: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1B0)] - GunOffsetRight2: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1C0)] - HandControllerDeadZone: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1D0)] - HandControllerExtents: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1E0)] - HandControllerValueMultiplier: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x1F0) - ] - HandControllerValueMultiplierSpace: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x200) - ] - LandingEffectSpaceColourOverride: Annotated[ - basic.Colour, Field(basic.Colour, 0x210) - ] - MuzzleLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x220)] - PostCollisionAngularFactor: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x230)] - StickAnimationDamping: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x240)] - TargetLockDangerColour: Annotated[basic.Colour, Field(basic.Colour, 0x250)] - TargetLockPassiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x260)] - AlarmLightOffsets: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x270), - ] - GunAimArray: Annotated[ - basic.cTkDynamicArray[cGcPlayerSpaceshipAim], - Field(basic.cTkDynamicArray[cGcPlayerSpaceshipAim], 0x280), - ] - LaserAimArray: Annotated[ - basic.cTkDynamicArray[cGcPlayerSpaceshipAim], - Field(basic.cTkDynamicArray[cGcPlayerSpaceshipAim], 0x290), - ] - SailShipCoreTechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2A0)] - ShipModels: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x2B0), - ] - WaterEffectID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2C0)] - WaterJetHoverEffectID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2D0)] - WaterJetLandingEffectID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2E0)] - WaterJetTakeoffEffectID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2F0)] - Control: Annotated[ - cGcPlayerSpaceshipControlData, Field(cGcPlayerSpaceshipControlData, 0x300) - ] - ControlCorvette: Annotated[ - cGcPlayerSpaceshipControlData, Field(cGcPlayerSpaceshipControlData, 0x518) - ] - ControlHeavy: Annotated[ - cGcPlayerSpaceshipControlData, Field(cGcPlayerSpaceshipControlData, 0x730) - ] - ControlHeavyHover: Annotated[ - cGcPlayerSpaceshipControlData, Field(cGcPlayerSpaceshipControlData, 0x948) - ] - ControlHover: Annotated[ - cGcPlayerSpaceshipControlData, Field(cGcPlayerSpaceshipControlData, 0xB60) - ] - ControlLight: Annotated[ - cGcPlayerSpaceshipControlData, Field(cGcPlayerSpaceshipControlData, 0xD78) - ] - ControlBonusA: Annotated[ - cGcPlayerSpaceshipClassBonuses, Field(cGcPlayerSpaceshipClassBonuses, 0xF90) - ] - ControlBonusB: Annotated[ - cGcPlayerSpaceshipClassBonuses, Field(cGcPlayerSpaceshipClassBonuses, 0xFC0) - ] - ControlBonusC: Annotated[ - cGcPlayerSpaceshipClassBonuses, Field(cGcPlayerSpaceshipClassBonuses, 0xFF0) - ] - ControlBonusS: Annotated[ - cGcPlayerSpaceshipClassBonuses, Field(cGcPlayerSpaceshipClassBonuses, 0x1020) - ] - SummonShipAnywhereRangeMax: Annotated[float, Field(ctypes.c_float, 0x1050)] - Avoidance: Annotated[ - cGcSpaceshipAvoidanceData, Field(cGcSpaceshipAvoidanceData, 0x107C) - ] - AvoidanceLowAltitude: Annotated[ - cGcSpaceshipAvoidanceData, Field(cGcSpaceshipAvoidanceData, 0x10A0) - ] - StickData: Annotated[cGcPlayerStickData, Field(cGcPlayerStickData, 0x10C4)] - MissileAim: Annotated[cGcPlayerSpaceshipAim, Field(cGcPlayerSpaceshipAim, 0x10E0)] - Warp: Annotated[ - cGcPlayerSpaceshipWarpData, Field(cGcPlayerSpaceshipWarpData, 0x10F8) - ] - CorvetteLandingRotateNoseLiftFalloff: Annotated[ - cTkEasedFalloff, Field(cTkEasedFalloff, 0x1108) - ] - CorvetteLandingRotateTiltFalloff: Annotated[ - cTkEasedFalloff, Field(cTkEasedFalloff, 0x1114) - ] - DamageLightCurve: Annotated[cTkHitCurveData, Field(cTkHitCurveData, 0x1120)] - MuzzleLightCurve: Annotated[cTkHitCurveData, Field(cTkHitCurveData, 0x112C)] - DeathSpinPitch: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1138)] - DeathSpinRoll: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1140)] + ShieldEffectScanData: Annotated[cGcScanEffectData, 0x0] + AlarmLightColour: Annotated[basic.Colour, 0x50] + AlarmLightColourHostile: Annotated[basic.Colour, 0x60] + AtmosphereLightOffset: Annotated[basic.Vector3f, 0x70] + CockpitScale: Annotated[basic.Vector3f, 0x80] + DamageLightColour: Annotated[basic.Colour, 0x90] + DamageLightColourShield: Annotated[basic.Colour, 0xA0] + DamageLightOffsetLeft: Annotated[basic.Vector3f, 0xB0] + DamageLightOffsetRight: Annotated[basic.Vector3f, 0xC0] + DamageLightOffsetTop: Annotated[basic.Vector3f, 0xD0] + DefaultCentreOffset: Annotated[basic.Vector3f, 0xE0] + DefaultCentreOffsetDropship: Annotated[basic.Vector3f, 0xF0] + DefaultCentreOffsetRoyal: Annotated[basic.Vector3f, 0x100] + DefaultCentreOffsetSail: Annotated[basic.Vector3f, 0x110] + DefaultCentreOffsetScientific: Annotated[basic.Vector3f, 0x120] + DirectionDockingInRangeColour: Annotated[basic.Colour, 0x130] + DirectionDockingOutRangeColour: Annotated[basic.Colour, 0x140] + GroundEffectBuildingColour: Annotated[basic.Colour, 0x150] + GroundEffectWaterColour: Annotated[basic.Colour, 0x160] + GunOffset3rdPersonLeft: Annotated[basic.Vector3f, 0x170] + GunOffset3rdPersonRight: Annotated[basic.Vector3f, 0x180] + GunOffsetLeft: Annotated[basic.Vector3f, 0x190] + GunOffsetLeft2: Annotated[basic.Vector3f, 0x1A0] + GunOffsetRight: Annotated[basic.Vector3f, 0x1B0] + GunOffsetRight2: Annotated[basic.Vector3f, 0x1C0] + HandControllerDeadZone: Annotated[basic.Vector3f, 0x1D0] + HandControllerExtents: Annotated[basic.Vector3f, 0x1E0] + HandControllerValueMultiplier: Annotated[basic.Vector3f, 0x1F0] + HandControllerValueMultiplierSpace: Annotated[basic.Vector3f, 0x200] + LandingEffectSpaceColourOverride: Annotated[basic.Colour, 0x210] + MuzzleLightColour: Annotated[basic.Colour, 0x220] + PostCollisionAngularFactor: Annotated[basic.Vector3f, 0x230] + StickAnimationDamping: Annotated[basic.Vector3f, 0x240] + TargetLockDangerColour: Annotated[basic.Colour, 0x250] + TargetLockPassiveColour: Annotated[basic.Colour, 0x260] + AlarmLightOffsets: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x270] + GunAimArray: Annotated[basic.cTkDynamicArray[cGcPlayerSpaceshipAim], 0x280] + LaserAimArray: Annotated[basic.cTkDynamicArray[cGcPlayerSpaceshipAim], 0x290] + SailShipCoreTechID: Annotated[basic.TkID0x10, 0x2A0] + ShipModels: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x2B0] + WaterEffectID: Annotated[basic.TkID0x10, 0x2C0] + WaterJetHoverEffectID: Annotated[basic.TkID0x10, 0x2D0] + WaterJetLandingEffectID: Annotated[basic.TkID0x10, 0x2E0] + WaterJetTakeoffEffectID: Annotated[basic.TkID0x10, 0x2F0] + Control: Annotated[cGcPlayerSpaceshipControlData, 0x300] + ControlCorvette: Annotated[cGcPlayerSpaceshipControlData, 0x518] + ControlHeavy: Annotated[cGcPlayerSpaceshipControlData, 0x730] + ControlHeavyHover: Annotated[cGcPlayerSpaceshipControlData, 0x948] + ControlHover: Annotated[cGcPlayerSpaceshipControlData, 0xB60] + ControlLight: Annotated[cGcPlayerSpaceshipControlData, 0xD78] + ControlBonusA: Annotated[cGcPlayerSpaceshipClassBonuses, 0xF90] + ControlBonusB: Annotated[cGcPlayerSpaceshipClassBonuses, 0xFC0] + ControlBonusC: Annotated[cGcPlayerSpaceshipClassBonuses, 0xFF0] + ControlBonusS: Annotated[cGcPlayerSpaceshipClassBonuses, 0x1020] + SummonShipAnywhereRangeMax: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 11, 0x1050) + ] + Avoidance: Annotated[cGcSpaceshipAvoidanceData, 0x107C] + AvoidanceLowAltitude: Annotated[cGcSpaceshipAvoidanceData, 0x10A0] + StickData: Annotated[cGcPlayerStickData, 0x10C4] + MissileAim: Annotated[cGcPlayerSpaceshipAim, 0x10E0] + Warp: Annotated[cGcPlayerSpaceshipWarpData, 0x10F8] + CorvetteLandingRotateNoseLiftFalloff: Annotated[cTkEasedFalloff, 0x1108] + CorvetteLandingRotateTiltFalloff: Annotated[cTkEasedFalloff, 0x1114] + DamageLightCurve: Annotated[cTkHitCurveData, 0x1120] + MuzzleLightCurve: Annotated[cTkHitCurveData, 0x112C] + DeathSpinPitch: Annotated[basic.Vector2f, 0x1138] + DeathSpinRoll: Annotated[basic.Vector2f, 0x1140] _3rdPersonAngleMinSpeed: Annotated[float, Field(ctypes.c_float, 0x1148)] _3rdPersonAngleSpeedRangePitch: Annotated[float, Field(ctypes.c_float, 0x114C)] _3rdPersonAngleSpeedRangeYaw: Annotated[float, Field(ctypes.c_float, 0x1150)] @@ -31980,15 +25933,11 @@ class cGcSpaceshipGlobals(Structure): WingmanSpeedTrackForceMin: Annotated[float, Field(ctypes.c_float, 0x1A80)] WingmanSpeedTrackOffset: Annotated[float, Field(ctypes.c_float, 0x1A84)] WingmanViewerAngle: Annotated[float, Field(ctypes.c_float, 0x1A88)] - HoverShipDataNames: Annotated[cGcShipDataNames, Field(cGcShipDataNames, 0x1A8C)] - HoverShipDataNamesSpecial: Annotated[ - cGcShipDataNames, Field(cGcShipDataNames, 0x1BAC) - ] - SpookShipDataNames: Annotated[cGcShipDataNames, Field(cGcShipDataNames, 0x1CCC)] + HoverShipDataNames: Annotated[cGcShipDataNames, 0x1A8C] + HoverShipDataNamesSpecial: Annotated[cGcShipDataNames, 0x1BAC] + SpookShipDataNames: Annotated[cGcShipDataNames, 0x1CCC] _3rdPersonShipEnabled: Annotated[bool, Field(ctypes.c_bool, 0x1DEC)] - _3rdPersonWarpWanderCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1DED) - ] + _3rdPersonWarpWanderCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1DED] AddShipToCollectionOnEnter: Annotated[bool, Field(ctypes.c_bool, 0x1DEE)] AimZoomAuto: Annotated[bool, Field(ctypes.c_bool, 0x1DEF)] AllowSideScreenPointing: Annotated[bool, Field(ctypes.c_bool, 0x1DF0)] @@ -31997,110 +25946,65 @@ class cGcSpaceshipGlobals(Structure): ApplyHeightAlign: Annotated[bool, Field(ctypes.c_bool, 0x1DF3)] ApplyHeightForce: Annotated[bool, Field(ctypes.c_bool, 0x1DF4)] AutoEjectOnLanding: Annotated[bool, Field(ctypes.c_bool, 0x1DF5)] - CockpitExitAnimCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1DF6) - ] + CockpitExitAnimCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1DF6] CritsFromBehind: Annotated[bool, Field(ctypes.c_bool, 0x1DF7)] - DeflectCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1DF8) - ] - DirectionDockingIndicatorCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1DF9) - ] + DeflectCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1DF8] + DirectionDockingIndicatorCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1DF9] DoPreCollision: Annotated[bool, Field(ctypes.c_bool, 0x1DFA)] DrawLineLockTarget: Annotated[bool, Field(ctypes.c_bool, 0x1DFB)] EnableDepthTestedCrosshairSections: Annotated[bool, Field(ctypes.c_bool, 0x1DFC)] EnablePulseDriveSpaceStationOrient: Annotated[bool, Field(ctypes.c_bool, 0x1DFD)] - GroundHeightHardCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1DFE) - ] - GroundHeightSoftCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1DFF) - ] + GroundHeightHardCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1DFE] + GroundHeightSoftCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1DFF] LandedCockpitFreeLook: Annotated[bool, Field(ctypes.c_bool, 0x1E00)] LandingCheckBuildings: Annotated[bool, Field(ctypes.c_bool, 0x1E01)] - LandingCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1E02) - ] - LandingCurveHeavy: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1E03) - ] - LandingCurveWater: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1E04) - ] - MiniWarpCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1E05) - ] - PitchCorrectHeightCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1E06) - ] - RudderToRollCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1E07) - ] - ShieldEffectHitCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1E08) - ] + LandingCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1E02] + LandingCurveHeavy: Annotated[c_enum32[enums.cTkCurveType], 0x1E03] + LandingCurveWater: Annotated[c_enum32[enums.cTkCurveType], 0x1E04] + MiniWarpCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1E05] + PitchCorrectHeightCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1E06] + RudderToRollCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1E07] + ShieldEffectHitCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1E08] SpaceCombatFollowModeUseBoost: Annotated[bool, Field(ctypes.c_bool, 0x1E09)] SpaceCombatFollowModeUseEvadeTarget: Annotated[bool, Field(ctypes.c_bool, 0x1E0A)] SpaceMapInWorld: Annotated[bool, Field(ctypes.c_bool, 0x1E0B)] SpeedTrackModeEnabled: Annotated[bool, Field(ctypes.c_bool, 0x1E0C)] SpringSpeedSpringEnabled: Annotated[bool, Field(ctypes.c_bool, 0x1E0D)] TestShipAnims: Annotated[bool, Field(ctypes.c_bool, 0x1E0E)] - WarpInCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1E0F) - ] + WarpInCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1E0F] @partial_struct class cGcSkyGlobals(Structure): - PlanetGasGiantProperties: Annotated[ - cGcPlanetSkyProperties, Field(cGcPlanetSkyProperties, 0x0) - ] - PlanetPrimeProperties: Annotated[ - cGcPlanetSkyProperties, Field(cGcPlanetSkyProperties, 0x770) - ] - PlanetProperties: Annotated[ - cGcPlanetSkyProperties, Field(cGcPlanetSkyProperties, 0xEE0) - ] - AbandonedFreighterFog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x1650)] - NightSkyColours: Annotated[ - cGcPlanetWeatherColourData, Field(cGcPlanetWeatherColourData, 0x1820) - ] - SpaceSkyMax: Annotated[cGcSpaceSkyProperties, Field(cGcSpaceSkyProperties, 0x1900)] - SpaceSkyMin: Annotated[cGcSpaceSkyProperties, Field(cGcSpaceSkyProperties, 0x19A0)] - AbandonedFreighterFogColour: Annotated[basic.Colour, Field(basic.Colour, 0x1A40)] - AsteroidColour: Annotated[basic.Colour, Field(basic.Colour, 0x1A50)] - DayLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x1A60)] - DuskLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x1A70)] - HeavyAirColour1: Annotated[basic.Colour, Field(basic.Colour, 0x1A80)] - HeavyAirColour2: Annotated[basic.Colour, Field(basic.Colour, 0x1A90)] - NightFogColour: Annotated[basic.Colour, Field(basic.Colour, 0x1AA0)] - NightHeightFogColour: Annotated[basic.Colour, Field(basic.Colour, 0x1AB0)] - NightHorizonColour: Annotated[basic.Colour, Field(basic.Colour, 0x1AC0)] - NightLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x1AD0)] - NightSkyColour: Annotated[basic.Colour, Field(basic.Colour, 0x1AE0)] - SleepSunFromSettingsPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1AF0)] - SpaceLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x1B00)] - SunPosition: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1B10)] - SunRotationAxis: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1B20)] - PlanetCloudsMax: Annotated[ - cGcPlanetCloudProperties, Field(cGcPlanetCloudProperties, 0x1B30) - ] - PlanetCloudsMin: Annotated[ - cGcPlanetCloudProperties, Field(cGcPlanetCloudProperties, 0x1B78) - ] - SpaceSkyColours: Annotated[ - basic.cTkDynamicArray[cGcSpaceSkyColours], - Field(basic.cTkDynamicArray[cGcSpaceSkyColours], 0x1BC0), - ] - CloudAdjust: Annotated[ - cGcPhotoModeAdjustData, Field(cGcPhotoModeAdjustData, 0x1BD0) - ] - FogAdjust: Annotated[cGcPhotoModeAdjustData, Field(cGcPhotoModeAdjustData, 0x1BE0)] - VignetteAdjust: Annotated[ - cGcPhotoModeAdjustData, Field(cGcPhotoModeAdjustData, 0x1BF0) - ] - PhotoModeVignette: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1C00)] + PlanetGasGiantProperties: Annotated[cGcPlanetSkyProperties, 0x0] + PlanetPrimeProperties: Annotated[cGcPlanetSkyProperties, 0x770] + PlanetProperties: Annotated[cGcPlanetSkyProperties, 0xEE0] + AbandonedFreighterFog: Annotated[cGcFogProperties, 0x1650] + NightSkyColours: Annotated[cGcPlanetWeatherColourData, 0x1820] + SpaceSkyMax: Annotated[cGcSpaceSkyProperties, 0x1900] + SpaceSkyMin: Annotated[cGcSpaceSkyProperties, 0x19A0] + AbandonedFreighterFogColour: Annotated[basic.Colour, 0x1A40] + AsteroidColour: Annotated[basic.Colour, 0x1A50] + DayLightColour: Annotated[basic.Colour, 0x1A60] + DuskLightColour: Annotated[basic.Colour, 0x1A70] + HeavyAirColour1: Annotated[basic.Colour, 0x1A80] + HeavyAirColour2: Annotated[basic.Colour, 0x1A90] + NightFogColour: Annotated[basic.Colour, 0x1AA0] + NightHeightFogColour: Annotated[basic.Colour, 0x1AB0] + NightHorizonColour: Annotated[basic.Colour, 0x1AC0] + NightLightColour: Annotated[basic.Colour, 0x1AD0] + NightSkyColour: Annotated[basic.Colour, 0x1AE0] + SleepSunFromSettingsPos: Annotated[basic.Vector3f, 0x1AF0] + SpaceLightColour: Annotated[basic.Colour, 0x1B00] + SunPosition: Annotated[basic.Vector3f, 0x1B10] + SunRotationAxis: Annotated[basic.Vector3f, 0x1B20] + PlanetCloudsMax: Annotated[cGcPlanetCloudProperties, 0x1B30] + PlanetCloudsMin: Annotated[cGcPlanetCloudProperties, 0x1B78] + SpaceSkyColours: Annotated[basic.cTkDynamicArray[cGcSpaceSkyColours], 0x1BC0] + CloudAdjust: Annotated[cGcPhotoModeAdjustData, 0x1BD0] + FogAdjust: Annotated[cGcPhotoModeAdjustData, 0x1BE0] + VignetteAdjust: Annotated[cGcPhotoModeAdjustData, 0x1BF0] + PhotoModeVignette: Annotated[basic.Vector2f, 0x1C00] AmbientFactor: Annotated[float, Field(ctypes.c_float, 0x1C08)] BinaryStarChance: Annotated[float, Field(ctypes.c_float, 0x1C0C)] CloudColourH: Annotated[float, Field(ctypes.c_float, 0x1C10)] @@ -32214,168 +26118,158 @@ class cGcSkyGlobals(Structure): WeatherFilterSpaceTransitionChangeTime: Annotated[ float, Field(ctypes.c_float, 0x1DC0) ] - DoFAdjustMagnitudeMaxCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1DC4) - ] + DoFAdjustMagnitudeMaxCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1DC4] ForceFlightSetting: Annotated[bool, Field(ctypes.c_bool, 0x1DC5)] ForceNightBlend: Annotated[bool, Field(ctypes.c_bool, 0x1DC6)] ForceStormSetting: Annotated[bool, Field(ctypes.c_bool, 0x1DC7)] SleepSunFromSettings: Annotated[bool, Field(ctypes.c_bool, 0x1DC8)] UpdateWeatherWhenSunLocked: Annotated[bool, Field(ctypes.c_bool, 0x1DC9)] - WeatherBloomCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1DCA) - ] + WeatherBloomCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1DCA] @partial_struct class cGcSettlementGlobals(Structure): - NegativeStatColour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - PositiveStatColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] + NegativeStatColour: Annotated[basic.Colour, 0x0] + PositiveStatColour: Annotated[basic.Colour, 0x10] SettlementBuildingCosts: Annotated[ - cGcSettlementBuildingCost, Field(cGcSettlementBuildingCost, 0x20) + tuple[cGcSettlementBuildingCost, ...], + Field(cGcSettlementBuildingCost * 60, 0x20), ] SettlementBuildingContributions: Annotated[ - cGcSettlementBuildingContribution, - Field(cGcSettlementBuildingContribution, 0x6560), + tuple[cGcSettlementBuildingContribution, ...], + Field(cGcSettlementBuildingContribution * 60, 0x6560), ] BuildingProductionNotes: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x7460) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 60, 0x7460), ] BuildingUpgradePageNames: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x7BE0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 60, 0x7BE0), ] SettlementBuildingClassGenericRequirement: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x8360) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 60, 0x8360), ] SettlementBuildingClassGenericTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x8AE0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 60, 0x8AE0), + ] + SettlementBuildingTimes: Annotated[ + tuple[int, ...], Field(ctypes.c_uint64 * 60, 0x9260) ] - SettlementBuildingTimes: Annotated[int, Field(ctypes.c_uint64, 0x9260)] JudgementMissionObjectives: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9440) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 12, 0x9440), ] JudgementUpdateMainText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x95C0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 12, 0x95C0), ] JudgementUpdateSubtitles: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9740) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 12, 0x9740), ] JudgementUpdateTitles: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x98C0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 12, 0x98C0), ] LongAltResearchLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9A40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0x9A40), ] LongPolicyLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9B40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0x9B40), ] LongResearchLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9C40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0x9C40), ] NegativeFakePerkOSDLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9D40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0x9D40), ] NegativeStatChangeOSDLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9E40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0x9E40), ] PositiveFakePerkOSDLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x9F40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0x9F40), ] PositiveStatChangeOSDLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA040) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0xA040), ] ProcPerkDescriptions: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA140) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0xA140), ] ShortAltResearchLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA240) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0xA240), ] ShortPolicyLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA340) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0xA340), ] ShortResearchLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA440) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 8, 0xA440), + ] + AltResearchPerks: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 8, 0xA540) ] - AltResearchPerks: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA540)] NegativeStatChangeSubstances: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xA5C0) + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 8, 0xA5C0) + ] + PolicyPerks: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 8, 0xA640) ] - PolicyPerks: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA640)] PositiveStatChangeSubstances: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xA6C0) + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 8, 0xA6C0) ] - ResearchPerks: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA740)] - BuilderNPCScanToRevealData: Annotated[ - cGcScanToRevealComponentData, Field(cGcScanToRevealComponentData, 0xA7C0) + ResearchPerks: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 8, 0xA740) ] - TowerPowerRechargeTime: Annotated[int, Field(ctypes.c_uint64, 0xA810)] - AutophageGifts: Annotated[ - basic.cTkDynamicArray[cGcSettlementGiftDetails], - Field(basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA830), + BuilderNPCScanToRevealData: Annotated[cGcScanToRevealComponentData, 0xA7C0] + TowerPowerRechargeTime: Annotated[ + tuple[int, ...], Field(ctypes.c_uint64 * 4, 0xA810) ] + AutophageGifts: Annotated[basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA830] AutophageProductionElementsSelectable: Annotated[ - basic.cTkDynamicArray[cGcSettlementProductionElement], - Field(basic.cTkDynamicArray[cGcSettlementProductionElement], 0xA840), + basic.cTkDynamicArray[cGcSettlementProductionElement], 0xA840 ] CustomJudgements: Annotated[ - basic.cTkDynamicArray[cGcSettlementCustomJudgement], - Field(basic.cTkDynamicArray[cGcSettlementCustomJudgement], 0xA850), - ] - GekGifts: Annotated[ - basic.cTkDynamicArray[cGcSettlementGiftDetails], - Field(basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA860), + basic.cTkDynamicArray[cGcSettlementCustomJudgement], 0xA850 ] + GekGifts: Annotated[basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA860] GekProductionElementsSelectable: Annotated[ - basic.cTkDynamicArray[cGcSettlementProductionElement], - Field(basic.cTkDynamicArray[cGcSettlementProductionElement], 0xA870), - ] - Gifts: Annotated[ - basic.cTkDynamicArray[cGcSettlementGiftDetails], - Field(basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA880), - ] - JobTypes: Annotated[ - basic.cTkDynamicArray[cGcSettlementJobDetails], - Field(basic.cTkDynamicArray[cGcSettlementJobDetails], 0xA890), - ] - Judgements: Annotated[ - basic.cTkDynamicArray[cGcSettlementJudgementData], - Field(basic.cTkDynamicArray[cGcSettlementJudgementData], 0xA8A0), - ] - JudgementTextHashID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA8B0)] - KorvaxGifts: Annotated[ - basic.cTkDynamicArray[cGcSettlementGiftDetails], - Field(basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA8C0), + basic.cTkDynamicArray[cGcSettlementProductionElement], 0xA870 ] + Gifts: Annotated[basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA880] + JobTypes: Annotated[basic.cTkDynamicArray[cGcSettlementJobDetails], 0xA890] + Judgements: Annotated[basic.cTkDynamicArray[cGcSettlementJudgementData], 0xA8A0] + JudgementTextHashID: Annotated[basic.TkID0x10, 0xA8B0] + KorvaxGifts: Annotated[basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA8C0] KorvaxProductionElementsSelectable: Annotated[ - basic.cTkDynamicArray[cGcSettlementProductionElement], - Field(basic.cTkDynamicArray[cGcSettlementProductionElement], 0xA8D0), - ] - MiniMissionFailJudgement: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA8E0)] - MiniMissionSuccessJudgement: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xA8F0) + basic.cTkDynamicArray[cGcSettlementProductionElement], 0xA8D0 ] + MiniMissionFailJudgement: Annotated[basic.TkID0x10, 0xA8E0] + MiniMissionSuccessJudgement: Annotated[basic.TkID0x10, 0xA8F0] ScanEventsThatPreventSentinelAlert: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xA900), - ] - SettlementCostAutophage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA910)] - SettlementCostGek: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA920)] - SettlementCostKorvax: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA930)] - SettlementCostVykeen: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA940)] - SettlementMiniExpeditionMissionID: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xA950) - ] - TechGiftPerks: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xA960), - ] - VykeenGifts: Annotated[ - basic.cTkDynamicArray[cGcSettlementGiftDetails], - Field(basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA970), - ] + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xA900 + ] + SettlementCostAutophage: Annotated[basic.TkID0x10, 0xA910] + SettlementCostGek: Annotated[basic.TkID0x10, 0xA920] + SettlementCostKorvax: Annotated[basic.TkID0x10, 0xA930] + SettlementCostVykeen: Annotated[basic.TkID0x10, 0xA940] + SettlementMiniExpeditionMissionID: Annotated[basic.TkID0x10, 0xA950] + TechGiftPerks: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xA960] + VykeenGifts: Annotated[basic.cTkDynamicArray[cGcSettlementGiftDetails], 0xA970] VykeenProductionElementsSelectable: Annotated[ - basic.cTkDynamicArray[cGcSettlementProductionElement], - Field(basic.cTkDynamicArray[cGcSettlementProductionElement], 0xA980), + basic.cTkDynamicArray[cGcSettlementProductionElement], 0xA980 ] AlertCycleDurationInSeconds: Annotated[int, Field(ctypes.c_uint64, 0xA990)] BugAttackCycleDurationInSeconds: Annotated[int, Field(ctypes.c_uint64, 0xA998)] @@ -32385,16 +26279,25 @@ class cGcSettlementGlobals(Structure): ProductionSlotTimerOffsetInSeconds: Annotated[int, Field(ctypes.c_uint64, 0xA9B8)] TowerRechargeTime: Annotated[int, Field(ctypes.c_uint64, 0xA9C0)] PerkStatStrengthValues: Annotated[ - cGcSettlementStatStrengthData, Field(cGcSettlementStatStrengthData, 0xA9C8) - ] - JudgementSelectionWeights: Annotated[float, Field(ctypes.c_float, 0xAB88)] - InitialStatsMaxValues: Annotated[int, Field(ctypes.c_int32, 0xABB8)] - InitialStatsMinValues: Annotated[int, Field(ctypes.c_int32, 0xABD8)] - NormalisedStatBadThresholds: Annotated[float, Field(ctypes.c_float, 0xABF8)] - NormalisedStatGoodThresholds: Annotated[float, Field(ctypes.c_float, 0xAC18)] - StatProductivityContributionModifiers: Annotated[int, Field(ctypes.c_int32, 0xAC38)] - StatsMaxValues: Annotated[int, Field(ctypes.c_int32, 0xAC58)] - StatsMinValues: Annotated[int, Field(ctypes.c_int32, 0xAC78)] + tuple[cGcSettlementStatStrengthData, ...], + Field(cGcSettlementStatStrengthData * 8, 0xA9C8), + ] + JudgementSelectionWeights: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 12, 0xAB88) + ] + InitialStatsMaxValues: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0xABB8)] + InitialStatsMinValues: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0xABD8)] + NormalisedStatBadThresholds: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 8, 0xABF8) + ] + NormalisedStatGoodThresholds: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 8, 0xAC18) + ] + StatProductivityContributionModifiers: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 8, 0xAC38) + ] + StatsMaxValues: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0xAC58)] + StatsMinValues: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0xAC78)] AlertUnitsPerCycleRateModifier: Annotated[int, Field(ctypes.c_int32, 0xAC98)] BugAttackUnitsPerCycleRateModifier: Annotated[int, Field(ctypes.c_int32, 0xAC9C)] BuildingRevealCutsceneLength: Annotated[float, Field(ctypes.c_float, 0xACA0)] @@ -32425,76 +26328,74 @@ class cGcSettlementGlobals(Structure): SettlementMiniExpeditionTime: Annotated[int, Field(ctypes.c_int32, 0xACFC)] StartingPopulationScalar: Annotated[float, Field(ctypes.c_float, 0xAD00)] SubstanceUnitsPerCycleRateModifier: Annotated[int, Field(ctypes.c_int32, 0xAD04)] - StatIsGoodWhenPositive: Annotated[bool, Field(ctypes.c_bool, 0xAD08)] - StatProductionIsNegativeWhenBad: Annotated[bool, Field(ctypes.c_bool, 0xAD10)] + StatIsGoodWhenPositive: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 8, 0xAD08) + ] + StatProductionIsNegativeWhenBad: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 8, 0xAD10) + ] DebugForceShowHiddenPerks: Annotated[bool, Field(ctypes.c_bool, 0xAD18)] @partial_struct class cGcRobotGlobals(Structure): - DroneScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x0)] - QuadLaser: Annotated[cGcRobotLaserData, Field(cGcRobotLaserData, 0x50)] - WalkerLaser: Annotated[cGcRobotLaserData, Field(cGcRobotLaserData, 0xA0)] - DroneCriticalOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xF0)] - DroneRepairOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x100)] - QuadCriticalOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x110)] - WalkerGunOffset1: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x120)] - WalkerGunOffset2: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x130)] - WalkerHeadEyeOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x140)] - DamageData: Annotated[cGcSentinelDamagedData, Field(cGcSentinelDamagedData, 0x150)] - QuadWeapons: Annotated[ - cGcSentinelQuadWeaponData, Field(cGcSentinelQuadWeaponData, 0x490) - ] - SentinelResources: Annotated[cGcSentinelResource, Field(cGcSentinelResource, 0x7B0)] - RobotCamoData: Annotated[cGcCamouflageData, Field(cGcCamouflageData, 0x9B8)] - AttackScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x9E8)] - DroneControlData: Annotated[ - basic.cTkDynamicArray[cGcDroneDataWithId], - Field(basic.cTkDynamicArray[cGcDroneDataWithId], 0x9F8), - ] - DroneWeapons: Annotated[ - basic.cTkDynamicArray[cGcDroneWeaponData], - Field(basic.cTkDynamicArray[cGcDroneWeaponData], 0xA08), + DroneScanEffect: Annotated[cGcScanEffectData, 0x0] + QuadLaser: Annotated[cGcRobotLaserData, 0x50] + WalkerLaser: Annotated[cGcRobotLaserData, 0xA0] + DroneCriticalOffset: Annotated[basic.Vector3f, 0xF0] + DroneRepairOffset: Annotated[basic.Vector3f, 0x100] + QuadCriticalOffset: Annotated[basic.Vector3f, 0x110] + WalkerGunOffset1: Annotated[basic.Vector3f, 0x120] + WalkerGunOffset2: Annotated[basic.Vector3f, 0x130] + WalkerHeadEyeOffset: Annotated[basic.Vector3f, 0x140] + DamageData: Annotated[ + tuple[cGcSentinelDamagedData, ...], Field(cGcSentinelDamagedData * 13, 0x150) ] - ForceDroneWeapon: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA18)] - RepairEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA28)] + QuadWeapons: Annotated[ + tuple[cGcSentinelQuadWeaponData, ...], + Field(cGcSentinelQuadWeaponData * 4, 0x490), + ] + SentinelResources: Annotated[ + tuple[cGcSentinelResource, ...], Field(cGcSentinelResource * 13, 0x7B0) + ] + RobotCamoData: Annotated[cGcCamouflageData, 0x9B8] + AttackScan: Annotated[basic.TkID0x10, 0x9E8] + DroneControlData: Annotated[basic.cTkDynamicArray[cGcDroneDataWithId], 0x9F8] + DroneWeapons: Annotated[basic.cTkDynamicArray[cGcDroneWeaponData], 0xA08] + ForceDroneWeapon: Annotated[basic.TkID0x10, 0xA18] + RepairEffect: Annotated[basic.TkID0x10, 0xA28] SentinelMechAvailableWeapons: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xA38), + basic.cTkDynamicArray[basic.TkID0x10], 0xA38 ] SentinelMechWeaponData: Annotated[ - basic.cTkDynamicArray[cGcSentinelMechWeaponData], - Field(basic.cTkDynamicArray[cGcSentinelMechWeaponData], 0xA48), - ] - StoneMechAvailableWeapons: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xA58), + basic.cTkDynamicArray[cGcSentinelMechWeaponData], 0xA48 ] - SummonerDroneBuildupEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA68)] - SummonerDroneSpawnEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA78)] + StoneMechAvailableWeapons: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xA58] + SummonerDroneBuildupEffect: Annotated[basic.TkID0x10, 0xA68] + SummonerDroneSpawnEffect: Annotated[basic.TkID0x10, 0xA78] WalkerLeftLegArmourNodes: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xA88), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xA88 ] WalkerRightLegArmourNodes: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xA98), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xA98 ] - WalkerTitanFallEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xAA8)] - WalkerTitanFallShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xAB8)] + WalkerTitanFallEffect: Annotated[basic.TkID0x10, 0xAA8] + WalkerTitanFallShake: Annotated[basic.TkID0x10, 0xAB8] PounceData: Annotated[ - cGcSentinelPounceBalance, Field(cGcSentinelPounceBalance, 0xAC8) + tuple[cGcSentinelPounceBalance, ...], + Field(cGcSentinelPounceBalance * 13, 0xAC8), ] - FireRateModifierScores: Annotated[float, Field(ctypes.c_float, 0xC68)] - SentinelSpawnLimits: Annotated[int, Field(ctypes.c_int32, 0xC9C)] + FireRateModifierScores: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 13, 0xC68) + ] + SentinelSpawnLimits: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 13, 0xC9C)] MechTargetSelectionWeightingSettings: Annotated[ - cGcMechTargetSelectionWeightingSettings, - Field(cGcMechTargetSelectionWeightingSettings, 0xCD0), + cGcMechTargetSelectionWeightingSettings, 0xCD0 ] - MechPatrolPauseTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xD00)] - QuadAttackTurnSpeeds: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xD08)] - QuadLookTurnSpeeds: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xD10)] - QuadPatrolPauseTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xD18)] + MechPatrolPauseTime: Annotated[basic.Vector2f, 0xD00] + QuadAttackTurnSpeeds: Annotated[basic.Vector2f, 0xD08] + QuadLookTurnSpeeds: Annotated[basic.Vector2f, 0xD10] + QuadPatrolPauseTime: Annotated[basic.Vector2f, 0xD18] AttackMoveArrivalDistance: Annotated[float, Field(ctypes.c_float, 0xD20)] AttackMoveMaxTime: Annotated[float, Field(ctypes.c_float, 0xD24)] AttackSentinelWantedValue: Annotated[int, Field(ctypes.c_int32, 0xD28)] @@ -32799,247 +26700,168 @@ class cGcRobotGlobals(Structure): @partial_struct class cGcNavigationGlobals(Structure): - FreighterBaseNavMeshBuildParams: Annotated[ - cTkVolumeNavMeshBuildParams, Field(cTkVolumeNavMeshBuildParams, 0x0) - ] - NexusNavMeshBuildParams: Annotated[ - cTkVolumeNavMeshBuildParams, Field(cTkVolumeNavMeshBuildParams, 0x70) - ] - SpaceStationNavMeshBuildParams: Annotated[ - cTkVolumeNavMeshBuildParams, Field(cTkVolumeNavMeshBuildParams, 0xE0) - ] - PlanetaryNavMeshBuildParams: Annotated[ - cGcPlanetaryNavMeshBuildParams, Field(cGcPlanetaryNavMeshBuildParams, 0x150) - ] + FreighterBaseNavMeshBuildParams: Annotated[cTkVolumeNavMeshBuildParams, 0x0] + NexusNavMeshBuildParams: Annotated[cTkVolumeNavMeshBuildParams, 0x70] + SpaceStationNavMeshBuildParams: Annotated[cTkVolumeNavMeshBuildParams, 0xE0] + PlanetaryNavMeshBuildParams: Annotated[cGcPlanetaryNavMeshBuildParams, 0x150] MaxAsyncTileBuildsInFlight: Annotated[int, Field(ctypes.c_int32, 0x18C)] PlanetaryNavMeshLod: Annotated[int, Field(ctypes.c_int32, 0x190)] @partial_struct class cGcGameplayGlobals(Structure): - DiscoveryTrimSettings: Annotated[ - cGcDiscoveryTrimSettings, Field(cGcDiscoveryTrimSettings, 0x0) - ] - HUDTarget: Annotated[cGcShipHUDTargetData, Field(cGcShipHUDTargetData, 0x150)] - BaseBuildingDeleteScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x260) - ] - BaseBuildingErrorAboveWaterScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x2B0) - ] - BaseBuildingErrorBelowWaterScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x300) - ] - BaseBuildingErrorCollisionScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x350) - ] - BaseBuildingErrorImpossibleScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x3A0) - ] - BaseBuildingErrorInsideScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x3F0) - ] - BaseBuildingErrorUnaffordableScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x440) - ] - BaseBuildingGhostScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x490) - ] - BaseBuildingPreviewSelectionScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x4E0) - ] - BaseBuildingRemotePlayerSelectionScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x530) - ] - BaseBuildingRemotePlayerValidScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x580) - ] - BaseBuildingSelectionScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x5D0) - ] - BaseBuildingSpawnStaticEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x620) - ] - BaseBuildingValidScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x670) - ] - BaseBuildingVisionScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x6C0) - ] - BinocularScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x710)] - BinocularSelectedEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x760) - ] - BlankScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x7B0)] - BuildingScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x800)] - CreatureScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x850)] - DeconstructEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x8A0)] - HitEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x8F0)] - HitEffectCritical: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x940)] - HUDShipScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x990)] - ObjectsScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x9E0)] - PassiveScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0xA30)] - ShipBuilderNullScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0xA80) - ] - ShipBuilderScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0xAD0)] - ShipSalvageScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0xB20)] - TargetShipScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0xB70)] - VRGhostScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0xBC0)] - BinocularScanTargetColour: Annotated[basic.Colour, Field(basic.Colour, 0xC10)] - BinocularSelectedColour: Annotated[basic.Colour, Field(basic.Colour, 0xC20)] - BinocularSelectedUnknownColour: Annotated[basic.Colour, Field(basic.Colour, 0xC30)] - BulletTraceLineColour: Annotated[basic.Colour, Field(basic.Colour, 0xC40)] - CommunicatorShipSpawnOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xC50)] - HUDDamageSplatPainColour: Annotated[basic.Colour, Field(basic.Colour, 0xC60)] - HUDDamageSplatShieldColour: Annotated[basic.Colour, Field(basic.Colour, 0xC70)] - OverHeatBarColour: Annotated[basic.Colour, Field(basic.Colour, 0xC80)] - OverHeatColour: Annotated[basic.Colour, Field(basic.Colour, 0xC90)] - PainColour: Annotated[basic.Colour, Field(basic.Colour, 0xCA0)] - PlayerAmbientSpotLightColour: Annotated[basic.Colour, Field(basic.Colour, 0xCB0)] - RefinerColour1A: Annotated[basic.Colour, Field(basic.Colour, 0xCC0)] - RefinerColour1B: Annotated[basic.Colour, Field(basic.Colour, 0xCD0)] - RefinerColour1C: Annotated[basic.Colour, Field(basic.Colour, 0xCE0)] - RefinerColour1D: Annotated[basic.Colour, Field(basic.Colour, 0xCF0)] - ScannerColour1: Annotated[basic.Colour, Field(basic.Colour, 0xD00)] - ScannerColour2: Annotated[basic.Colour, Field(basic.Colour, 0xD10)] - TorchColour: Annotated[basic.Colour, Field(basic.Colour, 0xD20)] - CaveGraveRevealData: Annotated[ - cGcScanToRevealComponentData, Field(cGcScanToRevealComponentData, 0xD30) - ] - SalvageTechList: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xD80)] - SalvageTechListMultiTool: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xDD0)] - SalvageRewardsDropship: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xE20)] - SalvageRewardsFighter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xE60)] - SalvageRewardsScience: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xEA0)] - SalvageRewardsShuttle: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xEE0)] - CommunicatorFireteamNexusExitDialog: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xF20) - ] + DiscoveryTrimSettings: Annotated[cGcDiscoveryTrimSettings, 0x0] + HUDTarget: Annotated[cGcShipHUDTargetData, 0x150] + BaseBuildingDeleteScanEffect: Annotated[cGcScanEffectData, 0x260] + BaseBuildingErrorAboveWaterScanEffect: Annotated[cGcScanEffectData, 0x2B0] + BaseBuildingErrorBelowWaterScanEffect: Annotated[cGcScanEffectData, 0x300] + BaseBuildingErrorCollisionScanEffect: Annotated[cGcScanEffectData, 0x350] + BaseBuildingErrorImpossibleScanEffect: Annotated[cGcScanEffectData, 0x3A0] + BaseBuildingErrorInsideScanEffect: Annotated[cGcScanEffectData, 0x3F0] + BaseBuildingErrorUnaffordableScanEffect: Annotated[cGcScanEffectData, 0x440] + BaseBuildingGhostScanEffect: Annotated[cGcScanEffectData, 0x490] + BaseBuildingPreviewSelectionScanEffect: Annotated[cGcScanEffectData, 0x4E0] + BaseBuildingRemotePlayerSelectionScanEffect: Annotated[cGcScanEffectData, 0x530] + BaseBuildingRemotePlayerValidScanEffect: Annotated[cGcScanEffectData, 0x580] + BaseBuildingSelectionScanEffect: Annotated[cGcScanEffectData, 0x5D0] + BaseBuildingSpawnStaticEffect: Annotated[cGcScanEffectData, 0x620] + BaseBuildingValidScanEffect: Annotated[cGcScanEffectData, 0x670] + BaseBuildingVisionScanEffect: Annotated[cGcScanEffectData, 0x6C0] + BinocularScanEffect: Annotated[cGcScanEffectData, 0x710] + BinocularSelectedEffect: Annotated[cGcScanEffectData, 0x760] + BlankScanEffect: Annotated[cGcScanEffectData, 0x7B0] + BuildingScanEffect: Annotated[cGcScanEffectData, 0x800] + CreatureScanEffect: Annotated[cGcScanEffectData, 0x850] + DeconstructEffect: Annotated[cGcScanEffectData, 0x8A0] + HitEffect: Annotated[cGcScanEffectData, 0x8F0] + HitEffectCritical: Annotated[cGcScanEffectData, 0x940] + HUDShipScanEffect: Annotated[cGcScanEffectData, 0x990] + ObjectsScanEffect: Annotated[cGcScanEffectData, 0x9E0] + PassiveScanEffect: Annotated[cGcScanEffectData, 0xA30] + ShipBuilderNullScanEffect: Annotated[cGcScanEffectData, 0xA80] + ShipBuilderScanEffect: Annotated[cGcScanEffectData, 0xAD0] + ShipSalvageScanEffect: Annotated[cGcScanEffectData, 0xB20] + TargetShipScanEffect: Annotated[cGcScanEffectData, 0xB70] + VRGhostScanEffect: Annotated[cGcScanEffectData, 0xBC0] + BinocularScanTargetColour: Annotated[basic.Colour, 0xC10] + BinocularSelectedColour: Annotated[basic.Colour, 0xC20] + BinocularSelectedUnknownColour: Annotated[basic.Colour, 0xC30] + BulletTraceLineColour: Annotated[basic.Colour, 0xC40] + CommunicatorShipSpawnOffset: Annotated[basic.Vector3f, 0xC50] + HUDDamageSplatPainColour: Annotated[basic.Colour, 0xC60] + HUDDamageSplatShieldColour: Annotated[basic.Colour, 0xC70] + OverHeatBarColour: Annotated[basic.Colour, 0xC80] + OverHeatColour: Annotated[basic.Colour, 0xC90] + PainColour: Annotated[basic.Colour, 0xCA0] + PlayerAmbientSpotLightColour: Annotated[basic.Colour, 0xCB0] + RefinerColour1A: Annotated[basic.Colour, 0xCC0] + RefinerColour1B: Annotated[basic.Colour, 0xCD0] + RefinerColour1C: Annotated[basic.Colour, 0xCE0] + RefinerColour1D: Annotated[basic.Colour, 0xCF0] + ScannerColour1: Annotated[basic.Colour, 0xD00] + ScannerColour2: Annotated[basic.Colour, 0xD10] + TorchColour: Annotated[basic.Colour, 0xD20] + CaveGraveRevealData: Annotated[cGcScanToRevealComponentData, 0xD30] + SalvageTechList: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 5, 0xD80) + ] + SalvageTechListMultiTool: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 5, 0xDD0) + ] + SalvageRewardsDropship: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 4, 0xE20) + ] + SalvageRewardsFighter: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 4, 0xE60) + ] + SalvageRewardsScience: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 4, 0xEA0) + ] + SalvageRewardsShuttle: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 4, 0xEE0) + ] + CommunicatorFireteamNexusExitDialog: Annotated[basic.cTkFixedString0x20, 0xF20] CommunicatorNexusExitAbandonWarningDialog: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xF40) - ] - WeaponSpawnAltObject: Annotated[cTkModelResource, Field(cTkModelResource, 0xF60)] - WeaponSpawnObject: Annotated[cTkModelResource, Field(cTkModelResource, 0xF80)] - BaseBuildingTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xFA0) - ] - BeaconScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xFB0)] - BioShipTerrainResource: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xFC0)] - BuildersWordReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xFD0)] - CommunicatorEffectTable: Annotated[ - basic.cTkDynamicArray[cGcScanEffectData], - Field(basic.cTkDynamicArray[cGcScanEffectData], 0xFE0), - ] - DebugScanPlanet: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xFF0)] - DebugScanSpace: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1000)] - DefaultAnim: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1010)] - DistressSignalScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1020)] - FreeShipSlotID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1030)] - FreeSuitSlotID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1040)] - FreeWeapSlotID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1050)] - FreighterHyperdriveAccess: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x1060), - ] - HyperdriveAccess: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x1070), - ] - InitialDebrisScene: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x1080) - ] - LegacyBaseBuildingTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x1090) - ] - MissionSurveyBugsID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10A0)] - MissionSurveyWormID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10B0)] - NexusRecipeCostType: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10C0)] - ObservatoryScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10D0)] - PirateEarlySpawnChances: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x10E0), - ] - PirateMissionPrimaryReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10F0)] - PirateMissionSecondReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1100)] - RadioTowerScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1110)] - ResourceDirtSubstanceID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1120)] - ResourceParticleFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x1130) - ] - ResourceUnderwaterSubstanceID: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x1140) - ] - SalvageProdsList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x1150), - ] - SalvageSubstancesList: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x1160), - ] - SandwormTerrainResource: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1170)] - SeaTrashDeployID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1180)] - ShipScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1190)] - ToolScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x11A0)] - ToolScanHardMode: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x11B0)] - VisualScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x11C0)] - WaypointScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x11D0)] - ZoomLevels: Annotated[ - basic.cTkDynamicArray[cGcZoomData], - Field(basic.cTkDynamicArray[cGcZoomData], 0x11E0), - ] + basic.cTkFixedString0x20, 0xF40 + ] + WeaponSpawnAltObject: Annotated[cTkModelResource, 0xF60] + WeaponSpawnObject: Annotated[cTkModelResource, 0xF80] + BaseBuildingTable: Annotated[basic.VariableSizeString, 0xFA0] + BeaconScan: Annotated[basic.TkID0x10, 0xFB0] + BioShipTerrainResource: Annotated[basic.TkID0x10, 0xFC0] + BuildersWordReward: Annotated[basic.TkID0x10, 0xFD0] + CommunicatorEffectTable: Annotated[basic.cTkDynamicArray[cGcScanEffectData], 0xFE0] + DebugScanPlanet: Annotated[basic.TkID0x10, 0xFF0] + DebugScanSpace: Annotated[basic.TkID0x10, 0x1000] + DefaultAnim: Annotated[basic.TkID0x10, 0x1010] + DistressSignalScan: Annotated[basic.TkID0x10, 0x1020] + FreeShipSlotID: Annotated[basic.TkID0x10, 0x1030] + FreeSuitSlotID: Annotated[basic.TkID0x10, 0x1040] + FreeWeapSlotID: Annotated[basic.TkID0x10, 0x1050] + FreighterHyperdriveAccess: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x1060] + HyperdriveAccess: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x1070] + InitialDebrisScene: Annotated[basic.VariableSizeString, 0x1080] + LegacyBaseBuildingTable: Annotated[basic.VariableSizeString, 0x1090] + MissionSurveyBugsID: Annotated[basic.TkID0x10, 0x10A0] + MissionSurveyWormID: Annotated[basic.TkID0x10, 0x10B0] + NexusRecipeCostType: Annotated[basic.TkID0x10, 0x10C0] + ObservatoryScan: Annotated[basic.TkID0x10, 0x10D0] + PirateEarlySpawnChances: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x10E0] + PirateMissionPrimaryReward: Annotated[basic.TkID0x10, 0x10F0] + PirateMissionSecondReward: Annotated[basic.TkID0x10, 0x1100] + RadioTowerScan: Annotated[basic.TkID0x10, 0x1110] + ResourceDirtSubstanceID: Annotated[basic.TkID0x10, 0x1120] + ResourceParticleFile: Annotated[basic.VariableSizeString, 0x1130] + ResourceUnderwaterSubstanceID: Annotated[basic.TkID0x10, 0x1140] + SalvageProdsList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x1150] + SalvageSubstancesList: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x1160] + SandwormTerrainResource: Annotated[basic.TkID0x10, 0x1170] + SeaTrashDeployID: Annotated[basic.TkID0x10, 0x1180] + ShipScan: Annotated[basic.TkID0x10, 0x1190] + ToolScan: Annotated[basic.TkID0x10, 0x11A0] + ToolScanHardMode: Annotated[basic.TkID0x10, 0x11B0] + VisualScan: Annotated[basic.TkID0x10, 0x11C0] + WaypointScan: Annotated[basic.TkID0x10, 0x11D0] + ZoomLevels: Annotated[basic.cTkDynamicArray[cGcZoomData], 0x11E0] CookingRefreshTimeInSeconds: Annotated[int, Field(ctypes.c_uint64, 0x11F0)] NPCWorkerInteractionCooldown: Annotated[int, Field(ctypes.c_uint64, 0x11F8)] - AsteroidResourceCollect: Annotated[ - cGcResourceCollectEffect, Field(cGcResourceCollectEffect, 0x1200) - ] - AlienShipEvolveCosts: Annotated[int, Field(ctypes.c_int32, 0x1234)] - FlybyTimers: Annotated[cGcExperienceTimers, Field(cGcExperienceTimers, 0x1254)] - FreighterTechQualityWeightings: Annotated[int, Field(ctypes.c_int32, 0x1274)] - FreighterTimers: Annotated[cGcExperienceTimers, Field(cGcExperienceTimers, 0x1294)] - PlanetPirateTimers: Annotated[ - cGcExperienceTimers, Field(cGcExperienceTimers, 0x12B4) - ] - PoliceTimers: Annotated[cGcExperienceTimers, Field(cGcExperienceTimers, 0x12D4)] - SentinelTimersLow: Annotated[ - cGcExperienceTimers, Field(cGcExperienceTimers, 0x12F4) - ] - SentinelTimersNormal: Annotated[ - cGcExperienceTimers, Field(cGcExperienceTimers, 0x1314) - ] - SpaceFlybyTimers: Annotated[cGcExperienceTimers, Field(cGcExperienceTimers, 0x1334)] - SpacePirateTimers: Annotated[ - cGcExperienceTimers, Field(cGcExperienceTimers, 0x1354) - ] - BulletTracer: Annotated[cGcTracerData, Field(cGcTracerData, 0x1374)] - ShipTracer: Annotated[cGcTracerData, Field(cGcTracerData, 0x138C)] + AsteroidResourceCollect: Annotated[cGcResourceCollectEffect, 0x1200] + AlienShipEvolveCosts: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0x1234)] + FlybyTimers: Annotated[cGcExperienceTimers, 0x1254] + FreighterTechQualityWeightings: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 8, 0x1274) + ] + FreighterTimers: Annotated[cGcExperienceTimers, 0x1294] + PlanetPirateTimers: Annotated[cGcExperienceTimers, 0x12B4] + PoliceTimers: Annotated[cGcExperienceTimers, 0x12D4] + SentinelTimersLow: Annotated[cGcExperienceTimers, 0x12F4] + SentinelTimersNormal: Annotated[cGcExperienceTimers, 0x1314] + SpaceFlybyTimers: Annotated[cGcExperienceTimers, 0x1334] + SpacePirateTimers: Annotated[cGcExperienceTimers, 0x1354] + BulletTracer: Annotated[cGcTracerData, 0x1374] + ShipTracer: Annotated[cGcTracerData, 0x138C] ChanceOfPirateFreighterBattleOnWarpToSystem: Annotated[ - float, Field(ctypes.c_float, 0x13A4) + tuple[float, ...], Field(ctypes.c_float * 4, 0x13A4) ] MissionSubstanceDifficultyMultipliers: Annotated[ - float, Field(ctypes.c_float, 0x13B4) - ] - PirateInterestLevels: Annotated[int, Field(ctypes.c_int32, 0x13C0)] - PirateInterestLevelsSurvival: Annotated[int, Field(ctypes.c_int32, 0x13CC)] - PoliceInterestLevels: Annotated[int, Field(ctypes.c_int32, 0x13D8)] - PoliceInterestLevelsSurvival: Annotated[int, Field(ctypes.c_int32, 0x13E4)] - FrigateFlybyTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x13F0)] - HUDDamageSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x13F8)] - HUDDamageSplatSize: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1400)] - Portal: Annotated[cGcPortalData, Field(cGcPortalData, 0x1408)] - SaveContextTransferShipCostScaleNanites: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1410) - ] - SaveContextTransferShipCostScaleUnits: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1418) - ] - SaveContextTransferWeaponCostScaleNanites: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1420) - ] - SaveContextTransferWeaponCostScaleUnits: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1428) - ] + tuple[float, ...], Field(ctypes.c_float * 3, 0x13B4) + ] + PirateInterestLevels: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 3, 0x13C0)] + PirateInterestLevelsSurvival: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 3, 0x13CC) + ] + PoliceInterestLevels: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 3, 0x13D8)] + PoliceInterestLevelsSurvival: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 3, 0x13E4) + ] + FrigateFlybyTimer: Annotated[basic.Vector2f, 0x13F0] + HUDDamageSize: Annotated[basic.Vector2f, 0x13F8] + HUDDamageSplatSize: Annotated[basic.Vector2f, 0x1400] + Portal: Annotated[cGcPortalData, 0x1408] + SaveContextTransferShipCostScaleNanites: Annotated[basic.Vector2f, 0x1410] + SaveContextTransferShipCostScaleUnits: Annotated[basic.Vector2f, 0x1418] + SaveContextTransferWeaponCostScaleNanites: Annotated[basic.Vector2f, 0x1420] + SaveContextTransferWeaponCostScaleUnits: Annotated[basic.Vector2f, 0x1428] AggressiveSentinelProbability: Annotated[float, Field(ctypes.c_float, 0x1430)] AggressiveSentinelProbabilitySurvival: Annotated[ float, Field(ctypes.c_float, 0x1434) @@ -33138,8 +26960,7 @@ class cGcGameplayGlobals(Structure): DeadPlanetGravityFactor: Annotated[float, Field(ctypes.c_float, 0x157C)] DeathMoneyPenalty: Annotated[int, Field(ctypes.c_int32, 0x1580)] DebugScanForceBuildingType: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x1584), + c_enum32[enums.cGcBuildingClassification], 0x1584 ] DeepWaterJellyCrimeModMax: Annotated[float, Field(ctypes.c_float, 0x1588)] DeepWaterResourceMulMax: Annotated[float, Field(ctypes.c_float, 0x158C)] @@ -33241,14 +27062,8 @@ class cGcGameplayGlobals(Structure): float, Field(ctypes.c_float, 0x16E0) ] InteractionMinTimeForResponseText: Annotated[float, Field(ctypes.c_float, 0x16E4)] - InteractionOverrideFrom: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x16E8), - ] - InteractionOverrideTo: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x16EC), - ] + InteractionOverrideFrom: Annotated[c_enum32[enums.cGcInteractionType], 0x16E8] + InteractionOverrideTo: Annotated[c_enum32[enums.cGcInteractionType], 0x16EC] InteractionPickupAngle: Annotated[float, Field(ctypes.c_float, 0x16F0)] InteractionPickupRadius: Annotated[float, Field(ctypes.c_float, 0x16F4)] InteractionStickOptionStrength: Annotated[float, Field(ctypes.c_float, 0x16F8)] @@ -33532,25 +27347,15 @@ class cGcGameplayGlobals(Structure): SpookMessageCooldown: Annotated[float, Field(ctypes.c_float, 0x1AB0)] SpookMessageThreshold: Annotated[float, Field(ctypes.c_float, 0x1AB4)] StormBonusJetpackMod: Annotated[float, Field(ctypes.c_float, 0x1AB8)] - StormBonusJetpackWeather: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x1ABC), - ] + StormBonusJetpackWeather: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x1ABC] StormBonusMiningAmountMod: Annotated[float, Field(ctypes.c_float, 0x1AC0)] StormBonusMiningAmountWeather: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x1AC4), + c_enum32[enums.cGcPlayerHazardType], 0x1AC4 ] StormBonusMiningHeatMod: Annotated[float, Field(ctypes.c_float, 0x1AC8)] - StormBonusMiningHeatWeather: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x1ACC), - ] + StormBonusMiningHeatWeather: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x1ACC] StormBonusSprintMod: Annotated[float, Field(ctypes.c_float, 0x1AD0)] - StormBonusSprintWeather: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x1AD4), - ] + StormBonusSprintWeather: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x1AD4] StormGravityChangeTime: Annotated[float, Field(ctypes.c_float, 0x1AD8)] SubstanceItemStockDecayTime: Annotated[int, Field(ctypes.c_int32, 0x1ADC)] SubstanceItemStockReplenishTime: Annotated[int, Field(ctypes.c_int32, 0x1AE0)] @@ -33570,8 +27375,7 @@ class cGcGameplayGlobals(Structure): TechDamageChanceShieldLevelMin: Annotated[float, Field(ctypes.c_float, 0x1B18)] TechDamageChanceToSelectPrimary: Annotated[float, Field(ctypes.c_float, 0x1B1C)] TechnologyOverrideForSmuggler: Annotated[ - c_enum32[enums.cGcTechnologyCategory], - Field(c_enum32[enums.cGcTechnologyCategory], 0x1B20), + c_enum32[enums.cGcTechnologyCategory], 0x1B20 ] TeleporterDistanceTravelledMultiplier: Annotated[ float, Field(ctypes.c_float, 0x1B24) @@ -33636,23 +27440,15 @@ class cGcGameplayGlobals(Structure): WeatherHazardGiftLifeTime: Annotated[float, Field(ctypes.c_float, 0x1C04)] WeatherHazardGiftMaxDistance: Annotated[float, Field(ctypes.c_float, 0x1C08)] ZoomFindBuildingRange: Annotated[float, Field(ctypes.c_float, 0x1C0C)] - DepotResource: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1C10) - ] - RobotResource: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1C30) - ] + DepotResource: Annotated[basic.cTkFixedString0x20, 0x1C10] + RobotResource: Annotated[basic.cTkFixedString0x20, 0x1C30] AllowBinocularMarker: Annotated[bool, Field(ctypes.c_bool, 0x1C50)] AllowDeconstruct: Annotated[bool, Field(ctypes.c_bool, 0x1C51)] AllowSpaceScanEvents: Annotated[bool, Field(ctypes.c_bool, 0x1C52)] - AtmosphereEntryCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1C53) - ] + AtmosphereEntryCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1C53] Autolevel: Annotated[bool, Field(ctypes.c_bool, 0x1C54)] BinocsDisplayUnknownCreatures: Annotated[bool, Field(ctypes.c_bool, 0x1C55)] - BinocularScanTargetHeightCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1C56) - ] + BinocularScanTargetHeightCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1C56] CanMoveTechnology: Annotated[bool, Field(ctypes.c_bool, 0x1C57)] ChangePricesLocally: Annotated[bool, Field(ctypes.c_bool, 0x1C58)] DebugDrawTriggerBoxes: Annotated[bool, Field(ctypes.c_bool, 0x1C59)] @@ -33677,18 +27473,10 @@ class cGcGameplayGlobals(Structure): MissionSurveySuggestSurveyForNearScannables: Annotated[ bool, Field(ctypes.c_bool, 0x1C6A) ] - OverheatColourCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1C6B) - ] - OverheatColourCurveShip: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1C6C) - ] - OverheatCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1C6D) - ] - PainCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1C6E) - ] + OverheatColourCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1C6B] + OverheatColourCurveShip: Annotated[c_enum32[enums.cTkCurveType], 0x1C6C] + OverheatCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1C6D] + PainCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1C6E] PlayHitEffectsOnZeroDamage: Annotated[bool, Field(ctypes.c_bool, 0x1C6F)] RewardInventoryClassItemFromShipSalvage: Annotated[ bool, Field(ctypes.c_bool, 0x1C70) @@ -33697,9 +27485,7 @@ class cGcGameplayGlobals(Structure): ScanToRevealNPCsAlwaysTriggersCameraEvent: Annotated[ bool, Field(ctypes.c_bool, 0x1C72) ] - ShipScanCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1C73) - ] + ShipScanCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1C73] ShowPriceMarkupsAsPercentages: Annotated[bool, Field(ctypes.c_bool, 0x1C74)] SpawnResourceBlobsOnPartDelete: Annotated[bool, Field(ctypes.c_bool, 0x1C75)] TechMustBeInTechInventory: Annotated[bool, Field(ctypes.c_bool, 0x1C76)] @@ -33715,98 +27501,88 @@ class cGcGameplayGlobals(Structure): @partial_struct class cGcGalaxyGlobals(Structure): MarkerSettings: Annotated[ - cGcGalaxyMarkerSettings, Field(cGcGalaxyMarkerSettings, 0x0) + tuple[cGcGalaxyMarkerSettings, ...], Field(cGcGalaxyMarkerSettings * 16, 0x0) + ] + DefaultRenderSetup: Annotated[cGcGalaxyRenderSetupData, 0xB00] + FinalAnimationRenderSetup: Annotated[cGcGalaxyRenderSetupData, 0xE40] + DefaultGeneration: Annotated[cGcGalaxyGenerationSetupData, 0x1180] + FinalAnimationGeneration: Annotated[cGcGalaxyGenerationSetupData, 0x1300] + RaceFilterDefaultColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 9, 0x1480) ] - DefaultRenderSetup: Annotated[ - cGcGalaxyRenderSetupData, Field(cGcGalaxyRenderSetupData, 0xB00) + RaceFilterDeuteranopiaColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 9, 0x1510) ] - FinalAnimationRenderSetup: Annotated[ - cGcGalaxyRenderSetupData, Field(cGcGalaxyRenderSetupData, 0xE40) + RaceFilterProtanopiaColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 9, 0x15A0) ] - DefaultGeneration: Annotated[ - cGcGalaxyGenerationSetupData, Field(cGcGalaxyGenerationSetupData, 0x1180) + RaceFilterTritanopiaColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 9, 0x1630) ] - FinalAnimationGeneration: Annotated[ - cGcGalaxyGenerationSetupData, Field(cGcGalaxyGenerationSetupData, 0x1300) + EconomyFilterDefaultColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x16C0) ] - RaceFilterDefaultColours: Annotated[basic.Colour, Field(basic.Colour, 0x1480)] - RaceFilterDeuteranopiaColours: Annotated[basic.Colour, Field(basic.Colour, 0x1510)] - RaceFilterProtanopiaColours: Annotated[basic.Colour, Field(basic.Colour, 0x15A0)] - RaceFilterTritanopiaColours: Annotated[basic.Colour, Field(basic.Colour, 0x1630)] - EconomyFilterDefaultColours: Annotated[basic.Colour, Field(basic.Colour, 0x16C0)] EconomyFilterDeuteranopiaColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x1730) + tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x1730) ] - EconomyFilterProtanopiaColours: Annotated[basic.Colour, Field(basic.Colour, 0x17A0)] - EconomyFilterTritanopiaColours: Annotated[basic.Colour, Field(basic.Colour, 0x1810)] - GalacticWaypointDefaultColours: Annotated[basic.Colour, Field(basic.Colour, 0x1880)] - GalacticWaypointDeuteranopiaColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x18F0) + EconomyFilterProtanopiaColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x17A0) ] - GalacticWaypointProtanopiaColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x1960) + EconomyFilterTritanopiaColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x1810) ] - GalacticWaypointTritanopiaColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x19D0) + GalacticWaypointDefaultColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x1880) ] - BaseStarDefaultColours: Annotated[ - cGcGalaxyStarColours, Field(cGcGalaxyStarColours, 0x1A40) + GalacticWaypointDeuteranopiaColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x18F0) ] - BaseStarDeuteranopiaColours: Annotated[ - cGcGalaxyStarColours, Field(cGcGalaxyStarColours, 0x1A90) + GalacticWaypointProtanopiaColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x1960) ] - BaseStarProtanopiaColours: Annotated[ - cGcGalaxyStarColours, Field(cGcGalaxyStarColours, 0x1AE0) + GalacticWaypointTritanopiaColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x19D0) ] - BaseStarTritanopiaColours: Annotated[ - cGcGalaxyStarColours, Field(cGcGalaxyStarColours, 0x1B30) + BaseStarDefaultColours: Annotated[cGcGalaxyStarColours, 0x1A40] + BaseStarDeuteranopiaColours: Annotated[cGcGalaxyStarColours, 0x1A90] + BaseStarProtanopiaColours: Annotated[cGcGalaxyStarColours, 0x1AE0] + BaseStarTritanopiaColours: Annotated[cGcGalaxyStarColours, 0x1B30] + ConflictFilterDefaultColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 4, 0x1B80) ] - ConflictFilterDefaultColours: Annotated[basic.Colour, Field(basic.Colour, 0x1B80)] ConflictFilterDeuteranopiaColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x1BC0) + tuple[basic.Colour, ...], Field(basic.Colour * 4, 0x1BC0) ] ConflictFilterProtanopiaColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x1C00) + tuple[basic.Colour, ...], Field(basic.Colour * 4, 0x1C00) ] ConflictFilterTritanopiaColours: Annotated[ - basic.Colour, Field(basic.Colour, 0x1C40) - ] - AnostreakAway: Annotated[ - cGcGalaxyRenderAnostreakData, Field(cGcGalaxyRenderAnostreakData, 0x1C80) - ] - AnostreakFacing: Annotated[ - cGcGalaxyRenderAnostreakData, Field(cGcGalaxyRenderAnostreakData, 0x1CB0) - ] - HandMenuOffset: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x1CE0) - ] - HandGizmoColourAt: Annotated[basic.Colour, Field(basic.Colour, 0x1D10)] - HandGizmoColourInner: Annotated[basic.Colour, Field(basic.Colour, 0x1D20)] - HandGizmoColourRight: Annotated[basic.Colour, Field(basic.Colour, 0x1D30)] - HandGizmoColourUp: Annotated[basic.Colour, Field(basic.Colour, 0x1D40)] - HandGizmoHeadOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1D50)] - SelectionTreeColour: Annotated[basic.Colour, Field(basic.Colour, 0x1D60)] - MarkerDefaultHex: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x1D70) - ] - Camera: Annotated[cGcGalaxyCameraData, Field(cGcGalaxyCameraData, 0x1D80)] - SolarSystemParameters: Annotated[ - cGcGalaxySolarSystemParams, Field(cGcGalaxySolarSystemParams, 0x1DF0) - ] - Audio: Annotated[cGcGalaxyAudioSetupData, Field(cGcGalaxyAudioSetupData, 0x1E4C)] - ClickToSelectIconOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1E90)] - GoalDistanceRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1E98)] - SolarInfoPanelAlignment: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1EA0)] - SolarInfoPanelLineOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1EA8)] - SolarInfoPanelOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1EB0)] - SolarInfoPanelOffsetVR: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1EB8)] - SolarMarkerAlignmentVR: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1EC0)] - SolarMarkerOriginOffsetVR: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1EC8)] - SolarMarkerOriginOffsetVRPS4: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1ED0) - ] - SolarMarkerSizeVR: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1ED8)] - SolarMarkerSizeVRPS4: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x1EE0)] + tuple[basic.Colour, ...], Field(basic.Colour * 4, 0x1C40) + ] + AnostreakAway: Annotated[cGcGalaxyRenderAnostreakData, 0x1C80] + AnostreakFacing: Annotated[cGcGalaxyRenderAnostreakData, 0x1CB0] + HandMenuOffset: Annotated[cGcInWorldUIScreenData, 0x1CE0] + HandGizmoColourAt: Annotated[basic.Colour, 0x1D10] + HandGizmoColourInner: Annotated[basic.Colour, 0x1D20] + HandGizmoColourRight: Annotated[basic.Colour, 0x1D30] + HandGizmoColourUp: Annotated[basic.Colour, 0x1D40] + HandGizmoHeadOffset: Annotated[basic.Vector3f, 0x1D50] + SelectionTreeColour: Annotated[basic.Colour, 0x1D60] + MarkerDefaultHex: Annotated[basic.VariableSizeString, 0x1D70] + Camera: Annotated[cGcGalaxyCameraData, 0x1D80] + SolarSystemParameters: Annotated[cGcGalaxySolarSystemParams, 0x1DF0] + Audio: Annotated[cGcGalaxyAudioSetupData, 0x1E4C] + ClickToSelectIconOffset: Annotated[basic.Vector2f, 0x1E90] + GoalDistanceRange: Annotated[basic.Vector2f, 0x1E98] + SolarInfoPanelAlignment: Annotated[basic.Vector2f, 0x1EA0] + SolarInfoPanelLineOffset: Annotated[basic.Vector2f, 0x1EA8] + SolarInfoPanelOffset: Annotated[basic.Vector2f, 0x1EB0] + SolarInfoPanelOffsetVR: Annotated[basic.Vector2f, 0x1EB8] + SolarMarkerAlignmentVR: Annotated[basic.Vector2f, 0x1EC0] + SolarMarkerOriginOffsetVR: Annotated[basic.Vector2f, 0x1EC8] + SolarMarkerOriginOffsetVRPS4: Annotated[basic.Vector2f, 0x1ED0] + SolarMarkerSizeVR: Annotated[basic.Vector2f, 0x1ED8] + SolarMarkerSizeVRPS4: Annotated[basic.Vector2f, 0x1EE0] AnostreakAlpha: Annotated[float, Field(ctypes.c_float, 0x1EE8)] ClickToSelectIconScale: Annotated[float, Field(ctypes.c_float, 0x1EEC)] DistanceComputerScale: Annotated[float, Field(ctypes.c_float, 0x1EF0)] @@ -33939,39 +27715,28 @@ class cGcGalaxyGlobals(Structure): float, Field(ctypes.c_float, 0x20D0) ] TransitionTime: Annotated[float, Field(ctypes.c_float, 0x20D4)] - AnostreakAlphaCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x20D8) - ] - AnostreakValueCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x20D9) - ] + AnostreakAlphaCurve: Annotated[c_enum32[enums.cTkCurveType], 0x20D8] + AnostreakValueCurve: Annotated[c_enum32[enums.cTkCurveType], 0x20D9] GizmoOnHand: Annotated[bool, Field(ctypes.c_bool, 0x20DA)] - MarkerPulseEndCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x20DB) - ] - MarkerPulseStartCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x20DC) - ] + MarkerPulseEndCurve: Annotated[c_enum32[enums.cTkCurveType], 0x20DB] + MarkerPulseStartCurve: Annotated[c_enum32[enums.cTkCurveType], 0x20DC] NewStyleLookAtCamera: Annotated[bool, Field(ctypes.c_bool, 0x20DD)] - TransitionOutCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x20DE) - ] + TransitionOutCurve: Annotated[c_enum32[enums.cTkCurveType], 0x20DE] @partial_struct class cGcFreighterBaseGlobals(Structure): NPCTypeSpawnPriorities: Annotated[ - cGcFreighterNPCSpawnPriority, Field(cGcFreighterNPCSpawnPriority, 0x0) + tuple[cGcFreighterNPCSpawnPriority, ...], + Field(cGcFreighterNPCSpawnPriority * 5, 0x0), ] FreighterRoomNPCData: Annotated[ - basic.cTkDynamicArray[cGcFreighterRoomNPCData], - Field(basic.cTkDynamicArray[cGcFreighterRoomNPCData], 0x50), + basic.cTkDynamicArray[cGcFreighterRoomNPCData], 0x50 ] - MaxTotalCapacityOfNPCTypes: Annotated[int, Field(ctypes.c_int32, 0x60)] - NPCNavNodeConnectivity: Annotated[ - cGcNPCNavSubgraphNodeTypeConnectivity, - Field(cGcNPCNavSubgraphNodeTypeConnectivity, 0x74), + MaxTotalCapacityOfNPCTypes: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 5, 0x60) ] + NPCNavNodeConnectivity: Annotated[cGcNPCNavSubgraphNodeTypeConnectivity, 0x74] MaxTotalNPCCount: Annotated[int, Field(ctypes.c_int32, 0x84)] MinTotalRoomsRequiredPerNPC: Annotated[float, Field(ctypes.c_float, 0x88)] NPCSpawnIntervalTime: Annotated[float, Field(ctypes.c_float, 0x8C)] @@ -33980,204 +27745,96 @@ class cGcFreighterBaseGlobals(Structure): @partial_struct class cGcEffectsGlobals(Structure): - ResourceRendererData: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x0) - ] - HologramComponentDefaultMaterial: Annotated[ - cTkMaterialResource, Field(cTkMaterialResource, 0xB0) - ] + ResourceRendererData: Annotated[cTkModelRendererData, 0x0] + HologramComponentDefaultMaterial: Annotated[cTkMaterialResource, 0xB0] ClickToPlayCameraOffset: Annotated[float, Field(ctypes.c_float, 0xC8)] ClickToPlayScale: Annotated[float, Field(ctypes.c_float, 0xCC)] @partial_struct class cGcFleetGlobals(Structure): - CompletedFrigateHologramScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x0) - ] - DamagedFrigateHologramScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x50) - ] - DestroyedFrigateHologramScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0xA0) - ] - FrigateHologramScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0xF0) - ] - FrigateScanEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x140)] - FreighterCustomiserSunAngleAdjust: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x190) - ] - PirateFreighterCustomiserSunAngleAdjust: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x1A0) - ] - FrigateInitialStats: Annotated[ - cGcFrigateStatsByClass, Field(cGcFrigateStatsByClass, 0x1B0) - ] - FrigateTraitStrengths: Annotated[ - cGcFrigateTraitStrengthByType, Field(cGcFrigateTraitStrengthByType, 0x5C0) - ] - PassiveIncomes: Annotated[ - cGcPassiveFrigateIncomeArray, Field(cGcPassiveFrigateIncomeArray, 0x930) - ] + CompletedFrigateHologramScanEffect: Annotated[cGcScanEffectData, 0x0] + DamagedFrigateHologramScanEffect: Annotated[cGcScanEffectData, 0x50] + DestroyedFrigateHologramScanEffect: Annotated[cGcScanEffectData, 0xA0] + FrigateHologramScanEffect: Annotated[cGcScanEffectData, 0xF0] + FrigateScanEffect: Annotated[cGcScanEffectData, 0x140] + FreighterCustomiserSunAngleAdjust: Annotated[basic.Vector3f, 0x190] + PirateFreighterCustomiserSunAngleAdjust: Annotated[basic.Vector3f, 0x1A0] + FrigateInitialStats: Annotated[cGcFrigateStatsByClass, 0x1B0] + FrigateTraitStrengths: Annotated[cGcFrigateTraitStrengthByType, 0x5C0] + PassiveIncomes: Annotated[cGcPassiveFrigateIncomeArray, 0x930] DeepSpaceFrigateMoods: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0xA70) - ] - NegativeTraitIcons: Annotated[ - cGcFrigateTraitIcons, Field(cGcFrigateTraitIcons, 0xB78) - ] - TraitIcons: Annotated[cGcFrigateTraitIcons, Field(cGcFrigateTraitIcons, 0xC28)] - CivilianMPMissionGiverPuzzle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xCD8) - ] - CommunicatorDamagePuzzleTableEntry: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xCF8) - ] - DeepSpaceFrigateActivePuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xD18) - ] - DeepSpaceFrigateDebriefPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xD38) - ] - FleetCommunicationOSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xD58) - ] - FrigateDamagePuzzleTableEntry: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xD78) - ] - FrigatePurchasePuzzleTableEntry: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xD98) - ] - NeedAvailableExpeditionTerminalPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xDB8) - ] - NeedExpeditionTerminalPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xDD8) - ] - NeedFrigatesPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xDF8) - ] - NewExpeditionsAvailablePuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE18) - ] - NormandyActivePuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE38) - ] - NormandyDebriefPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE58) - ] - SelectExpeditionPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE78) - ] - TerminalActivePuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE98) - ] - TerminalDamagePuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xEB8) - ] - TerminalDebriefPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xED8) - ] - TerminalInterventionPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xEF8) - ] - TerminalNeedsAssignmentPuzzleID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xF18) - ] - FrigateBadMoods: Annotated[cGcNumberedTextList, Field(cGcNumberedTextList, 0xF38)] - FrigateDamageDescriptions: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0xF50) - ] - FrigateExtraNotes: Annotated[cGcNumberedTextList, Field(cGcNumberedTextList, 0xF68)] - FrigateGoodMoods: Annotated[cGcNumberedTextList, Field(cGcNumberedTextList, 0xF80)] + tuple[cGcNumberedTextList, ...], Field(cGcNumberedTextList * 11, 0xA70) + ] + NegativeTraitIcons: Annotated[cGcFrigateTraitIcons, 0xB78] + TraitIcons: Annotated[cGcFrigateTraitIcons, 0xC28] + CivilianMPMissionGiverPuzzle: Annotated[basic.cTkFixedString0x20, 0xCD8] + CommunicatorDamagePuzzleTableEntry: Annotated[basic.cTkFixedString0x20, 0xCF8] + DeepSpaceFrigateActivePuzzleID: Annotated[basic.cTkFixedString0x20, 0xD18] + DeepSpaceFrigateDebriefPuzzleID: Annotated[basic.cTkFixedString0x20, 0xD38] + FleetCommunicationOSDMessage: Annotated[basic.cTkFixedString0x20, 0xD58] + FrigateDamagePuzzleTableEntry: Annotated[basic.cTkFixedString0x20, 0xD78] + FrigatePurchasePuzzleTableEntry: Annotated[basic.cTkFixedString0x20, 0xD98] + NeedAvailableExpeditionTerminalPuzzleID: Annotated[basic.cTkFixedString0x20, 0xDB8] + NeedExpeditionTerminalPuzzleID: Annotated[basic.cTkFixedString0x20, 0xDD8] + NeedFrigatesPuzzleID: Annotated[basic.cTkFixedString0x20, 0xDF8] + NewExpeditionsAvailablePuzzleID: Annotated[basic.cTkFixedString0x20, 0xE18] + NormandyActivePuzzleID: Annotated[basic.cTkFixedString0x20, 0xE38] + NormandyDebriefPuzzleID: Annotated[basic.cTkFixedString0x20, 0xE58] + SelectExpeditionPuzzleID: Annotated[basic.cTkFixedString0x20, 0xE78] + TerminalActivePuzzleID: Annotated[basic.cTkFixedString0x20, 0xE98] + TerminalDamagePuzzleID: Annotated[basic.cTkFixedString0x20, 0xEB8] + TerminalDebriefPuzzleID: Annotated[basic.cTkFixedString0x20, 0xED8] + TerminalInterventionPuzzleID: Annotated[basic.cTkFixedString0x20, 0xEF8] + TerminalNeedsAssignmentPuzzleID: Annotated[basic.cTkFixedString0x20, 0xF18] + FrigateBadMoods: Annotated[cGcNumberedTextList, 0xF38] + FrigateDamageDescriptions: Annotated[cGcNumberedTextList, 0xF50] + FrigateExtraNotes: Annotated[cGcNumberedTextList, 0xF68] + FrigateGoodMoods: Annotated[cGcNumberedTextList, 0xF80] CombatSpawnDelayIncreaseByInventoryClass: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0xF98), + basic.cTkDynamicArray[ctypes.c_float], 0xF98 ] DebriefPunctuationList: Annotated[ - basic.cTkDynamicArray[cGcExpeditionDebriefPunctuation], - Field(basic.cTkDynamicArray[cGcExpeditionDebriefPunctuation], 0xFA8), + basic.cTkDynamicArray[cGcExpeditionDebriefPunctuation], 0xFA8 ] DeepSpaceCommonPrimaryTraits: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xFB8), - ] - DeepSpaceFrigateTraits: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xFC8), - ] - DifficultyModifier: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0xFD8), + basic.cTkDynamicArray[basic.TkID0x10], 0xFB8 ] + DeepSpaceFrigateTraits: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xFC8] + DifficultyModifier: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0xFD8] ExpeditionDifficultyKeyframes: Annotated[ - basic.cTkDynamicArray[cGcExpeditionDifficultyKeyframe], - Field(basic.cTkDynamicArray[cGcExpeditionDifficultyKeyframe], 0xFE8), - ] - ExpeditionRankBoundaries: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0xFF8), + basic.cTkDynamicArray[cGcExpeditionDifficultyKeyframe], 0xFE8 ] + ExpeditionRankBoundaries: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0xFF8] FreighterTokenProductIDs: Annotated[ - basic.cTkDynamicArray[cGcExpeditionPaymentToken], - Field(basic.cTkDynamicArray[cGcExpeditionPaymentToken], 0x1008), + basic.cTkDynamicArray[cGcExpeditionPaymentToken], 0x1008 ] FrigateCaptainPuzzleIds: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x1018), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x1018 ] FrigateHologramModels: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x1028), + basic.cTkDynamicArray[basic.VariableSizeString], 0x1028 ] FrigateInteriorsToCache: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x1038), + basic.cTkDynamicArray[basic.VariableSizeString], 0x1038 ] FrigateLevelVictoriesRequired: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x1048), + basic.cTkDynamicArray[ctypes.c_int32], 0x1048 ] FrigatePlanetModels: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x1058), - ] - GhostShipFrigateTraits: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x1068), - ] - NormandyTraits: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x1078), - ] - Powerups: Annotated[ - basic.cTkDynamicArray[cGcExpeditionPowerup], - Field(basic.cTkDynamicArray[cGcExpeditionPowerup], 0x1088), - ] - UITraitLineLengths: Annotated[ - basic.cTkDynamicArray[cGcFrigateUITraitLines], - Field(basic.cTkDynamicArray[cGcFrigateUITraitLines], 0x1098), - ] - EventTypeOccurrenceChance: Annotated[ - cGcExpeditionEventOccurrenceRate, - Field(cGcExpeditionEventOccurrenceRate, 0x10A8), - ] - FrigateBaseCost: Annotated[cGcFrigateClassCost, Field(cGcFrigateClassCost, 0x110C)] - FrigateCostVariance: Annotated[ - cGcFrigateClassCost, Field(cGcFrigateClassCost, 0x1134) - ] - ExpeditionDurations: Annotated[ - cGcExpeditionDurationValues, Field(cGcExpeditionDurationValues, 0x115C) - ] - FleetInteractionDepthOfField: Annotated[ - cGcInteractionDof, Field(cGcInteractionDof, 0x1170) - ] - FrigateCostMultiplier: Annotated[ - cGcInventoryClassCostMultiplier, Field(cGcInventoryClassCostMultiplier, 0x1184) - ] - PercentChanceOfDamageOnFailedEvent: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x1194) - ] + basic.cTkDynamicArray[basic.VariableSizeString], 0x1058 + ] + GhostShipFrigateTraits: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x1068] + NormandyTraits: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x1078] + Powerups: Annotated[basic.cTkDynamicArray[cGcExpeditionPowerup], 0x1088] + UITraitLineLengths: Annotated[basic.cTkDynamicArray[cGcFrigateUITraitLines], 0x1098] + EventTypeOccurrenceChance: Annotated[cGcExpeditionEventOccurrenceRate, 0x10A8] + FrigateBaseCost: Annotated[cGcFrigateClassCost, 0x110C] + FrigateCostVariance: Annotated[cGcFrigateClassCost, 0x1134] + ExpeditionDurations: Annotated[cGcExpeditionDurationValues, 0x115C] + FleetInteractionDepthOfField: Annotated[cGcInteractionDof, 0x1170] + FrigateCostMultiplier: Annotated[cGcInventoryClassCostMultiplier, 0x1184] + PercentChanceOfDamageOnFailedEvent: Annotated[basic.Vector2f, 0x1194] CameraPauseAfterStartingExpedition: Annotated[float, Field(ctypes.c_float, 0x119C)] CombatDefenderSpawnDelay: Annotated[float, Field(ctypes.c_float, 0x11A0)] CombatFrigateSpawnAngle: Annotated[float, Field(ctypes.c_float, 0x11A4)] @@ -34217,10 +27874,7 @@ class eForceDebriefEntryTypeEnum(IntEnum): GenericFailure = 0x9 WhaleFailure = 0xA - ForceDebriefEntryType: Annotated[ - c_enum32[eForceDebriefEntryTypeEnum], - Field(c_enum32[eForceDebriefEntryTypeEnum], 0x11E0), - ] + ForceDebriefEntryType: Annotated[c_enum32[eForceDebriefEntryTypeEnum], 0x11E0] ForcedSequentialEventsStartingIndex: Annotated[int, Field(ctypes.c_int32, 0x11E4)] FreighterTokenMinimumSpend: Annotated[int, Field(ctypes.c_int32, 0x11E8)] FrigateDistanceMultiplierIfNoCaptialShip: Annotated[ @@ -34313,7 +27967,8 @@ class eForceDebriefEntryTypeEnum(IntEnum): TimeTakenForExpeditionEvent_Easy: Annotated[int, Field(ctypes.c_int32, 0x12D8)] UITraitLinesAngle: Annotated[float, Field(ctypes.c_float, 0x12DC)] RacialTermForCaptain: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x12E0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 9, 0x12E0), ] DisablePlayerFleets: Annotated[bool, Field(ctypes.c_bool, 0x1400)] ExpeditionsCompleteInstantly: Annotated[bool, Field(ctypes.c_bool, 0x1401)] @@ -34324,313 +27979,135 @@ class eForceDebriefEntryTypeEnum(IntEnum): @partial_struct class cGcCameraGlobals(Structure): - CameraCreatureCustomiseBack: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x0) - ] - CameraCreatureCustomiseDefault: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0xB0) - ] - CameraCreatureCustomiseFront: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x160) - ] - CameraCreatureCustomiseLeft: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x210) - ] - CameraCreatureCustomiseRight: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x2C0) - ] - CameraNPCShipInteraction: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x370) - ] - CameraNPCShopInteraction: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x420) - ] - FreighterCustomisationStandardCamera: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x4D0) - ] - FreighterCustomisationStandardCameraAlt: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0x580) - ] - FirstPersonCamOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x630)] - BaseBuildingFreeCameraSettings: Annotated[ - cGcCameraFreeSettings, Field(cGcCameraFreeSettings, 0x6C0) - ] - ShipConstructionFreeCameraSettings: Annotated[ - cGcCameraFreeSettings, Field(cGcCameraFreeSettings, 0x700) - ] - BuildableShipMaxSizeCameraOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x740) - ] - BuildableShipMaxSizeForCamera: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x750) - ] - BuildableShipMinSizeForCamera: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x760) - ] - BuildingModeInitialOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x770)] - FirstPersonInShipCamOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x780)] - InteractionHailingFocusOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x790) - ] - InteractionOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x7A0)] - InteractionOffsetCronus: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x7B0)] - InteractionOffsetDefault: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x7C0)] - InteractionOffsetExtraVR: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x7D0)] - InteractionOffsetExtraVRSeated: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x7E0) - ] - InteractionOffsetGek: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x7F0)] - InteractionOffsetRecruitment: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x800) - ] - InteractionOffsetSpiderman: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x810)] - InteractionShipFocusOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x820)] - MiniportalFlashColour: Annotated[basic.Colour, Field(basic.Colour, 0x830)] - ModelViewOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x840)] - OffsetCamOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x850)] - OffsetCamRotation: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x860)] - OffsetForFleetInteraction: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x870)] - OffsetForFrigateInteraction: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x880)] - PhotoModeShipOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x890)] - PhotoModeVRFPOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x8A0)] - ShopInteractionOffsetExtraVR: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x8B0) - ] - ShopInteractionOffsetExtraVRSeated: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x8C0) - ] - VehicleExitFlashColour: Annotated[basic.Colour, Field(basic.Colour, 0x8D0)] - VRGravityChangeFlashColour: Annotated[basic.Colour, Field(basic.Colour, 0x8E0)] - AlienShipFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x8F0) - ] - BikeFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x9F0) - ] - BuggyFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0xAF0) - ] - BuildingIndoorsCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0xBF0) - ] - BuildingOutdoorsCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0xCF0) - ] - BuildingUnderwaterCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0xDF0) - ] - CharacterAbandCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0xEF0) - ] - CharacterAbandCombatCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0xFF0) - ] - CharacterAirborneCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x10F0) - ] - CharacterAirborneCombatCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x11F0) - ] - CharacterCombatCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x12F0) - ] - CharacterCorvetteCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x13F0) - ] - CharacterFallingCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x14F0) - ] - CharacterFishingCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x15F0) - ] - CharacterGrabbedCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x16F0) - ] - CharacterIndoorCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x17F0) - ] - CharacterMeleeBoostCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x18F0) - ] - CharacterMiningCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x19F0) - ] - CharacterNexusCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x1AF0) - ] - CharacterRideCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x1BF0) - ] - CharacterRideCamHuge: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x1CF0) - ] - CharacterRideCamLarge: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x1DF0) - ] - CharacterRideCamMedium: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x1EF0) - ] - CharacterRocketBootsCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x1FF0) - ] - CharacterRocketBootsChargeCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x20F0) - ] - CharacterRunCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x21F0) - ] - CharacterSitCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x22F0) - ] - CharacterSpaceCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x23F0) - ] - CharacterSpacewalkCombatCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x24F0) - ] - CharacterSteepSlopeCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x25F0) - ] - CharacterSurfaceWaterCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x26F0) - ] - CharacterUnarmedCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x27F0) - ] - CharacterUndergroundCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x28F0) - ] - CharacterUnderwaterCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x29F0) - ] - CharacterUnderwaterCombatCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x2AF0) - ] - CharacterUnderwaterJetpackAscentCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x2BF0) - ] - CharacterUnderwaterJetpackCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x2CF0) - ] - CorvetteFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x2DF0) - ] - DropshipFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x2EF0) - ] - HovercraftFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x2FF0) - ] - MechCombatCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x30F0) - ] - MechFirstPersonCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x31F0) - ] - MechFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x32F0) - ] - MechJetpackCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x33F0) - ] - RobotShipFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x34F0) - ] - RoyalShipFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x35F0) - ] - SailShipFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x36F0) - ] - ScienceShipFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x37F0) - ] - ShuttleFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x38F0) - ] - SpaceshipFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x39F0) - ] - SubmarineFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x3AF0) - ] - SubmarineFollowCamSurface: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x3BF0) - ] - TruckFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x3CF0) - ] - VehicleCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x3DF0) - ] - VehicleCamHmd: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x3EF0) - ] - WheeledBikeFollowCam: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x3FF0) - ] - AmbientCameraAnimations: Annotated[ - cGcCameraAnimationData, Field(cGcCameraAnimationData, 0x40F0) - ] - AmbientDroneAnimations: Annotated[cTkModelResource, Field(cTkModelResource, 0x4110)] + CameraCreatureCustomiseBack: Annotated[cTkModelRendererData, 0x0] + CameraCreatureCustomiseDefault: Annotated[cTkModelRendererData, 0xB0] + CameraCreatureCustomiseFront: Annotated[cTkModelRendererData, 0x160] + CameraCreatureCustomiseLeft: Annotated[cTkModelRendererData, 0x210] + CameraCreatureCustomiseRight: Annotated[cTkModelRendererData, 0x2C0] + CameraNPCShipInteraction: Annotated[cTkModelRendererData, 0x370] + CameraNPCShopInteraction: Annotated[cTkModelRendererData, 0x420] + FreighterCustomisationStandardCamera: Annotated[cTkModelRendererData, 0x4D0] + FreighterCustomisationStandardCameraAlt: Annotated[cTkModelRendererData, 0x580] + FirstPersonCamOffset: Annotated[ + tuple[basic.Vector3f, ...], Field(basic.Vector3f * 9, 0x630) + ] + BaseBuildingFreeCameraSettings: Annotated[cGcCameraFreeSettings, 0x6C0] + ShipConstructionFreeCameraSettings: Annotated[cGcCameraFreeSettings, 0x700] + BuildableShipMaxSizeCameraOffset: Annotated[basic.Vector3f, 0x740] + BuildableShipMaxSizeForCamera: Annotated[basic.Vector3f, 0x750] + BuildableShipMinSizeForCamera: Annotated[basic.Vector3f, 0x760] + BuildingModeInitialOffset: Annotated[basic.Vector3f, 0x770] + FirstPersonInShipCamOffset: Annotated[basic.Vector3f, 0x780] + InteractionHailingFocusOffset: Annotated[basic.Vector3f, 0x790] + InteractionOffset: Annotated[basic.Vector3f, 0x7A0] + InteractionOffsetCronus: Annotated[basic.Vector3f, 0x7B0] + InteractionOffsetDefault: Annotated[basic.Vector3f, 0x7C0] + InteractionOffsetExtraVR: Annotated[basic.Vector3f, 0x7D0] + InteractionOffsetExtraVRSeated: Annotated[basic.Vector3f, 0x7E0] + InteractionOffsetGek: Annotated[basic.Vector3f, 0x7F0] + InteractionOffsetRecruitment: Annotated[basic.Vector3f, 0x800] + InteractionOffsetSpiderman: Annotated[basic.Vector3f, 0x810] + InteractionShipFocusOffset: Annotated[basic.Vector3f, 0x820] + MiniportalFlashColour: Annotated[basic.Colour, 0x830] + ModelViewOffset: Annotated[basic.Vector3f, 0x840] + OffsetCamOffset: Annotated[basic.Vector3f, 0x850] + OffsetCamRotation: Annotated[basic.Vector3f, 0x860] + OffsetForFleetInteraction: Annotated[basic.Vector3f, 0x870] + OffsetForFrigateInteraction: Annotated[basic.Vector3f, 0x880] + PhotoModeShipOffset: Annotated[basic.Vector3f, 0x890] + PhotoModeVRFPOffset: Annotated[basic.Vector3f, 0x8A0] + ShopInteractionOffsetExtraVR: Annotated[basic.Vector3f, 0x8B0] + ShopInteractionOffsetExtraVRSeated: Annotated[basic.Vector3f, 0x8C0] + VehicleExitFlashColour: Annotated[basic.Colour, 0x8D0] + VRGravityChangeFlashColour: Annotated[basic.Colour, 0x8E0] + AlienShipFollowCam: Annotated[cGcCameraFollowSettings, 0x8F0] + BikeFollowCam: Annotated[cGcCameraFollowSettings, 0x9F0] + BuggyFollowCam: Annotated[cGcCameraFollowSettings, 0xAF0] + BuildingIndoorsCam: Annotated[cGcCameraFollowSettings, 0xBF0] + BuildingOutdoorsCam: Annotated[cGcCameraFollowSettings, 0xCF0] + BuildingUnderwaterCam: Annotated[cGcCameraFollowSettings, 0xDF0] + CharacterAbandCam: Annotated[cGcCameraFollowSettings, 0xEF0] + CharacterAbandCombatCam: Annotated[cGcCameraFollowSettings, 0xFF0] + CharacterAirborneCam: Annotated[cGcCameraFollowSettings, 0x10F0] + CharacterAirborneCombatCam: Annotated[cGcCameraFollowSettings, 0x11F0] + CharacterCombatCam: Annotated[cGcCameraFollowSettings, 0x12F0] + CharacterCorvetteCam: Annotated[cGcCameraFollowSettings, 0x13F0] + CharacterFallingCam: Annotated[cGcCameraFollowSettings, 0x14F0] + CharacterFishingCam: Annotated[cGcCameraFollowSettings, 0x15F0] + CharacterGrabbedCam: Annotated[cGcCameraFollowSettings, 0x16F0] + CharacterIndoorCam: Annotated[cGcCameraFollowSettings, 0x17F0] + CharacterMeleeBoostCam: Annotated[cGcCameraFollowSettings, 0x18F0] + CharacterMiningCam: Annotated[cGcCameraFollowSettings, 0x19F0] + CharacterNexusCam: Annotated[cGcCameraFollowSettings, 0x1AF0] + CharacterRideCam: Annotated[cGcCameraFollowSettings, 0x1BF0] + CharacterRideCamHuge: Annotated[cGcCameraFollowSettings, 0x1CF0] + CharacterRideCamLarge: Annotated[cGcCameraFollowSettings, 0x1DF0] + CharacterRideCamMedium: Annotated[cGcCameraFollowSettings, 0x1EF0] + CharacterRocketBootsCam: Annotated[cGcCameraFollowSettings, 0x1FF0] + CharacterRocketBootsChargeCam: Annotated[cGcCameraFollowSettings, 0x20F0] + CharacterRunCam: Annotated[cGcCameraFollowSettings, 0x21F0] + CharacterSitCam: Annotated[cGcCameraFollowSettings, 0x22F0] + CharacterSpaceCam: Annotated[cGcCameraFollowSettings, 0x23F0] + CharacterSpacewalkCombatCam: Annotated[cGcCameraFollowSettings, 0x24F0] + CharacterSteepSlopeCam: Annotated[cGcCameraFollowSettings, 0x25F0] + CharacterSurfaceWaterCam: Annotated[cGcCameraFollowSettings, 0x26F0] + CharacterUnarmedCam: Annotated[cGcCameraFollowSettings, 0x27F0] + CharacterUndergroundCam: Annotated[cGcCameraFollowSettings, 0x28F0] + CharacterUnderwaterCam: Annotated[cGcCameraFollowSettings, 0x29F0] + CharacterUnderwaterCombatCam: Annotated[cGcCameraFollowSettings, 0x2AF0] + CharacterUnderwaterJetpackAscentCam: Annotated[cGcCameraFollowSettings, 0x2BF0] + CharacterUnderwaterJetpackCam: Annotated[cGcCameraFollowSettings, 0x2CF0] + CorvetteFollowCam: Annotated[cGcCameraFollowSettings, 0x2DF0] + DropshipFollowCam: Annotated[cGcCameraFollowSettings, 0x2EF0] + HovercraftFollowCam: Annotated[cGcCameraFollowSettings, 0x2FF0] + MechCombatCam: Annotated[cGcCameraFollowSettings, 0x30F0] + MechFirstPersonCam: Annotated[cGcCameraFollowSettings, 0x31F0] + MechFollowCam: Annotated[cGcCameraFollowSettings, 0x32F0] + MechJetpackCam: Annotated[cGcCameraFollowSettings, 0x33F0] + RobotShipFollowCam: Annotated[cGcCameraFollowSettings, 0x34F0] + RoyalShipFollowCam: Annotated[cGcCameraFollowSettings, 0x35F0] + SailShipFollowCam: Annotated[cGcCameraFollowSettings, 0x36F0] + ScienceShipFollowCam: Annotated[cGcCameraFollowSettings, 0x37F0] + ShuttleFollowCam: Annotated[cGcCameraFollowSettings, 0x38F0] + SpaceshipFollowCam: Annotated[cGcCameraFollowSettings, 0x39F0] + SubmarineFollowCam: Annotated[cGcCameraFollowSettings, 0x3AF0] + SubmarineFollowCamSurface: Annotated[cGcCameraFollowSettings, 0x3BF0] + TruckFollowCam: Annotated[cGcCameraFollowSettings, 0x3CF0] + VehicleCam: Annotated[cGcCameraFollowSettings, 0x3DF0] + VehicleCamHmd: Annotated[cGcCameraFollowSettings, 0x3EF0] + WheeledBikeFollowCam: Annotated[cGcCameraFollowSettings, 0x3FF0] + AmbientCameraAnimations: Annotated[cGcCameraAnimationData, 0x40F0] + AmbientDroneAnimations: Annotated[cTkModelResource, 0x4110] AerialViewDataTable: Annotated[ - basic.cTkDynamicArray[cGcCameraAerialViewDataTableEntry], - Field(basic.cTkDynamicArray[cGcCameraAerialViewDataTableEntry], 0x4130), - ] - CameraAmbientAnimationsData: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x4140) - ] - Cameras: Annotated[ - basic.cTkDynamicArray[cGcCameraFollowSettings], - Field(basic.cTkDynamicArray[cGcCameraFollowSettings], 0x4150), - ] - CameraShakeTable: Annotated[ - basic.cTkDynamicArray[cGcCameraShakeData], - Field(basic.cTkDynamicArray[cGcCameraShakeData], 0x4160), - ] - SavedCameraFacing: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x4170), - ] - SavedCameraPositions: Annotated[ - basic.cTkDynamicArray[cTkBigPosData], - Field(basic.cTkDynamicArray[cTkBigPosData], 0x4180), - ] - CorvetteWarpSettings: Annotated[ - cGcCameraWarpSettings, Field(cGcCameraWarpSettings, 0x4190) - ] - FreighterWarpSettings: Annotated[ - cGcCameraWarpSettings, Field(cGcCameraWarpSettings, 0x41E4) - ] - PirateFreighterWarpSettings: Annotated[ - cGcCameraWarpSettings, Field(cGcCameraWarpSettings, 0x4238) - ] - WarpSettings: Annotated[cGcCameraWarpSettings, Field(cGcCameraWarpSettings, 0x428C)] + basic.cTkDynamicArray[cGcCameraAerialViewDataTableEntry], 0x4130 + ] + CameraAmbientAnimationsData: Annotated[basic.VariableSizeString, 0x4140] + Cameras: Annotated[basic.cTkDynamicArray[cGcCameraFollowSettings], 0x4150] + CameraShakeTable: Annotated[basic.cTkDynamicArray[cGcCameraShakeData], 0x4160] + SavedCameraFacing: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x4170] + SavedCameraPositions: Annotated[basic.cTkDynamicArray[cTkBigPosData], 0x4180] + CorvetteWarpSettings: Annotated[cGcCameraWarpSettings, 0x4190] + FreighterWarpSettings: Annotated[cGcCameraWarpSettings, 0x41E4] + PirateFreighterWarpSettings: Annotated[cGcCameraWarpSettings, 0x4238] + WarpSettings: Annotated[cGcCameraWarpSettings, 0x428C] FocusBuildingModeDistanceControlSettings: Annotated[ - cGcCameraFocusBuildingControlSettings, - Field(cGcCameraFocusBuildingControlSettings, 0x42E0), + cGcCameraFocusBuildingControlSettings, 0x42E0 ] FocusBuildingModePitchControlSettings: Annotated[ - cGcCameraFocusBuildingControlSettings, - Field(cGcCameraFocusBuildingControlSettings, 0x4300), + cGcCameraFocusBuildingControlSettings, 0x4300 ] FocusBuildingModePlanarControlSettings: Annotated[ - cGcCameraFocusBuildingControlSettings, - Field(cGcCameraFocusBuildingControlSettings, 0x4320), + cGcCameraFocusBuildingControlSettings, 0x4320 ] FocusBuildingModeVerticalControlSettings: Annotated[ - cGcCameraFocusBuildingControlSettings, - Field(cGcCameraFocusBuildingControlSettings, 0x4340), + cGcCameraFocusBuildingControlSettings, 0x4340 ] FocusBuildingModeYawControlSettings: Annotated[ - cGcCameraFocusBuildingControlSettings, - Field(cGcCameraFocusBuildingControlSettings, 0x4360), - ] - ModelViewFocusOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x4380)] - PitchForFrigateInteraction: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x4388)] - RotationForFrigateInteraction: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x4390) + cGcCameraFocusBuildingControlSettings, 0x4360 ] + ModelViewFocusOffset: Annotated[basic.Vector2f, 0x4380] + PitchForFrigateInteraction: Annotated[basic.Vector2f, 0x4388] + RotationForFrigateInteraction: Annotated[basic.Vector2f, 0x4390] AerialViewBackTime: Annotated[float, Field(ctypes.c_float, 0x4398)] AerialViewBlendTime: Annotated[float, Field(ctypes.c_float, 0x439C)] AerialViewDownDistance: Annotated[float, Field(ctypes.c_float, 0x43A0)] @@ -34946,9 +28423,7 @@ class cGcCameraGlobals(Structure): VRGravityChangeMaxFlashTime: Annotated[float, Field(ctypes.c_float, 0x47A0)] VRGravityChangeMinFlashTime: Annotated[float, Field(ctypes.c_float, 0x47A4)] VRShakeMultiplier: Annotated[float, Field(ctypes.c_float, 0x47A8)] - AerialViewCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x47AC) - ] + AerialViewCurve: Annotated[c_enum32[enums.cTkCurveType], 0x47AC] CreatureInteractionInterpolateDuringHold: Annotated[ bool, Field(ctypes.c_bool, 0x47AD) ] @@ -34963,33 +28438,36 @@ class cGcCameraGlobals(Structure): @partial_struct class cGcBuildingGlobals(Structure): - BuildingPartPreviewOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - MarkerLineColour: Annotated[basic.Colour, Field(basic.Colour, 0x10)] - Icons: Annotated[cGcBuildMenuIconSet, Field(cGcBuildMenuIconSet, 0x20)] - IconsTouch: Annotated[cGcBuildMenuIconSet, Field(cGcBuildMenuIconSet, 0x410)] - ControlsIcons: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x800)] - ScreenSpaceRotationGlow: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x950) - ] - ScreenSpaceRotationIcon: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x968) - ] - FreighterBaseSpawnOverride: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x980) - ] - ActiveLodDistances: Annotated[cTkLODDistances, Field(cTkLODDistances, 0x990)] - InactiveLodDistances: Annotated[cTkLODDistances, Field(cTkLODDistances, 0x9E0)] - TotalPlanetFrameTimeForComplexity: Annotated[float, Field(ctypes.c_float, 0xA30)] - TotalSpaceFrameTimeForComplexity: Annotated[float, Field(ctypes.c_float, 0xA40)] - BuildingPlacementScaleMinMax: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0xA50) + BuildingPartPreviewOffset: Annotated[basic.Vector3f, 0x0] + MarkerLineColour: Annotated[basic.Colour, 0x10] + Icons: Annotated[ + tuple[cGcBuildMenuIconSet, ...], Field(cGcBuildMenuIconSet * 21, 0x20) ] + IconsTouch: Annotated[ + tuple[cGcBuildMenuIconSet, ...], Field(cGcBuildMenuIconSet * 21, 0x410) + ] + ControlsIcons: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 21, 0x800) + ] + ScreenSpaceRotationGlow: Annotated[cTkTextureResource, 0x950] + ScreenSpaceRotationIcon: Annotated[cTkTextureResource, 0x968] + FreighterBaseSpawnOverride: Annotated[basic.VariableSizeString, 0x980] + ActiveLodDistances: Annotated[ + tuple[cTkLODDistances, ...], Field(cTkLODDistances * 4, 0x990) + ] + InactiveLodDistances: Annotated[ + tuple[cTkLODDistances, ...], Field(cTkLODDistances * 4, 0x9E0) + ] + TotalPlanetFrameTimeForComplexity: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0xA30) + ] + TotalSpaceFrameTimeForComplexity: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0xA40) + ] + BuildingPlacementScaleMinMax: Annotated[basic.Vector2f, 0xA50] AddToRadius_DoNotPlaceClose: Annotated[float, Field(ctypes.c_float, 0xA58)] AmountToMoveMarkerRoundSphere: Annotated[float, Field(ctypes.c_float, 0xA5C)] - BaseBuildingCamMode: Annotated[ - c_enum32[enums.cGcBaseBuildingCameraMode], - Field(c_enum32[enums.cGcBaseBuildingCameraMode], 0xA60), - ] + BaseBuildingCamMode: Annotated[c_enum32[enums.cGcBaseBuildingCameraMode], 0xA60] BaseBuildingTerrainEditBaseYOffset: Annotated[float, Field(ctypes.c_float, 0xA64)] BaseBuildingTerrainEditBoundsScalar: Annotated[float, Field(ctypes.c_float, 0xA68)] BaseBuildingTerrainEditTopYOffset: Annotated[float, Field(ctypes.c_float, 0xA6C)] @@ -35247,33 +28725,26 @@ class cGcBuildingGlobals(Structure): AllowBuildingUsingIntermediates: Annotated[bool, Field(ctypes.c_bool, 0xD2C)] BaseBuildingTerrainEditBoundsOverride: Annotated[bool, Field(ctypes.c_bool, 0xD2D)] BuildingPlacementEffectEnabled: Annotated[bool, Field(ctypes.c_bool, 0xD2E)] - BuildingPlacementGhostHeartSizeCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xD2F) - ] + BuildingPlacementGhostHeartSizeCurve: Annotated[c_enum32[enums.cTkCurveType], 0xD2F] DebugForceShowInactives: Annotated[bool, Field(ctypes.c_bool, 0xD30)] - LineCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xD31) - ] + LineCurve: Annotated[c_enum32[enums.cTkCurveType], 0xD31] @partial_struct class cGcAudioGlobals(Structure): ByteBeatScaleDegreeProbability: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x0), - ] - NPCEngines: Annotated[cGcAudioNPCDoppler, Field(cGcAudioNPCDoppler, 0x10)] - DroneDoppler: Annotated[ - cGcAudio3PointDopplerData, Field(cGcAudio3PointDopplerData, 0x64) - ] - ByteBeatSpeakerMaxAmplitude: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x70)] - ByteBeatSpeakerMaxFrequency: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x78)] - ByteBeatSpeakerMinFrequency: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x80)] - CommsChatterFalloffFreighers: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x88)] - CommsChatterFalloffShips: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x90)] - ShorelineSenseRadius: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x98)] - ShorelineSenseUJitter: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xA0)] - ShorelineSenseVJitter: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xA8)] + basic.cTkDynamicArray[ctypes.c_float], 0x0 + ] + NPCEngines: Annotated[cGcAudioNPCDoppler, 0x10] + DroneDoppler: Annotated[cGcAudio3PointDopplerData, 0x64] + ByteBeatSpeakerMaxAmplitude: Annotated[basic.Vector2f, 0x70] + ByteBeatSpeakerMaxFrequency: Annotated[basic.Vector2f, 0x78] + ByteBeatSpeakerMinFrequency: Annotated[basic.Vector2f, 0x80] + CommsChatterFalloffFreighers: Annotated[basic.Vector2f, 0x88] + CommsChatterFalloffShips: Annotated[basic.Vector2f, 0x90] + ShorelineSenseRadius: Annotated[basic.Vector2f, 0x98] + ShorelineSenseUJitter: Annotated[basic.Vector2f, 0xA0] + ShorelineSenseVJitter: Annotated[basic.Vector2f, 0xA8] ArmFoleySpeedMultiplier: Annotated[float, Field(ctypes.c_float, 0xB0)] ArmWhooshFoleyValueTrigger: Annotated[float, Field(ctypes.c_float, 0xB4)] AtlasStationActiveDistance: Annotated[float, Field(ctypes.c_float, 0xB8)] @@ -35333,29 +28804,27 @@ class cGcAudioGlobals(Structure): @partial_struct class cGcTerrainEditsBuffer(Structure): - BufferAnchors: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - GalacticAddresses: Annotated[int, Field(ctypes.c_uint64, 0x1000)] - Edits: Annotated[cGcTerrainEdit, Field(cGcTerrainEdit, 0x1800)] - BufferSizes: Annotated[int, Field(ctypes.c_int32, 0x3C180)] - BufferAges: Annotated[bytes, Field(ctypes.c_byte, 0x3C580)] - BufferProtected: Annotated[bool, Field(ctypes.c_bool, 0x3C680)] + BufferAnchors: Annotated[ + tuple[basic.Vector3f, ...], Field(basic.Vector3f * 256, 0x0) + ] + GalacticAddresses: Annotated[tuple[int, ...], Field(ctypes.c_uint64 * 256, 0x1000)] + Edits: Annotated[tuple[cGcTerrainEdit, ...], Field(cGcTerrainEdit * 30000, 0x1800)] + BufferSizes: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 256, 0x3C180)] + BufferAges: Annotated[tuple[bytes, ...], Field(ctypes.c_byte * 256, 0x3C580)] + BufferProtected: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 256, 0x3C680)] @partial_struct class cGcUniverseAddressData(Structure): - GalacticAddress: Annotated[ - cGcGalacticAddressData, Field(cGcGalacticAddressData, 0x0) - ] + GalacticAddress: Annotated[cGcGalacticAddressData, 0x0] RealityIndex: Annotated[int, Field(ctypes.c_int32, 0x14)] @partial_struct class cGcTeleportEndpoint(Structure): - Facing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - UniverseAddress: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x20) - ] + Facing: Annotated[basic.Vector3f, 0x0] + Position: Annotated[basic.Vector3f, 0x10] + UniverseAddress: Annotated[cGcUniverseAddressData, 0x20] class eTeleporterTypeEnum(IntEnum): Base = 0x0 @@ -35370,10 +28839,8 @@ class eTeleporterTypeEnum(IntEnum): Freighter = 0x9 Frigate = 0xA - TeleporterType: Annotated[ - c_enum32[eTeleporterTypeEnum], Field(c_enum32[eTeleporterTypeEnum], 0x38) - ] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x3C)] + TeleporterType: Annotated[c_enum32[eTeleporterTypeEnum], 0x38] + Name: Annotated[basic.cTkFixedString0x40, 0x3C] CalcWarpOffset: Annotated[bool, Field(ctypes.c_bool, 0x7C)] IsFavourite: Annotated[bool, Field(ctypes.c_bool, 0x7D)] IsFeatured: Annotated[bool, Field(ctypes.c_bool, 0x7E)] @@ -35381,58 +28848,47 @@ class eTeleporterTypeEnum(IntEnum): @partial_struct class cGcUAProtectedLocations(Structure): - ProtectedLocations: Annotated[ - basic.cTkDynamicArray[cGcProtectedLocation], - Field(basic.cTkDynamicArray[cGcProtectedLocation], 0x0), - ] + ProtectedLocations: Annotated[basic.cTkDynamicArray[cGcProtectedLocation], 0x0] UA: Annotated[int, Field(ctypes.c_uint64, 0x10)] @partial_struct class cGcSeasonalStage(Structure): - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] - Milestones: Annotated[ - basic.cTkDynamicArray[cGcSeasonalMilestone], - Field(basic.cTkDynamicArray[cGcSeasonalMilestone], 0x40), - ] + Description: Annotated[basic.cTkFixedString0x20, 0x0] + Title: Annotated[basic.cTkFixedString0x20, 0x20] + Milestones: Annotated[basic.cTkDynamicArray[cGcSeasonalMilestone], 0x40] @partial_struct class cGcSettlementLocalSaveData(Structure): - BuildingSeeds: Annotated[int, Field(ctypes.c_uint64, 0x0)] - ByteBeatJukebox: Annotated[ - cGcByteBeatJukeboxData, Field(cGcByteBeatJukeboxData, 0x180) - ] + BuildingSeeds: Annotated[tuple[int, ...], Field(ctypes.c_uint64 * 48, 0x0)] + ByteBeatJukebox: Annotated[cGcByteBeatJukeboxData, 0x180] TowerPowerTimeStamps: Annotated[ - cGcSettlementTowerPowerTimestamps, - Field(cGcSettlementTowerPowerTimestamps, 0x288), + tuple[cGcSettlementTowerPowerTimestamps, ...], + Field(cGcSettlementTowerPowerTimestamps * 3, 0x288), ] Seed: Annotated[int, Field(ctypes.c_uint64, 0x300)] - Buildings: Annotated[int, Field(ctypes.c_int32, 0x308)] + Buildings: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 48, 0x308)] HasScannedToReveal: Annotated[bool, Field(ctypes.c_bool, 0x3C8)] RequiresStatConversion: Annotated[bool, Field(ctypes.c_bool, 0x3C9)] @partial_struct class cGcSettlementState(Structure): - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - LastBuildingUpgradesTimestamps: Annotated[int, Field(ctypes.c_uint64, 0x10)] + Position: Annotated[basic.Vector3f, 0x0] + LastBuildingUpgradesTimestamps: Annotated[ + tuple[int, ...], Field(ctypes.c_uint64 * 48, 0x10) + ] ProductionState: Annotated[ - cGcSettlementProductionSlotData, Field(cGcSettlementProductionSlotData, 0x190) + tuple[cGcSettlementProductionSlotData, ...], + Field(cGcSettlementProductionSlotData * 2, 0x190), ] - LastJudgementPerkID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1F0)] + LastJudgementPerkID: Annotated[basic.TkID0x10, 0x1F0] LastWeaponRefreshTime: Annotated[ - basic.cTkDynamicArray[cGcSettlementWeaponRespawnData], - Field(basic.cTkDynamicArray[cGcSettlementWeaponRespawnData], 0x200), - ] - PendingCustomJudgementID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x210)] - Perks: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x220), + basic.cTkDynamicArray[cGcSettlementWeaponRespawnData], 0x200 ] + PendingCustomJudgementID: Annotated[basic.TkID0x10, 0x210] + Perks: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x220] DbTimestamp: Annotated[int, Field(ctypes.c_uint64, 0x230)] LastAlertChangeTime: Annotated[int, Field(ctypes.c_uint64, 0x238)] LastBugAttackChangeTime: Annotated[int, Field(ctypes.c_uint64, 0x240)] @@ -35445,49 +28901,37 @@ class cGcSettlementState(Structure): NextBuildingUpgradeSeedValue: Annotated[int, Field(ctypes.c_uint64, 0x278)] SeedValue: Annotated[int, Field(ctypes.c_uint64, 0x280)] UniverseAddress: Annotated[int, Field(ctypes.c_uint64, 0x288)] - Owner: Annotated[cGcDiscoveryOwner, Field(cGcDiscoveryOwner, 0x290)] - BuildingStates: Annotated[int, Field(ctypes.c_int32, 0x394)] - Stats: Annotated[int, Field(ctypes.c_int32, 0x454)] + Owner: Annotated[cGcDiscoveryOwner, 0x290] + BuildingStates: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 48, 0x394)] + Stats: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0x454)] DbVersion: Annotated[int, Field(ctypes.c_int32, 0x474)] NextBuildingUpgradeClass: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x478), + c_enum32[enums.cGcBuildingClassification], 0x478 ] NextBuildingUpgradeIndex: Annotated[int, Field(ctypes.c_int32, 0x47C)] - PendingJudgementType: Annotated[ - c_enum32[enums.cGcSettlementJudgementType], - Field(c_enum32[enums.cGcSettlementJudgementType], 0x480), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x484) - ] + PendingJudgementType: Annotated[c_enum32[enums.cGcSettlementJudgementType], 0x480] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x484] Population: Annotated[int, Field(ctypes.c_uint16, 0x488)] - DbResourceId: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x48A) - ] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x4CA)] - UniqueId: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x50A) - ] + DbResourceId: Annotated[basic.cTkFixedString0x40, 0x48A] + Name: Annotated[basic.cTkFixedString0x40, 0x4CA] + UniqueId: Annotated[basic.cTkFixedString0x40, 0x50A] IsReported: Annotated[bool, Field(ctypes.c_bool, 0x54A)] @partial_struct class cGcSeasonTransferInventoryConfig(Structure): - Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x0)] - SlotItemFilterIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x18), - ] + Layout: Annotated[cGcInventoryLayout, 0x0] + SlotItemFilterIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x18] Width: Annotated[int, Field(ctypes.c_int32, 0x28)] @partial_struct class cGcPlayerMissionProgress(Structure): Participants: Annotated[ - cGcPlayerMissionParticipant, Field(cGcPlayerMissionParticipant, 0x0) + tuple[cGcPlayerMissionParticipant, ...], + Field(cGcPlayerMissionParticipant * 13, 0x0), ] - Mission: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x270)] + Mission: Annotated[basic.TkID0x10, 0x270] Data: Annotated[int, Field(ctypes.c_uint64, 0x280)] Seed: Annotated[int, Field(ctypes.c_uint64, 0x288)] Stat: Annotated[int, Field(ctypes.c_uint64, 0x290)] @@ -35497,57 +28941,32 @@ class cGcPlayerMissionProgress(Structure): @partial_struct class cGcPetCustomisationData(Structure): Data: Annotated[ - cGcCharacterCustomisationSaveData, Field(cGcCharacterCustomisationSaveData, 0x0) + tuple[cGcCharacterCustomisationSaveData, ...], + Field(cGcCharacterCustomisationSaveData * 3, 0x0), ] @partial_struct class cGcInventoryContainer(Structure): - BaseStatValues: Annotated[ - basic.cTkDynamicArray[cGcInventoryBaseStatEntry], - Field(basic.cTkDynamicArray[cGcInventoryBaseStatEntry], 0x0), - ] - Slots: Annotated[ - basic.cTkDynamicArray[cGcInventoryElement], - Field(basic.cTkDynamicArray[cGcInventoryElement], 0x10), - ] - SpecialSlots: Annotated[ - basic.cTkDynamicArray[cGcInventorySpecialSlot], - Field(basic.cTkDynamicArray[cGcInventorySpecialSlot], 0x20), - ] - ValidSlotIndices: Annotated[ - basic.cTkDynamicArray[cGcInventoryIndex], - Field(basic.cTkDynamicArray[cGcInventoryIndex], 0x30), - ] - Class: Annotated[ - c_enum32[enums.cGcInventoryClass], - Field(c_enum32[enums.cGcInventoryClass], 0x40), - ] + BaseStatValues: Annotated[basic.cTkDynamicArray[cGcInventoryBaseStatEntry], 0x0] + Slots: Annotated[basic.cTkDynamicArray[cGcInventoryElement], 0x10] + SpecialSlots: Annotated[basic.cTkDynamicArray[cGcInventorySpecialSlot], 0x20] + ValidSlotIndices: Annotated[basic.cTkDynamicArray[cGcInventoryIndex], 0x30] + Class: Annotated[c_enum32[enums.cGcInventoryClass], 0x40] Height: Annotated[int, Field(ctypes.c_int32, 0x44)] NumSlotsFromTech: Annotated[int, Field(ctypes.c_int32, 0x48)] - StackSizeGroup: Annotated[ - c_enum32[enums.cGcInventoryStackSizeGroup], - Field(c_enum32[enums.cGcInventoryStackSizeGroup], 0x4C), - ] + StackSizeGroup: Annotated[c_enum32[enums.cGcInventoryStackSizeGroup], 0x4C] Version: Annotated[int, Field(ctypes.c_int32, 0x50)] Width: Annotated[int, Field(ctypes.c_int32, 0x54)] - Name: Annotated[basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x58)] + Name: Annotated[basic.cTkFixedString0x100, 0x58] IsCool: Annotated[bool, Field(ctypes.c_bool, 0x158)] @partial_struct class cGcMaintenanceContainer(Structure): - InventoryContainer: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x0) - ] - AmountAccumulators: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x160), - ] - DamageTimers: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x170), - ] + InventoryContainer: Annotated[cGcInventoryContainer, 0x0] + AmountAccumulators: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x160] + DamageTimers: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x170] LastBrokenTimestamp: Annotated[int, Field(ctypes.c_uint64, 0x180)] LastCompletedTimestamp: Annotated[int, Field(ctypes.c_uint64, 0x188)] LastUpdateTimestamp: Annotated[int, Field(ctypes.c_uint64, 0x190)] @@ -35556,136 +28975,89 @@ class cGcMaintenanceContainer(Structure): @partial_struct class cGcCustomisationPreset(Structure): - Data: Annotated[ - cGcCharacterCustomisationData, Field(cGcCharacterCustomisationData, 0x0) - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] + Data: Annotated[cGcCharacterCustomisationData, 0x0] + Name: Annotated[basic.TkID0x10, 0x58] @partial_struct class cGcCustomisationDescriptorGroupSet(Structure): DescriptorGroups: Annotated[ - basic.cTkDynamicArray[cGcCustomisationDescriptorGroup], - Field(basic.cTkDynamicArray[cGcCustomisationDescriptorGroup], 0x0), + basic.cTkDynamicArray[cGcCustomisationDescriptorGroup], 0x0 ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - RequiresGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x20)] + Id: Annotated[basic.TkID0x10, 0x10] + RequiresGroup: Annotated[basic.TkID0x10, 0x20] GroupsAreMutuallyExclusive: Annotated[bool, Field(ctypes.c_bool, 0x30)] @partial_struct class cGcSnapPointCondition(Structure): - ObjectId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ObjectId: Annotated[basic.TkID0x10, 0x0] SnapPointIndex: Annotated[int, Field(ctypes.c_int32, 0x10)] - SnapState: Annotated[ - c_enum32[enums.cGcBaseSnapState], Field(c_enum32[enums.cGcBaseSnapState], 0x14) - ] - SnapPoint: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x18) - ] + SnapState: Annotated[c_enum32[enums.cGcBaseSnapState], 0x14] + SnapPoint: Annotated[basic.cTkFixedString0x80, 0x18] @partial_struct class cGcOutSnapSocketCondition(Structure): - ObjectId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] + ObjectId: Annotated[basic.TkID0x10, 0x0] OutSocketIndex: Annotated[int, Field(ctypes.c_int32, 0x10)] SnapPointIndex: Annotated[int, Field(ctypes.c_int32, 0x14)] - SnapState: Annotated[ - c_enum32[enums.cGcBaseSnapState], Field(c_enum32[enums.cGcBaseSnapState], 0x18) - ] - OutSocket: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x1C) - ] - SnapPoint: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x9C) - ] + SnapState: Annotated[c_enum32[enums.cGcBaseSnapState], 0x18] + OutSocket: Annotated[basic.cTkFixedString0x80, 0x1C] + SnapPoint: Annotated[basic.cTkFixedString0x80, 0x9C] @partial_struct class cGcBaseBuildingPartStyleModel(Structure): - Inactive: Annotated[cTkModelResource, Field(cTkModelResource, 0x0)] - Model: Annotated[cTkModelResource, Field(cTkModelResource, 0x20)] - Style: Annotated[ - c_enum32[enums.cGcBaseBuildingPartStyle], - Field(c_enum32[enums.cGcBaseBuildingPartStyle], 0x40), - ] + Inactive: Annotated[cTkModelResource, 0x0] + Model: Annotated[cTkModelResource, 0x20] + Style: Annotated[c_enum32[enums.cGcBaseBuildingPartStyle], 0x40] @partial_struct class cGcBaseBuildingPartNavData(Structure): - PartID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - NavNodeData: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingPartNavNodeData], - Field(basic.cTkDynamicArray[cGcBaseBuildingPartNavNodeData], 0x20), - ] + PartID: Annotated[basic.TkID0x20, 0x0] + NavNodeData: Annotated[basic.cTkDynamicArray[cGcBaseBuildingPartNavNodeData], 0x20] SharedInteractions: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingPartInteractionData], - Field(basic.cTkDynamicArray[cGcBaseBuildingPartInteractionData], 0x30), + basic.cTkDynamicArray[cGcBaseBuildingPartInteractionData], 0x30 ] @partial_struct class cGcBaseBuildingPartAudioLocationEntry(Structure): - PartId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - AudioLocation: Annotated[ - c_enum32[enums.cGcBasePartAudioLocation], - Field(c_enum32[enums.cGcBasePartAudioLocation], 0x10), - ] + PartId: Annotated[basic.TkID0x10, 0x0] + AudioLocation: Annotated[c_enum32[enums.cGcBasePartAudioLocation], 0x10] @partial_struct class cGcSentinelSpawnWave(Structure): - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Spawns: Annotated[ - basic.cTkDynamicArray[cGcSentinelSpawnData], - Field(basic.cTkDynamicArray[cGcSentinelSpawnData], 0x10), - ] + Id: Annotated[basic.TkID0x10, 0x0] + Spawns: Annotated[basic.cTkDynamicArray[cGcSentinelSpawnData], 0x10] ReinforceAt: Annotated[int, Field(ctypes.c_int32, 0x20)] @partial_struct class cGcNPCPlacementInfo(Structure): - ScanToRevealData: Annotated[ - cGcScanToRevealComponentData, Field(cGcScanToRevealComponentData, 0x0) - ] - ForceInteraction: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x50)] - HideDuringMissions: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x70), - ] + ScanToRevealData: Annotated[cGcScanToRevealComponentData, 0x0] + ForceInteraction: Annotated[basic.TkID0x20, 0x50] + HideDuringMissions: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x70] MoodMissionOverrideTable: Annotated[ - basic.cTkDynamicArray[cGcAlienMoodMissionOverride], - Field(basic.cTkDynamicArray[cGcAlienMoodMissionOverride], 0x80), + basic.cTkDynamicArray[cGcAlienMoodMissionOverride], 0x80 ] - PlacementRuleId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] + PlacementRuleId: Annotated[basic.TkID0x10, 0x90] PuzzleMissionOverrideTable: Annotated[ - basic.cTkDynamicArray[cGcAlienPuzzleMissionOverride], - Field(basic.cTkDynamicArray[cGcAlienPuzzleMissionOverride], 0xA0), - ] - SpawnSpecific: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - DefaultProp: Annotated[ - c_enum32[enums.cGcNPCPropType], Field(c_enum32[enums.cGcNPCPropType], 0xC0) + basic.cTkDynamicArray[cGcAlienPuzzleMissionOverride], 0xA0 ] + SpawnSpecific: Annotated[basic.TkID0x10, 0xB0] + DefaultProp: Annotated[c_enum32[enums.cGcNPCPropType], 0xC0] FractionOfNodesActive: Annotated[float, Field(ctypes.c_float, 0xC4)] - InteractionOverride: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0xC8), - ] + InteractionOverride: Annotated[c_enum32[enums.cGcInteractionType], 0xC8] MaxNodesActivated: Annotated[int, Field(ctypes.c_int32, 0xCC)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0xD0) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0xD0] SpawnChance: Annotated[float, Field(ctypes.c_float, 0xD4)] - TechShopCategory: Annotated[ - c_enum32[enums.cGcTechnologyCategory], - Field(c_enum32[enums.cGcTechnologyCategory], 0xD8), - ] - PlacmentNodeName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xDC) - ] - SpawnUnderNodeName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xFC) - ] + TechShopCategory: Annotated[c_enum32[enums.cGcTechnologyCategory], 0xD8] + PlacmentNodeName: Annotated[basic.cTkFixedString0x20, 0xDC] + SpawnUnderNodeName: Annotated[basic.cTkFixedString0x20, 0xFC] CanTurn: Annotated[bool, Field(ctypes.c_bool, 0x11C)] DisableInteraction: Annotated[bool, Field(ctypes.c_bool, 0x11D)] IsMannequin: Annotated[bool, Field(ctypes.c_bool, 0x11E)] @@ -35701,22 +29073,14 @@ class cGcNPCPlacementInfo(Structure): @partial_struct class cGcFiendCrimeSpawnTable(Structure): - Spawns: Annotated[ - basic.cTkDynamicArray[cGcFiendCrimeSpawnData], - Field(basic.cTkDynamicArray[cGcFiendCrimeSpawnData], 0x0), - ] - Crime: Annotated[ - c_enum32[enums.cGcFiendCrime], Field(c_enum32[enums.cGcFiendCrime], 0x10) - ] + Spawns: Annotated[basic.cTkDynamicArray[cGcFiendCrimeSpawnData], 0x0] + Crime: Annotated[c_enum32[enums.cGcFiendCrime], 0x10] ResponseRate: Annotated[float, Field(ctypes.c_float, 0x14)] @partial_struct class cGcImpactCombatEffectData(Structure): - CombatEffectType: Annotated[ - c_enum32[enums.cGcCombatEffectType], - Field(c_enum32[enums.cGcCombatEffectType], 0x0), - ] + CombatEffectType: Annotated[c_enum32[enums.cGcCombatEffectType], 0x0] CurrentDuration: Annotated[float, Field(ctypes.c_float, 0x4)] DamagePerSeccond: Annotated[float, Field(ctypes.c_float, 0x8)] TotalDuration: Annotated[float, Field(ctypes.c_float, 0xC)] @@ -35724,74 +29088,45 @@ class cGcImpactCombatEffectData(Structure): @partial_struct class cGcCombatEffectData(Structure): - DamageId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - ParticlesId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + DamageId: Annotated[basic.TkID0x10, 0x0] + ParticlesId: Annotated[basic.TkID0x10, 0x10] DamageMergeTime: Annotated[float, Field(ctypes.c_float, 0x20)] DamageMinDistance: Annotated[float, Field(ctypes.c_float, 0x24)] DamageTimeBetweenNumbers: Annotated[float, Field(ctypes.c_float, 0x28)] - EndAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x2C), - ] - StartAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x30), - ] - Stat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x34) - ] + EndAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x2C] + StartAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x30] + Stat: Annotated[c_enum32[enums.cGcStatsTypes], 0x34] OverrideDamageNumberData: Annotated[bool, Field(ctypes.c_bool, 0x38)] @partial_struct class cGcCollisionCapsule(Structure): - CapsuleAxis: Annotated[cAxisSpecification, Field(cAxisSpecification, 0x0)] - CapsuleCentre: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] + CapsuleAxis: Annotated[cAxisSpecification, 0x0] + CapsuleCentre: Annotated[basic.Vector3f, 0x20] CapsuleLength: Annotated[float, Field(ctypes.c_float, 0x30)] CapsuleRadius: Annotated[float, Field(ctypes.c_float, 0x34)] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x38)] - NodeName: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x78)] + Name: Annotated[basic.cTkFixedString0x40, 0x38] + NodeName: Annotated[basic.cTkFixedString0x40, 0x78] Enabled: Annotated[bool, Field(ctypes.c_bool, 0xB8)] ImproveCollisionForNarrowCapsule: Annotated[bool, Field(ctypes.c_bool, 0xB9)] @partial_struct class cTkAnimationComponentData(Structure): - Idle: Annotated[cTkAnimationData, Field(cTkAnimationData, 0x0)] - AnimGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x118)] - AnimLibraries: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x128), - ] - Anims: Annotated[ - basic.cTkDynamicArray[cTkAnimationData], - Field(basic.cTkDynamicArray[cTkAnimationData], 0x138), - ] - JointLODOverrides: Annotated[ - basic.cTkDynamicArray[cTkAnimJointLODData], - Field(basic.cTkDynamicArray[cTkAnimJointLODData], 0x148), - ] - RandomOneShots: Annotated[ - basic.cTkDynamicArray[cTkAnimRandomOneShots], - Field(basic.cTkDynamicArray[cTkAnimRandomOneShots], 0x158), - ] - Trees: Annotated[ - basic.cTkDynamicArray[cTkAnimBlendTree], - Field(basic.cTkDynamicArray[cTkAnimBlendTree], 0x168), - ] + Idle: Annotated[cTkAnimationData, 0x0] + AnimGroup: Annotated[basic.TkID0x10, 0x118] + AnimLibraries: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x128] + Anims: Annotated[basic.cTkDynamicArray[cTkAnimationData], 0x138] + JointLODOverrides: Annotated[basic.cTkDynamicArray[cTkAnimJointLODData], 0x148] + RandomOneShots: Annotated[basic.cTkDynamicArray[cTkAnimRandomOneShots], 0x158] + Trees: Annotated[basic.cTkDynamicArray[cTkAnimBlendTree], 0x168] NetSyncAnimations: Annotated[bool, Field(ctypes.c_bool, 0x178)] @partial_struct class cGcCreatureFullBodyIKComponentData(Structure): - JointData: Annotated[ - basic.cTkDynamicArray[cGcCreatureIkData], - Field(basic.cTkDynamicArray[cGcCreatureIkData], 0x0), - ] - PistonData: Annotated[ - basic.cTkDynamicArray[cGcIkPistonData], - Field(basic.cTkDynamicArray[cGcIkPistonData], 0x10), - ] + JointData: Annotated[basic.cTkDynamicArray[cGcCreatureIkData], 0x0] + PistonData: Annotated[basic.cTkDynamicArray[cGcIkPistonData], 0x10] BodyMassWeight: Annotated[float, Field(ctypes.c_float, 0x20)] FootAngleSpeed: Annotated[float, Field(ctypes.c_float, 0x24)] FootPlantSpringTime: Annotated[float, Field(ctypes.c_float, 0x28)] @@ -35811,16 +29146,11 @@ class cGcCreatureFullBodyIKComponentData(Structure): @partial_struct class cGcNGuiLayerData(Structure): - ElementData: Annotated[cGcNGuiElementData, Field(cGcNGuiElementData, 0x0)] - Children: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x68), - ] - DataFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x78) - ] - Image: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x88)] - Style: Annotated[cTkNGuiGraphicStyle, Field(cTkNGuiGraphicStyle, 0x98)] + ElementData: Annotated[cGcNGuiElementData, 0x0] + Children: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x68] + DataFilename: Annotated[basic.VariableSizeString, 0x78] + Image: Annotated[basic.VariableSizeString, 0x88] + Style: Annotated[cTkNGuiGraphicStyle, 0x98] class eAltModeEnum(IntEnum): None_ = 0x0 @@ -35829,39 +29159,41 @@ class eAltModeEnum(IntEnum): NeverOnTouch = 0x3 OnlyOnTouch = 0x4 - AltMode: Annotated[c_enum32[eAltModeEnum], Field(c_enum32[eAltModeEnum], 0x1B8)] + AltMode: Annotated[c_enum32[eAltModeEnum], 0x1B8] @partial_struct class cGcNGuiPreset(Structure): - Text: Annotated[cGcNGuiPresetText, Field(cGcNGuiPresetText, 0x0)] - Graphic: Annotated[cGcNGuiPresetGraphic, Field(cGcNGuiPresetGraphic, 0x1590)] - Layer: Annotated[cGcNGuiPresetGraphic, Field(cGcNGuiPresetGraphic, 0x24E0)] - SpacingLayout: Annotated[cGcNGuiLayoutData, Field(cGcNGuiLayoutData, 0x3430)] - Font: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x3478)] + Text: Annotated[tuple[cGcNGuiPresetText, ...], Field(cGcNGuiPresetText * 10, 0x0)] + Graphic: Annotated[ + tuple[cGcNGuiPresetGraphic, ...], Field(cGcNGuiPresetGraphic * 10, 0x1590) + ] + Layer: Annotated[ + tuple[cGcNGuiPresetGraphic, ...], Field(cGcNGuiPresetGraphic * 10, 0x24E0) + ] + SpacingLayout: Annotated[cGcNGuiLayoutData, 0x3430] + Font: Annotated[basic.VariableSizeString, 0x3478] @partial_struct class cTkHeavyAirData(Structure): - AmplitudeMax: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - AmplitudeMin: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Colour1: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - Colour2: Annotated[basic.Colour, Field(basic.Colour, 0x30)] - MajorDirection: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x40)] - RotationSpeedRange: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x50)] - ScaleRange: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x60)] - TwinkleRange: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70)] - Material: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x80)] - WindDrift: Annotated[cTkEmitterWindDrift, Field(cTkEmitterWindDrift, 0x90)] + AmplitudeMax: Annotated[basic.Vector3f, 0x0] + AmplitudeMin: Annotated[basic.Vector3f, 0x10] + Colour1: Annotated[basic.Colour, 0x20] + Colour2: Annotated[basic.Colour, 0x30] + MajorDirection: Annotated[basic.Vector3f, 0x40] + RotationSpeedRange: Annotated[basic.Vector3f, 0x50] + ScaleRange: Annotated[basic.Vector3f, 0x60] + TwinkleRange: Annotated[basic.Vector3f, 0x70] + Material: Annotated[basic.VariableSizeString, 0x80] + WindDrift: Annotated[cTkEmitterWindDrift, 0x90] class eEmitterShapeEnum(IntEnum): Sphere = 0x0 UpperHalfSphere = 0x1 BottomHalfSphere = 0x2 - EmitterShape: Annotated[ - c_enum32[eEmitterShapeEnum], Field(c_enum32[eEmitterShapeEnum], 0xAC) - ] + EmitterShape: Annotated[c_enum32[eEmitterShapeEnum], 0xAC] FadeTime: Annotated[float, Field(ctypes.c_float, 0xB0)] MaxParticleLifetime: Annotated[float, Field(ctypes.c_float, 0xB4)] MaxVisibleSpeed: Annotated[float, Field(ctypes.c_float, 0xB8)] @@ -35879,23 +29211,19 @@ class eEmitterShapeEnum(IntEnum): @partial_struct class cTkProceduralTextureList(Structure): - Layers: Annotated[cTkProceduralTextureLayer, Field(cTkProceduralTextureLayer, 0x0)] + Layers: Annotated[ + tuple[cTkProceduralTextureLayer, ...], Field(cTkProceduralTextureLayer * 8, 0x0) + ] AlwaysEnableUnnamedTextureLayers: Annotated[bool, Field(ctypes.c_bool, 0x240)] @partial_struct class cGcRagdollComponentData(Structure): - EasySetUpData: Annotated[ - cGcEasyRagdollSetUpData, Field(cGcEasyRagdollSetUpData, 0x0) - ] + EasySetUpData: Annotated[cGcEasyRagdollSetUpData, 0x0] OtherKnownAnimations: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x40], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x30), - ] - RagdollBones: Annotated[ - basic.cTkDynamicArray[cGcRagdollBone], - Field(basic.cTkDynamicArray[cGcRagdollBone], 0x40), + basic.cTkDynamicArray[basic.cTkFixedString0x40], 0x30 ] + RagdollBones: Annotated[basic.cTkDynamicArray[cGcRagdollBone], 0x40] AnimationSpeedOverride: Annotated[float, Field(ctypes.c_float, 0x50)] BlendIntoStartPoseDuration: Annotated[float, Field(ctypes.c_float, 0x54)] InertiaScale: Annotated[float, Field(ctypes.c_float, 0x58)] @@ -35909,193 +29237,127 @@ class cGcRagdollComponentData(Structure): PhasingOutRagdollDuration: Annotated[float, Field(ctypes.c_float, 0x78)] PlayAnimationDuration: Annotated[float, Field(ctypes.c_float, 0x7C)] WholeBodyMass: Annotated[float, Field(ctypes.c_float, 0x80)] - FallAnimation_Back: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x84) - ] - FallAnimation_Front: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0xC4) - ] - FallAnimation_Left: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x104) - ] - FallAnimation_Right: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x144) - ] - GetUpAnimation_Back: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x184) - ] - GetUpAnimation_Front: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1C4) - ] - GetUpAnimation_Left: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x204) - ] - GetUpAnimation_Right: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x244) - ] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x284)] + FallAnimation_Back: Annotated[basic.cTkFixedString0x40, 0x84] + FallAnimation_Front: Annotated[basic.cTkFixedString0x40, 0xC4] + FallAnimation_Left: Annotated[basic.cTkFixedString0x40, 0x104] + FallAnimation_Right: Annotated[basic.cTkFixedString0x40, 0x144] + GetUpAnimation_Back: Annotated[basic.cTkFixedString0x40, 0x184] + GetUpAnimation_Front: Annotated[basic.cTkFixedString0x40, 0x1C4] + GetUpAnimation_Left: Annotated[basic.cTkFixedString0x40, 0x204] + GetUpAnimation_Right: Annotated[basic.cTkFixedString0x40, 0x244] + Name: Annotated[basic.cTkFixedString0x40, 0x284] EasySetUp: Annotated[bool, Field(ctypes.c_bool, 0x2C4)] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x2C5)] @partial_struct class cGcSpringComponentData(Structure): - CollisionCapsules: Annotated[ - basic.cTkDynamicArray[cGcCollisionCapsule], - Field(basic.cTkDynamicArray[cGcCollisionCapsule], 0x0), - ] - SpringLinks: Annotated[ - basic.cTkDynamicArray[cGcSpringLink], - Field(basic.cTkDynamicArray[cGcSpringLink], 0x10), - ] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x20)] + CollisionCapsules: Annotated[basic.cTkDynamicArray[cGcCollisionCapsule], 0x0] + SpringLinks: Annotated[basic.cTkDynamicArray[cGcSpringLink], 0x10] + Name: Annotated[basic.cTkFixedString0x40, 0x20] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x60)] @partial_struct class cTkWaterData(Structure): - WaterConditions: Annotated[cTkWaterConditionData, Field(cTkWaterConditionData, 0x0)] + WaterConditions: Annotated[ + tuple[cTkWaterConditionData, ...], Field(cTkWaterConditionData * 15, 0x0) + ] BiomeSpecificUsage: Annotated[ - cTkBiomeSpecificWaterConditions, Field(cTkBiomeSpecificWaterConditions, 0x348) + tuple[cTkBiomeSpecificWaterConditions, ...], + Field(cTkBiomeSpecificWaterConditions * 17, 0x348), ] WaterConditionUsage: Annotated[ - cTkAllowedWaterConditions, Field(cTkAllowedWaterConditions, 0xB40) + tuple[cTkAllowedWaterConditions, ...], + Field(cTkAllowedWaterConditions * 2, 0xB40), ] MinimumWavelength: Annotated[float, Field(ctypes.c_float, 0xBB8)] @partial_struct class cGcPersistentBase(Structure): - Forward: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - ScreenshotAt: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - ScreenshotPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - Objects: Annotated[ - basic.cTkDynamicArray[cGcPersistentBaseEntry], - Field(basic.cTkDynamicArray[cGcPersistentBaseEntry], 0x40), - ] + Forward: Annotated[basic.Vector3f, 0x0] + Position: Annotated[basic.Vector3f, 0x10] + ScreenshotAt: Annotated[basic.Vector3f, 0x20] + ScreenshotPos: Annotated[basic.Vector3f, 0x30] + Objects: Annotated[basic.cTkDynamicArray[cGcPersistentBaseEntry], 0x40] GalacticAddress: Annotated[int, Field(ctypes.c_uint64, 0x50)] LastUpdateTimestamp: Annotated[int, Field(ctypes.c_uint64, 0x58)] UserData: Annotated[int, Field(ctypes.c_uint64, 0x60)] - Owner: Annotated[cGcDiscoveryOwner, Field(cGcDiscoveryOwner, 0x68)] - Difficulty: Annotated[ - cGcPersistentBaseDifficultyData, Field(cGcPersistentBaseDifficultyData, 0x16C) - ] - AutoPowerSetting: Annotated[ - c_enum32[enums.cGcBaseAutoPowerSetting], - Field(c_enum32[enums.cGcBaseAutoPowerSetting], 0x174), - ] - BaseType: Annotated[ - c_enum32[enums.cGcPersistentBaseTypes], - Field(c_enum32[enums.cGcPersistentBaseTypes], 0x178), - ] + Owner: Annotated[cGcDiscoveryOwner, 0x68] + Difficulty: Annotated[cGcPersistentBaseDifficultyData, 0x16C] + AutoPowerSetting: Annotated[c_enum32[enums.cGcBaseAutoPowerSetting], 0x174] + BaseType: Annotated[c_enum32[enums.cGcPersistentBaseTypes], 0x178] BaseVersion: Annotated[int, Field(ctypes.c_int32, 0x17C)] - GameMode: Annotated[ - c_enum32[enums.cGcGameMode], Field(c_enum32[enums.cGcGameMode], 0x180) - ] + GameMode: Annotated[c_enum32[enums.cGcGameMode], 0x180] OriginalBaseVersion: Annotated[int, Field(ctypes.c_int32, 0x184)] - LastEditedById: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x188) - ] - LastEditedByUsername: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1C8) - ] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x208)] - RID: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x248)] - PlatformToken: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x288) - ] + LastEditedById: Annotated[basic.cTkFixedString0x40, 0x188] + LastEditedByUsername: Annotated[basic.cTkFixedString0x40, 0x1C8] + Name: Annotated[basic.cTkFixedString0x40, 0x208] + RID: Annotated[basic.cTkFixedString0x40, 0x248] + PlatformToken: Annotated[basic.cTkFixedString0x20, 0x288] IsFeatured: Annotated[bool, Field(ctypes.c_bool, 0x2A8)] IsReported: Annotated[bool, Field(ctypes.c_bool, 0x2A9)] @partial_struct class cGcBaseBuildingTable(Structure): - RelativesTabSetupData: Annotated[ - cGcBaseBuildingGroup, Field(cGcBaseBuildingGroup, 0x0) - ] - Properties: Annotated[ - cGcBaseBuildingProperties, Field(cGcBaseBuildingProperties, 0x60) - ] - GhostHeart: Annotated[cTkModelResource, Field(cTkModelResource, 0x90)] - GhostHeartSelected: Annotated[cTkModelResource, Field(cTkModelResource, 0xB0)] - LegModel: Annotated[cTkModelResource, Field(cTkModelResource, 0xD0)] - RotateScaleGizmo: Annotated[cTkModelResource, Field(cTkModelResource, 0xF0)] - WiringFirefly: Annotated[cTkModelResource, Field(cTkModelResource, 0x110)] - WiringSnapPoint: Annotated[cTkModelResource, Field(cTkModelResource, 0x130)] - WiringSnapSelected: Annotated[cTkModelResource, Field(cTkModelResource, 0x150)] - BuildEffectMaterial: Annotated[ - cTkMaterialResource, Field(cTkMaterialResource, 0x170) - ] - Families: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingFamily], - Field(basic.cTkDynamicArray[cGcBaseBuildingFamily], 0x188), - ] - Groups: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingGroup], - Field(basic.cTkDynamicArray[cGcBaseBuildingGroup], 0x198), - ] - MaterialGroups: Annotated[ - basic.cTkDynamicArray[cGcId256List], - Field(basic.cTkDynamicArray[cGcId256List], 0x1A8), - ] - Materials: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingMaterial], - Field(basic.cTkDynamicArray[cGcBaseBuildingMaterial], 0x1B8), - ] - Objects: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingEntry], - Field(basic.cTkDynamicArray[cGcBaseBuildingEntry], 0x1C8), - ] - PaletteGroups: Annotated[ - basic.cTkDynamicArray[cGcId256List], - Field(basic.cTkDynamicArray[cGcId256List], 0x1D8), - ] - Palettes: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingPalette], - Field(basic.cTkDynamicArray[cGcBaseBuildingPalette], 0x1E8), - ] + RelativesTabSetupData: Annotated[cGcBaseBuildingGroup, 0x0] + Properties: Annotated[cGcBaseBuildingProperties, 0x60] + GhostHeart: Annotated[cTkModelResource, 0x90] + GhostHeartSelected: Annotated[cTkModelResource, 0xB0] + LegModel: Annotated[cTkModelResource, 0xD0] + RotateScaleGizmo: Annotated[cTkModelResource, 0xF0] + WiringFirefly: Annotated[cTkModelResource, 0x110] + WiringSnapPoint: Annotated[cTkModelResource, 0x130] + WiringSnapSelected: Annotated[cTkModelResource, 0x150] + BuildEffectMaterial: Annotated[cTkMaterialResource, 0x170] + Families: Annotated[basic.cTkDynamicArray[cGcBaseBuildingFamily], 0x188] + Groups: Annotated[basic.cTkDynamicArray[cGcBaseBuildingGroup], 0x198] + MaterialGroups: Annotated[basic.cTkDynamicArray[cGcId256List], 0x1A8] + Materials: Annotated[basic.cTkDynamicArray[cGcBaseBuildingMaterial], 0x1B8] + Objects: Annotated[basic.cTkDynamicArray[cGcBaseBuildingEntry], 0x1C8] + PaletteGroups: Annotated[basic.cTkDynamicArray[cGcId256List], 0x1D8] + Palettes: Annotated[basic.cTkDynamicArray[cGcBaseBuildingPalette], 0x1E8] @partial_struct class cGcBaseBuildingPartAudioLocationTable(Structure): AudioLocations: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingPartAudioLocationEntry], - Field(basic.cTkDynamicArray[cGcBaseBuildingPartAudioLocationEntry], 0x0), + basic.cTkDynamicArray[cGcBaseBuildingPartAudioLocationEntry], 0x0 ] @partial_struct class cGcBaseBuildingPartsNavDataTable(Structure): - Parts: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingPartNavData], - Field(basic.cTkDynamicArray[cGcBaseBuildingPartNavData], 0x0), - ] + Parts: Annotated[basic.cTkDynamicArray[cGcBaseBuildingPartNavData], 0x0] @partial_struct class cGcPetBehaviourTable(Structure): - Behaviours: Annotated[cGcPetBehaviourData, Field(cGcPetBehaviourData, 0x0)] + Behaviours: Annotated[ + tuple[cGcPetBehaviourData, ...], Field(cGcPetBehaviourData * 28, 0x0) + ] MoodStaminaModifiers: Annotated[ - basic.cTkDynamicArray[cGcPetMoodStaminaModifier], - Field(basic.cTkDynamicArray[cGcPetMoodStaminaModifier], 0xE00), + basic.cTkDynamicArray[cGcPetMoodStaminaModifier], 0xE00 ] TraitStaminaModifiers: Annotated[ - basic.cTkDynamicArray[cGcPetTraitStaminaModifier], - Field(basic.cTkDynamicArray[cGcPetTraitStaminaModifier], 0xE10), + basic.cTkDynamicArray[cGcPetTraitStaminaModifier], 0xE10 ] TraitRanges: Annotated[ - cGcCreaturePetTraitRanges, Field(cGcCreaturePetTraitRanges, 0xE20) + tuple[cGcCreaturePetTraitRanges, ...], + Field(cGcCreaturePetTraitRanges * 11, 0xE20), ] TraitMoodModifiers: Annotated[ - cGcPetTraitMoodModifierList, Field(cGcPetTraitMoodModifierList, 0xF28) + tuple[cGcPetTraitMoodModifierList, ...], + Field(cGcPetTraitMoodModifierList * 3, 0xF28), ] RewardMoodModifier: Annotated[ - cGcPetActionMoodModifier, Field(cGcPetActionMoodModifier, 0xF88) + tuple[cGcPetActionMoodModifier, ...], Field(cGcPetActionMoodModifier * 9, 0xF88) ] - MoodIncreaseTime: Annotated[float, Field(ctypes.c_float, 0xFD0)] - MoodValuesOnAdopt: Annotated[float, Field(ctypes.c_float, 0xFD8)] - MoodValuesOnHatch: Annotated[float, Field(ctypes.c_float, 0xFE0)] + MoodIncreaseTime: Annotated[tuple[float, ...], Field(ctypes.c_float * 2, 0xFD0)] + MoodValuesOnAdopt: Annotated[tuple[float, ...], Field(ctypes.c_float * 2, 0xFD8)] + MoodValuesOnHatch: Annotated[tuple[float, ...], Field(ctypes.c_float * 2, 0xFE0)] AccessoryGyroDamping: Annotated[float, Field(ctypes.c_float, 0xFE8)] AccessoryGyroFollowMotionStrength: Annotated[float, Field(ctypes.c_float, 0xFEC)] AccessoryGyroStrength: Annotated[float, Field(ctypes.c_float, 0xFF0)] @@ -36109,125 +29371,84 @@ class cGcPetBehaviourTable(Structure): @partial_struct class cGcExpeditionRewardTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x0] @partial_struct class cGcExpeditionEventTable(Structure): - Events: Annotated[ - basic.cTkDynamicArray[cGcExpeditionEventData], - Field(basic.cTkDynamicArray[cGcExpeditionEventData], 0x0), - ] + Events: Annotated[basic.cTkDynamicArray[cGcExpeditionEventData], 0x0] InterventionEvents: Annotated[ - basic.cTkDynamicArray[cGcExpeditionInterventionEventData], - Field(basic.cTkDynamicArray[cGcExpeditionInterventionEventData], 0x10), + basic.cTkDynamicArray[cGcExpeditionInterventionEventData], 0x10 ] @partial_struct class cGcFrigateTraitTable(Structure): - Traits: Annotated[ - basic.cTkDynamicArray[cGcFrigateTraitData], - Field(basic.cTkDynamicArray[cGcFrigateTraitData], 0x0), - ] + Traits: Annotated[basic.cTkDynamicArray[cGcFrigateTraitData], 0x0] @partial_struct class cGcCustomisationDescriptorGroups(Structure): - DescriptorVisualEffects: Annotated[ - cGcCustomisationDescriptorVisualEffects, - Field(cGcCustomisationDescriptorVisualEffects, 0x0), - ] + DescriptorVisualEffects: Annotated[cGcCustomisationDescriptorVisualEffects, 0x0] DescriptorGroupSets: Annotated[ - basic.cTkDynamicArray[cGcCustomisationDescriptorGroupSet], - Field(basic.cTkDynamicArray[cGcCustomisationDescriptorGroupSet], 0x30), - ] - HeadRaces: Annotated[ - basic.cTkDynamicArray[cGcCustomisationHeadToRace], - Field(basic.cTkDynamicArray[cGcCustomisationHeadToRace], 0x40), + basic.cTkDynamicArray[cGcCustomisationDescriptorGroupSet], 0x30 ] + HeadRaces: Annotated[basic.cTkDynamicArray[cGcCustomisationHeadToRace], 0x40] @partial_struct class cGcCustomisationPresets(Structure): DescriptorGroupFallbackMap: Annotated[ - basic.cTkDynamicArray[cGcCustomisationDescriptorGroupFallbackData], - Field(basic.cTkDynamicArray[cGcCustomisationDescriptorGroupFallbackData], 0x0), - ] - Presets: Annotated[ - basic.cTkDynamicArray[cGcCustomisationPreset], - Field(basic.cTkDynamicArray[cGcCustomisationPreset], 0x10), + basic.cTkDynamicArray[cGcCustomisationDescriptorGroupFallbackData], 0x0 ] + Presets: Annotated[basic.cTkDynamicArray[cGcCustomisationPreset], 0x10] @partial_struct class cGcModularCustomisationDataTable(Structure): ModularCustomisationConfigs: Annotated[ - cGcModularCustomisationConfig, Field(cGcModularCustomisationConfig, 0x0) + tuple[cGcModularCustomisationConfig, ...], + Field(cGcModularCustomisationConfig * 11, 0x0), ] ProductLookupLists: Annotated[ - cGcModularCustomisationProductLookupList, - Field(cGcModularCustomisationProductLookupList, 0x1AD0), + tuple[cGcModularCustomisationProductLookupList, ...], + Field(cGcModularCustomisationProductLookupList * 11, 0x1AD0), ] SharedSlottableItemLists: Annotated[ - basic.cTkDynamicArray[cGcModularCustomisationSlottableItemList], - Field(basic.cTkDynamicArray[cGcModularCustomisationSlottableItemList], 0x1B80), + basic.cTkDynamicArray[cGcModularCustomisationSlottableItemList], 0x1B80 ] @partial_struct class cGcAISpaceshipManagerData(Structure): SystemSpaceships: Annotated[ - cGcAISpaceshipModelDataArray, Field(cGcAISpaceshipModelDataArray, 0x0) - ] - SentinelCrashSiteShip: Annotated[ - cGcAISpaceshipModelData, Field(cGcAISpaceshipModelData, 0x50) + tuple[cGcAISpaceshipModelDataArray, ...], + Field(cGcAISpaceshipModelDataArray * 5, 0x0), ] + SentinelCrashSiteShip: Annotated[cGcAISpaceshipModelData, 0x50] @partial_struct class cGcInteractionComponentData(Structure): - Renderer: Annotated[cTkModelRendererData, Field(cTkModelRendererData, 0x0)] - RendererAlt: Annotated[cTkModelRendererData, Field(cTkModelRendererData, 0xB0)] - ActivationCost: Annotated[ - cGcInteractionActivationCost, Field(cGcInteractionActivationCost, 0x160) - ] - SecondaryActivationCost: Annotated[ - cGcInteractionActivationCost, Field(cGcInteractionActivationCost, 0x1C8) - ] - StoryUtilityOverrideData: Annotated[ - cGcStoryUtilityOverride, Field(cGcStoryUtilityOverride, 0x230) - ] + Renderer: Annotated[cTkModelRendererData, 0x0] + RendererAlt: Annotated[cTkModelRendererData, 0xB0] + ActivationCost: Annotated[cGcInteractionActivationCost, 0x160] + SecondaryActivationCost: Annotated[cGcInteractionActivationCost, 0x1C8] + StoryUtilityOverrideData: Annotated[cGcStoryUtilityOverride, 0x230] AdditionalOptionsOverrideTable: Annotated[ - basic.cTkDynamicArray[cGcAdditionalOptionMissionOverride], - Field(basic.cTkDynamicArray[cGcAdditionalOptionMissionOverride], 0x270), - ] - EventRenderers: Annotated[ - basic.cTkDynamicArray[cTkModelRendererData], - Field(basic.cTkDynamicArray[cTkModelRendererData], 0x280), - ] - EventRenderersAlt: Annotated[ - basic.cTkDynamicArray[cTkModelRendererData], - Field(basic.cTkDynamicArray[cTkModelRendererData], 0x290), - ] - EventRenderersDoF: Annotated[ - basic.cTkDynamicArray[cGcInteractionDof], - Field(basic.cTkDynamicArray[cGcInteractionDof], 0x2A0), - ] - InteractionSpecificData: Annotated[ - basic.NMSTemplate, Field(basic.NMSTemplate, 0x2B0) + basic.cTkDynamicArray[cGcAdditionalOptionMissionOverride], 0x270 ] + EventRenderers: Annotated[basic.cTkDynamicArray[cTkModelRendererData], 0x280] + EventRenderersAlt: Annotated[basic.cTkDynamicArray[cTkModelRendererData], 0x290] + EventRenderersDoF: Annotated[basic.cTkDynamicArray[cGcInteractionDof], 0x2A0] + InteractionSpecificData: Annotated[basic.NMSTemplate, 0x2B0] PuzzleMissionOverrideTable: Annotated[ - basic.cTkDynamicArray[cGcAlienPuzzleMissionOverride], - Field(basic.cTkDynamicArray[cGcAlienPuzzleMissionOverride], 0x2C0), + basic.cTkDynamicArray[cGcAlienPuzzleMissionOverride], 0x2C0 ] - StartMissionOnUse: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2D0)] - TriggerAction: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2E0)] - TriggerActionOnPrepare: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2F0)] - DepthOfField: Annotated[cGcInteractionDof, Field(cGcInteractionDof, 0x300)] + StartMissionOnUse: Annotated[basic.TkID0x10, 0x2D0] + TriggerAction: Annotated[basic.TkID0x10, 0x2E0] + TriggerActionOnPrepare: Annotated[basic.TkID0x10, 0x2F0] + DepthOfField: Annotated[cGcInteractionDof, 0x300] AttractDistanceSq: Annotated[float, Field(ctypes.c_float, 0x314)] BlendFromCameraTime: Annotated[float, Field(ctypes.c_float, 0x318)] BlendToCameraTime: Annotated[float, Field(ctypes.c_float, 0x31C)] @@ -36239,13 +29460,8 @@ class eInteractionActionEnum(IntEnum): HoldButton = 0x1 Shoot = 0x2 - InteractionAction: Annotated[ - c_enum32[eInteractionActionEnum], Field(c_enum32[eInteractionActionEnum], 0x328) - ] - InteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x32C), - ] + InteractionAction: Annotated[c_enum32[eInteractionActionEnum], 0x328] + InteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x32C] InteractMaxHeightDiff: Annotated[float, Field(ctypes.c_float, 0x330)] InWorldUIForcedOffset: Annotated[float, Field(ctypes.c_float, 0x334)] InWorldUIForcedOffsetV2: Annotated[float, Field(ctypes.c_float, 0x338)] @@ -36259,18 +29475,12 @@ class eOverrideInteriorExteriorMarkerEnum(IntEnum): Exterior = 0x2 OverrideInteriorExteriorMarker: Annotated[ - c_enum32[eOverrideInteriorExteriorMarkerEnum], - Field(c_enum32[eOverrideInteriorExteriorMarkerEnum], 0x348), - ] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x34C) + c_enum32[eOverrideInteriorExteriorMarkerEnum], 0x348 ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x34C] RangeToAllowAtAnyAngle: Annotated[float, Field(ctypes.c_float, 0x350)] SecondaryCameraTransitionTime: Annotated[float, Field(ctypes.c_float, 0x354)] - SecondaryInteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x358), - ] + SecondaryInteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x358] AllowMissionUnderwater: Annotated[bool, Field(ctypes.c_bool, 0x35C)] BroadcastTriggerAction: Annotated[bool, Field(ctypes.c_bool, 0x35D)] InteractInvertFace: Annotated[bool, Field(ctypes.c_bool, 0x35E)] @@ -36287,9 +29497,9 @@ class eOverrideInteriorExteriorMarkerEnum(IntEnum): @partial_struct class cGcHUDManagerData(Structure): - SubtitleFont: Annotated[cGcTextPreset, Field(cGcTextPreset, 0x0)] - SubtitleFontSmall: Annotated[cGcTextPreset, Field(cGcTextPreset, 0x30)] - TitleFont: Annotated[cGcTextPreset, Field(cGcTextPreset, 0x60)] + SubtitleFont: Annotated[cGcTextPreset, 0x0] + SubtitleFontSmall: Annotated[cGcTextPreset, 0x30] + TitleFont: Annotated[cGcTextPreset, 0x60] ModelRenderDisplayBorder: Annotated[int, Field(ctypes.c_int32, 0x90)] ModelRenderDisplayMove: Annotated[float, Field(ctypes.c_float, 0x94)] ModelRenderDisplayOffset: Annotated[float, Field(ctypes.c_float, 0x98)] @@ -36318,86 +29528,73 @@ class cGcHUDManagerData(Structure): PopUpYMidLock: Annotated[float, Field(ctypes.c_float, 0xF4)] PromptLine1Y: Annotated[float, Field(ctypes.c_float, 0xF8)] PromptLine2Y: Annotated[float, Field(ctypes.c_float, 0xFC)] - ModelRenderDisplayAlphaCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x100) - ] - ModelRenderDisplayMoveCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x101) - ] + ModelRenderDisplayAlphaCurve: Annotated[c_enum32[enums.cTkCurveType], 0x100] + ModelRenderDisplayMoveCurve: Annotated[c_enum32[enums.cTkCurveType], 0x101] @partial_struct class cTkReplacementResourceTable(Structure): - Data: Annotated[ - basic.cTkDynamicArray[cTkReplacementResource], - Field(basic.cTkDynamicArray[cTkReplacementResource], 0x0), - ] + Data: Annotated[basic.cTkDynamicArray[cTkReplacementResource], 0x0] @partial_struct class cGcJourney(Structure): - Categories: Annotated[ - basic.cTkDynamicArray[cGcJourneyCategory], - Field(basic.cTkDynamicArray[cGcJourneyCategory], 0x0), - ] + Categories: Annotated[basic.cTkDynamicArray[cGcJourneyCategory], 0x0] @partial_struct class cGcWiki(Structure): - Categories: Annotated[ - basic.cTkDynamicArray[cGcWikiCategory], - Field(basic.cTkDynamicArray[cGcWikiCategory], 0x0), - ] + Categories: Annotated[basic.cTkDynamicArray[cGcWikiCategory], 0x0] @partial_struct class cGcAlienPuzzleTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcAlienPuzzleEntry], - Field(basic.cTkDynamicArray[cGcAlienPuzzleEntry], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcAlienPuzzleEntry], 0x0] @partial_struct class cGcMissionSchedulesTable(Structure): - Schedules: Annotated[ - basic.cTkDynamicArray[cGcMissionSchedulingData], - Field(basic.cTkDynamicArray[cGcMissionSchedulingData], 0x0), - ] + Schedules: Annotated[basic.cTkDynamicArray[cGcMissionSchedulingData], 0x0] @partial_struct class cGcCombatEffectsTable(Structure): - EffectsData: Annotated[cGcCombatEffectData, Field(cGcCombatEffectData, 0x0)] + EffectsData: Annotated[ + tuple[cGcCombatEffectData, ...], Field(cGcCombatEffectData * 6, 0x0) + ] @partial_struct class cGcPlayerWeaponPropertiesTable(Structure): PropertiesData: Annotated[ - cGcPlayerWeaponPropertiesData, Field(cGcPlayerWeaponPropertiesData, 0x0) + tuple[cGcPlayerWeaponPropertiesData, ...], + Field(cGcPlayerWeaponPropertiesData * 20, 0x0), ] - CamouflageData: Annotated[cGcCamouflageData, Field(cGcCamouflageData, 0x1A40)] + CamouflageData: Annotated[cGcCamouflageData, 0x1A40] @partial_struct class cGcUnlockableTrees(Structure): - Trees: Annotated[cGcUnlockableItemTrees, Field(cGcUnlockableItemTrees, 0x0)] - CostTypes: Annotated[ - basic.cTkDynamicArray[cGcUnlockableTreeCostType], - Field(basic.cTkDynamicArray[cGcUnlockableTreeCostType], 0x2D0), + Trees: Annotated[ + tuple[cGcUnlockableItemTrees, ...], Field(cGcUnlockableItemTrees * 15, 0x0) ] + CostTypes: Annotated[basic.cTkDynamicArray[cGcUnlockableTreeCostType], 0x2D0] @partial_struct class cGcMaintenanceGroupsTable(Structure): - Groups: Annotated[cGcMaintenanceGroup, Field(cGcMaintenanceGroup, 0x0)] + Groups: Annotated[ + tuple[cGcMaintenanceGroup, ...], Field(cGcMaintenanceGroup * 10, 0x0) + ] @partial_struct class cGcTradingClassTable(Structure): - CategoryData: Annotated[cGcTradingCategoryData, Field(cGcTradingCategoryData, 0x0)] + CategoryData: Annotated[ + tuple[cGcTradingCategoryData, ...], Field(cGcTradingCategoryData * 9, 0x0) + ] TradingClassesData: Annotated[ - cGcTradingClassData, Field(cGcTradingClassData, 0x360) + tuple[cGcTradingClassData, ...], Field(cGcTradingClassData * 7, 0x360) ] MaxTradingMultiplier: Annotated[float, Field(ctypes.c_float, 0x4E8)] MinTradingMultiplier: Annotated[float, Field(ctypes.c_float, 0x4EC)] @@ -36406,584 +29603,377 @@ class cGcTradingClassTable(Structure): @partial_struct class cGcInventoryTable(Structure): ShipBaseStatsData: Annotated[ - cGcInventoryGenerationBaseStatData, - Field(cGcInventoryGenerationBaseStatData, 0x0), + tuple[cGcInventoryGenerationBaseStatData, ...], + Field(cGcInventoryGenerationBaseStatData * 11, 0x0), ] WeaponBaseStatsData: Annotated[ - cGcInventoryGenerationBaseStatData, - Field(cGcInventoryGenerationBaseStatData, 0x2C0), - ] - VehicleBaseStatsData: Annotated[ - cGcInventoryGenerationBaseStatData, - Field(cGcInventoryGenerationBaseStatData, 0x540), - ] - BaseStats: Annotated[ - basic.cTkDynamicArray[cGcInventoryBaseStat], - Field(basic.cTkDynamicArray[cGcInventoryBaseStat], 0x580), - ] - Table: Annotated[ - basic.cTkDynamicArray[cGcInventoryTableEntry], - Field(basic.cTkDynamicArray[cGcInventoryTableEntry], 0x590), - ] - GenerationData: Annotated[ - cGcInventoryLayoutGenerationData, Field(cGcInventoryLayoutGenerationData, 0x5A0) + tuple[cGcInventoryGenerationBaseStatData, ...], + Field(cGcInventoryGenerationBaseStatData * 10, 0x2C0), ] + VehicleBaseStatsData: Annotated[cGcInventoryGenerationBaseStatData, 0x540] + BaseStats: Annotated[basic.cTkDynamicArray[cGcInventoryBaseStat], 0x580] + Table: Annotated[basic.cTkDynamicArray[cGcInventoryTableEntry], 0x590] + GenerationData: Annotated[cGcInventoryLayoutGenerationData, 0x5A0] ShipInventoryMaxUpgradeSize: Annotated[ - cGcShipInventoryMaxUpgradeCapacity, - Field(cGcShipInventoryMaxUpgradeCapacity, 0x1464), + tuple[cGcShipInventoryMaxUpgradeCapacity, ...], + Field(cGcShipInventoryMaxUpgradeCapacity * 11, 0x1464), ] - ShipCostData: Annotated[cGcInventoryCostData, Field(cGcInventoryCostData, 0x1674)] + ShipCostData: Annotated[cGcInventoryCostData, 0x1674] WeaponCostData: Annotated[ - cGcInventoryCostDataEntry, Field(cGcInventoryCostDataEntry, 0x182C) + tuple[cGcInventoryCostDataEntry, ...], + Field(cGcInventoryCostDataEntry * 10, 0x182C), ] ClassProbabilityData: Annotated[ - cGcInventoryClassProbabilities, Field(cGcInventoryClassProbabilities, 0x19BC) - ] - VehicleCostData: Annotated[ - cGcInventoryCostDataEntry, Field(cGcInventoryCostDataEntry, 0x19FC) + tuple[cGcInventoryClassProbabilities, ...], + Field(cGcInventoryClassProbabilities * 4, 0x19BC), ] + VehicleCostData: Annotated[cGcInventoryCostDataEntry, 0x19FC] WeaponInventoryMaxUpgradeSize: Annotated[ - cGcWeaponInventoryMaxUpgradeCapacity, - Field(cGcWeaponInventoryMaxUpgradeCapacity, 0x1A24), + cGcWeaponInventoryMaxUpgradeCapacity, 0x1A24 ] @partial_struct class cGcPlayerDamageTable(Structure): - DamageTable: Annotated[cGcPlayerDamageData, Field(cGcPlayerDamageData, 0x0)] + DamageTable: Annotated[cGcPlayerDamageData, 0x0] @partial_struct class cGcRewardTable(Structure): - DestructionTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x0), - ] + DestructionTable: Annotated[basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x0] EntitlementTable: Annotated[ - basic.cTkDynamicArray[cGcRewardTableEntitlementItem], - Field(basic.cTkDynamicArray[cGcRewardTableEntitlementItem], 0x10), - ] - FleetTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x20), - ] - GenericTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x30), - ] - InteractionTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x40), + basic.cTkDynamicArray[cGcRewardTableEntitlementItem], 0x10 ] + FleetTable: Annotated[basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x20] + GenericTable: Annotated[basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x30] + InteractionTable: Annotated[basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x40] MissionBoardTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x50), - ] - MixerRewardTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x60), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x50 ] + MixerRewardTable: Annotated[basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x60] NPCPlanetSiteTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x70), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x70 ] OldInteractionTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x80), - ] - ProductRewardOrder: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x90), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x80 ] + ProductRewardOrder: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x90] SeasonRewardTable1: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xA0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xA0 ] SeasonRewardTable10: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xB0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xB0 ] SeasonRewardTable11: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xC0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xC0 ] SeasonRewardTable12: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xD0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xD0 ] SeasonRewardTable13: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xE0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xE0 ] SeasonRewardTable14: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xF0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0xF0 ] SeasonRewardTable15: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x100), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x100 ] SeasonRewardTable16: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x110), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x110 ] SeasonRewardTable17: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x120), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x120 ] SeasonRewardTable18: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x130), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x130 ] SeasonRewardTable19: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x140), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x140 ] SeasonRewardTable2: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x150), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x150 ] SeasonRewardTable20: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x160), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x160 ] SeasonRewardTable21: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x170), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x170 ] SeasonRewardTable22: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x180), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x180 ] SeasonRewardTable23: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x190), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x190 ] SeasonRewardTable24: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1A0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1A0 ] SeasonRewardTable3: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1B0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1B0 ] SeasonRewardTable4: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1C0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1C0 ] SeasonRewardTable5: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1D0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1D0 ] SeasonRewardTable6: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1E0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1E0 ] SeasonRewardTable7: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1F0), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x1F0 ] SeasonRewardTable8: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x200), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x200 ] SeasonRewardTable9: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x210), - ] - SettlementTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x220), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x210 ] + SettlementTable: Annotated[basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x220] ShipSalvageTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x230), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x230 ] SpecialRewardTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x240), - ] - Table: Annotated[ - basic.cTkDynamicArray[cGcRewardTableEntry], - Field(basic.cTkDynamicArray[cGcRewardTableEntry], 0x250), - ] - TechRewardOrder: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x260), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x240 ] + Table: Annotated[basic.cTkDynamicArray[cGcRewardTableEntry], 0x250] + TechRewardOrder: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x260] TwitchRewardTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x270), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x270 ] WikiProgressTable: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x280), + basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x280 ] @partial_struct class cGcConsumableItemTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcConsumableItem], - Field(basic.cTkDynamicArray[cGcConsumableItem], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcConsumableItem], 0x0] @partial_struct class cGcStoriesTable(Structure): - Table: Annotated[cGcStoryCategory, Field(cGcStoryCategory, 0x0)] + Table: Annotated[tuple[cGcStoryCategory, ...], Field(cGcStoryCategory * 9, 0x0)] @partial_struct class cGcRecipeTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcRefinerRecipe], - Field(basic.cTkDynamicArray[cGcRefinerRecipe], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcRefinerRecipe], 0x0] @partial_struct class cGcRealityManagerData(Structure): - SubstanceCategoryColours: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - HazardColours: Annotated[basic.Colour, Field(basic.Colour, 0x90)] - RarityColours: Annotated[basic.Colour, Field(basic.Colour, 0x100)] - TradeSettings: Annotated[cGcTradeSettings, Field(cGcTradeSettings, 0x130)] - Icons: Annotated[cGcRealityIconTable, Field(cGcRealityIconTable, 0x18C0)] - StatCategoryIcons: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x2DD8)] + SubstanceCategoryColours: Annotated[ + tuple[basic.Colour, ...], Field(basic.Colour * 9, 0x0) + ] + HazardColours: Annotated[tuple[basic.Colour, ...], Field(basic.Colour * 7, 0x90)] + RarityColours: Annotated[tuple[basic.Colour, ...], Field(basic.Colour * 3, 0x100)] + TradeSettings: Annotated[cGcTradeSettings, 0x130] + Icons: Annotated[cGcRealityIconTable, 0x18C0] + StatCategoryIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 206, 0x2DD8) + ] StatTechPackageIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x4128) + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 206, 0x4128) ] MissionNameAdjectives: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x5478) + tuple[cGcNumberedTextList, ...], Field(cGcNumberedTextList * 33, 0x5478) ] MissionNameFormats: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x5790) + tuple[cGcNumberedTextList, ...], Field(cGcNumberedTextList * 33, 0x5790) ] - MissionNameNouns: Annotated[cGcNumberedTextList, Field(cGcNumberedTextList, 0x5AA8)] - SubstanceSecondaryBiome: Annotated[ - cGcSubstanceSecondaryBiome, Field(cGcSubstanceSecondaryBiome, 0x5DC0) + MissionNameNouns: Annotated[ + tuple[cGcNumberedTextList, ...], Field(cGcNumberedTextList * 33, 0x5AA8) ] - ShipWeapons: Annotated[cGcShipWeaponData, Field(cGcShipWeaponData, 0x5FE0)] - FactionNames: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x61A0) + SubstanceSecondaryBiome: Annotated[cGcSubstanceSecondaryBiome, 0x5DC0] + ShipWeapons: Annotated[ + tuple[cGcShipWeaponData, ...], Field(cGcShipWeaponData * 7, 0x5FE0) ] - PlayerWeapons: Annotated[cGcPlayerWeaponData, Field(cGcPlayerWeaponData, 0x62E0)] - RepShops: Annotated[cGcRepShopData, Field(cGcRepShopData, 0x6420)] - PlanetTechShops: Annotated[cGcTechList, Field(cGcTechList, 0x6560)] - FactionClients: Annotated[cGcNumberedTextList, Field(cGcNumberedTextList, 0x6670)] - SubstanceChargeIcons: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x6760) + FactionNames: Annotated[ + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 10, 0x61A0), ] - MissionBoardRewardOptions: Annotated[cTkIdArray, Field(cTkIdArray, 0x6838)] - FactionStandingIDs: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x68E8)] - DefaultVehicleLoadout: Annotated[cTkIdArray, Field(cTkIdArray, 0x6988)] - Catalogues: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x69F8) + PlayerWeapons: Annotated[ + tuple[cGcPlayerWeaponData, ...], Field(cGcPlayerWeaponData * 20, 0x62E0) ] - Stats: Annotated[cGcStats, Field(cGcStats, 0x6A48)] - ProductTables: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6A98) + RepShops: Annotated[tuple[cGcRepShopData, ...], Field(cGcRepShopData * 10, 0x6420)] + PlanetTechShops: Annotated[tuple[cGcTechList, ...], Field(cGcTechList * 17, 0x6560)] + FactionClients: Annotated[ + tuple[cGcNumberedTextList, ...], Field(cGcNumberedTextList * 10, 0x6670) ] - ShipCargoOnlyStartingLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x6AC8) + SubstanceChargeIcons: Annotated[ + tuple[cTkTextureResource, ...], Field(cTkTextureResource * 9, 0x6760) ] - ShipStartingLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x6AE0)] - ShipTechOnlyStartingLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x6AF8) + MissionBoardRewardOptions: Annotated[ + tuple[cTkIdArray, ...], Field(cTkIdArray * 11, 0x6838) ] - SuitCargoStartingSlotLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x6B10) + FactionStandingIDs: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 10, 0x68E8) ] - SuitStartingSlotLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x6B28) + DefaultVehicleLoadout: Annotated[ + tuple[cTkIdArray, ...], Field(cTkIdArray * 7, 0x6988) ] - SuitTechOnlyStartingSlotLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x6B40) + Catalogues: Annotated[ + tuple[basic.VariableSizeString, ...], + Field(basic.VariableSizeString * 5, 0x69F8), ] + Stats: Annotated[tuple[cGcStats, ...], Field(cGcStats * 5, 0x6A48)] + ProductTables: Annotated[ + tuple[basic.VariableSizeString, ...], + Field(basic.VariableSizeString * 3, 0x6A98), + ] + ShipCargoOnlyStartingLayout: Annotated[cGcInventoryLayout, 0x6AC8] + ShipStartingLayout: Annotated[cGcInventoryLayout, 0x6AE0] + ShipTechOnlyStartingLayout: Annotated[cGcInventoryLayout, 0x6AF8] + SuitCargoStartingSlotLayout: Annotated[cGcInventoryLayout, 0x6B10] + SuitStartingSlotLayout: Annotated[cGcInventoryLayout, 0x6B28] + SuitTechOnlyStartingSlotLayout: Annotated[cGcInventoryLayout, 0x6B40] AlienPuzzleTables: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x6B58), - ] - AlienWordsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6B68) - ] - BaitDataTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6B78) + basic.cTkDynamicArray[basic.VariableSizeString], 0x6B58 ] + AlienWordsTable: Annotated[basic.VariableSizeString, 0x6B68] + BaitDataTable: Annotated[basic.VariableSizeString, 0x6B78] BuilderMissionRewardOverrides: Annotated[ - basic.cTkDynamicArray[cGcRewardMissionOverride], - Field(basic.cTkDynamicArray[cGcRewardMissionOverride], 0x6B88), - ] - CombatEffectsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6B98) - ] - ConsumableItemTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6BA8) - ] - CostTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6BB8) + basic.cTkDynamicArray[cGcRewardMissionOverride], 0x6B88 ] + CombatEffectsTable: Annotated[basic.VariableSizeString, 0x6B98] + ConsumableItemTable: Annotated[basic.VariableSizeString, 0x6BA8] + CostTable: Annotated[basic.VariableSizeString, 0x6BB8] DamageMultiplierTable: Annotated[ - basic.cTkDynamicArray[cGcDamageMultiplierLookup], - Field(basic.cTkDynamicArray[cGcDamageMultiplierLookup], 0x6BC8), - ] - DamageTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6BD8) - ] - DialogClearanceTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6BE8) - ] - DiscoveryRewardTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6BF8) + basic.cTkDynamicArray[cGcDamageMultiplierLookup], 0x6BC8 ] + DamageTable: Annotated[basic.VariableSizeString, 0x6BD8] + DialogClearanceTable: Annotated[basic.VariableSizeString, 0x6BE8] + DiscoveryRewardTable: Annotated[basic.VariableSizeString, 0x6BF8] FiendCrimeSpawnTable: Annotated[ - basic.cTkDynamicArray[cGcFiendCrimeSpawnTable], - Field(basic.cTkDynamicArray[cGcFiendCrimeSpawnTable], 0x6C08), - ] - FishDataTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6C18) - ] - FreighterBaseItemPairs: Annotated[ - basic.cTkDynamicArray[cGcIDPair], - Field(basic.cTkDynamicArray[cGcIDPair], 0x6C28), + basic.cTkDynamicArray[cGcFiendCrimeSpawnTable], 0x6C08 ] + FishDataTable: Annotated[basic.VariableSizeString, 0x6C18] + FreighterBaseItemPairs: Annotated[basic.cTkDynamicArray[cGcIDPair], 0x6C28] FreighterCargoOptions: Annotated[ - basic.cTkDynamicArray[cGcFreighterCargoOption], - Field(basic.cTkDynamicArray[cGcFreighterCargoOption], 0x6C38), - ] - HistoricalSeasonDataTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6C48) - ] - InventoryTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6C58) - ] - LegacyItemConversionTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6C68) - ] - LegacyRepairTable: Annotated[ - basic.cTkDynamicArray[cTkRawID], Field(basic.cTkDynamicArray[cTkRawID], 0x6C78) - ] - MaintenanceGroupsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6C88) - ] - MaintenanceOverrideTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6C98) - ] - NeverOfferedForSale: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x6CA8), - ] - NeverSellableItems: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x6CB8), - ] - PirateStationExtraProds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x6CC8), - ] - PlayerWeaponPropertiesTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6CD8) - ] - ProceduralProductTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6CE8) - ] - ProceduralTechnologyTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6CF8) - ] - ProductDescriptionOverrideTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6D08) - ] - PurchaseableBuildingBlueprintsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6D18) - ] - PurchaseableSpecialsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6D28) - ] - RecipeTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6D38) - ] - RewardTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6D48) - ] - SettlementPerksTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6D58) - ] - StationTechShops: Annotated[cGcTechList, Field(cGcTechList, 0x6D68)] - StatRewardsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6D78) - ] - StoriesTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6D88) - ] + basic.cTkDynamicArray[cGcFreighterCargoOption], 0x6C38 + ] + HistoricalSeasonDataTable: Annotated[basic.VariableSizeString, 0x6C48] + InventoryTable: Annotated[basic.VariableSizeString, 0x6C58] + LegacyItemConversionTable: Annotated[basic.VariableSizeString, 0x6C68] + LegacyRepairTable: Annotated[basic.cTkDynamicArray[cTkRawID], 0x6C78] + MaintenanceGroupsTable: Annotated[basic.VariableSizeString, 0x6C88] + MaintenanceOverrideTable: Annotated[basic.VariableSizeString, 0x6C98] + NeverOfferedForSale: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x6CA8] + NeverSellableItems: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x6CB8] + PirateStationExtraProds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x6CC8] + PlayerWeaponPropertiesTable: Annotated[basic.VariableSizeString, 0x6CD8] + ProceduralProductTable: Annotated[basic.VariableSizeString, 0x6CE8] + ProceduralTechnologyTable: Annotated[basic.VariableSizeString, 0x6CF8] + ProductDescriptionOverrideTable: Annotated[basic.VariableSizeString, 0x6D08] + PurchaseableBuildingBlueprintsTable: Annotated[basic.VariableSizeString, 0x6D18] + PurchaseableSpecialsTable: Annotated[basic.VariableSizeString, 0x6D28] + RecipeTable: Annotated[basic.VariableSizeString, 0x6D38] + RewardTable: Annotated[basic.VariableSizeString, 0x6D48] + SettlementPerksTable: Annotated[basic.VariableSizeString, 0x6D58] + StationTechShops: Annotated[cGcTechList, 0x6D68] + StatRewardsTable: Annotated[basic.VariableSizeString, 0x6D78] + StoriesTable: Annotated[basic.VariableSizeString, 0x6D88] SubstanceSecondaryLookups: Annotated[ - basic.cTkDynamicArray[cGcSubstanceSecondaryLookup], - Field(basic.cTkDynamicArray[cGcSubstanceSecondaryLookup], 0x6D98), - ] - SubstanceTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6DA8) - ] - SuitCargoUpgradePrices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x6DB8), + basic.cTkDynamicArray[cGcSubstanceSecondaryLookup], 0x6D98 + ] + SubstanceTable: Annotated[basic.VariableSizeString, 0x6DA8] + SuitCargoUpgradePrices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x6DB8] + SuitTechOnlyUpgradePrices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x6DC8] + SuitUpgradePrices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x6DD8] + TechBoxTable: Annotated[basic.VariableSizeString, 0x6DE8] + TechnologyTable: Annotated[basic.VariableSizeString, 0x6DF8] + TradingClassDataTable: Annotated[basic.VariableSizeString, 0x6E08] + TradingCostTable: Annotated[basic.VariableSizeString, 0x6E18] + UnlockableItemTrees: Annotated[basic.VariableSizeString, 0x6E28] + UnlockablePlatformRewardsTable: Annotated[basic.VariableSizeString, 0x6E38] + UnlockableSeasonRewardsTable: Annotated[basic.VariableSizeString, 0x6E48] + UnlockableTwitchRewardsTable: Annotated[basic.VariableSizeString, 0x6E58] + FoodStatValues: Annotated[ + tuple[cGcMinMaxFloat, ...], Field(cGcMinMaxFloat * 206, 0x6E68) ] - SuitTechOnlyUpgradePrices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x6DC8), - ] - SuitUpgradePrices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x6DD8), - ] - TechBoxTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6DE8) - ] - TechnologyTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6DF8) - ] - TradingClassDataTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6E08) - ] - TradingCostTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6E18) - ] - UnlockableItemTrees: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6E28) - ] - UnlockablePlatformRewardsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6E38) + InteractionPuzzlesIndexTypes: Annotated[ + tuple[enums.cGcAlienPuzzleTableIndex, ...], + Field(c_enum32[enums.cGcAlienPuzzleTableIndex] * 153, 0x74D8), ] - UnlockableSeasonRewardsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6E48) + DiscoveryWorth: Annotated[ + tuple[cGcDiscoveryWorth, ...], Field(cGcDiscoveryWorth * 17, 0x773C) ] - UnlockableTwitchRewardsTable: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x6E58) + NormalisedPriceLimits: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 5, 0x7918) ] - FoodStatValues: Annotated[cGcMinMaxFloat, Field(cGcMinMaxFloat, 0x6E68)] - InteractionPuzzlesIndexTypes: Annotated[ - c_enum32[enums.cGcAlienPuzzleTableIndex], - Field(c_enum32[enums.cGcAlienPuzzleTableIndex], 0x74D8), + CreatureDiscoverySizeMultiplier: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x792C) ] - DiscoveryWorth: Annotated[cGcDiscoveryWorth, Field(cGcDiscoveryWorth, 0x773C)] - NormalisedPriceLimits: Annotated[float, Field(ctypes.c_float, 0x7918)] - CreatureDiscoverySizeMultiplier: Annotated[float, Field(ctypes.c_float, 0x792C)] - WeightedTextWeights: Annotated[float, Field(ctypes.c_float, 0x793C)] + WeightedTextWeights: Annotated[tuple[float, ...], Field(ctypes.c_float * 3, 0x793C)] HomeRealityIteration: Annotated[int, Field(ctypes.c_uint16, 0x7948)] RealityIteration: Annotated[int, Field(ctypes.c_uint16, 0x794A)] - LoopInteractionPuzzles: Annotated[bool, Field(ctypes.c_bool, 0x794C)] + LoopInteractionPuzzles: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 153, 0x794C) + ] WeightingCurves: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x79E5) + tuple[enums.cTkCurveType, ...], Field(c_enum32[enums.cTkCurveType] * 7, 0x79E5) ] @partial_struct class cGcSubstanceTable(Structure): - Crafting: Annotated[ - basic.cTkDynamicArray[cGcRealityCraftingRecipeData], - Field(basic.cTkDynamicArray[cGcRealityCraftingRecipeData], 0x0), - ] - Table: Annotated[ - basic.cTkDynamicArray[cGcRealitySubstanceData], - Field(basic.cTkDynamicArray[cGcRealitySubstanceData], 0x10), - ] + Crafting: Annotated[basic.cTkDynamicArray[cGcRealityCraftingRecipeData], 0x0] + Table: Annotated[basic.cTkDynamicArray[cGcRealitySubstanceData], 0x10] @partial_struct class cGcTechnologyTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcTechnology], - Field(basic.cTkDynamicArray[cGcTechnology], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcTechnology], 0x0] @partial_struct class cGcNPCSettlementBehaviourData(Structure): BehaviourOverrides: Annotated[ - cGcNPCSettlementBehaviourEntry, Field(cGcNPCSettlementBehaviourEntry, 0x0) - ] - BaseBehaviour: Annotated[ - cGcNPCSettlementBehaviourEntry, Field(cGcNPCSettlementBehaviourEntry, 0x168) + tuple[cGcNPCSettlementBehaviourEntry, ...], + Field(cGcNPCSettlementBehaviourEntry * 5, 0x0), ] + BaseBehaviour: Annotated[cGcNPCSettlementBehaviourEntry, 0x168] @partial_struct class cGcHazardZoneComponentData(Structure): - OSDOnEntry: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + OSDOnEntry: Annotated[basic.cTkFixedString0x20, 0x0] CombatEffectsOnEntry: Annotated[ - basic.cTkDynamicArray[cGcImpactCombatEffectData], - Field(basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x20), + basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x20 ] - DamageOnEntry: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + DamageOnEntry: Annotated[basic.TkID0x10, 0x30] HazardStrength: Annotated[float, Field(ctypes.c_float, 0x40)] - HazardType: Annotated[ - c_enum32[enums.cGcPlayerHazardType], - Field(c_enum32[enums.cGcPlayerHazardType], 0x44), - ] + HazardType: Annotated[c_enum32[enums.cGcPlayerHazardType], 0x44] Radius: Annotated[float, Field(ctypes.c_float, 0x48)] @partial_struct class cGcMaintenanceComponentData(Structure): - ModelRenderData: Annotated[cTkModelRendererData, Field(cTkModelRendererData, 0x0)] - ModelRenderDataAlt: Annotated[ - cTkModelRendererData, Field(cTkModelRendererData, 0xB0) - ] - GroupInstallSetup: Annotated[ - cGcMaintenanceGroupInstallData, Field(cGcMaintenanceGroupInstallData, 0x160) - ] - ActionButtonOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1F0) - ] - ActionDescriptionOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x210) - ] - ActionWarningOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x230) - ] - ChargeButtonOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x250) - ] - ChargeDescriptionOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x270) - ] - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x290) - ] - DiscardButtonOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2B0) - ] - DiscardDescriptionOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2D0) - ] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2F0)] - TransferButtonOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x310) - ] - TransferDescriptionOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x330) - ] - ForceDamageDuringMissions: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x350), - ] - GiveRewardOnCompletion: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x360)] - PreInstalledTech: Annotated[ - basic.cTkDynamicArray[cGcMaintenanceElement], - Field(basic.cTkDynamicArray[cGcMaintenanceElement], 0x370), - ] - StartMissionOnCompletion: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x380)] - StartMissionOnUse: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x390)] - DepthOfField: Annotated[cGcInteractionDof, Field(cGcInteractionDof, 0x3A0)] - CustomIconCentre: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x3B4)] - AudioIDOnSuccess: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x3BC), - ] - BroadcastLevel: Annotated[ - c_enum32[enums.cGcBroadcastLevel], - Field(c_enum32[enums.cGcBroadcastLevel], 0x3C0), - ] + ModelRenderData: Annotated[cTkModelRendererData, 0x0] + ModelRenderDataAlt: Annotated[cTkModelRendererData, 0xB0] + GroupInstallSetup: Annotated[cGcMaintenanceGroupInstallData, 0x160] + ActionButtonOverride: Annotated[basic.cTkFixedString0x20, 0x1F0] + ActionDescriptionOverride: Annotated[basic.cTkFixedString0x20, 0x210] + ActionWarningOverride: Annotated[basic.cTkFixedString0x20, 0x230] + ChargeButtonOverride: Annotated[basic.cTkFixedString0x20, 0x250] + ChargeDescriptionOverride: Annotated[basic.cTkFixedString0x20, 0x270] + Description: Annotated[basic.cTkFixedString0x20, 0x290] + DiscardButtonOverride: Annotated[basic.cTkFixedString0x20, 0x2B0] + DiscardDescriptionOverride: Annotated[basic.cTkFixedString0x20, 0x2D0] + Title: Annotated[basic.cTkFixedString0x20, 0x2F0] + TransferButtonOverride: Annotated[basic.cTkFixedString0x20, 0x310] + TransferDescriptionOverride: Annotated[basic.cTkFixedString0x20, 0x330] + ForceDamageDuringMissions: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x350] + GiveRewardOnCompletion: Annotated[basic.TkID0x10, 0x360] + PreInstalledTech: Annotated[basic.cTkDynamicArray[cGcMaintenanceElement], 0x370] + StartMissionOnCompletion: Annotated[basic.TkID0x10, 0x380] + StartMissionOnUse: Annotated[basic.TkID0x10, 0x390] + DepthOfField: Annotated[cGcInteractionDof, 0x3A0] + CustomIconCentre: Annotated[basic.Vector2f, 0x3B4] + AudioIDOnSuccess: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x3BC] + BroadcastLevel: Annotated[c_enum32[enums.cGcBroadcastLevel], 0x3C0] CompletedTransitionDelay: Annotated[float, Field(ctypes.c_float, 0x3C4)] class eInteractableEnum(IntEnum): @@ -36992,9 +29982,7 @@ class eInteractableEnum(IntEnum): Always = 0x2 Never = 0x3 - Interactable: Annotated[ - c_enum32[eInteractableEnum], Field(c_enum32[eInteractableEnum], 0x3C8) - ] + Interactable: Annotated[c_enum32[eInteractableEnum], 0x3C8] InWorldUIForcedOffset: Annotated[float, Field(ctypes.c_float, 0x3CC)] InWorldUIForcedOffsetV2: Annotated[float, Field(ctypes.c_float, 0x3D0)] InWorldUIMinDistOverride: Annotated[float, Field(ctypes.c_float, 0x3D4)] @@ -37005,10 +29993,7 @@ class eModelRendererResourceEnum(IntEnum): ModelNode = 0x0 MasterModelNode = 0x1 - ModelRendererResource: Annotated[ - c_enum32[eModelRendererResourceEnum], - Field(c_enum32[eModelRendererResourceEnum], 0x3E0), - ] + ModelRendererResource: Annotated[c_enum32[eModelRendererResourceEnum], 0x3E0] VisibleMaintenanceSlots: Annotated[int, Field(ctypes.c_int32, 0x3E4)] AllowCharge: Annotated[bool, Field(ctypes.c_bool, 0x3E8)] AllowCraftProduct: Annotated[bool, Field(ctypes.c_bool, 0x3E9)] @@ -37040,21 +30025,14 @@ class eModelRendererResourceEnum(IntEnum): @partial_struct class cGcCreatureHarvesterComponentData(Structure): - MaintenanceData: Annotated[ - cGcMaintenanceComponentData, Field(cGcMaintenanceComponentData, 0x0) - ] + MaintenanceData: Annotated[cGcMaintenanceComponentData, 0x0] NumSlots: Annotated[int, Field(ctypes.c_int32, 0x410)] @partial_struct class cGcCreatureFeederComponentData(Structure): - MaintenanceData: Annotated[ - cGcMaintenanceComponentData, Field(cGcMaintenanceComponentData, 0x0) - ] - DispenseNodes: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x100], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x410), - ] + MaintenanceData: Annotated[cGcMaintenanceComponentData, 0x0] + DispenseNodes: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x100], 0x410] DispensePeriod: Annotated[float, Field(ctypes.c_float, 0x420)] DispenseVelocity: Annotated[float, Field(ctypes.c_float, 0x424)] NumInputs: Annotated[int, Field(ctypes.c_int32, 0x428)] @@ -37064,17 +30042,16 @@ class cGcCreatureFeederComponentData(Structure): @partial_struct class cGcPetEggTraitModifierOverrideTable(Structure): TraitModifiers: Annotated[ - basic.cTkDynamicArray[cGcPetEggTraitModifierOverrideData], - Field(basic.cTkDynamicArray[cGcPetEggTraitModifierOverrideData], 0x0), + basic.cTkDynamicArray[cGcPetEggTraitModifierOverrideData], 0x0 ] @partial_struct class cGcGeneratorUnitComponentData(Structure): - MaintenanceData: Annotated[ - cGcMaintenanceComponentData, Field(cGcMaintenanceComponentData, 0x0) + MaintenanceData: Annotated[cGcMaintenanceComponentData, 0x0] + BiomeGasRewards: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 17, 0x410) ] - BiomeGasRewards: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x410)] class eGeneratorUnitTypeEnum(IntEnum): MiningUnit = 0x0 @@ -37082,62 +30059,36 @@ class eGeneratorUnitTypeEnum(IntEnum): SystemHoover = 0x2 SeaHarvester = 0x3 - GeneratorUnitType: Annotated[ - c_enum32[eGeneratorUnitTypeEnum], Field(c_enum32[eGeneratorUnitTypeEnum], 0x520) - ] + GeneratorUnitType: Annotated[c_enum32[eGeneratorUnitTypeEnum], 0x520] ResourceMaintenanceSlotOverride: Annotated[int, Field(ctypes.c_int32, 0x524)] @partial_struct class cGcRefinerUnitComponentData(Structure): - MaintenanceData: Annotated[ - cGcMaintenanceComponentData, Field(cGcMaintenanceComponentData, 0x0) - ] - InputOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x410)] - OutputOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x420)] + MaintenanceData: Annotated[cGcMaintenanceComponentData, 0x0] + InputOffset: Annotated[basic.Vector3f, 0x410] + OutputOffset: Annotated[basic.Vector3f, 0x420] NumInputs: Annotated[int, Field(ctypes.c_int32, 0x430)] IsCooker: Annotated[bool, Field(ctypes.c_bool, 0x434)] @partial_struct class cGcEggMachineComponentData(Structure): - MaintenanceData: Annotated[ - cGcMaintenanceComponentData, Field(cGcMaintenanceComponentData, 0x0) - ] + MaintenanceData: Annotated[cGcMaintenanceComponentData, 0x0] NumInputs: Annotated[int, Field(ctypes.c_int32, 0x410)] @partial_struct class cGcPlayerFullBodyIKComponentData(Structure): - COGConstraint: Annotated[cGcIKConstraint, Field(cGcIKConstraint, 0x0)] - SitConstraint: Annotated[cGcIKConstraint, Field(cGcIKConstraint, 0x150)] - CameraNeckBones: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x2A0), - ] - HandBones: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x2B0), - ] - HeadConstraints: Annotated[ - basic.cTkDynamicArray[cGcIKConstraint], - Field(basic.cTkDynamicArray[cGcIKConstraint], 0x2C0), - ] - JointDataDeprecated: Annotated[ - basic.cTkDynamicArray[cGcCreatureIkData], - Field(basic.cTkDynamicArray[cGcCreatureIkData], 0x2D0), - ] - LegConstraints: Annotated[ - basic.cTkDynamicArray[cGcIKConstraint], - Field(basic.cTkDynamicArray[cGcIKConstraint], 0x2E0), - ] - RestrictConstraints: Annotated[ - basic.cTkDynamicArray[cGcIKConstraint], - Field(basic.cTkDynamicArray[cGcIKConstraint], 0x2F0), - ] - LookAtSettings: Annotated[ - cGcCharacterLookAtData, Field(cGcCharacterLookAtData, 0x300) - ] + COGConstraint: Annotated[cGcIKConstraint, 0x0] + SitConstraint: Annotated[cGcIKConstraint, 0x150] + CameraNeckBones: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x2A0] + HandBones: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x2B0] + HeadConstraints: Annotated[basic.cTkDynamicArray[cGcIKConstraint], 0x2C0] + JointDataDeprecated: Annotated[basic.cTkDynamicArray[cGcCreatureIkData], 0x2D0] + LegConstraints: Annotated[basic.cTkDynamicArray[cGcIKConstraint], 0x2E0] + RestrictConstraints: Annotated[basic.cTkDynamicArray[cGcIKConstraint], 0x2F0] + LookAtSettings: Annotated[cGcCharacterLookAtData, 0x300] DisableDistanceSq: Annotated[float, Field(ctypes.c_float, 0x334)] class ePlayerHeadUpAxisEnum(IntEnum): @@ -37148,9 +30099,7 @@ class ePlayerHeadUpAxisEnum(IntEnum): Z = 0x4 ZNeg = 0x5 - PlayerHeadUpAxis: Annotated[ - c_enum32[ePlayerHeadUpAxisEnum], Field(c_enum32[ePlayerHeadUpAxisEnum], 0x338) - ] + PlayerHeadUpAxis: Annotated[c_enum32[ePlayerHeadUpAxisEnum], 0x338] Enabled: Annotated[bool, Field(ctypes.c_bool, 0x33C)] EnableFootRaycasts: Annotated[bool, Field(ctypes.c_bool, 0x33D)] UseFootGlue: Annotated[bool, Field(ctypes.c_bool, 0x33E)] @@ -37158,77 +30107,57 @@ class ePlayerHeadUpAxisEnum(IntEnum): @partial_struct class cGcFreighterDungeonsTable(Structure): - Dungeons: Annotated[ - basic.cTkDynamicArray[cGcFreighterDungeonParams], - Field(basic.cTkDynamicArray[cGcFreighterDungeonParams], 0x0), - ] + Dungeons: Annotated[basic.cTkDynamicArray[cGcFreighterDungeonParams], 0x0] @partial_struct class cGcCreatureDataTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcCreatureData], - Field(basic.cTkDynamicArray[cGcCreatureData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcCreatureData], 0x0] @partial_struct class cGcExplosionDataTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcExplosionData], - Field(basic.cTkDynamicArray[cGcExplosionData], 0x0), - ] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x10)] + Table: Annotated[basic.cTkDynamicArray[cGcExplosionData], 0x0] + Name: Annotated[basic.cTkFixedString0x80, 0x10] @partial_struct class cGcDestructableComponentData(Structure): - RarityLocators: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - DestroyedModel: Annotated[cTkModelResource, Field(cTkModelResource, 0x30)] - OverrideRewardLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50) - ] - AreaDamage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x70)] - DestroyedModelSpawnNode: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - DestroyEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - DestroyEffectPoint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - Explosion: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - GivesReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC0)] - GivesSubstances: Annotated[ - basic.cTkDynamicArray[cGcSubstanceAmount], - Field(basic.cTkDynamicArray[cGcSubstanceAmount], 0xD0), - ] - LootItems: Annotated[ - basic.cTkDynamicArray[cGcLootProbability], - Field(basic.cTkDynamicArray[cGcLootProbability], 0xE0), - ] - LootReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xF0)] - PirateSystemAltReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x100)] + RarityLocators: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 3, 0x0) + ] + DestroyedModel: Annotated[cTkModelResource, 0x30] + OverrideRewardLoc: Annotated[basic.cTkFixedString0x20, 0x50] + AreaDamage: Annotated[basic.TkID0x10, 0x70] + DestroyedModelSpawnNode: Annotated[basic.TkID0x10, 0x80] + DestroyEffect: Annotated[basic.TkID0x10, 0x90] + DestroyEffectPoint: Annotated[basic.TkID0x10, 0xA0] + Explosion: Annotated[basic.TkID0x10, 0xB0] + GivesReward: Annotated[basic.TkID0x10, 0xC0] + GivesSubstances: Annotated[basic.cTkDynamicArray[cGcSubstanceAmount], 0xD0] + LootItems: Annotated[basic.cTkDynamicArray[cGcLootProbability], 0xE0] + LootReward: Annotated[basic.TkID0x10, 0xF0] + PirateSystemAltReward: Annotated[basic.TkID0x10, 0x100] RewardOverrideTable: Annotated[ - basic.cTkDynamicArray[cGcRewardMissionOverride], - Field(basic.cTkDynamicArray[cGcRewardMissionOverride], 0x110), + basic.cTkDynamicArray[cGcRewardMissionOverride], 0x110 ] - TriggerAction: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x120)] - UnderwaterExplosion: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x130)] - VehicleDestroyEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x140)] - StandingChangeOnDeath: Annotated[int, Field(ctypes.c_int32, 0x150)] + TriggerAction: Annotated[basic.TkID0x10, 0x120] + UnderwaterExplosion: Annotated[basic.TkID0x10, 0x130] + VehicleDestroyEffect: Annotated[basic.TkID0x10, 0x140] + StandingChangeOnDeath: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 10, 0x150)] DestroyEffectTime: Annotated[float, Field(ctypes.c_float, 0x178)] DestroyForce: Annotated[float, Field(ctypes.c_float, 0x17C)] DestroyForceRadius: Annotated[float, Field(ctypes.c_float, 0x180)] ExplosionScale: Annotated[float, Field(ctypes.c_float, 0x184)] IncreaseCorruptSentinelWanted: Annotated[int, Field(ctypes.c_int32, 0x188)] - IncreaseFiendCrime: Annotated[ - c_enum32[enums.cGcFiendCrime], Field(c_enum32[enums.cGcFiendCrime], 0x18C) - ] + IncreaseFiendCrime: Annotated[c_enum32[enums.cGcFiendCrime], 0x18C] IncreaseFiendWantedChance: Annotated[float, Field(ctypes.c_float, 0x190)] IncreaseWanted: Annotated[int, Field(ctypes.c_int32, 0x194)] LootRewardAmountMax: Annotated[int, Field(ctypes.c_int32, 0x198)] LootRewardAmountMin: Annotated[int, Field(ctypes.c_int32, 0x19C)] OverrideChipAmount: Annotated[int, Field(ctypes.c_int32, 0x1A0)] ShowInteractRange: Annotated[float, Field(ctypes.c_float, 0x1A4)] - StatToTrack: Annotated[ - c_enum32[enums.cGcStatsEnum], Field(c_enum32[enums.cGcStatsEnum], 0x1A8) - ] + StatToTrack: Annotated[c_enum32[enums.cGcStatsEnum], 0x1A8] UnderwaterExplosionScale: Annotated[float, Field(ctypes.c_float, 0x1AC)] ActivateLocatorsFromRarity: Annotated[bool, Field(ctypes.c_bool, 0x1B0)] BlockDestructionIfRewardFails: Annotated[bool, Field(ctypes.c_bool, 0x1B1)] @@ -37256,354 +30185,227 @@ class cGcDestructableComponentData(Structure): @partial_struct class cGcFrigateFlybyTable(Structure): - Entries: Annotated[ - basic.cTkDynamicArray[cGcFrigateFlybyLayout], - Field(basic.cTkDynamicArray[cGcFrigateFlybyLayout], 0x0), - ] + Entries: Annotated[basic.cTkDynamicArray[cGcFrigateFlybyLayout], 0x0] @partial_struct class cGcExperienceSpawnTable(Structure): - BattleReinforcingPirateFrigateSpawn: Annotated[ - cGcAIShipSpawnData, Field(cGcAIShipSpawnData, 0x0) - ] + BattleReinforcingPirateFrigateSpawn: Annotated[cGcAIShipSpawnData, 0x0] EncounterSpawns: Annotated[ - cGcSentinelSpawnSequenceGroupList, - Field(cGcSentinelSpawnSequenceGroupList, 0x160), + tuple[cGcSentinelSpawnSequenceGroupList, ...], + Field(cGcSentinelSpawnSequenceGroupList * 9, 0x160), ] WantedLevelSpawns: Annotated[ - cGcSentinelSpawnSequenceGroupList, - Field(cGcSentinelSpawnSequenceGroupList, 0x310), + tuple[cGcSentinelSpawnSequenceGroupList, ...], + Field(cGcSentinelSpawnSequenceGroupList * 6, 0x310), ] AsteroidCreatureSpawns: Annotated[ - cGcPlayerExperienceAsteroidCreatureSpawnTable, - Field(cGcPlayerExperienceAsteroidCreatureSpawnTable, 0x430), + cGcPlayerExperienceAsteroidCreatureSpawnTable, 0x430 ] - SummonerSpawns: Annotated[cGcSentinelWaveGroup, Field(cGcSentinelWaveGroup, 0x470)] + SummonerSpawns: Annotated[cGcSentinelWaveGroup, 0x470] AbandonedFreighterSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x490), - ] - AmbientSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4A0), + basic.cTkDynamicArray[cGcAIShipSpawnData], 0x490 ] + AmbientSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4A0] BackgroundSpaceEncounters: Annotated[ - basic.cTkDynamicArray[cGcBackgroundSpaceEncounterInfo], - Field(basic.cTkDynamicArray[cGcBackgroundSpaceEncounterInfo], 0x4B0), + basic.cTkDynamicArray[cGcBackgroundSpaceEncounterInfo], 0x4B0 ] BattleInitialPirateSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4C0), + basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4C0 ] BattleInitialStandardSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4D0), - ] - BattlePirateSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4E0), + basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4D0 ] + BattlePirateSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4E0] BattleRecurringPirateSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4F0), + basic.cTkDynamicArray[cGcAIShipSpawnData], 0x4F0 ] BattleSecondaryPirateSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x500), - ] - BattleSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x510), + basic.cTkDynamicArray[cGcAIShipSpawnData], 0x500 ] + BattleSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x510] CreatureSpawnArchetypes: Annotated[ - basic.cTkDynamicArray[cGcPlayerExperienceSpawnArchetypeData], - Field(basic.cTkDynamicArray[cGcPlayerExperienceSpawnArchetypeData], 0x520), + basic.cTkDynamicArray[cGcPlayerExperienceSpawnArchetypeData], 0x520 ] CreatureSpawnTable: Annotated[ - basic.cTkDynamicArray[cGcPlayerExperienceSpawnTable], - Field(basic.cTkDynamicArray[cGcPlayerExperienceSpawnTable], 0x530), + basic.cTkDynamicArray[cGcPlayerExperienceSpawnTable], 0x530 ] EncounterOverrides: Annotated[ - basic.cTkDynamicArray[cGcSentinelEncounterOverride], - Field(basic.cTkDynamicArray[cGcSentinelEncounterOverride], 0x540), - ] - FlybySpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x550), - ] - FrigateFlybySpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x560), - ] - MiningFlybySpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x570), - ] - OutpostSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x580), - ] - PirateBattleSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x590), - ] - PirateBountySpawns: Annotated[ - basic.cTkDynamicArray[cGcBountySpawnInfo], - Field(basic.cTkDynamicArray[cGcBountySpawnInfo], 0x5A0), - ] - PirateSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x5B0), - ] + basic.cTkDynamicArray[cGcSentinelEncounterOverride], 0x540 + ] + FlybySpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x550] + FrigateFlybySpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x560] + MiningFlybySpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x570] + OutpostSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x580] + PirateBattleSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x590] + PirateBountySpawns: Annotated[basic.cTkDynamicArray[cGcBountySpawnInfo], 0x5A0] + PirateSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x5B0] PlanetaryPirateFlybySpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x5C0), + basic.cTkDynamicArray[cGcAIShipSpawnData], 0x5C0 ] PlanetaryPirateRaidSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x5D0), - ] - PoliceSpawns: Annotated[ - basic.cTkDynamicArray[cGcPoliceSpawnWaveData], - Field(basic.cTkDynamicArray[cGcPoliceSpawnWaveData], 0x5E0), - ] - PulseEncounters: Annotated[ - basic.cTkDynamicArray[cGcPulseEncounterInfo], - Field(basic.cTkDynamicArray[cGcPulseEncounterInfo], 0x5F0), + basic.cTkDynamicArray[cGcAIShipSpawnData], 0x5D0 ] + PoliceSpawns: Annotated[basic.cTkDynamicArray[cGcPoliceSpawnWaveData], 0x5E0] + PulseEncounters: Annotated[basic.cTkDynamicArray[cGcPulseEncounterInfo], 0x5F0] SentinelSequences: Annotated[ - basic.cTkDynamicArray[cGcSentinelSpawnNamedSequence], - Field(basic.cTkDynamicArray[cGcSentinelSpawnNamedSequence], 0x600), - ] - SentinelSpawns: Annotated[ - basic.cTkDynamicArray[cGcSentinelSpawnWave], - Field(basic.cTkDynamicArray[cGcSentinelSpawnWave], 0x610), - ] - SpaceFlybySpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x620), - ] - TraderSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipSpawnData], 0x630), + basic.cTkDynamicArray[cGcSentinelSpawnNamedSequence], 0x600 ] + SentinelSpawns: Annotated[basic.cTkDynamicArray[cGcSentinelSpawnWave], 0x610] + SpaceFlybySpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x620] + TraderSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipSpawnData], 0x630] @partial_struct class cGcWFCDecorationSet(Structure): - Items: Annotated[ - basic.cTkDynamicArray[cGcWFCDecorationItem], - Field(basic.cTkDynamicArray[cGcWFCDecorationItem], 0x0), - ] + Items: Annotated[basic.cTkDynamicArray[cGcWFCDecorationItem], 0x0] @partial_struct class cGcSettlementColourTable(Structure): - DecorationPartIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x0), - ] + DecorationPartIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x0] SettlementColourPalettes: Annotated[ - basic.cTkDynamicArray[cGcSettlementColourPalette], - Field(basic.cTkDynamicArray[cGcSettlementColourPalette], 0x10), + basic.cTkDynamicArray[cGcSettlementColourPalette], 0x10 ] @partial_struct class cGcSolarSystemData(Structure): - Colours: Annotated[cGcPlanetColourData, Field(cGcPlanetColourData, 0x0)] - SpaceStationSpawn: Annotated[ - cGcSpaceStationSpawnData, Field(cGcSpaceStationSpawnData, 0x1C00) - ] - Sky: Annotated[cGcSpaceSkyProperties, Field(cGcSpaceSkyProperties, 0x1D40)] - PlanetPositions: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1DE0)] - Light: Annotated[cGcLightProperties, Field(cGcLightProperties, 0x1E60)] - SunPosition: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1E90)] + Colours: Annotated[cGcPlanetColourData, 0x0] + SpaceStationSpawn: Annotated[cGcSpaceStationSpawnData, 0x1C00] + Sky: Annotated[cGcSpaceSkyProperties, 0x1D40] + PlanetPositions: Annotated[ + tuple[basic.Vector3f, ...], Field(basic.Vector3f * 8, 0x1DE0) + ] + Light: Annotated[cGcLightProperties, 0x1E60] + SunPosition: Annotated[basic.Vector3f, 0x1E90] PlanetGenerationInputs: Annotated[ - cGcPlanetGenerationInputData, Field(cGcPlanetGenerationInputData, 0x1EA0) - ] - AsteroidGenerators: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x2160), - ] - AsteroidSubstanceID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2170)] - HeavyAir: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x2180) - ] - Locators: Annotated[ - basic.cTkDynamicArray[cGcSolarSystemLocator], - Field(basic.cTkDynamicArray[cGcSolarSystemLocator], 0x2190), - ] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x21A0)] - SentinelCrashSiteShipSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x21B0)] + tuple[cGcPlanetGenerationInputData, ...], + Field(cGcPlanetGenerationInputData * 8, 0x1EA0), + ] + AsteroidGenerators: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x2160] + AsteroidSubstanceID: Annotated[basic.TkID0x10, 0x2170] + HeavyAir: Annotated[basic.VariableSizeString, 0x2180] + Locators: Annotated[basic.cTkDynamicArray[cGcSolarSystemLocator], 0x2190] + Seed: Annotated[basic.GcSeed, 0x21A0] + SentinelCrashSiteShipSeed: Annotated[basic.GcSeed, 0x21B0] SystemShips: Annotated[ - basic.cTkDynamicArray[cGcAISpaceshipPreloadCacheData], - Field(basic.cTkDynamicArray[cGcAISpaceshipPreloadCacheData], 0x21C0), - ] - PlanetOrbits: Annotated[int, Field(ctypes.c_int32, 0x21D0)] - TraderSpawnInStations: Annotated[ - cGcSolarSystemTraderSpawnData, Field(cGcSolarSystemTraderSpawnData, 0x21F0) - ] - TraderSpawnOnOutposts: Annotated[ - cGcSolarSystemTraderSpawnData, Field(cGcSolarSystemTraderSpawnData, 0x2204) - ] - FlybyTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x2218)] - FreighterTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x2220)] - PlanetPirateTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x2228)] - PoliceTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x2230)] - SpacePirateTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x2238)] - TradingData: Annotated[cGcPlanetTradingData, Field(cGcPlanetTradingData, 0x2240)] + basic.cTkDynamicArray[cGcAISpaceshipPreloadCacheData], 0x21C0 + ] + PlanetOrbits: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0x21D0)] + TraderSpawnInStations: Annotated[cGcSolarSystemTraderSpawnData, 0x21F0] + TraderSpawnOnOutposts: Annotated[cGcSolarSystemTraderSpawnData, 0x2204] + FlybyTimer: Annotated[basic.Vector2f, 0x2218] + FreighterTimer: Annotated[basic.Vector2f, 0x2220] + PlanetPirateTimer: Annotated[basic.Vector2f, 0x2228] + PoliceTimer: Annotated[basic.Vector2f, 0x2230] + SpacePirateTimer: Annotated[basic.Vector2f, 0x2238] + TradingData: Annotated[cGcPlanetTradingData, 0x2240] class eAsteroidLevelEnum(IntEnum): NoRares = 0x0 SomeRares = 0x1 LotsOfRares = 0x2 - AsteroidLevel: Annotated[ - c_enum32[eAsteroidLevelEnum], Field(c_enum32[eAsteroidLevelEnum], 0x2248) - ] - Class: Annotated[ - c_enum32[enums.cGcSolarSystemClass], - Field(c_enum32[enums.cGcSolarSystemClass], 0x224C), - ] - ConflictData: Annotated[ - c_enum32[enums.cGcPlayerConflictData], - Field(c_enum32[enums.cGcPlayerConflictData], 0x2250), - ] - InhabitingRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x2254) - ] + AsteroidLevel: Annotated[c_enum32[eAsteroidLevelEnum], 0x2248] + Class: Annotated[c_enum32[enums.cGcSolarSystemClass], 0x224C] + ConflictData: Annotated[c_enum32[enums.cGcPlayerConflictData], 0x2250] + InhabitingRace: Annotated[c_enum32[enums.cGcAlienRace], 0x2254] MaxNumFreighters: Annotated[int, Field(ctypes.c_int32, 0x2258)] NumTradeRoutes: Annotated[int, Field(ctypes.c_int32, 0x225C)] NumVisibleTradeRoutes: Annotated[int, Field(ctypes.c_int32, 0x2260)] Planets: Annotated[int, Field(ctypes.c_int32, 0x2264)] PrimePlanets: Annotated[int, Field(ctypes.c_int32, 0x2268)] - ScreenFilter: Annotated[ - c_enum32[enums.cGcScreenFilters], - Field(c_enum32[enums.cGcScreenFilters], 0x226C), - ] - StarType: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x2270), - ] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x2274)] + ScreenFilter: Annotated[c_enum32[enums.cGcScreenFilters], 0x226C] + StarType: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x2270] + Name: Annotated[basic.cTkFixedString0x80, 0x2274] StartWithFreighters: Annotated[bool, Field(ctypes.c_bool, 0x22F4)] @partial_struct class cGcNPCWordReactionTable(Structure): - Races: Annotated[cGcNPCWordReactionCategory, Field(cGcNPCWordReactionCategory, 0x0)] + Races: Annotated[ + tuple[cGcNPCWordReactionCategory, ...], + Field(cGcNPCWordReactionCategory * 9, 0x0), + ] @partial_struct class cGcNPCPropTable(Structure): - Props: Annotated[cGcNPCPropInfo, Field(cGcNPCPropInfo, 0x0)] + Props: Annotated[tuple[cGcNPCPropInfo, ...], Field(cGcNPCPropInfo * 15, 0x0)] @partial_struct class cGcNPCReactionData(Structure): - Reactions: Annotated[ - basic.cTkDynamicArray[cGcNPCReactionEntry], - Field(basic.cTkDynamicArray[cGcNPCReactionEntry], 0x0), - ] + Reactions: Annotated[basic.cTkDynamicArray[cGcNPCReactionEntry], 0x0] @partial_struct class cGcNPCAnimationsData(Structure): - SittingAnimatons: Annotated[ - cGcNPCAnimationSetData, Field(cGcNPCAnimationSetData, 0x0) - ] - SittingIPadAnimatons: Annotated[ - cGcNPCAnimationSetData, Field(cGcNPCAnimationSetData, 0x190) - ] - StandingAnimatons: Annotated[ - cGcNPCAnimationSetData, Field(cGcNPCAnimationSetData, 0x320) - ] - StandingIPadAnimatons: Annotated[ - cGcNPCAnimationSetData, Field(cGcNPCAnimationSetData, 0x4B0) - ] - StandingStaffAnimatons: Annotated[ - cGcNPCAnimationSetData, Field(cGcNPCAnimationSetData, 0x640) - ] + SittingAnimatons: Annotated[cGcNPCAnimationSetData, 0x0] + SittingIPadAnimatons: Annotated[cGcNPCAnimationSetData, 0x190] + StandingAnimatons: Annotated[cGcNPCAnimationSetData, 0x320] + StandingIPadAnimatons: Annotated[cGcNPCAnimationSetData, 0x4B0] + StandingStaffAnimatons: Annotated[cGcNPCAnimationSetData, 0x640] @partial_struct class cGcNPCInteractionsDataTable(Structure): - NPCInteractions: Annotated[ - basic.cTkDynamicArray[cGcNPCInteractionData], - Field(basic.cTkDynamicArray[cGcNPCInteractionData], 0x0), - ] + NPCInteractions: Annotated[basic.cTkDynamicArray[cGcNPCInteractionData], 0x0] @partial_struct class cGcBiomeFileList(Structure): - BiomeFiles: Annotated[cGcBiomeFileListOptions, Field(cGcBiomeFileListOptions, 0x0)] + BiomeFiles: Annotated[ + tuple[cGcBiomeFileListOptions, ...], Field(cGcBiomeFileListOptions * 17, 0x0) + ] CommonExternalObjectLists: Annotated[ - basic.cTkDynamicArray[cGcExternalObjectListOptions], - Field(basic.cTkDynamicArray[cGcExternalObjectListOptions], 0x110), + basic.cTkDynamicArray[cGcExternalObjectListOptions], 0x110 ] OptionalExternalObjectLists: Annotated[ - basic.cTkDynamicArray[cGcExternalObjectFileList], - Field(basic.cTkDynamicArray[cGcExternalObjectFileList], 0x120), + basic.cTkDynamicArray[cGcExternalObjectFileList], 0x120 ] ValidGiantPlanetBiome: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x130), + basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x130 ] ValidPurpleMoonBiome: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x140), + basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x140 ] ValidStartPlanetBiome: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x150), + basic.cTkDynamicArray[c_enum32[enums.cGcBiomeType]], 0x150 ] @partial_struct class cGcWeatherProperties(Structure): - ExtremeColourModifiers: Annotated[ - cGcWeatherColourModifiers, Field(cGcWeatherColourModifiers, 0x0) + ExtremeColourModifiers: Annotated[cGcWeatherColourModifiers, 0x0] + ExtremeFog: Annotated[cGcFogProperties, 0x2A0] + FlightFog: Annotated[cGcFogProperties, 0x470] + Fog: Annotated[cGcFogProperties, 0x640] + StormFog: Annotated[cGcFogProperties, 0x810] + LightShaftProperties: Annotated[cGcLightShaftProperties, 0x9E0] + StormLightShaftProperties: Annotated[cGcLightShaftProperties, 0xA10] + HeavyAir: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0xA40] + Name: Annotated[basic.TkID0x10, 0xA50] + StormFilterOptions: Annotated[ + basic.cTkDynamicArray[c_enum32[enums.cGcScreenFilters]], 0xA60 ] - ExtremeFog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x2A0)] - FlightFog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x470)] - Fog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x640)] - StormFog: Annotated[cGcFogProperties, Field(cGcFogProperties, 0x810)] - LightShaftProperties: Annotated[ - cGcLightShaftProperties, Field(cGcLightShaftProperties, 0x9E0) + Storms: Annotated[basic.cTkDynamicArray[cGcStormProperties], 0xA70] + WeatherEffectsIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xA80] + WeatherHazardsIds: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0xA90] + LifeSupportDrain: Annotated[ + tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0xAA0) ] - StormLightShaftProperties: Annotated[ - cGcLightShaftProperties, Field(cGcLightShaftProperties, 0xA10) + Radiation: Annotated[tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0xAD0)] + Sky: Annotated[cGcSkyProperties, 0xB00] + SpookLevel: Annotated[ + tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0xB30) ] - HeavyAir: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0xA40), + Temperature: Annotated[ + tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0xB60) ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA50)] - StormFilterOptions: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcScreenFilters]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcScreenFilters]], 0xA60), - ] - Storms: Annotated[ - basic.cTkDynamicArray[cGcStormProperties], - Field(basic.cTkDynamicArray[cGcStormProperties], 0xA70), - ] - WeatherEffectsIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xA80), - ] - WeatherHazardsIds: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0xA90), - ] - LifeSupportDrain: Annotated[cGcHazardValues, Field(cGcHazardValues, 0xAA0)] - Radiation: Annotated[cGcHazardValues, Field(cGcHazardValues, 0xAD0)] - Sky: Annotated[cGcSkyProperties, Field(cGcSkyProperties, 0xB00)] - SpookLevel: Annotated[cGcHazardValues, Field(cGcHazardValues, 0xB30)] - Temperature: Annotated[cGcHazardValues, Field(cGcHazardValues, 0xB60)] - Toxicity: Annotated[cGcHazardValues, Field(cGcHazardValues, 0xB90)] - RainbowChance: Annotated[float, Field(ctypes.c_float, 0xBC0)] + Toxicity: Annotated[tuple[cGcHazardValues, ...], Field(cGcHazardValues * 6, 0xB90)] + RainbowChance: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0xBC0)] ExtremeWeatherChance: Annotated[float, Field(ctypes.c_float, 0xBD0)] HighStormsChance: Annotated[float, Field(ctypes.c_float, 0xBD4)] LowStormsChance: Annotated[float, Field(ctypes.c_float, 0xBD8)] @@ -37620,46 +30422,26 @@ class cGcWeatherProperties(Structure): @partial_struct class cGcBiomeData(Structure): - CloudSettings: Annotated[cGcBiomeCloudSettings, Field(cGcBiomeCloudSettings, 0x0)] - FloraLifeLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x60) - ] - ColourPaletteFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x80) - ] + CloudSettings: Annotated[cGcBiomeCloudSettings, 0x0] + FloraLifeLocID: Annotated[basic.cTkFixedString0x20, 0x60] + ColourPaletteFile: Annotated[basic.VariableSizeString, 0x80] ExternalObjectLists: Annotated[ - basic.cTkDynamicArray[cGcExternalObjectListOptions], - Field(basic.cTkDynamicArray[cGcExternalObjectListOptions], 0x90), - ] - FilterOptions: Annotated[ - basic.cTkDynamicArray[cGcScreenFilterOption], - Field(basic.cTkDynamicArray[cGcScreenFilterOption], 0xA0), - ] - LegacyColourPaletteFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xB0) - ] - OverlayFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xC0) - ] - TextureFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xD0) - ] - TileTypesFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE0) - ] - WeatherOptions: Annotated[cGcWeatherWeightings, Field(cGcWeatherWeightings, 0xF0)] - Terrain: Annotated[cGcTerrainControls, Field(cGcTerrainControls, 0x244)] - Water: Annotated[cGcPlanetWaterData, Field(cGcPlanetWaterData, 0x2BC)] - MiningSubstance1: Annotated[ - cGcMiningSubstanceData, Field(cGcMiningSubstanceData, 0x2CC) - ] - MiningSubstance2: Annotated[ - cGcMiningSubstanceData, Field(cGcMiningSubstanceData, 0x2D8) - ] - MiningSubstance3: Annotated[ - cGcMiningSubstanceData, Field(cGcMiningSubstanceData, 0x2E4) - ] - WeatherChangeTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x2F0)] + basic.cTkDynamicArray[cGcExternalObjectListOptions], 0x90 + ] + FilterOptions: Annotated[basic.cTkDynamicArray[cGcScreenFilterOption], 0xA0] + LegacyColourPaletteFile: Annotated[basic.VariableSizeString, 0xB0] + OverlayFile: Annotated[basic.VariableSizeString, 0xC0] + TextureFile: Annotated[basic.VariableSizeString, 0xD0] + TileTypesFile: Annotated[basic.VariableSizeString, 0xE0] + WeatherOptions: Annotated[ + tuple[cGcWeatherWeightings, ...], Field(cGcWeatherWeightings * 5, 0xF0) + ] + Terrain: Annotated[cGcTerrainControls, 0x244] + Water: Annotated[cGcPlanetWaterData, 0x2BC] + MiningSubstance1: Annotated[cGcMiningSubstanceData, 0x2CC] + MiningSubstance2: Annotated[cGcMiningSubstanceData, 0x2D8] + MiningSubstance3: Annotated[cGcMiningSubstanceData, 0x2E4] + WeatherChangeTime: Annotated[basic.Vector2f, 0x2F0] DarknessVariation: Annotated[float, Field(ctypes.c_float, 0x2F8)] FuelMultiplier: Annotated[float, Field(ctypes.c_float, 0x2FC)] @@ -37667,57 +30449,37 @@ class cGcBiomeData(Structure): @partial_struct class cGcWeatherColourSettings(Structure): PerBiomeSettings: Annotated[ - cGcWeatherColourSettingList, Field(cGcWeatherColourSettingList, 0x0) - ] - DarkSettings: Annotated[ - cGcWeatherColourSettingList, Field(cGcWeatherColourSettingList, 0x110) - ] - GenericSettings: Annotated[ - cGcWeatherColourSettingList, Field(cGcWeatherColourSettingList, 0x120) + tuple[cGcWeatherColourSettingList, ...], + Field(cGcWeatherColourSettingList * 17, 0x0), ] + DarkSettings: Annotated[cGcWeatherColourSettingList, 0x110] + GenericSettings: Annotated[cGcWeatherColourSettingList, 0x120] @partial_struct class cGcWeatherEffectTable(Structure): - Effects: Annotated[ - basic.cTkDynamicArray[cGcWeatherEffect], - Field(basic.cTkDynamicArray[cGcWeatherEffect], 0x0), - ] + Effects: Annotated[basic.cTkDynamicArray[cGcWeatherEffect], 0x0] @partial_struct class cGcSelectableObjectTable(Structure): - Lists: Annotated[ - basic.cTkDynamicArray[cGcSelectableObjectList], - Field(basic.cTkDynamicArray[cGcSelectableObjectList], 0x0), - ] + Lists: Annotated[basic.cTkDynamicArray[cGcSelectableObjectList], 0x0] @partial_struct class cGcCreatureRoleDescriptionTable(Structure): - RoleDescription: Annotated[ - basic.cTkDynamicArray[cGcCreatureRoleDescription], - Field(basic.cTkDynamicArray[cGcCreatureRoleDescription], 0x0), - ] - LifeLevel: Annotated[ - c_enum32[enums.cGcPlanetLife], Field(c_enum32[enums.cGcPlanetLife], 0x10) - ] + RoleDescription: Annotated[basic.cTkDynamicArray[cGcCreatureRoleDescription], 0x0] + LifeLevel: Annotated[c_enum32[enums.cGcPlanetLife], 0x10] MaxScaleVariance: Annotated[float, Field(ctypes.c_float, 0x14)] MinScaleVariance: Annotated[float, Field(ctypes.c_float, 0x18)] - TileType: Annotated[ - c_enum32[enums.cGcTerrainTileType], - Field(c_enum32[enums.cGcTerrainTileType], 0x1C), - ] + TileType: Annotated[c_enum32[enums.cGcTerrainTileType], 0x1C] @partial_struct class cGcSpaceshipComponentData(Structure): - Renderer: Annotated[cTkModelRendererData, Field(cTkModelRendererData, 0x0)] - Cockpit: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xB0)] - Class: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0xC0), - ] + Renderer: Annotated[cTkModelRendererData, 0x0] + Cockpit: Annotated[basic.VariableSizeString, 0xB0] + Class: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0xC0] DefaultHealth: Annotated[int, Field(ctypes.c_int32, 0xC4)] FoVFixedDistance: Annotated[float, Field(ctypes.c_float, 0xC8)] MaxHeadPitchDown: Annotated[float, Field(ctypes.c_float, 0xCC)] @@ -37727,104 +30489,57 @@ class cGcSpaceshipComponentData(Structure): @partial_struct class cGcActionSetsHudLayers(Structure): - ActionSetHudLayers: Annotated[ - basic.cTkDynamicArray[cGcActionSetHudLayer], - Field(basic.cTkDynamicArray[cGcActionSetHudLayer], 0x0), - ] + ActionSetHudLayers: Annotated[basic.cTkDynamicArray[cGcActionSetHudLayer], 0x0] @partial_struct class cGcInputBindings(Structure): - InputBindingSets: Annotated[ - basic.cTkDynamicArray[cGcInputBindingSet], - Field(basic.cTkDynamicArray[cGcInputBindingSet], 0x0), - ] + InputBindingSets: Annotated[basic.cTkDynamicArray[cGcInputBindingSet], 0x0] @partial_struct class cGcProductData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - DebrisFile: Annotated[cTkModelResource, Field(cTkModelResource, 0x10)] - Hint: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x30)] - PinObjective: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50) - ] - PinObjectiveMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x70) - ] - PinObjectiveTip: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x90) - ] - HeroIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0xB0)] - Icon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0xC8)] - AltDescription: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xE0) - ] - AltRequirements: Annotated[ - basic.cTkDynamicArray[cGcTechnologyRequirement], - Field(basic.cTkDynamicArray[cGcTechnologyRequirement], 0xF0), - ] - BuildableShipTechID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x100)] - DeploysInto: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x110)] - Description: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x120) - ] - GiveRewardOnSpecialPurchase: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x130)] - GroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x140)] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x150)] - Requirements: Annotated[ - basic.cTkDynamicArray[cGcTechnologyRequirement], - Field(basic.cTkDynamicArray[cGcTechnologyRequirement], 0x160), - ] - Subtitle: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x170) - ] - Cost: Annotated[cGcItemPriceModifiers, Field(cGcItemPriceModifiers, 0x180)] + Colour: Annotated[basic.Colour, 0x0] + DebrisFile: Annotated[cTkModelResource, 0x10] + Hint: Annotated[basic.cTkFixedString0x20, 0x30] + PinObjective: Annotated[basic.cTkFixedString0x20, 0x50] + PinObjectiveMessage: Annotated[basic.cTkFixedString0x20, 0x70] + PinObjectiveTip: Annotated[basic.cTkFixedString0x20, 0x90] + HeroIcon: Annotated[cTkTextureResource, 0xB0] + Icon: Annotated[cTkTextureResource, 0xC8] + AltDescription: Annotated[basic.VariableSizeString, 0xE0] + AltRequirements: Annotated[basic.cTkDynamicArray[cGcTechnologyRequirement], 0xF0] + BuildableShipTechID: Annotated[basic.TkID0x10, 0x100] + DeploysInto: Annotated[basic.TkID0x10, 0x110] + Description: Annotated[basic.VariableSizeString, 0x120] + GiveRewardOnSpecialPurchase: Annotated[basic.TkID0x10, 0x130] + GroupID: Annotated[basic.TkID0x10, 0x140] + ID: Annotated[basic.TkID0x10, 0x150] + Requirements: Annotated[basic.cTkDynamicArray[cGcTechnologyRequirement], 0x160] + Subtitle: Annotated[basic.VariableSizeString, 0x170] + Cost: Annotated[cGcItemPriceModifiers, 0x180] BaseValue: Annotated[int, Field(ctypes.c_int32, 0x194)] - Category: Annotated[ - c_enum32[enums.cGcRealitySubstanceCategory], - Field(c_enum32[enums.cGcRealitySubstanceCategory], 0x198), - ] + Category: Annotated[c_enum32[enums.cGcRealitySubstanceCategory], 0x198] ChargeValue: Annotated[int, Field(ctypes.c_int32, 0x19C)] CookingValue: Annotated[float, Field(ctypes.c_float, 0x1A0)] - CorvettePartCategory: Annotated[ - c_enum32[enums.cGcCorvettePartCategory], - Field(c_enum32[enums.cGcCorvettePartCategory], 0x1A4), - ] + CorvettePartCategory: Annotated[c_enum32[enums.cGcCorvettePartCategory], 0x1A4] CraftAmountMultiplier: Annotated[int, Field(ctypes.c_int32, 0x1A8)] CraftAmountStepSize: Annotated[int, Field(ctypes.c_int32, 0x1AC)] DefaultCraftAmount: Annotated[int, Field(ctypes.c_int32, 0x1B0)] EconomyInfluenceMultiplier: Annotated[float, Field(ctypes.c_float, 0x1B4)] - FoodBonusStat: Annotated[ - c_enum32[enums.cGcStatsTypes], Field(c_enum32[enums.cGcStatsTypes], 0x1B8) - ] + FoodBonusStat: Annotated[c_enum32[enums.cGcStatsTypes], 0x1B8] FoodBonusStatAmount: Annotated[float, Field(ctypes.c_float, 0x1BC)] - FossilCategory: Annotated[ - c_enum32[enums.cGcFossilCategory], - Field(c_enum32[enums.cGcFossilCategory], 0x1C0), - ] - Legality: Annotated[ - c_enum32[enums.cGcLegality], Field(c_enum32[enums.cGcLegality], 0x1C4) - ] + FossilCategory: Annotated[c_enum32[enums.cGcFossilCategory], 0x1C0] + Legality: Annotated[c_enum32[enums.cGcLegality], 0x1C4] Level: Annotated[int, Field(ctypes.c_int32, 0x1C8)] NormalisedValueOffWorld: Annotated[float, Field(ctypes.c_float, 0x1CC)] NormalisedValueOnWorld: Annotated[float, Field(ctypes.c_float, 0x1D0)] - PinObjectiveScannableType: Annotated[ - c_enum32[enums.cGcScannerIconTypes], - Field(c_enum32[enums.cGcScannerIconTypes], 0x1D4), - ] - Rarity: Annotated[ - c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x1D8) - ] + PinObjectiveScannableType: Annotated[c_enum32[enums.cGcScannerIconTypes], 0x1D4] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x1D8] RecipeCost: Annotated[int, Field(ctypes.c_int32, 0x1DC)] StackMultiplier: Annotated[int, Field(ctypes.c_int32, 0x1E0)] - TradeCategory: Annotated[ - c_enum32[enums.cGcTradeCategory], Field(c_enum32[enums.cGcTradeCategory], 0x1E4) - ] - Type: Annotated[ - c_enum32[enums.cGcProductCategory], - Field(c_enum32[enums.cGcProductCategory], 0x1E8), - ] + TradeCategory: Annotated[c_enum32[enums.cGcTradeCategory], 0x1E4] + Type: Annotated[c_enum32[enums.cGcProductCategory], 0x1E8] class eWikiCategoryEnum(IntEnum): NotEnabled = 0x0 @@ -37835,13 +30550,9 @@ class eWikiCategoryEnum(IntEnum): Curio = 0x5 Cooking = 0x6 - WikiCategory: Annotated[ - c_enum32[eWikiCategoryEnum], Field(c_enum32[eWikiCategoryEnum], 0x1EC) - ] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x1F0)] - NameLower: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x270) - ] + WikiCategory: Annotated[c_enum32[eWikiCategoryEnum], 0x1EC] + Name: Annotated[basic.cTkFixedString0x80, 0x1F0] + NameLower: Annotated[basic.cTkFixedString0x80, 0x270] CanSendToOtherPlayers: Annotated[bool, Field(ctypes.c_bool, 0x2F0)] Consumable: Annotated[bool, Field(ctypes.c_bool, 0x2F1)] CookingIngredient: Annotated[bool, Field(ctypes.c_bool, 0x2F2)] @@ -37856,23 +30567,17 @@ class eWikiCategoryEnum(IntEnum): @partial_struct class cGcBaseBuildingPart(Structure): - ID: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - StyleModels: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingPartStyleModel], - Field(basic.cTkDynamicArray[cGcBaseBuildingPartStyleModel], 0x20), - ] + ID: Annotated[basic.TkID0x20, 0x0] + StyleModels: Annotated[basic.cTkDynamicArray[cGcBaseBuildingPartStyleModel], 0x20] @partial_struct class cSimShape(Structure): - ShapePoints: Annotated[ - basic.cTkDynamicArray[cShapePoint], - Field(basic.cTkDynamicArray[cShapePoint], 0x0), - ] + ShapePoints: Annotated[basic.cTkDynamicArray[cShapePoint], 0x0] NumSimI: Annotated[int, Field(ctypes.c_int32, 0x10)] NumSimJ: Annotated[int, Field(ctypes.c_int32, 0x14)] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x18)] - NodeName: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x58)] + Name: Annotated[basic.cTkFixedString0x40, 0x18] + NodeName: Annotated[basic.cTkFixedString0x40, 0x58] SimPIsInUnwrappedFormat: Annotated[bool, Field(ctypes.c_bool, 0x98)] WrapI: Annotated[bool, Field(ctypes.c_bool, 0x99)] WrapJ: Annotated[bool, Field(ctypes.c_bool, 0x9A)] @@ -37880,66 +30585,57 @@ class cSimShape(Structure): @partial_struct class cInfluencesOnMappedPoint(Structure): - Influences: Annotated[ - basic.cTkDynamicArray[cMappingInfluence], - Field(basic.cTkDynamicArray[cMappingInfluence], 0x0), - ] + Influences: Annotated[basic.cTkDynamicArray[cMappingInfluence], 0x0] @partial_struct class cTkVoxelGeneratorData(Structure): - GridLayers: Annotated[cTkNoiseGridData, Field(cTkNoiseGridData, 0x0)] - BaseSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0xAB0)] - NoiseLayers: Annotated[cTkNoiseUberLayerData, Field(cTkNoiseUberLayerData, 0xAC0)] - Features: Annotated[cTkNoiseFeatureData, Field(cTkNoiseFeatureData, 0xEE0)] - Caves: Annotated[cTkNoiseCaveData, Field(cTkNoiseCaveData, 0x10A0)] + GridLayers: Annotated[ + tuple[cTkNoiseGridData, ...], Field(cTkNoiseGridData * 9, 0x0) + ] + BaseSeed: Annotated[basic.GcSeed, 0xAB0] + NoiseLayers: Annotated[ + tuple[cTkNoiseUberLayerData, ...], Field(cTkNoiseUberLayerData * 8, 0xAC0) + ] + Features: Annotated[ + tuple[cTkNoiseFeatureData, ...], Field(cTkNoiseFeatureData * 7, 0xEE0) + ] + Caves: Annotated[tuple[cTkNoiseCaveData, ...], Field(cTkNoiseCaveData * 1, 0x10A0)] BeachHeight: Annotated[float, Field(ctypes.c_float, 0x1120)] BuildingSmoothingHeight: Annotated[float, Field(ctypes.c_float, 0x1124)] BuildingSmoothingRadius: Annotated[float, Field(ctypes.c_float, 0x1128)] BuildingTextureRadius: Annotated[float, Field(ctypes.c_float, 0x112C)] - BuildingVoxelType: Annotated[ - c_enum32[enums.cTkNoiseVoxelTypeEnum], - Field(c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x1130), - ] + BuildingVoxelType: Annotated[c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x1130] CaveRoofSmoothingDist: Annotated[float, Field(ctypes.c_float, 0x1134)] MaximumSeaLevelCaveDepth: Annotated[float, Field(ctypes.c_float, 0x1138)] MinimumCaveDepth: Annotated[float, Field(ctypes.c_float, 0x113C)] NoSeaBaseLevel: Annotated[float, Field(ctypes.c_float, 0x1140)] - ResourceVoxelType: Annotated[ - c_enum32[enums.cTkNoiseVoxelTypeEnum], - Field(c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x1144), - ] + ResourceVoxelType: Annotated[c_enum32[enums.cTkNoiseVoxelTypeEnum], 0x1144] SeaLevel: Annotated[float, Field(ctypes.c_float, 0x1148)] WaterFadeInDistance: Annotated[float, Field(ctypes.c_float, 0x114C)] @partial_struct class cTkControllerSpecification(Structure): - AxisImageLookup: Annotated[cTkAxisImageLookup, Field(cTkAxisImageLookup, 0x0)] - ButtonImageLookup: Annotated[ - cTkButtonImageLookup, Field(cTkButtonImageLookup, 0x10) - ] - ChordsImageLookup: Annotated[ - cTkChordsImageLookup, Field(cTkChordsImageLookup, 0x20) - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30)] + AxisImageLookup: Annotated[cTkAxisImageLookup, 0x0] + ButtonImageLookup: Annotated[cTkButtonImageLookup, 0x10] + ChordsImageLookup: Annotated[cTkChordsImageLookup, 0x20] + Id: Annotated[basic.TkID0x10, 0x30] @partial_struct class cTkParticleBurstData(Structure): - BurstAmount: Annotated[cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x0)] - BurstInterval: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x38) - ] + BurstAmount: Annotated[cTkEmitterFloatProperty, 0x0] + BurstInterval: Annotated[cTkEmitterFloatProperty, 0x38] LoopCount: Annotated[int, Field(ctypes.c_int32, 0x70)] @partial_struct class cTkParticleSize(Structure): - GeneralSize: Annotated[cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x0)] - PointAmplitudes: Annotated[float, Field(ctypes.c_float, 0x38)] - PointRotations: Annotated[float, Field(ctypes.c_float, 0x78)] - PointTimes: Annotated[float, Field(ctypes.c_float, 0xB8)] + GeneralSize: Annotated[cTkEmitterFloatProperty, 0x0] + PointAmplitudes: Annotated[tuple[float, ...], Field(ctypes.c_float * 16, 0x38)] + PointRotations: Annotated[tuple[float, ...], Field(ctypes.c_float * 16, 0x78)] + PointTimes: Annotated[tuple[float, ...], Field(ctypes.c_float * 16, 0xB8)] CurvePointCount: Annotated[int, Field(ctypes.c_int32, 0xF8)] CurveStrength: Annotated[float, Field(ctypes.c_float, 0xFC)] Max: Annotated[float, Field(ctypes.c_float, 0x100)] @@ -37950,165 +30646,101 @@ class cTkParticleSize(Structure): @partial_struct class cTkHeavyAirCollection(Structure): - HeavyAirSystems: Annotated[ - basic.cTkDynamicArray[cTkHeavyAirData], - Field(basic.cTkDynamicArray[cTkHeavyAirData], 0x0), - ] + HeavyAirSystems: Annotated[basic.cTkDynamicArray[cTkHeavyAirData], 0x0] @partial_struct class cTkProceduralTextureChosenOptionSampler(Structure): - Options: Annotated[ - basic.cTkDynamicArray[cTkProceduralTextureChosenOption], - Field(basic.cTkDynamicArray[cTkProceduralTextureChosenOption], 0x0), - ] + Options: Annotated[basic.cTkDynamicArray[cTkProceduralTextureChosenOption], 0x0] @partial_struct class cTkProceduralTextureChosenOptionList(Structure): Samplers: Annotated[ - basic.cTkDynamicArray[cTkProceduralTextureChosenOptionSampler], - Field(basic.cTkDynamicArray[cTkProceduralTextureChosenOptionSampler], 0x0), + basic.cTkDynamicArray[cTkProceduralTextureChosenOptionSampler], 0x0 ] @partial_struct class cTkIOSPerDeviceSettings(Structure): - DevicePresets: Annotated[ - basic.cTkDynamicArray[cTkIOSDevicePreset], - Field(basic.cTkDynamicArray[cTkIOSDevicePreset], 0x0), - ] + DevicePresets: Annotated[basic.cTkDynamicArray[cTkIOSDevicePreset], 0x0] @partial_struct class cTkBlendTreeLibrary(Structure): - Trees: Annotated[ - basic.cTkDynamicArray[cTkAnimBlendTree], - Field(basic.cTkDynamicArray[cTkAnimBlendTree], 0x0), - ] + Trees: Annotated[basic.cTkDynamicArray[cTkAnimBlendTree], 0x0] @partial_struct class cTkAnimationLibrary(Structure): - Anims: Annotated[ - basic.cTkDynamicArray[cTkAnimationData], - Field(basic.cTkDynamicArray[cTkAnimationData], 0x0), - ] - Overrides: Annotated[ - basic.cTkDynamicArray[cTkAnimationOverrideList], - Field(basic.cTkDynamicArray[cTkAnimationOverrideList], 0x10), - ] - Trees: Annotated[cTkBlendTreeLibrary, Field(cTkBlendTreeLibrary, 0x20)] + Anims: Annotated[basic.cTkDynamicArray[cTkAnimationData], 0x0] + Overrides: Annotated[basic.cTkDynamicArray[cTkAnimationOverrideList], 0x10] + Trees: Annotated[cTkBlendTreeLibrary, 0x20] @partial_struct class cTkLayeredAnimStateMachineData(Structure): - Id: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x0)] - Layers: Annotated[ - basic.cTkDynamicArray[cTkAnimStateMachineData], - Field(basic.cTkDynamicArray[cTkAnimStateMachineData], 0x20), - ] - Parameters: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x30), - ] + Id: Annotated[basic.TkID0x20, 0x0] + Layers: Annotated[basic.cTkDynamicArray[cTkAnimStateMachineData], 0x20] + Parameters: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x30] @partial_struct class cTkAnimStateMachineTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cTkLayeredAnimStateMachineData], - Field(basic.cTkDynamicArray[cTkLayeredAnimStateMachineData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cTkLayeredAnimStateMachineData], 0x0] @partial_struct class cTkAnimStateMachineLayerData(Structure): - StateMachineContainer: Annotated[ - cTkAnimStateMachineData, Field(cTkAnimStateMachineData, 0x0) - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] + StateMachineContainer: Annotated[cTkAnimStateMachineData, 0x0] + Id: Annotated[basic.TkID0x10, 0x48] @partial_struct class cGcResourceElement(Structure): - AltId: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x0)] - Filename: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x10)] - ProceduralTexture: Annotated[ - cTkProceduralTextureChosenOptionList, - Field(cTkProceduralTextureChosenOptionList, 0x20), - ] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x30)] - ResHandle: Annotated[basic.GcResource, Field(basic.GcResource, 0x40)] + AltId: Annotated[basic.VariableSizeString, 0x0] + Filename: Annotated[basic.VariableSizeString, 0x10] + ProceduralTexture: Annotated[cTkProceduralTextureChosenOptionList, 0x20] + Seed: Annotated[basic.GcSeed, 0x30] + ResHandle: Annotated[basic.GcResource, 0x40] @partial_struct class cGcDifficultyStartWithAllItemsKnownOptionData(Structure): - InitialShipInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x0) - ] - InitialWeaponInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x160) - ] - InitialKnownThings: Annotated[ - cGcKnownThingsPreset, Field(cGcKnownThingsPreset, 0x2C0) - ] + InitialShipInventory: Annotated[cGcInventoryContainer, 0x0] + InitialWeaponInventory: Annotated[cGcInventoryContainer, 0x160] + InitialKnownThings: Annotated[cGcKnownThingsPreset, 0x2C0] @partial_struct class cGcDifficultyStateData(Structure): - Settings: Annotated[ - cGcDifficultySettingsData, Field(cGcDifficultySettingsData, 0x0) - ] - EasiestUsedPreset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0x60), - ] - HardestUsedPreset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0x64), - ] - Preset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0x68), - ] + Settings: Annotated[cGcDifficultySettingsData, 0x0] + EasiestUsedPreset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0x60] + HardestUsedPreset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0x64] + Preset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0x68] @partial_struct class cGcPulseEncounterSpawnFrigateFlyby(Structure): - CommunicatorMessage: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0x0) - ] - CommunicatorOSDLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x50) - ] - FlybyType: Annotated[ - c_enum32[enums.cGcFrigateFlybyType], - Field(c_enum32[enums.cGcFrigateFlybyType], 0x70), - ] + CommunicatorMessage: Annotated[cGcPlayerCommunicatorMessage, 0x0] + CommunicatorOSDLocId: Annotated[basic.cTkFixedString0x20, 0x50] + FlybyType: Annotated[c_enum32[enums.cGcFrigateFlybyType], 0x70] RangeOverride: Annotated[float, Field(ctypes.c_float, 0x74)] @partial_struct class cGcPulseEncounterSpawnSpaceHostiles(Structure): - CustomShipResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x0)] - AttackDefinition: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] + CustomShipResource: Annotated[cGcResourceElement, 0x0] + AttackDefinition: Annotated[basic.TkID0x10, 0x48] NumberOfShips: Annotated[int, Field(ctypes.c_int32, 0x58)] @partial_struct class cGcPulseEncounterSpawnTrader(Structure): - HailingMessage: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0x0) - ] - CustomShipResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x50)] - CustomHailOSD: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x98) - ] - ShipTrailFactionOverride: Annotated[ - c_enum32[enums.cGcRealityCommonFactions], - Field(c_enum32[enums.cGcRealityCommonFactions], 0xB8), - ] + HailingMessage: Annotated[cGcPlayerCommunicatorMessage, 0x0] + CustomShipResource: Annotated[cGcResourceElement, 0x50] + CustomHailOSD: Annotated[basic.cTkFixedString0x20, 0x98] + ShipTrailFactionOverride: Annotated[c_enum32[enums.cGcRealityCommonFactions], 0xB8] UseCustomMessage: Annotated[bool, Field(ctypes.c_bool, 0xBC)] UseSentinelCrashedShipResource: Annotated[bool, Field(ctypes.c_bool, 0xBD)] WarpOutOnCombatStart: Annotated[bool, Field(ctypes.c_bool, 0xBE)] @@ -38117,29 +30749,29 @@ class cGcPulseEncounterSpawnTrader(Structure): @partial_struct class cGcShipDialogue(Structure): DialogueTree: Annotated[ - cGcPlayerCommunicatorMessageWeighted, - Field(cGcPlayerCommunicatorMessageWeighted, 0x0), + tuple[cGcPlayerCommunicatorMessageWeighted, ...], + Field(cGcPlayerCommunicatorMessageWeighted * 7, 0x0), ] @partial_struct class cGcPlayerSquadronConfig(Structure): - CombatFormationOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - CombatFormationOffsetThirdPerson: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x10) + CombatFormationOffset: Annotated[basic.Vector3f, 0x0] + CombatFormationOffsetThirdPerson: Annotated[basic.Vector3f, 0x10] + FormationOffset: Annotated[basic.Vector3f, 0x20] + FormationOffsetThirdPerson: Annotated[basic.Vector3f, 0x30] + PilotRankAttackDefinitions: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 4, 0x40) ] - FormationOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - FormationOffsetThirdPerson: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - PilotRankAttackDefinitions: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] RandomPilotNPCResources: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x80), + basic.cTkDynamicArray[basic.VariableSizeString], 0x80 ] RandomSpaceshipResources: Annotated[ - basic.cTkDynamicArray[cGcAISpaceshipModelData], - Field(basic.cTkDynamicArray[cGcAISpaceshipModelData], 0x90), + basic.cTkDynamicArray[cGcAISpaceshipModelData], 0x90 + ] + PilotRankTraitRanges: Annotated[ + tuple[basic.Vector2f, ...], Field(basic.Vector2f * 4, 0xA0) ] - PilotRankTraitRanges: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xA0)] BreakFormationMaxForce: Annotated[float, Field(ctypes.c_float, 0xC0)] BreakFormationMaxTurnAngle: Annotated[float, Field(ctypes.c_float, 0xC4)] BreakFormationMinTurnAngle: Annotated[float, Field(ctypes.c_float, 0xC8)] @@ -38243,32 +30875,24 @@ class cGcPlayerSquadronConfig(Structure): SummonSpaceSpawnRangeMax: Annotated[float, Field(ctypes.c_float, 0x1F8)] SummonSpaceSpawnRangeMin: Annotated[float, Field(ctypes.c_float, 0x1FC)] SummonStartSpeed: Annotated[float, Field(ctypes.c_float, 0x200)] - SquadName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x204) - ] + SquadName: Annotated[basic.cTkFixedString0x20, 0x204] SummonInFormation: Annotated[bool, Field(ctypes.c_bool, 0x224)] @partial_struct class cGcPlanetWeatherData(Structure): - HeavyAir: Annotated[cGcPlanetHeavyAirData, Field(cGcPlanetHeavyAirData, 0x0)] + HeavyAir: Annotated[cGcPlanetHeavyAirData, 0x0] class eAtmosphereTypeEnum(IntEnum): None_ = 0x0 Normal = 0x1 - AtmosphereType: Annotated[ - c_enum32[eAtmosphereTypeEnum], Field(c_enum32[eAtmosphereTypeEnum], 0x150) - ] + AtmosphereType: Annotated[c_enum32[eAtmosphereTypeEnum], 0x150] DayColourIndex: Annotated[int, Field(ctypes.c_int32, 0x154)] DuskColourIndex: Annotated[int, Field(ctypes.c_int32, 0x158)] NightColourIndex: Annotated[int, Field(ctypes.c_int32, 0x15C)] - RainbowType: Annotated[ - c_enum32[enums.cGcRainbowType], Field(c_enum32[enums.cGcRainbowType], 0x160) - ] - ScreenFilter: Annotated[ - c_enum32[enums.cGcScreenFilters], Field(c_enum32[enums.cGcScreenFilters], 0x164) - ] + RainbowType: Annotated[c_enum32[enums.cGcRainbowType], 0x160] + ScreenFilter: Annotated[c_enum32[enums.cGcScreenFilters], 0x164] class eStormFrequencyEnum(IntEnum): None_ = 0x0 @@ -38276,47 +30900,32 @@ class eStormFrequencyEnum(IntEnum): High = 0x2 Always = 0x3 - StormFrequency: Annotated[ - c_enum32[eStormFrequencyEnum], Field(c_enum32[eStormFrequencyEnum], 0x168) - ] - StormScreenFilter: Annotated[ - c_enum32[enums.cGcScreenFilters], Field(c_enum32[enums.cGcScreenFilters], 0x16C) - ] + StormFrequency: Annotated[c_enum32[eStormFrequencyEnum], 0x168] + StormScreenFilter: Annotated[c_enum32[enums.cGcScreenFilters], 0x16C] class eWeatherIntensityEnum(IntEnum): Default = 0x0 Extreme = 0x1 - WeatherIntensity: Annotated[ - c_enum32[eWeatherIntensityEnum], Field(c_enum32[eWeatherIntensityEnum], 0x170) - ] - WeatherType: Annotated[ - c_enum32[enums.cGcWeatherOptions], - Field(c_enum32[enums.cGcWeatherOptions], 0x174), - ] + WeatherIntensity: Annotated[c_enum32[eWeatherIntensityEnum], 0x170] + WeatherType: Annotated[c_enum32[enums.cGcWeatherOptions], 0x174] @partial_struct class cGcProjectileData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - ImpactOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - LightColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - Model: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x30)] + Colour: Annotated[basic.Colour, 0x0] + ImpactOffset: Annotated[basic.Vector3f, 0x10] + LightColour: Annotated[basic.Colour, 0x20] + Model: Annotated[cGcResourceElement, 0x30] CombatEffectsOnImpact: Annotated[ - basic.cTkDynamicArray[cGcImpactCombatEffectData], - Field(basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x78), - ] - CriticalImpact: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x88)] - DefaultImpact: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x98)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA8)] - Impacts: Annotated[ - basic.cTkDynamicArray[cGcProjectileImpactData], - Field(basic.cTkDynamicArray[cGcProjectileImpactData], 0xB8), - ] - PlayerDamage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xC8)] - CustomBulletData: Annotated[ - cGcProjectileLineData, Field(cGcProjectileLineData, 0xD8) + basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x78 ] + CriticalImpact: Annotated[basic.TkID0x10, 0x88] + DefaultImpact: Annotated[basic.TkID0x10, 0x98] + Id: Annotated[basic.TkID0x10, 0xA8] + Impacts: Annotated[basic.cTkDynamicArray[cGcProjectileImpactData], 0xB8] + PlayerDamage: Annotated[basic.TkID0x10, 0xC8] + CustomBulletData: Annotated[cGcProjectileLineData, 0xD8] class eBehaviourFlagsEnum(IntEnum): empty = 0x0 @@ -38328,17 +30937,12 @@ class eBehaviourFlagsEnum(IntEnum): ScareCreatures = 0x20 ExplosionForce = 0x40 - BehaviourFlags: Annotated[ - c_enum32[eBehaviourFlagsEnum], Field(c_enum32[eBehaviourFlagsEnum], 0x100) - ] + BehaviourFlags: Annotated[c_enum32[eBehaviourFlagsEnum], 0x100] BounceDamping: Annotated[float, Field(ctypes.c_float, 0x104)] BounceFinalStopTime: Annotated[float, Field(ctypes.c_float, 0x108)] BounceMaxSpeed: Annotated[float, Field(ctypes.c_float, 0x10C)] CapsuleHeight: Annotated[float, Field(ctypes.c_float, 0x110)] - ChargedFireAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x114), - ] + ChargedFireAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x114] class eClassEnum(IntEnum): Player = 0x0 @@ -38346,23 +30950,18 @@ class eClassEnum(IntEnum): Ship = 0x2 Robot = 0x3 - Class: Annotated[c_enum32[eClassEnum], Field(c_enum32[eClassEnum], 0x118)] + Class: Annotated[c_enum32[eClassEnum], 0x118] CriticalHitModifier: Annotated[float, Field(ctypes.c_float, 0x11C)] DamageImpactMergeTime: Annotated[float, Field(ctypes.c_float, 0x120)] DamageImpactMinDistance: Annotated[float, Field(ctypes.c_float, 0x124)] DamageImpactTimeBetweenNumbers: Annotated[float, Field(ctypes.c_float, 0x128)] - DamageType: Annotated[ - c_enum32[enums.cGcDamageType], Field(c_enum32[enums.cGcDamageType], 0x12C) - ] + DamageType: Annotated[c_enum32[enums.cGcDamageType], 0x12C] DefaultBounces: Annotated[int, Field(ctypes.c_int32, 0x130)] DefaultDamage: Annotated[int, Field(ctypes.c_int32, 0x134)] DefaultSpeed: Annotated[float, Field(ctypes.c_float, 0x138)] DroneImpulse: Annotated[float, Field(ctypes.c_float, 0x13C)] ExtraPlayerDamage: Annotated[float, Field(ctypes.c_float, 0x140)] - FireAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x144), - ] + FireAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x144] Gravity: Annotated[float, Field(ctypes.c_float, 0x148)] HomingDelay: Annotated[float, Field(ctypes.c_float, 0x14C)] HomingDelayAcceleration: Annotated[float, Field(ctypes.c_float, 0x150)] @@ -38374,10 +30973,7 @@ class eClassEnum(IntEnum): MaxHomingTargetAngleUpper: Annotated[float, Field(ctypes.c_float, 0x168)] MaxHomingTargetAngleUpperDistance: Annotated[float, Field(ctypes.c_float, 0x16C)] Offset: Annotated[float, Field(ctypes.c_float, 0x170)] - OverheatAudioEvent: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x174), - ] + OverheatAudioEvent: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x174] PhysicsPush: Annotated[float, Field(ctypes.c_float, 0x178)] PiercingDamagePercentage: Annotated[float, Field(ctypes.c_float, 0x17C)] PusherForce: Annotated[float, Field(ctypes.c_float, 0x180)] @@ -38402,47 +30998,27 @@ class eClassEnum(IntEnum): @partial_struct class cGcLaserBeamData(Structure): - Colour: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - ImpactOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - LightColour: Annotated[basic.Colour, Field(basic.Colour, 0x20)] - BeamCoreFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - BeamFile: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x40)] - BeamTipFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] + Colour: Annotated[basic.Colour, 0x0] + ImpactOffset: Annotated[basic.Vector3f, 0x10] + LightColour: Annotated[basic.Colour, 0x20] + BeamCoreFile: Annotated[basic.VariableSizeString, 0x30] + BeamFile: Annotated[basic.VariableSizeString, 0x40] + BeamTipFile: Annotated[basic.VariableSizeString, 0x50] CombatEffectDamageMultipliers: Annotated[ - basic.cTkDynamicArray[cGcCombatEffectDamageMultiplier], - Field(basic.cTkDynamicArray[cGcCombatEffectDamageMultiplier], 0x60), + basic.cTkDynamicArray[cGcCombatEffectDamageMultiplier], 0x60 ] CombatEffectsOnImpact: Annotated[ - basic.cTkDynamicArray[cGcImpactCombatEffectData], - Field(basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x70), - ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x80)] - ImpactEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - Impacts: Annotated[ - basic.cTkDynamicArray[cGcProjectileImpactData], - Field(basic.cTkDynamicArray[cGcProjectileImpactData], 0xA0), - ] - PlayerDamage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - AudioOverheat: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xC0), - ] - AudioStart: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xC4), - ] - AudioStop: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0xC8), - ] + basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x70 + ] + Id: Annotated[basic.TkID0x10, 0x80] + ImpactEffect: Annotated[basic.TkID0x10, 0x90] + Impacts: Annotated[basic.cTkDynamicArray[cGcProjectileImpactData], 0xA0] + PlayerDamage: Annotated[basic.TkID0x10, 0xB0] + AudioOverheat: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xC0] + AudioStart: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xC4] + AudioStop: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0xC8] CriticalHitModifier: Annotated[float, Field(ctypes.c_float, 0xCC)] - DamageType: Annotated[ - c_enum32[enums.cGcDamageType], Field(c_enum32[enums.cGcDamageType], 0xD0) - ] + DamageType: Annotated[c_enum32[enums.cGcDamageType], 0xD0] DefaultDamage: Annotated[int, Field(ctypes.c_int32, 0xD4)] DroneImpulse: Annotated[float, Field(ctypes.c_float, 0xD8)] EndTime: Annotated[float, Field(ctypes.c_float, 0xDC)] @@ -38472,14 +31048,10 @@ class cGcLaserBeamData(Structure): @partial_struct class cGcNPCInteractiveObjectState(Structure): - Animations: Annotated[ - basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], - Field(basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x0), - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + Animations: Annotated[basic.cTkDynamicArray[cGcNPCProbabilityAnimationData], 0x0] + Name: Annotated[basic.TkID0x10, 0x10] Transitions: Annotated[ - basic.cTkDynamicArray[cGcNPCInteractiveObjectStateTransition], - Field(basic.cTkDynamicArray[cGcNPCInteractiveObjectStateTransition], 0x20), + basic.cTkDynamicArray[cGcNPCInteractiveObjectStateTransition], 0x20 ] BlendTime: Annotated[float, Field(ctypes.c_float, 0x30)] EarlyOutTime: Annotated[float, Field(ctypes.c_float, 0x34)] @@ -38487,17 +31059,10 @@ class cGcNPCInteractiveObjectState(Structure): MaxTime: Annotated[float, Field(ctypes.c_float, 0x3C)] MinAnims: Annotated[int, Field(ctypes.c_int32, 0x40)] MinTime: Annotated[float, Field(ctypes.c_float, 0x44)] - Prop: Annotated[ - c_enum32[enums.cGcNPCPropType], Field(c_enum32[enums.cGcNPCPropType], 0x48) - ] - SeatedPosture: Annotated[ - c_enum32[enums.cGcNPCSeatedPosture], - Field(c_enum32[enums.cGcNPCSeatedPosture], 0x4C), - ] + Prop: Annotated[c_enum32[enums.cGcNPCPropType], 0x48] + SeatedPosture: Annotated[c_enum32[enums.cGcNPCSeatedPosture], 0x4C] SpineAdjustAmount: Annotated[float, Field(ctypes.c_float, 0x50)] - LookAtNode: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x54) - ] + LookAtNode: Annotated[basic.cTkFixedString0x40, 0x54] CanConverse: Annotated[bool, Field(ctypes.c_bool, 0x94)] FaceInvNodeDir: Annotated[bool, Field(ctypes.c_bool, 0x95)] FaceLookAt: Annotated[bool, Field(ctypes.c_bool, 0x96)] @@ -38510,37 +31075,25 @@ class cGcNPCInteractiveObjectState(Structure): @partial_struct class cGcNPCDebugSpawnData(Structure): - Facing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Position: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - Pet: Annotated[cGcPetData, Field(cGcPetData, 0x30)] - PetAccessoryCustomisation: Annotated[ - cGcPetCustomisationData, Field(cGcPetCustomisationData, 0x238) - ] - PropResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x370)] - Idles: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x3B8), - ] - PropSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x3C8)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x3D8)] - Waypoints: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x3E8), - ] + Facing: Annotated[basic.Vector3f, 0x0] + Position: Annotated[basic.Vector3f, 0x10] + Up: Annotated[basic.Vector3f, 0x20] + Pet: Annotated[cGcPetData, 0x30] + PetAccessoryCustomisation: Annotated[cGcPetCustomisationData, 0x238] + PropResource: Annotated[cGcResourceElement, 0x370] + Idles: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x3B8] + PropSeed: Annotated[basic.GcSeed, 0x3C8] + Seed: Annotated[basic.GcSeed, 0x3D8] + Waypoints: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x3E8] class eDebugNPCBehaviourEnum(IntEnum): None_ = 0x0 Fishing = 0x1 - DebugNPCBehaviour: Annotated[ - c_enum32[eDebugNPCBehaviourEnum], Field(c_enum32[eDebugNPCBehaviourEnum], 0x3F8) - ] + DebugNPCBehaviour: Annotated[c_enum32[eDebugNPCBehaviourEnum], 0x3F8] InitialDelay: Annotated[float, Field(ctypes.c_float, 0x3FC)] PetFollowOffset: Annotated[float, Field(ctypes.c_float, 0x400)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x404) - ] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x404] AddPetAccessories: Annotated[bool, Field(ctypes.c_bool, 0x408)] FollowWaypoints: Annotated[bool, Field(ctypes.c_bool, 0x409)] PlayIdles: Annotated[bool, Field(ctypes.c_bool, 0x40A)] @@ -38550,24 +31103,14 @@ class eDebugNPCBehaviourEnum(IntEnum): @partial_struct class cGcMissionSequenceFish(Structure): - TargetFishInfo: Annotated[cGcMissionFishData, Field(cGcMissionFishData, 0x0)] - DebugText: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - FormatStatIntoText: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] - Message: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x50)] - MessageAvailableNearby: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - MessageNoFishLaserEquipped: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] - MessageNoFishLaserInstalled: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x80) - ] - MessageNoneInSystem: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x90) - ] + TargetFishInfo: Annotated[cGcMissionFishData, 0x0] + DebugText: Annotated[basic.VariableSizeString, 0x30] + FormatStatIntoText: Annotated[basic.TkID0x10, 0x40] + Message: Annotated[basic.VariableSizeString, 0x50] + MessageAvailableNearby: Annotated[basic.VariableSizeString, 0x60] + MessageNoFishLaserEquipped: Annotated[basic.VariableSizeString, 0x70] + MessageNoFishLaserInstalled: Annotated[basic.VariableSizeString, 0x80] + MessageNoneInSystem: Annotated[basic.VariableSizeString, 0x90] Amount: Annotated[int, Field(ctypes.c_int32, 0xA0)] DepthToFormatIntoText: Annotated[float, Field(ctypes.c_float, 0xA4)] FromNow: Annotated[bool, Field(ctypes.c_bool, 0xA8)] @@ -38582,50 +31125,27 @@ class cGcMissionSequenceFish(Structure): @partial_struct class cGcScanEventData(Structure): - SolarSystemAttributes: Annotated[ - cGcScanEventSolarSystemLookup, Field(cGcScanEventSolarSystemLookup, 0x0) - ] - SolarSystemAttributesFallback: Annotated[ - cGcScanEventSolarSystemLookup, Field(cGcScanEventSolarSystemLookup, 0xB0) - ] - ResourceOverride: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x160)] - ForceInteraction: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x1A8)] - MustMatchStoryUtilityPuzzle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1C8) - ] - Name: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x1E8)] - NextOption: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x208)] - PlanetLabelText: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x228) - ] - SurveyDiscoveryOSDMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x248) - ] - SurveyHUDName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x268) - ] - MarkerIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x288)] - TriggerActions: Annotated[cGcScanEventTriggers, Field(cGcScanEventTriggers, 0x2A0)] - ForceOverrideEncounter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2B8)] - HasReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2C8)] - InterstellarOSDMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x2D8) - ] - MarkerLabel: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x2E8) - ] - MissionMessageOnInteract: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2F8)] - OSDMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x308) - ] - ReplacementMaintData: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x318)] - TooltipMessage: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x328) - ] - UAsList: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x338), - ] + SolarSystemAttributes: Annotated[cGcScanEventSolarSystemLookup, 0x0] + SolarSystemAttributesFallback: Annotated[cGcScanEventSolarSystemLookup, 0xB0] + ResourceOverride: Annotated[cGcResourceElement, 0x160] + ForceInteraction: Annotated[basic.TkID0x20, 0x1A8] + MustMatchStoryUtilityPuzzle: Annotated[basic.cTkFixedString0x20, 0x1C8] + Name: Annotated[basic.TkID0x20, 0x1E8] + NextOption: Annotated[basic.TkID0x20, 0x208] + PlanetLabelText: Annotated[basic.cTkFixedString0x20, 0x228] + SurveyDiscoveryOSDMessage: Annotated[basic.cTkFixedString0x20, 0x248] + SurveyHUDName: Annotated[basic.cTkFixedString0x20, 0x268] + MarkerIcon: Annotated[cTkTextureResource, 0x288] + TriggerActions: Annotated[cGcScanEventTriggers, 0x2A0] + ForceOverrideEncounter: Annotated[basic.TkID0x10, 0x2B8] + HasReward: Annotated[basic.TkID0x10, 0x2C8] + InterstellarOSDMessage: Annotated[basic.VariableSizeString, 0x2D8] + MarkerLabel: Annotated[basic.VariableSizeString, 0x2E8] + MissionMessageOnInteract: Annotated[basic.TkID0x10, 0x2F8] + OSDMessage: Annotated[basic.VariableSizeString, 0x308] + ReplacementMaintData: Annotated[basic.TkID0x10, 0x318] + TooltipMessage: Annotated[basic.VariableSizeString, 0x328] + UAsList: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x338] class eBuildingLocationEnum(IntEnum): Nearest = 0x0 @@ -38636,9 +31156,7 @@ class eBuildingLocationEnum(IntEnum): PlanetSearch = 0x5 PlayerSettlement = 0x6 - BuildingLocation: Annotated[ - c_enum32[eBuildingLocationEnum], Field(c_enum32[eBuildingLocationEnum], 0x348) - ] + BuildingLocation: Annotated[c_enum32[eBuildingLocationEnum], 0x348] BuildingPreventionRadius: Annotated[float, Field(ctypes.c_float, 0x34C)] class eEventEndTypeEnum(IntEnum): @@ -38648,17 +31166,13 @@ class eEventEndTypeEnum(IntEnum): EnterBuilding = 0x3 TimedInteract = 0x4 - EventEndType: Annotated[ - c_enum32[eEventEndTypeEnum], Field(c_enum32[eEventEndTypeEnum], 0x350) - ] + EventEndType: Annotated[c_enum32[eEventEndTypeEnum], 0x350] class eEventPriorityEnum(IntEnum): Regular = 0x0 High = 0x1 - EventPriority: Annotated[ - c_enum32[eEventPriorityEnum], Field(c_enum32[eEventPriorityEnum], 0x354) - ] + EventPriority: Annotated[c_enum32[eEventPriorityEnum], 0x354] class eEventStartTypeEnum(IntEnum): None_ = 0x0 @@ -38668,30 +31182,17 @@ class eEventStartTypeEnum(IntEnum): ObjectScan = 0x4 LeaveBuilding = 0x5 - EventStartType: Annotated[ - c_enum32[eEventStartTypeEnum], Field(c_enum32[eEventStartTypeEnum], 0x358) - ] - ForceInteractionType: Annotated[ - c_enum32[enums.cGcInteractionType], - Field(c_enum32[enums.cGcInteractionType], 0x35C), - ] + EventStartType: Annotated[c_enum32[eEventStartTypeEnum], 0x358] + ForceInteractionType: Annotated[c_enum32[enums.cGcInteractionType], 0x35C] IconTime: Annotated[float, Field(ctypes.c_float, 0x360)] - MessageAudio: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x364), - ] + MessageAudio: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x364] MessageDisplayTime: Annotated[float, Field(ctypes.c_float, 0x368)] MessageTime: Annotated[float, Field(ctypes.c_float, 0x36C)] MissionMarkerHighlightStyleOverride: Annotated[ - c_enum32[enums.cGcScannerIconHighlightTypes], - Field(c_enum32[enums.cGcScannerIconHighlightTypes], 0x370), - ] - OverrideInteractionRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x374) - ] - RequireInteractionRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x378) + c_enum32[enums.cGcScannerIconHighlightTypes], 0x370 ] + OverrideInteractionRace: Annotated[c_enum32[enums.cGcAlienRace], 0x374] + RequireInteractionRace: Annotated[c_enum32[enums.cGcAlienRace], 0x378] class eSearchTypeEnum(IntEnum): Any = 0x0 @@ -38722,9 +31223,7 @@ class eSearchTypeEnum(IntEnum): UnownedSettlement_Builders = 0x19 OwnedSettlementHub = 0x1A - SearchType: Annotated[ - c_enum32[eSearchTypeEnum], Field(c_enum32[eSearchTypeEnum], 0x37C) - ] + SearchType: Annotated[c_enum32[eSearchTypeEnum], 0x37C] class eSolarSystemLocationEnum(IntEnum): Local = 0x0 @@ -38735,20 +31234,11 @@ class eSolarSystemLocationEnum(IntEnum): SeasonParty = 0x5 FirstPurpleSystemUA = 0x6 - SolarSystemLocation: Annotated[ - c_enum32[eSolarSystemLocationEnum], - Field(c_enum32[eSolarSystemLocationEnum], 0x380), - ] - SpecificBuildingClass: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x384), - ] + SolarSystemLocation: Annotated[c_enum32[eSolarSystemLocationEnum], 0x380] + SpecificBuildingClass: Annotated[c_enum32[enums.cGcBuildingClassification], 0x384] StartTime: Annotated[float, Field(ctypes.c_float, 0x388)] SurveyDistance: Annotated[float, Field(ctypes.c_float, 0x38C)] - TechShopType: Annotated[ - c_enum32[enums.cGcTechnologyCategory], - Field(c_enum32[enums.cGcTechnologyCategory], 0x390), - ] + TechShopType: Annotated[c_enum32[enums.cGcTechnologyCategory], 0x390] TooltipTime: Annotated[float, Field(ctypes.c_float, 0x394)] AllowFriendsBases: Annotated[bool, Field(ctypes.c_bool, 0x398)] AllowOverriddenBuildings: Annotated[bool, Field(ctypes.c_bool, 0x399)] @@ -38780,88 +31270,57 @@ class eSolarSystemLocationEnum(IntEnum): @partial_struct class cGcDebugScene(Structure): - PlanetPositions: Annotated[cGcDebugPlanetPos, Field(cGcDebugPlanetPos, 0x0)] - DebugDroneSpawn: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xC0)] - DebugDroneTarget: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xD0)] - DebugFlybyDir: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xE0)] - DebugFlybyTarget: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xF0)] - DebugFrigateFlybySpawnPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x100)] - DebugQueenSpawn: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x110)] - DebugShipSpawnFacing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x120)] - DebugShipSpawnPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x130)] - DebugShipSpawnUp: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x140)] - DebugSpaceBattleSpawnPosOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x150) - ] - DebugSpaceBattleSpawnRotOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x160) - ] - DebugWalkerSpawn: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x170)] - DebugWalkerTarget: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x180)] - ForcedSunPosition: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x190)] - SandwormSpawnPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x1A0)] - Pets: Annotated[cGcPetData, Field(cGcPetData, 0x1B0)] + PlanetPositions: Annotated[ + tuple[cGcDebugPlanetPos, ...], Field(cGcDebugPlanetPos * 6, 0x0) + ] + DebugDroneSpawn: Annotated[basic.Vector3f, 0xC0] + DebugDroneTarget: Annotated[basic.Vector3f, 0xD0] + DebugFlybyDir: Annotated[basic.Vector3f, 0xE0] + DebugFlybyTarget: Annotated[basic.Vector3f, 0xF0] + DebugFrigateFlybySpawnPos: Annotated[basic.Vector3f, 0x100] + DebugQueenSpawn: Annotated[basic.Vector3f, 0x110] + DebugShipSpawnFacing: Annotated[basic.Vector3f, 0x120] + DebugShipSpawnPos: Annotated[basic.Vector3f, 0x130] + DebugShipSpawnUp: Annotated[basic.Vector3f, 0x140] + DebugSpaceBattleSpawnPosOffset: Annotated[basic.Vector3f, 0x150] + DebugSpaceBattleSpawnRotOffset: Annotated[basic.Vector3f, 0x160] + DebugWalkerSpawn: Annotated[basic.Vector3f, 0x170] + DebugWalkerTarget: Annotated[basic.Vector3f, 0x180] + ForcedSunPosition: Annotated[basic.Vector3f, 0x190] + SandwormSpawnPos: Annotated[basic.Vector3f, 0x1A0] + Pets: Annotated[tuple[cGcPetData, ...], Field(cGcPetData * 18, 0x1B0)] PetAccessoryCustomisation: Annotated[ - cGcPetCustomisationData, Field(cGcPetCustomisationData, 0x2640) + tuple[cGcPetCustomisationData, ...], Field(cGcPetCustomisationData * 18, 0x2640) ] VehicleCameraOverride: Annotated[ - cGcCameraFollowSettings, Field(cGcCameraFollowSettings, 0x3C30) - ] - BackgroundSpaceEncounter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x4330)] - DebugCameraPaths: Annotated[ - basic.cTkDynamicArray[cGcDebugCamera], - Field(basic.cTkDynamicArray[cGcDebugCamera], 0x4340), + tuple[cGcCameraFollowSettings, ...], Field(cGcCameraFollowSettings * 7, 0x3C30) ] + BackgroundSpaceEncounter: Annotated[basic.TkID0x10, 0x4330] + DebugCameraPaths: Annotated[basic.cTkDynamicArray[cGcDebugCamera], 0x4340] DebugCreatureSpawns: Annotated[ - basic.cTkDynamicArray[cGcCreatureDebugSpawnData], - Field(basic.cTkDynamicArray[cGcCreatureDebugSpawnData], 0x4350), - ] - DebugDecorations: Annotated[ - basic.cTkDynamicArray[cGcDebugObjectDecoration], - Field(basic.cTkDynamicArray[cGcDebugObjectDecoration], 0x4360), + basic.cTkDynamicArray[cGcCreatureDebugSpawnData], 0x4350 ] + DebugDecorations: Annotated[basic.cTkDynamicArray[cGcDebugObjectDecoration], 0x4360] DebugEnemyShipSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipDebugSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipDebugSpawnData], 0x4370), - ] - DebugExperienceCamShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x4380)] - DebugFlybySeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x4390)] - DebugMechSpawns: Annotated[ - basic.cTkDynamicArray[cGcMechDebugSpawnData], - Field(basic.cTkDynamicArray[cGcMechDebugSpawnData], 0x43A0), - ] - DebugNPCSpawns: Annotated[ - basic.cTkDynamicArray[cGcNPCDebugSpawnData], - Field(basic.cTkDynamicArray[cGcNPCDebugSpawnData], 0x43B0), - ] - DebugShipPaths: Annotated[ - basic.cTkDynamicArray[cGcDebugShipTravelLine], - Field(basic.cTkDynamicArray[cGcDebugShipTravelLine], 0x43C0), - ] - DebugShipSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipDebugSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipDebugSpawnData], 0x43D0), - ] - DefaultNPCIdles: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x43E0), - ] - GhostShipReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x43F0)] - LivingFrigateReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x4400)] - NormandyReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x4410)] - PetRideWayPoints: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x4420), - ] - PulseEncounter: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x4430)] + basic.cTkDynamicArray[cGcAIShipDebugSpawnData], 0x4370 + ] + DebugExperienceCamShake: Annotated[basic.TkID0x10, 0x4380] + DebugFlybySeed: Annotated[basic.GcSeed, 0x4390] + DebugMechSpawns: Annotated[basic.cTkDynamicArray[cGcMechDebugSpawnData], 0x43A0] + DebugNPCSpawns: Annotated[basic.cTkDynamicArray[cGcNPCDebugSpawnData], 0x43B0] + DebugShipPaths: Annotated[basic.cTkDynamicArray[cGcDebugShipTravelLine], 0x43C0] + DebugShipSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipDebugSpawnData], 0x43D0] + DefaultNPCIdles: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x43E0] + GhostShipReward: Annotated[basic.TkID0x10, 0x43F0] + LivingFrigateReward: Annotated[basic.TkID0x10, 0x4400] + NormandyReward: Annotated[basic.TkID0x10, 0x4410] + PetRideWayPoints: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x4420] + PulseEncounter: Annotated[basic.TkID0x10, 0x4430] TriggerActions: Annotated[ - basic.cTkDynamicArray[cGcExperienceDebugTriggerInput], - Field(basic.cTkDynamicArray[cGcExperienceDebugTriggerInput], 0x4440), - ] - CloudStratosphereWindOffset: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0x4450) + basic.cTkDynamicArray[cGcExperienceDebugTriggerInput], 0x4440 ] - CloudWindOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x4458)] + CloudStratosphereWindOffset: Annotated[basic.Vector2f, 0x4450] + CloudWindOffset: Annotated[basic.Vector2f, 0x4458] CameraSpinDistanceOffset: Annotated[float, Field(ctypes.c_float, 0x4460)] CameraSpinRevolutions: Annotated[float, Field(ctypes.c_float, 0x4464)] CameraSpinTime: Annotated[float, Field(ctypes.c_float, 0x4468)] @@ -38869,10 +31328,7 @@ class cGcDebugScene(Structure): CloudAnimScale: Annotated[float, Field(ctypes.c_float, 0x4470)] CloudCover: Annotated[float, Field(ctypes.c_float, 0x4474)] CustomShipDockedTime: Annotated[float, Field(ctypes.c_float, 0x4478)] - DebugDroneType: Annotated[ - c_enum32[enums.cGcSentinelTypes], - Field(c_enum32[enums.cGcSentinelTypes], 0x447C), - ] + DebugDroneType: Annotated[c_enum32[enums.cGcSentinelTypes], 0x447C] DebugFlybyRange: Annotated[float, Field(ctypes.c_float, 0x4480)] DebugFrigateFlybyHeightOffset: Annotated[float, Field(ctypes.c_float, 0x4484)] DebugFrigateFlybyRotation: Annotated[float, Field(ctypes.c_float, 0x4488)] @@ -38881,10 +31337,7 @@ class cGcDebugScene(Structure): FlyCamSpeedModifier: Annotated[float, Field(ctypes.c_float, 0x4494)] NPCIdleMaxDelay: Annotated[float, Field(ctypes.c_float, 0x4498)] NPCIdleMinDelay: Annotated[float, Field(ctypes.c_float, 0x449C)] - PetForceBehaviour: Annotated[ - c_enum32[enums.cGcPetBehaviours], - Field(c_enum32[enums.cGcPetBehaviours], 0x44A0), - ] + PetForceBehaviour: Annotated[c_enum32[enums.cGcPetBehaviours], 0x44A0] PetRideIndex: Annotated[int, Field(ctypes.c_int32, 0x44A4)] PlayerWalkSpeed: Annotated[float, Field(ctypes.c_float, 0x44A8)] ShipSpawningMultiplier: Annotated[float, Field(ctypes.c_float, 0x44AC)] @@ -38893,9 +31346,7 @@ class cGcDebugScene(Structure): AutoCreateDecorations: Annotated[bool, Field(ctypes.c_bool, 0x44B2)] AutoSave: Annotated[bool, Field(ctypes.c_bool, 0x44B3)] BusyShips: Annotated[bool, Field(ctypes.c_bool, 0x44B4)] - CameraSpinEasing: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x44B5) - ] + CameraSpinEasing: Annotated[c_enum32[enums.cTkCurveType], 0x44B5] ControlClouds: Annotated[bool, Field(ctypes.c_bool, 0x44B6)] DebugDraw: Annotated[bool, Field(ctypes.c_bool, 0x44B7)] DebugDroneScanPlayer: Annotated[bool, Field(ctypes.c_bool, 0x44B8)] @@ -38912,85 +31363,60 @@ class cGcDebugScene(Structure): @partial_struct class cGcSettlementMaterialTable(Structure): UpgradeLevels: Annotated[ - cGcSettlementMaterialData, Field(cGcSettlementMaterialData, 0x0) + tuple[cGcSettlementMaterialData, ...], Field(cGcSettlementMaterialData * 4, 0x0) ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x100)] + Name: Annotated[basic.TkID0x10, 0x100] RelativeProbability: Annotated[float, Field(ctypes.c_float, 0x110)] - Style: Annotated[ - c_enum32[enums.cGcBaseBuildingPartStyle], - Field(c_enum32[enums.cGcBaseBuildingPartStyle], 0x114), - ] + Style: Annotated[c_enum32[enums.cGcBaseBuildingPartStyle], 0x114] @partial_struct class cGcSettlementColourUpgradeData(Structure): - BuildingPalettes: Annotated[ - basic.cTkDynamicArray[cGcBuildingColourPalette], - Field(basic.cTkDynamicArray[cGcBuildingColourPalette], 0x0), - ] - DefaultPalettes: Annotated[ - basic.cTkDynamicArray[cGcWeightedColourId], - Field(basic.cTkDynamicArray[cGcWeightedColourId], 0x10), - ] + BuildingPalettes: Annotated[basic.cTkDynamicArray[cGcBuildingColourPalette], 0x0] + DefaultPalettes: Annotated[basic.cTkDynamicArray[cGcWeightedColourId], 0x10] @partial_struct class cGcSettlementColourUpgradeTable(Structure): UpgradeLevels: Annotated[ - cGcSettlementColourUpgradeData, Field(cGcSettlementColourUpgradeData, 0x0) - ] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x60)] - Style: Annotated[ - c_enum32[enums.cGcBaseBuildingPartStyle], - Field(c_enum32[enums.cGcBaseBuildingPartStyle], 0x70), + tuple[cGcSettlementColourUpgradeData, ...], + Field(cGcSettlementColourUpgradeData * 3, 0x0), ] + Name: Annotated[basic.TkID0x10, 0x60] + Style: Annotated[c_enum32[enums.cGcBaseBuildingPartStyle], 0x70] @partial_struct class cGcSelectableObjectSpawnData(Structure): - Resource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x0)] + Resource: Annotated[cGcResourceElement, 0x0] @partial_struct class cGcSelectableObjectSpawnList(Structure): - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x0)] - Objects: Annotated[ - basic.cTkDynamicArray[cGcSelectableObjectSpawnData], - Field(basic.cTkDynamicArray[cGcSelectableObjectSpawnData], 0x10), - ] + Name: Annotated[basic.TkID0x10, 0x0] + Objects: Annotated[basic.cTkDynamicArray[cGcSelectableObjectSpawnData], 0x10] @partial_struct class cGcObjectSpawnData(Structure): - QualityVariantData: Annotated[ - cGcObjectSpawnDataVariant, Field(cGcObjectSpawnDataVariant, 0x0) - ] - Resource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x48)] - AltResources: Annotated[ - basic.cTkDynamicArray[cGcResourceElement], - Field(basic.cTkDynamicArray[cGcResourceElement], 0x90), - ] - DebugName: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - DestroyedByVehicleEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] + QualityVariantData: Annotated[cGcObjectSpawnDataVariant, 0x0] + Resource: Annotated[cGcResourceElement, 0x48] + AltResources: Annotated[basic.cTkDynamicArray[cGcResourceElement], 0x90] + DebugName: Annotated[basic.TkID0x10, 0xA0] + DestroyedByVehicleEffect: Annotated[basic.TkID0x10, 0xB0] ExtraTileTypes: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcTerrainTileType]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcTerrainTileType]], 0xC0), - ] - Placement: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xD0)] - QualityVariants: Annotated[ - basic.cTkDynamicArray[cGcObjectSpawnDataVariant], - Field(basic.cTkDynamicArray[cGcObjectSpawnDataVariant], 0xE0), + basic.cTkDynamicArray[c_enum32[enums.cGcTerrainTileType]], 0xC0 ] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0xF0)] + Placement: Annotated[basic.TkID0x10, 0xD0] + QualityVariants: Annotated[basic.cTkDynamicArray[cGcObjectSpawnDataVariant], 0xE0] + Seed: Annotated[basic.GcSeed, 0xF0] class eGroundColourIndexEnum(IntEnum): Auto = 0x0 Main = 0x1 Patch = 0x2 - GroundColourIndex: Annotated[ - c_enum32[eGroundColourIndexEnum], Field(c_enum32[eGroundColourIndexEnum], 0x100) - ] + GroundColourIndex: Annotated[c_enum32[eGroundColourIndexEnum], 0x100] class eLargeObjectCoverageEnum(IntEnum): DoNotPlace = 0x0 @@ -39001,10 +31427,7 @@ class eLargeObjectCoverageEnum(IntEnum): OnlyPlaceAroundIgnoreFootprint = 0x5 AlwaysPlace = 0x6 - LargeObjectCoverage: Annotated[ - c_enum32[eLargeObjectCoverageEnum], - Field(c_enum32[eLargeObjectCoverageEnum], 0x104), - ] + LargeObjectCoverage: Annotated[c_enum32[eLargeObjectCoverageEnum], 0x104] MaxAngle: Annotated[float, Field(ctypes.c_float, 0x108)] MaxHeight: Annotated[float, Field(ctypes.c_float, 0x10C)] MaxLower: Annotated[float, Field(ctypes.c_float, 0x110)] @@ -39024,9 +31447,7 @@ class eOverlapStyleEnum(IntEnum): SameSeed = 0x1 All = 0x2 - OverlapStyle: Annotated[ - c_enum32[eOverlapStyleEnum], Field(c_enum32[eOverlapStyleEnum], 0x13C) - ] + OverlapStyle: Annotated[c_enum32[eOverlapStyleEnum], 0x13C] PatchEdgeScaling: Annotated[float, Field(ctypes.c_float, 0x140)] class ePlacementPriorityEnum(IntEnum): @@ -39034,9 +31455,7 @@ class ePlacementPriorityEnum(IntEnum): Normal = 0x1 High = 0x2 - PlacementPriority: Annotated[ - c_enum32[ePlacementPriorityEnum], Field(c_enum32[ePlacementPriorityEnum], 0x144) - ] + PlacementPriority: Annotated[c_enum32[ePlacementPriorityEnum], 0x144] ShearWindStrength: Annotated[float, Field(ctypes.c_float, 0x148)] SlopeScaling: Annotated[float, Field(ctypes.c_float, 0x14C)] @@ -39044,7 +31463,7 @@ class eTypeEnum(IntEnum): Instanced = 0x0 Single = 0x1 - Type: Annotated[c_enum32[eTypeEnum], Field(c_enum32[eTypeEnum], 0x150)] + Type: Annotated[c_enum32[eTypeEnum], 0x150] AlignToNormal: Annotated[bool, Field(ctypes.c_bool, 0x154)] AutoCollision: Annotated[bool, Field(ctypes.c_bool, 0x155)] CollideWithPlayer: Annotated[bool, Field(ctypes.c_bool, 0x156)] @@ -39053,13 +31472,8 @@ class eTypeEnum(IntEnum): DestroyedByPlayerShip: Annotated[bool, Field(ctypes.c_bool, 0x159)] DestroyedByPlayerVehicle: Annotated[bool, Field(ctypes.c_bool, 0x15A)] DestroyedByTerrainEdit: Annotated[bool, Field(ctypes.c_bool, 0x15B)] - ImposterActivation: Annotated[ - c_enum32[enums.cTkImposterActivation], - Field(c_enum32[enums.cTkImposterActivation], 0x15C), - ] - ImposterType: Annotated[ - c_enum32[enums.cTkImposterType], Field(c_enum32[enums.cTkImposterType], 0x15D) - ] + ImposterActivation: Annotated[c_enum32[enums.cTkImposterActivation], 0x15C] + ImposterType: Annotated[c_enum32[enums.cTkImposterType], 0x15D] InvisibleToCamera: Annotated[bool, Field(ctypes.c_bool, 0x15E)] IsFloatingIsland: Annotated[bool, Field(ctypes.c_bool, 0x15F)] MatchGroundColour: Annotated[bool, Field(ctypes.c_bool, 0x160)] @@ -39072,16 +31486,13 @@ class eTypeEnum(IntEnum): @partial_struct class cGcBuildingSpawnData(Structure): - AABBMax: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - AABBMin: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Resource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x20)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x68)] - ClusterLayouts: Annotated[int, Field(ctypes.c_int32, 0x78)] - FlattenType: Annotated[cTkNoiseFlattenOptions, Field(cTkNoiseFlattenOptions, 0x98)] - Classification: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0xA0), - ] + AABBMax: Annotated[basic.Vector3f, 0x0] + AABBMin: Annotated[basic.Vector3f, 0x10] + Resource: Annotated[cGcResourceElement, 0x20] + Seed: Annotated[basic.GcSeed, 0x68] + ClusterLayouts: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 8, 0x78)] + FlattenType: Annotated[cTkNoiseFlattenOptions, 0x98] + Classification: Annotated[c_enum32[enums.cGcBuildingClassification], 0xA0] ClusterLayoutCount: Annotated[int, Field(ctypes.c_int32, 0xA4)] ClusterSpacing: Annotated[float, Field(ctypes.c_float, 0xA8)] Density: Annotated[float, Field(ctypes.c_float, 0xAC)] @@ -39104,45 +31515,33 @@ class cGcBuildingSpawnData(Structure): @partial_struct class cGcSpawnComponentOption(Structure): - SpecificModel: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x0)] - Name: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x58)] + SpecificModel: Annotated[cGcResourceElement, 0x0] + Name: Annotated[basic.TkID0x10, 0x48] + Seed: Annotated[basic.GcSeed, 0x58] @partial_struct class cGcCreatureSpawnData(Structure): - ExtraResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x0)] - FemaleResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x48)] - Resource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x90)] - Filter: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0xD8)] - CreatureID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xF8)] + ExtraResource: Annotated[cGcResourceElement, 0x0] + FemaleResource: Annotated[cGcResourceElement, 0x48] + Resource: Annotated[cGcResourceElement, 0x90] + Filter: Annotated[basic.TkID0x20, 0xD8] + CreatureID: Annotated[basic.TkID0x10, 0xF8] CreatureActiveInDayChance: Annotated[float, Field(ctypes.c_float, 0x108)] CreatureActiveInNightChance: Annotated[float, Field(ctypes.c_float, 0x10C)] CreatureDespawnDistance: Annotated[float, Field(ctypes.c_float, 0x110)] CreatureGroupsPerSquareKm: Annotated[float, Field(ctypes.c_float, 0x114)] CreatureMaxGroupSize: Annotated[int, Field(ctypes.c_int32, 0x118)] CreatureMinGroupSize: Annotated[int, Field(ctypes.c_int32, 0x11C)] - CreatureRole: Annotated[ - c_enum32[enums.cGcCreatureRoles], Field(c_enum32[enums.cGcCreatureRoles], 0x120) - ] + CreatureRole: Annotated[c_enum32[enums.cGcCreatureRoles], 0x120] CreatureSpawnDistance: Annotated[float, Field(ctypes.c_float, 0x124)] - CreatureType: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x128) - ] - HemiSphere: Annotated[ - c_enum32[enums.cGcCreatureHemiSphere], - Field(c_enum32[enums.cGcCreatureHemiSphere], 0x12C), - ] + CreatureType: Annotated[c_enum32[enums.cGcCreatureTypes], 0x128] + HemiSphere: Annotated[c_enum32[enums.cGcCreatureHemiSphere], 0x12C] MaxScale: Annotated[float, Field(ctypes.c_float, 0x130)] MinScale: Annotated[float, Field(ctypes.c_float, 0x134)] - Rarity: Annotated[ - c_enum32[enums.cGcRarity], Field(c_enum32[enums.cGcRarity], 0x138) - ] + Rarity: Annotated[c_enum32[enums.cGcRarity], 0x138] RoleDataIndex: Annotated[int, Field(ctypes.c_int32, 0x13C)] - TileType: Annotated[ - c_enum32[enums.cGcTerrainTileType], - Field(c_enum32[enums.cGcTerrainTileType], 0x140), - ] + TileType: Annotated[c_enum32[enums.cGcTerrainTileType], 0x140] AllowFur: Annotated[bool, Field(ctypes.c_bool, 0x144)] Herd: Annotated[bool, Field(ctypes.c_bool, 0x145)] SwapPrimaryForRandomColour: Annotated[bool, Field(ctypes.c_bool, 0x146)] @@ -39151,36 +31550,21 @@ class cGcCreatureSpawnData(Structure): @partial_struct class cGcCreatureRoleData(Structure): - Info: Annotated[cGcCreatureInfo, Field(cGcCreatureInfo, 0x0)] - Description: Annotated[ - cGcCreatureRoleDescription, Field(cGcCreatureRoleDescription, 0x518) - ] - Filter: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x580)] - CreatureId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x5A0)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x5B0)] - Diet: Annotated[ - c_enum32[enums.cGcCreatureDiet], Field(c_enum32[enums.cGcCreatureDiet], 0x5C0) - ] + Info: Annotated[cGcCreatureInfo, 0x0] + Description: Annotated[cGcCreatureRoleDescription, 0x518] + Filter: Annotated[basic.TkID0x20, 0x580] + CreatureId: Annotated[basic.TkID0x10, 0x5A0] + Seed: Annotated[basic.GcSeed, 0x5B0] + Diet: Annotated[c_enum32[enums.cGcCreatureDiet], 0x5C0] GroupsPerSquareKm: Annotated[float, Field(ctypes.c_float, 0x5C4)] - HemiSphere: Annotated[ - c_enum32[enums.cGcCreatureHemiSphere], - Field(c_enum32[enums.cGcCreatureHemiSphere], 0x5C8), - ] - TileType: Annotated[ - c_enum32[enums.cGcTerrainTileType], - Field(c_enum32[enums.cGcTerrainTileType], 0x5CC), - ] - Type: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x5D0) - ] + HemiSphere: Annotated[c_enum32[enums.cGcCreatureHemiSphere], 0x5C8] + TileType: Annotated[c_enum32[enums.cGcTerrainTileType], 0x5CC] + Type: Annotated[c_enum32[enums.cGcCreatureTypes], 0x5D0] @partial_struct class cGcCreatureRoleDataTable(Structure): - AvailableRoles: Annotated[ - basic.cTkDynamicArray[cGcCreatureRoleData], - Field(basic.cTkDynamicArray[cGcCreatureRoleData], 0x0), - ] + AvailableRoles: Annotated[basic.cTkDynamicArray[cGcCreatureRoleData], 0x0] MaxProportionFlying: Annotated[float, Field(ctypes.c_float, 0x10)] SandWormFrequency: Annotated[float, Field(ctypes.c_float, 0x14)] HasSandWorms: Annotated[bool, Field(ctypes.c_bool, 0x18)] @@ -39188,45 +31572,33 @@ class cGcCreatureRoleDataTable(Structure): @partial_struct class cGcCreaturePetEggData(Structure): - EggResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x0)] - HatchResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x48)] - IconResource: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x90)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA8)] + EggResource: Annotated[cGcResourceElement, 0x0] + HatchResource: Annotated[cGcResourceElement, 0x48] + IconResource: Annotated[cTkTextureResource, 0x90] + Id: Annotated[basic.TkID0x10, 0xA8] HatchOffset: Annotated[float, Field(ctypes.c_float, 0xB8)] HatchScale: Annotated[float, Field(ctypes.c_float, 0xBC)] @partial_struct class cGcCustomisationDescriptorGroupOptions(Structure): - GroupTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] + GroupTitle: Annotated[basic.cTkFixedString0x20, 0x0] DescriptorGroupOptions: Annotated[ - basic.cTkDynamicArray[cGcCustomisationDescriptorGroupOption], - Field(basic.cTkDynamicArray[cGcCustomisationDescriptorGroupOption], 0x20), - ] - PrerequisiteGroup: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x30), + basic.cTkDynamicArray[cGcCustomisationDescriptorGroupOption], 0x20 ] + PrerequisiteGroup: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x30] FirstOptionIsEmpty: Annotated[bool, Field(ctypes.c_bool, 0x40)] @partial_struct class cGcSettlementPerkData(Structure): - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20)] + Description: Annotated[basic.cTkFixedString0x20, 0x0] + Name: Annotated[basic.cTkFixedString0x20, 0x20] AssociatedBuildings: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x40), - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - StatChanges: Annotated[ - basic.cTkDynamicArray[cGcSettlementStatChange], - Field(basic.cTkDynamicArray[cGcSettlementStatChange], 0x60), + basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x40 ] + ID: Annotated[basic.TkID0x10, 0x50] + StatChanges: Annotated[basic.cTkDynamicArray[cGcSettlementStatChange], 0x60] IsBlessing: Annotated[bool, Field(ctypes.c_bool, 0x70)] IsJob: Annotated[bool, Field(ctypes.c_bool, 0x71)] IsNegative: Annotated[bool, Field(ctypes.c_bool, 0x72)] @@ -39236,27 +31608,17 @@ class cGcSettlementPerkData(Structure): @partial_struct class cGcSettlementStatChangeArray(Structure): - Stats: Annotated[ - basic.cTkDynamicArray[cGcSettlementStatChange], - Field(basic.cTkDynamicArray[cGcSettlementStatChange], 0x0), - ] + Stats: Annotated[basic.cTkDynamicArray[cGcSettlementStatChange], 0x0] @partial_struct class cGcRewardSpecificWeapon(Structure): - WeaponInventory: Annotated[cGcInventoryContainer, Field(cGcInventoryContainer, 0x0)] - NameOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x160) - ] - WeaponResource: Annotated[cGcExactResource, Field(cGcExactResource, 0x180)] - WeaponLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x1A0)] - InventorySizeOverride: Annotated[ - c_enum32[enums.cGcInventoryLayoutSizeType], - Field(c_enum32[enums.cGcInventoryLayoutSizeType], 0x1B8), - ] - WeaponType: Annotated[ - c_enum32[enums.cGcWeaponClasses], Field(c_enum32[enums.cGcWeaponClasses], 0x1BC) - ] + WeaponInventory: Annotated[cGcInventoryContainer, 0x0] + NameOverride: Annotated[basic.cTkFixedString0x20, 0x160] + WeaponResource: Annotated[cGcExactResource, 0x180] + WeaponLayout: Annotated[cGcInventoryLayout, 0x1A0] + InventorySizeOverride: Annotated[c_enum32[enums.cGcInventoryLayoutSizeType], 0x1B8] + WeaponType: Annotated[c_enum32[enums.cGcWeaponClasses], 0x1BC] FormatAsSeasonal: Annotated[bool, Field(ctypes.c_bool, 0x1C0)] IsGift: Annotated[bool, Field(ctypes.c_bool, 0x1C1)] IsRewardWeapon: Annotated[bool, Field(ctypes.c_bool, 0x1C2)] @@ -39264,30 +31626,16 @@ class cGcRewardSpecificWeapon(Structure): @partial_struct class cGcRewardSpecificShip(Structure): - ShipInventory: Annotated[cGcInventoryContainer, Field(cGcInventoryContainer, 0x0)] - Customisation: Annotated[ - cGcCharacterCustomisationData, Field(cGcCharacterCustomisationData, 0x160) - ] - ShipResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x1B8)] - NameOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x200) - ] - ShipLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x220)] + ShipInventory: Annotated[cGcInventoryContainer, 0x0] + Customisation: Annotated[cGcCharacterCustomisationData, 0x160] + ShipResource: Annotated[cGcResourceElement, 0x1B8] + NameOverride: Annotated[basic.cTkFixedString0x20, 0x200] + ShipLayout: Annotated[cGcInventoryLayout, 0x220] CostAmount: Annotated[int, Field(ctypes.c_int32, 0x238)] - CostCurrency: Annotated[ - c_enum32[enums.cGcCurrency], Field(c_enum32[enums.cGcCurrency], 0x23C) - ] - ModelViewOverride: Annotated[ - c_enum32[enums.cGcModelViews], Field(c_enum32[enums.cGcModelViews], 0x240) - ] - OverrideSizeType: Annotated[ - c_enum32[enums.cGcInventoryLayoutSizeType], - Field(c_enum32[enums.cGcInventoryLayoutSizeType], 0x244), - ] - ShipType: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0x248), - ] + CostCurrency: Annotated[c_enum32[enums.cGcCurrency], 0x23C] + ModelViewOverride: Annotated[c_enum32[enums.cGcModelViews], 0x240] + OverrideSizeType: Annotated[c_enum32[enums.cGcInventoryLayoutSizeType], 0x244] + ShipType: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0x248] FormatAsSeasonal: Annotated[bool, Field(ctypes.c_bool, 0x24C)] IsGift: Annotated[bool, Field(ctypes.c_bool, 0x24D)] IsRewardShip: Annotated[bool, Field(ctypes.c_bool, 0x24E)] @@ -39296,74 +31644,55 @@ class cGcRewardSpecificShip(Structure): @partial_struct class cGcRewardSecondaryInteractionOptions(Structure): - Options: Annotated[ - basic.cTkDynamicArray[cGcAlienPuzzleOption], - Field(basic.cTkDynamicArray[cGcAlienPuzzleOption], 0x0), - ] + Options: Annotated[basic.cTkDynamicArray[cGcAlienPuzzleOption], 0x0] @partial_struct class cGcRewardDamage(Structure): - CombatEffects: Annotated[ - basic.cTkDynamicArray[cGcImpactCombatEffectData], - Field(basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x0), - ] - PlayerDamage: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] + CombatEffects: Annotated[basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x0] + PlayerDamage: Annotated[basic.TkID0x10, 0x10] @partial_struct class cGcProceduralProductData(Structure): - Product: Annotated[cGcProductData, Field(cGcProductData, 0x0)] + Product: Annotated[cGcProductData, 0x0] ProceduralData: Annotated[ - cGcProductProceduralOnlyData, Field(cGcProductProceduralOnlyData, 0x300) - ] - NameGeneratorBase: Annotated[ - cGcNameGeneratorWord, Field(cGcNameGeneratorWord, 0x450) + tuple[cGcProductProceduralOnlyData, ...], + Field(cGcProductProceduralOnlyData * 3, 0x300), ] + NameGeneratorBase: Annotated[cGcNameGeneratorWord, 0x450] NameGeneratorWordList: Annotated[ - basic.cTkDynamicArray[cGcProceduralProductWord], - Field(basic.cTkDynamicArray[cGcProceduralProductWord], 0x478), + basic.cTkDynamicArray[cGcProceduralProductWord], 0x478 ] - PerBiomeDropWeights: Annotated[cGcBiomeList, Field(cGcBiomeList, 0x488)] + PerBiomeDropWeights: Annotated[cGcBiomeList, 0x488] NameGeneratorLegacyRolls: Annotated[int, Field(ctypes.c_int32, 0x510)] - DeployableProductID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x514) - ] + DeployableProductID: Annotated[basic.cTkFixedString0x20, 0x514] RecordsStat: Annotated[bool, Field(ctypes.c_bool, 0x534)] @partial_struct class cGcMaintenanceOverride(Structure): - Data: Annotated[ - cGcMaintenanceComponentData, Field(cGcMaintenanceComponentData, 0x0) - ] - ID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x410)] + Data: Annotated[cGcMaintenanceComponentData, 0x0] + ID: Annotated[basic.TkID0x10, 0x410] @partial_struct class cGcDeathStateData(Structure): - AuthorFont: Annotated[cGcTextPreset, Field(cGcTextPreset, 0x0)] - QuoteFont: Annotated[cGcTextPreset, Field(cGcTextPreset, 0x30)] - ReasonFont: Annotated[cGcTextPreset, Field(cGcTextPreset, 0x60)] - Quotes: Annotated[ - basic.cTkDynamicArray[cGcDeathQuote], - Field(basic.cTkDynamicArray[cGcDeathQuote], 0x90), - ] + AuthorFont: Annotated[cGcTextPreset, 0x0] + QuoteFont: Annotated[cGcTextPreset, 0x30] + ReasonFont: Annotated[cGcTextPreset, 0x60] + Quotes: Annotated[basic.cTkDynamicArray[cGcDeathQuote], 0x90] @partial_struct class cGcMessageProjectileImpact(Structure): - PosLocal: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - PosOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - CombatEffects: Annotated[ - basic.cTkDynamicArray[cGcImpactCombatEffectData], - Field(basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x20), - ] + PosLocal: Annotated[basic.Vector3f, 0x0] + PosOffset: Annotated[basic.Vector3f, 0x10] + CombatEffects: Annotated[basic.cTkDynamicArray[cGcImpactCombatEffectData], 0x20] DamageMultipliers: Annotated[ - basic.cTkDynamicArray[cGcCombatEffectDamageMultiplier], - Field(basic.cTkDynamicArray[cGcCombatEffectDamageMultiplier], 0x30), + basic.cTkDynamicArray[cGcCombatEffectDamageMultiplier], 0x30 ] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x40)] + Id: Annotated[basic.TkID0x10, 0x40] Damage: Annotated[int, Field(ctypes.c_int32, 0x50)] class eHitTypeEnum(IntEnum): @@ -39371,11 +31700,9 @@ class eHitTypeEnum(IntEnum): Terrain = 0x1 Generic = 0x2 - HitType: Annotated[c_enum32[eHitTypeEnum], Field(c_enum32[eHitTypeEnum], 0x54)] - Node: Annotated[basic.GcNodeID, Field(basic.GcNodeID, 0x58)] - Type: Annotated[ - c_enum32[enums.cGcDamageType], Field(c_enum32[enums.cGcDamageType], 0x5C) - ] + HitType: Annotated[c_enum32[eHitTypeEnum], 0x54] + Node: Annotated[basic.GcNodeID, 0x58] + Type: Annotated[c_enum32[enums.cGcDamageType], 0x5C] Critical: Annotated[bool, Field(ctypes.c_bool, 0x60)] Ineffective: Annotated[bool, Field(ctypes.c_bool, 0x61)] LaserHeatBoost: Annotated[bool, Field(ctypes.c_bool, 0x62)] @@ -39383,19 +31710,15 @@ class eHitTypeEnum(IntEnum): @partial_struct class cGcNGuiTextData(Structure): - ElementData: Annotated[cGcNGuiElementData, Field(cGcNGuiElementData, 0x0)] + ElementData: Annotated[cGcNGuiElementData, 0x0] AccessibleOverrides: Annotated[ - basic.cTkDynamicArray[cGcAccessibleOverride_Text], - Field(basic.cTkDynamicArray[cGcAccessibleOverride_Text], 0x68), - ] - Image: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x78)] - Text: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x88)] - VROverrides: Annotated[ - basic.cTkDynamicArray[cGcVROverride_Text], - Field(basic.cTkDynamicArray[cGcVROverride_Text], 0x98), + basic.cTkDynamicArray[cGcAccessibleOverride_Text], 0x68 ] - GraphicStyle: Annotated[cTkNGuiGraphicStyle, Field(cTkNGuiGraphicStyle, 0xA8)] - Style: Annotated[cTkNGuiTextStyle, Field(cTkNGuiTextStyle, 0x1C8)] + Image: Annotated[basic.VariableSizeString, 0x78] + Text: Annotated[basic.VariableSizeString, 0x88] + VROverrides: Annotated[basic.cTkDynamicArray[cGcVROverride_Text], 0x98] + GraphicStyle: Annotated[cTkNGuiGraphicStyle, 0xA8] + Style: Annotated[cTkNGuiTextStyle, 0x1C8] ForcedOffset: Annotated[float, Field(ctypes.c_float, 0x264)] BlockSpecialStyles: Annotated[bool, Field(ctypes.c_bool, 0x268)] ForcedAllowScroll: Annotated[bool, Field(ctypes.c_bool, 0x269)] @@ -39404,242 +31727,117 @@ class cGcNGuiTextData(Structure): @partial_struct class cGcPlayerGlobals(Structure): - LargeWeaponMenuTransforms: Annotated[ - cGcProjectorOffsetData, Field(cGcProjectorOffsetData, 0x0) - ] - QuickMenuLauncherTransforms: Annotated[ - cGcProjectorOffsetData, Field(cGcProjectorOffsetData, 0x70) - ] - QuickMenuLauncherTransformsNoBuildMenu: Annotated[ - cGcProjectorOffsetData, Field(cGcProjectorOffsetData, 0xE0) - ] - WeaponMenuTransforms: Annotated[ - cGcProjectorOffsetData, Field(cGcProjectorOffsetData, 0x150) - ] - ArmourHighlightScanEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x1C0) + LargeWeaponMenuTransforms: Annotated[cGcProjectorOffsetData, 0x0] + QuickMenuLauncherTransforms: Annotated[cGcProjectorOffsetData, 0x70] + QuickMenuLauncherTransformsNoBuildMenu: Annotated[cGcProjectorOffsetData, 0xE0] + WeaponMenuTransforms: Annotated[cGcProjectorOffsetData, 0x150] + ArmourHighlightScanEffect: Annotated[cGcScanEffectData, 0x1C0] + HolsterHighlightEffect: Annotated[cGcScanEffectData, 0x210] + InteractHighlightEffect: Annotated[cGcScanEffectData, 0x260] + MeleeHitEffect: Annotated[cGcScanEffectData, 0x2B0] + AnomalyAtlasStationSpawnData: Annotated[cGcCameraAnomalySetupData, 0x300] + AnomalyBlachHoleSpawnData: Annotated[cGcCameraAnomalySetupData, 0x340] + AnomalyMiniStationSpawnData: Annotated[cGcCameraAnomalySetupData, 0x380] + BinocularInfoScreenOffset: Annotated[cGcInWorldUIScreenData, 0x3C0] + BinocularInfoScreenOffsetGun: Annotated[cGcInWorldUIScreenData, 0x3F0] + DefaultLeftHandTransform: Annotated[cGcInWorldUIScreenData, 0x420] + DefaultLeftHandTransformVehicle: Annotated[cGcInWorldUIScreenData, 0x450] + FrontendBaseScreenshotVROffset: Annotated[cGcInWorldUIScreenData, 0x480] + FrontendMessagesOffset: Annotated[cGcInWorldUIScreenData, 0x4B0] + FrontendOffset: Annotated[cGcInWorldUIScreenData, 0x4E0] + FrontendOffsetV2: Annotated[cGcInWorldUIScreenData, 0x510] + FrontendPhotoModeVROffset: Annotated[cGcInWorldUIScreenData, 0x540] + InventoryOffset: Annotated[cGcInWorldUIScreenData, 0x570] + InventoryOffsetV2: Annotated[cGcInWorldUIScreenData, 0x5A0] + InWorldCompass: Annotated[cGcInWorldUIScreenData, 0x5D0] + QuickMenuOffset: Annotated[cGcInWorldUIScreenData, 0x600] + QuickMenuOffsetV2: Annotated[cGcInWorldUIScreenData, 0x630] + BinocularScopeOffset: Annotated[basic.Vector3f, 0x660] + DefaultMuzzleColour: Annotated[basic.Colour, 0x670] + DefaultMuzzleLaserColour: Annotated[basic.Colour, 0x680] + HandScreenRoboOnScreenOffset: Annotated[basic.Vector3f, 0x690] + HolsterHeadOffset: Annotated[basic.Vector3f, 0x6A0] + InteractionLineActiveColour: Annotated[basic.Colour, 0x6B0] + InteractionLineBaseColour: Annotated[basic.Colour, 0x6C0] + LeftHandModeFishingRodAttachSocketCorrection: Annotated[basic.Vector3f, 0x6D0] + LeftHandModeWeaponAttachSocketCorrection: Annotated[basic.Vector3f, 0x6E0] + PointingWristAngles: Annotated[basic.Vector3f, 0x6F0] + SearchGroupIconColour: Annotated[basic.Colour, 0x700] + StarFieldColour: Annotated[basic.Colour, 0x710] + TerrainEditorMuzzleColourAdd: Annotated[basic.Colour, 0x720] + TerrainEditorMuzzleColourFlatten: Annotated[basic.Colour, 0x730] + TerrainEditorMuzzleColourSubtract: Annotated[basic.Colour, 0x740] + TerrainEditorMuzzleColourUndo: Annotated[basic.Colour, 0x750] + TraderStayCloseLockBaseOffset: Annotated[basic.Vector3f, 0x760] + WeaponBarrelOffset: Annotated[basic.Vector3f, 0x770] + WeaponOffset: Annotated[basic.Vector3f, 0x780] + TraderHailMessages: Annotated[cGcShipDialogue, 0x790] + PirateHailMessage: Annotated[cGcPlayerCommunicatorMessage, 0x9F8] + PoliceScanHailMessage: Annotated[cGcPlayerCommunicatorMessage, 0xA48] + TraderHailReceiveOSDLoc: Annotated[basic.cTkFixedString0x20, 0xA98] + TraderHailRefusedOSDLoc: Annotated[basic.cTkFixedString0x20, 0xAB8] + AlertTable: Annotated[basic.cTkDynamicArray[cGcCreatureAlertData], 0xAD8] + DebugSearchGroup: Annotated[basic.TkID0x10, 0xAE8] + DefaultShipFilename: Annotated[basic.VariableSizeString, 0xAF8] + DefaultShipSeed: Annotated[basic.GcSeed, 0xB08] + ExosuitUpgradeProduct: Annotated[basic.TkID0x10, 0xB18] + ExperienceDefeatBugQueenRewardID: Annotated[basic.TkID0x10, 0xB28] + ExperienceDefeatBugQueenRewardIDProduct: Annotated[basic.TkID0x10, 0xB38] + ExperienceDefeatJellyBossRewardID: Annotated[basic.TkID0x10, 0xB48] + ExperienceDefeatLevel5SentinelsCorrupt: Annotated[basic.TkID0x10, 0xB58] + ExperienceDefeatLevel5SentinelsNearHiveReward: Annotated[basic.TkID0x10, 0xB68] + ExperienceDefeatLevel5SentinelsReward: Annotated[basic.TkID0x10, 0xB78] + ExperienceDefeatLevel5SpaceSentinelsReward: Annotated[basic.TkID0x10, 0xB88] + FirstSpawnDataTable: Annotated[ + basic.cTkDynamicArray[cGcCameraSpawnSetupData], 0xB98 + ] + FootDustEffect: Annotated[basic.TkID0x10, 0xBA8] + Gun: Annotated[basic.VariableSizeString, 0xBB8] + NoShadowMaterial: Annotated[basic.VariableSizeString, 0xBC8] + PulseEncounterSpaceEggID: Annotated[basic.TkID0x10, 0xBD8] + TechLearningProbabilities: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0xBE8] + TechRarityData: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0xBF8] + WantedEscalateTime: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0xC08] + WantedExtremeEscalateTime: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0xC18] + WantedTimeout: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0xC28] + AutoSaveMaxTime: Annotated[int, Field(ctypes.c_uint64, 0xC38)] + AutoSaveMinTime: Annotated[int, Field(ctypes.c_uint64, 0xC40)] + PointingWristAdjustmentTimeMilliseconds: Annotated[ + int, Field(ctypes.c_uint64, 0xC48) ] - HolsterHighlightEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x210) + CrystalResourceCollect: Annotated[cGcResourceCollectEffect, 0xC50] + FishingResourceCollect: Annotated[cGcResourceCollectEffect, 0xC84] + ShardResourceCollect: Annotated[cGcResourceCollectEffect, 0xCB8] + TerrainResourceCollect: Annotated[cGcResourceCollectEffect, 0xCEC] + TerrainResourceMeleeCollect: Annotated[cGcResourceCollectEffect, 0xD20] + TerrainResourceMiniCollect: Annotated[cGcResourceCollectEffect, 0xD54] + MissileSwarm: Annotated[cGcBoidData, 0xD88] + PlayerBullet: Annotated[cGcProjectileLineData, 0xDB4] + RobotBullet: Annotated[cGcProjectileLineData, 0xDDC] + ShipBullet: Annotated[cGcProjectileLineData, 0xE04] + AmbientModeLookStickData: Annotated[cGcPlayerStickData, 0xE2C] + FreighterValueData: Annotated[cGcInventoryValueData, 0xE48] + LookStickData: Annotated[cGcPlayerStickData, 0xE64] + ShipValueData: Annotated[cGcInventoryValueData, 0xE80] + StickData: Annotated[cGcPlayerStickData, 0xE9C] + WeaponValueData: Annotated[cGcInventoryValueData, 0xEB8] + MedalTiers: Annotated[cGcJourneyMedalTiers, 0xED4] + TraderHailReceiveRegular: Annotated[ + tuple[enums.cGcShipDialogueTreeEnum, ...], + Field(c_enum32[enums.cGcShipDialogueTreeEnum] * 4, 0xEE4), + ] + ExperienceFlybyStartAngle: Annotated[basic.Vector2f, 0xEF4] + FingerButtonQuickMenuButtonSize: Annotated[basic.Vector2f, 0xEFC] + MouseSpringStrength: Annotated[basic.Vector2f, 0xF04] + MouseSpringStrengthMaxDelta: Annotated[basic.Vector2f, 0xF0C] + MouseSpringStrengthMinDelta: Annotated[basic.Vector2f, 0xF14] + TraderHailReceiveFight: Annotated[ + tuple[enums.cGcShipDialogueTreeEnum, ...], + Field(c_enum32[enums.cGcShipDialogueTreeEnum] * 2, 0xF1C), ] - InteractHighlightEffect: Annotated[ - cGcScanEffectData, Field(cGcScanEffectData, 0x260) - ] - MeleeHitEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0x2B0)] - AnomalyAtlasStationSpawnData: Annotated[ - cGcCameraAnomalySetupData, Field(cGcCameraAnomalySetupData, 0x300) - ] - AnomalyBlachHoleSpawnData: Annotated[ - cGcCameraAnomalySetupData, Field(cGcCameraAnomalySetupData, 0x340) - ] - AnomalyMiniStationSpawnData: Annotated[ - cGcCameraAnomalySetupData, Field(cGcCameraAnomalySetupData, 0x380) - ] - BinocularInfoScreenOffset: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x3C0) - ] - BinocularInfoScreenOffsetGun: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x3F0) - ] - DefaultLeftHandTransform: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x420) - ] - DefaultLeftHandTransformVehicle: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x450) - ] - FrontendBaseScreenshotVROffset: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x480) - ] - FrontendMessagesOffset: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x4B0) - ] - FrontendOffset: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x4E0) - ] - FrontendOffsetV2: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x510) - ] - FrontendPhotoModeVROffset: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x540) - ] - InventoryOffset: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x570) - ] - InventoryOffsetV2: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x5A0) - ] - InWorldCompass: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x5D0) - ] - QuickMenuOffset: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x600) - ] - QuickMenuOffsetV2: Annotated[ - cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x630) - ] - BinocularScopeOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x660)] - DefaultMuzzleColour: Annotated[basic.Colour, Field(basic.Colour, 0x670)] - DefaultMuzzleLaserColour: Annotated[basic.Colour, Field(basic.Colour, 0x680)] - HandScreenRoboOnScreenOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x690) - ] - HolsterHeadOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x6A0)] - InteractionLineActiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x6B0)] - InteractionLineBaseColour: Annotated[basic.Colour, Field(basic.Colour, 0x6C0)] - LeftHandModeFishingRodAttachSocketCorrection: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x6D0) - ] - LeftHandModeWeaponAttachSocketCorrection: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x6E0) - ] - PointingWristAngles: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x6F0)] - SearchGroupIconColour: Annotated[basic.Colour, Field(basic.Colour, 0x700)] - StarFieldColour: Annotated[basic.Colour, Field(basic.Colour, 0x710)] - TerrainEditorMuzzleColourAdd: Annotated[basic.Colour, Field(basic.Colour, 0x720)] - TerrainEditorMuzzleColourFlatten: Annotated[ - basic.Colour, Field(basic.Colour, 0x730) - ] - TerrainEditorMuzzleColourSubtract: Annotated[ - basic.Colour, Field(basic.Colour, 0x740) - ] - TerrainEditorMuzzleColourUndo: Annotated[basic.Colour, Field(basic.Colour, 0x750)] - TraderStayCloseLockBaseOffset: Annotated[ - basic.Vector3f, Field(basic.Vector3f, 0x760) - ] - WeaponBarrelOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x770)] - WeaponOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x780)] - TraderHailMessages: Annotated[cGcShipDialogue, Field(cGcShipDialogue, 0x790)] - PirateHailMessage: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0x9F8) - ] - PoliceScanHailMessage: Annotated[ - cGcPlayerCommunicatorMessage, Field(cGcPlayerCommunicatorMessage, 0xA48) - ] - TraderHailReceiveOSDLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA98) - ] - TraderHailRefusedOSDLoc: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xAB8) - ] - AlertTable: Annotated[ - basic.cTkDynamicArray[cGcCreatureAlertData], - Field(basic.cTkDynamicArray[cGcCreatureAlertData], 0xAD8), - ] - DebugSearchGroup: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xAE8)] - DefaultShipFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xAF8) - ] - DefaultShipSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0xB08)] - ExosuitUpgradeProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB18)] - ExperienceDefeatBugQueenRewardID: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xB28) - ] - ExperienceDefeatBugQueenRewardIDProduct: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xB38) - ] - ExperienceDefeatJellyBossRewardID: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xB48) - ] - ExperienceDefeatLevel5SentinelsCorrupt: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xB58) - ] - ExperienceDefeatLevel5SentinelsNearHiveReward: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xB68) - ] - ExperienceDefeatLevel5SentinelsReward: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xB78) - ] - ExperienceDefeatLevel5SpaceSentinelsReward: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xB88) - ] - FirstSpawnDataTable: Annotated[ - basic.cTkDynamicArray[cGcCameraSpawnSetupData], - Field(basic.cTkDynamicArray[cGcCameraSpawnSetupData], 0xB98), - ] - FootDustEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xBA8)] - Gun: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0xBB8)] - NoShadowMaterial: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xBC8) - ] - PulseEncounterSpaceEggID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xBD8)] - TechLearningProbabilities: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0xBE8), - ] - TechRarityData: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0xBF8), - ] - WantedEscalateTime: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0xC08), - ] - WantedExtremeEscalateTime: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0xC18), - ] - WantedTimeout: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0xC28), - ] - AutoSaveMaxTime: Annotated[int, Field(ctypes.c_uint64, 0xC38)] - AutoSaveMinTime: Annotated[int, Field(ctypes.c_uint64, 0xC40)] - PointingWristAdjustmentTimeMilliseconds: Annotated[ - int, Field(ctypes.c_uint64, 0xC48) - ] - CrystalResourceCollect: Annotated[ - cGcResourceCollectEffect, Field(cGcResourceCollectEffect, 0xC50) - ] - FishingResourceCollect: Annotated[ - cGcResourceCollectEffect, Field(cGcResourceCollectEffect, 0xC84) - ] - ShardResourceCollect: Annotated[ - cGcResourceCollectEffect, Field(cGcResourceCollectEffect, 0xCB8) - ] - TerrainResourceCollect: Annotated[ - cGcResourceCollectEffect, Field(cGcResourceCollectEffect, 0xCEC) - ] - TerrainResourceMeleeCollect: Annotated[ - cGcResourceCollectEffect, Field(cGcResourceCollectEffect, 0xD20) - ] - TerrainResourceMiniCollect: Annotated[ - cGcResourceCollectEffect, Field(cGcResourceCollectEffect, 0xD54) - ] - MissileSwarm: Annotated[cGcBoidData, Field(cGcBoidData, 0xD88)] - PlayerBullet: Annotated[cGcProjectileLineData, Field(cGcProjectileLineData, 0xDB4)] - RobotBullet: Annotated[cGcProjectileLineData, Field(cGcProjectileLineData, 0xDDC)] - ShipBullet: Annotated[cGcProjectileLineData, Field(cGcProjectileLineData, 0xE04)] - AmbientModeLookStickData: Annotated[ - cGcPlayerStickData, Field(cGcPlayerStickData, 0xE2C) - ] - FreighterValueData: Annotated[ - cGcInventoryValueData, Field(cGcInventoryValueData, 0xE48) - ] - LookStickData: Annotated[cGcPlayerStickData, Field(cGcPlayerStickData, 0xE64)] - ShipValueData: Annotated[cGcInventoryValueData, Field(cGcInventoryValueData, 0xE80)] - StickData: Annotated[cGcPlayerStickData, Field(cGcPlayerStickData, 0xE9C)] - WeaponValueData: Annotated[ - cGcInventoryValueData, Field(cGcInventoryValueData, 0xEB8) - ] - MedalTiers: Annotated[cGcJourneyMedalTiers, Field(cGcJourneyMedalTiers, 0xED4)] - TraderHailReceiveRegular: Annotated[ - c_enum32[enums.cGcShipDialogueTreeEnum], - Field(c_enum32[enums.cGcShipDialogueTreeEnum], 0xEE4), - ] - ExperienceFlybyStartAngle: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xEF4)] - FingerButtonQuickMenuButtonSize: Annotated[ - basic.Vector2f, Field(basic.Vector2f, 0xEFC) - ] - MouseSpringStrength: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xF04)] - MouseSpringStrengthMaxDelta: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xF0C)] - MouseSpringStrengthMinDelta: Annotated[basic.Vector2f, Field(basic.Vector2f, 0xF14)] - TraderHailReceiveFight: Annotated[ - c_enum32[enums.cGcShipDialogueTreeEnum], - Field(c_enum32[enums.cGcShipDialogueTreeEnum], 0xF1C), - ] - TraderHailSend: Annotated[ - c_enum32[enums.cGcShipDialogueTreeEnum], - Field(c_enum32[enums.cGcShipDialogueTreeEnum], 0xF24), + TraderHailSend: Annotated[ + tuple[enums.cGcShipDialogueTreeEnum, ...], + Field(c_enum32[enums.cGcShipDialogueTreeEnum] * 2, 0xF24), ] AbandonedFreighterRechargeMod: Annotated[float, Field(ctypes.c_float, 0xF2C)] AbandonedFreighterStaminaRate: Annotated[float, Field(ctypes.c_float, 0xF30)] @@ -39730,9 +31928,7 @@ class eControlModesEnum(IntEnum): FlightStick = 0x1 Inverted = 0x2 - ControlModes: Annotated[ - c_enum32[eControlModesEnum], Field(c_enum32[eControlModesEnum], 0x1070) - ] + ControlModes: Annotated[c_enum32[eControlModesEnum], 0x1070] CreativeModeDeathFadeInTime: Annotated[float, Field(ctypes.c_float, 0x1074)] CreativeModeDeathFadeOutTime: Annotated[float, Field(ctypes.c_float, 0x1078)] CreatureRideFadeInTime: Annotated[float, Field(ctypes.c_float, 0x107C)] @@ -40158,9 +32354,7 @@ class eMouseSmoothModeEnum(IntEnum): Off = 0x0 Sprung = 0x1 - MouseSmoothMode: Annotated[ - c_enum32[eMouseSmoothModeEnum], Field(c_enum32[eMouseSmoothModeEnum], 0x1664) - ] + MouseSmoothMode: Annotated[c_enum32[eMouseSmoothModeEnum], 0x1664] MoveStickHighRangeLimit: Annotated[float, Field(ctypes.c_float, 0x1668)] MoveStickRunLimit: Annotated[float, Field(ctypes.c_float, 0x166C)] MultiplayerMinWanteEscalationTime: Annotated[float, Field(ctypes.c_float, 0x1670)] @@ -40520,16 +32714,10 @@ class eMouseSmoothModeEnum(IntEnum): WoundDamageLimit: Annotated[float, Field(ctypes.c_float, 0x1B48)] WoundDamageLimitShip: Annotated[float, Field(ctypes.c_float, 0x1B4C)] WoundTimeMinimum: Annotated[float, Field(ctypes.c_float, 0x1B50)] - AimDisperseCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1B54) - ] + AimDisperseCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1B54] AutoAim: Annotated[bool, Field(ctypes.c_bool, 0x1B55)] - AutoAimCentreOffsetCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1B56) - ] - AutoAimDotCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1B57) - ] + AutoAimCentreOffsetCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1B56] + AutoAimDotCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1B57] BoltcasterHasTracer: Annotated[bool, Field(ctypes.c_bool, 0x1B58)] ClampPitch: Annotated[bool, Field(ctypes.c_bool, 0x1B59)] CreatureRideFade: Annotated[bool, Field(ctypes.c_bool, 0x1B5A)] @@ -40547,9 +32735,7 @@ class eMouseSmoothModeEnum(IntEnum): InventoryDamage: Annotated[bool, Field(ctypes.c_bool, 0x1B66)] LuckyWithTech: Annotated[bool, Field(ctypes.c_bool, 0x1B67)] MouseCrosshairVisible: Annotated[bool, Field(ctypes.c_bool, 0x1B68)] - MouseFlightCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1B69) - ] + MouseFlightCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1B69] MultiplayerShareWanted: Annotated[bool, Field(ctypes.c_bool, 0x1B6A)] NeverPreyedOn: Annotated[bool, Field(ctypes.c_bool, 0x1B6B)] PassiveLook: Annotated[bool, Field(ctypes.c_bool, 0x1B6C)] @@ -40563,99 +32749,51 @@ class eMouseSmoothModeEnum(IntEnum): ShowFirstPersonCharacterShadowPCVR: Annotated[bool, Field(ctypes.c_bool, 0x1B74)] ShowFirstPersonCharacterShadowPSVR: Annotated[bool, Field(ctypes.c_bool, 0x1B75)] ShowLowAmmoWarning: Annotated[bool, Field(ctypes.c_bool, 0x1B76)] - StickCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1B77) - ] + StickCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1B77] TeleportRecentre: Annotated[bool, Field(ctypes.c_bool, 0x1B78)] - UnderwaterBuoyancyDepthCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1B79) - ] + UnderwaterBuoyancyDepthCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1B79] UpgradeExosuitWithProduct: Annotated[bool, Field(ctypes.c_bool, 0x1B7A)] UseEnergy: Annotated[bool, Field(ctypes.c_bool, 0x1B7B)] UseHazardProtection: Annotated[bool, Field(ctypes.c_bool, 0x1B7C)] UseLargeHealthBar: Annotated[bool, Field(ctypes.c_bool, 0x1B7D)] - WeaponBobBlendCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x1B7E) - ] + WeaponBobBlendCurve: Annotated[c_enum32[enums.cTkCurveType], 0x1B7E] WeaponZoomEnabled: Annotated[bool, Field(ctypes.c_bool, 0x1B7F)] @partial_struct class cGcDebugOptions(Structure): SeasonTransferInventoryConfigOverride: Annotated[ - cGcSeasonTransferInventoryConfig, Field(cGcSeasonTransferInventoryConfig, 0x0) - ] - CrashDumpPath: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - CreateSeasonContextMaskIdOverride: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x40) - ] - CursorTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - DebugFont: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - DebugFontTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] - DebugScene: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x80) - ] - DefaultAirCreatureTable: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x90)] - DefaultCaveCreatureTable: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xA0)] - DefaultGroundCreatureTable: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xB0)] - DefaultSaveData: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xC0) - ] - DefaultWaterCreatureTable: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0xD0)] - ForceBuilderMissionBoardMission: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0xE0) - ] - LocTableList: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xF0), - ] - PauseTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x100) - ] - PipelineFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x110) - ] - PipelineFileEditor: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x120) - ] - PipelineFileFrontend: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x130) - ] - PlayTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x140) - ] - RealityPresetFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x150) - ] - RenderToTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x160) - ] - SceneSettings: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x170) - ] - StepTexture: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x180) - ] - SwitchSeasonContextMaskIdOverride: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x190) - ] + cGcSeasonTransferInventoryConfig, 0x0 + ] + CrashDumpPath: Annotated[basic.VariableSizeString, 0x30] + CreateSeasonContextMaskIdOverride: Annotated[basic.TkID0x10, 0x40] + CursorTexture: Annotated[basic.VariableSizeString, 0x50] + DebugFont: Annotated[basic.VariableSizeString, 0x60] + DebugFontTexture: Annotated[basic.VariableSizeString, 0x70] + DebugScene: Annotated[basic.VariableSizeString, 0x80] + DefaultAirCreatureTable: Annotated[basic.TkID0x10, 0x90] + DefaultCaveCreatureTable: Annotated[basic.TkID0x10, 0xA0] + DefaultGroundCreatureTable: Annotated[basic.TkID0x10, 0xB0] + DefaultSaveData: Annotated[basic.VariableSizeString, 0xC0] + DefaultWaterCreatureTable: Annotated[basic.TkID0x10, 0xD0] + ForceBuilderMissionBoardMission: Annotated[basic.TkID0x10, 0xE0] + LocTableList: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0xF0] + PauseTexture: Annotated[basic.VariableSizeString, 0x100] + PipelineFile: Annotated[basic.VariableSizeString, 0x110] + PipelineFileEditor: Annotated[basic.VariableSizeString, 0x120] + PipelineFileFrontend: Annotated[basic.VariableSizeString, 0x130] + PlayTexture: Annotated[basic.VariableSizeString, 0x140] + RealityPresetFile: Annotated[basic.VariableSizeString, 0x150] + RenderToTexture: Annotated[basic.VariableSizeString, 0x160] + SceneSettings: Annotated[basic.VariableSizeString, 0x170] + StepTexture: Annotated[basic.VariableSizeString, 0x180] + SwitchSeasonContextMaskIdOverride: Annotated[basic.TkID0x10, 0x190] ForceTimeToEpoch: Annotated[int, Field(ctypes.c_uint64, 0x1A0)] OverrideAbandonedFreighterSeed: Annotated[int, Field(ctypes.c_uint64, 0x1A8)] - ToolkitGlobals: Annotated[cTkGlobals, Field(cTkGlobals, 0x1B0)] + ToolkitGlobals: Annotated[cTkGlobals, 0x1B0] _3dTextDistance: Annotated[float, Field(ctypes.c_float, 0x69C)] _3dTextMinScale: Annotated[float, Field(ctypes.c_float, 0x6A0)] - AutomaticPartSpawnStyle: Annotated[ - c_enum32[enums.cGcBaseBuildingPartStyle], - Field(c_enum32[enums.cGcBaseBuildingPartStyle], 0x6A4), - ] + AutomaticPartSpawnStyle: Annotated[c_enum32[enums.cGcBaseBuildingPartStyle], 0x6A4] BaseDownloadTimeout: Annotated[float, Field(ctypes.c_float, 0x6A8)] BasePayloadMultiplier: Annotated[int, Field(ctypes.c_uint32, 0x6AC)] BootDirectlyIntoSaveSlot: Annotated[int, Field(ctypes.c_int32, 0x6B0)] @@ -40665,9 +32803,7 @@ class eBootLoadDelayEnum(IntEnum): WaitForPlanet = 0x1 WaitForNothing = 0x2 - BootLoadDelay: Annotated[ - c_enum32[eBootLoadDelayEnum], Field(c_enum32[eBootLoadDelayEnum], 0x6B4) - ] + BootLoadDelay: Annotated[c_enum32[eBootLoadDelayEnum], 0x6B4] BootLogoFadeRate: Annotated[float, Field(ctypes.c_float, 0x6B8)] class eBootModeEnum(IntEnum): @@ -40679,71 +32815,38 @@ class eBootModeEnum(IntEnum): Scratchpad = 0x5 UnitTest = 0x6 - BootMode: Annotated[c_enum32[eBootModeEnum], Field(c_enum32[eBootModeEnum], 0x6BC)] - DebugLanguage: Annotated[ - c_enum32[enums.cTkLanguages], Field(c_enum32[enums.cTkLanguages], 0x6C0) - ] + BootMode: Annotated[c_enum32[eBootModeEnum], 0x6BC] + DebugLanguage: Annotated[c_enum32[enums.cTkLanguages], 0x6C0] DebugMenuAlpha: Annotated[float, Field(ctypes.c_float, 0x6C4)] DebugTextLineHeight: Annotated[float, Field(ctypes.c_float, 0x6C8)] DebugTextSize: Annotated[float, Field(ctypes.c_float, 0x6CC)] DebugTextureSize: Annotated[int, Field(ctypes.c_int32, 0x6D0)] DiscoveryAutoSyncIntervalSeconds: Annotated[int, Field(ctypes.c_int32, 0x6D4)] - ForceAnomalyTo: Annotated[ - c_enum32[enums.cGcGalaxyStarAnomaly], - Field(c_enum32[enums.cGcGalaxyStarAnomaly], 0x6D8), - ] + ForceAnomalyTo: Annotated[c_enum32[enums.cGcGalaxyStarAnomaly], 0x6D8] ForceAsteroidSystemIndex: Annotated[int, Field(ctypes.c_int32, 0x6DC)] - ForceBiomeSubTypeTo: Annotated[ - c_enum32[enums.cGcBiomeSubType], Field(c_enum32[enums.cGcBiomeSubType], 0x6E0) - ] - ForceBiomeTo: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x6E4) - ] - ForceBuildingRaceTo: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x6E8) - ] - ForceCreatureLifeLevelTo: Annotated[ - c_enum32[enums.cGcPlanetLife], Field(c_enum32[enums.cGcPlanetLife], 0x6EC) - ] + ForceBiomeSubTypeTo: Annotated[c_enum32[enums.cGcBiomeSubType], 0x6E0] + ForceBiomeTo: Annotated[c_enum32[enums.cGcBiomeType], 0x6E4] + ForceBuildingRaceTo: Annotated[c_enum32[enums.cGcAlienRace], 0x6E8] + ForceCreatureLifeLevelTo: Annotated[c_enum32[enums.cGcPlanetLife], 0x6EC] ForceGrassColourIndex: Annotated[int, Field(ctypes.c_int32, 0x6F0)] ForceInitialTimeOfDay: Annotated[float, Field(ctypes.c_float, 0x6F4)] ForceInteractionIndex: Annotated[int, Field(ctypes.c_int32, 0x6F8)] - ForceInteractionRaceTo: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x6FC) - ] - ForceLifeLevelTo: Annotated[ - c_enum32[enums.cGcPlanetLife], Field(c_enum32[enums.cGcPlanetLife], 0x700) - ] - ForceNPCPuzzleCategory: Annotated[ - c_enum32[enums.cGcAlienPuzzleCategory], - Field(c_enum32[enums.cGcAlienPuzzleCategory], 0x704), - ] - ForceScreenFilterTo: Annotated[ - c_enum32[enums.cGcScreenFilters], Field(c_enum32[enums.cGcScreenFilters], 0x708) - ] + ForceInteractionRaceTo: Annotated[c_enum32[enums.cGcAlienRace], 0x6FC] + ForceLifeLevelTo: Annotated[c_enum32[enums.cGcPlanetLife], 0x700] + ForceNPCPuzzleCategory: Annotated[c_enum32[enums.cGcAlienPuzzleCategory], 0x704] + ForceScreenFilterTo: Annotated[c_enum32[enums.cGcScreenFilters], 0x708] ForceSeaLevel: Annotated[float, Field(ctypes.c_float, 0x70C)] ForceSkyColourIndex: Annotated[int, Field(ctypes.c_int32, 0x710)] ForceSkyColourSeed: Annotated[int, Field(ctypes.c_uint32, 0x714)] ForceSpaceBattleLevel: Annotated[int, Field(ctypes.c_int32, 0x718)] ForceSpaceSkyColourIndex: Annotated[int, Field(ctypes.c_int32, 0x71C)] - ForceStarTypeTo: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x720), - ] + ForceStarTypeTo: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x720] ForceSunAngle: Annotated[float, Field(ctypes.c_float, 0x724)] - ForceTerrainSettings: Annotated[ - c_enum32[enums.cGcPlanetLife], Field(c_enum32[enums.cGcPlanetLife], 0x728) - ] - ForceTerrainTypeTo: Annotated[ - c_enum32[enums.cTkVoxelGeneratorSettingsTypes], - Field(c_enum32[enums.cTkVoxelGeneratorSettingsTypes], 0x72C), - ] + ForceTerrainSettings: Annotated[c_enum32[enums.cGcPlanetLife], 0x728] + ForceTerrainTypeTo: Annotated[c_enum32[enums.cTkVoxelGeneratorSettingsTypes], 0x72C] ForceTimeOfDay: Annotated[float, Field(ctypes.c_float, 0x730)] ForceWaterColourIndex: Annotated[int, Field(ctypes.c_int32, 0x734)] - ForceWaterConditionTo: Annotated[ - c_enum32[enums.cTkWaterCondition], - Field(c_enum32[enums.cTkWaterCondition], 0x738), - ] + ForceWaterConditionTo: Annotated[c_enum32[enums.cTkWaterCondition], 0x738] ForceWaterObjectFileIndex: Annotated[int, Field(ctypes.c_int32, 0x73C)] class eGameStateModeEnum(IntEnum): @@ -40751,9 +32854,7 @@ class eGameStateModeEnum(IntEnum): UserStorage = 0x1 FreshStart = 0x2 - GameStateMode: Annotated[ - c_enum32[eGameStateModeEnum], Field(c_enum32[eGameStateModeEnum], 0x740) - ] + GameStateMode: Annotated[c_enum32[eGameStateModeEnum], 0x740] GenerateCostAngle: Annotated[float, Field(ctypes.c_float, 0x744)] GenerateCostDistance: Annotated[float, Field(ctypes.c_float, 0x748)] GenerateCostLOD: Annotated[float, Field(ctypes.c_float, 0x74C)] @@ -40763,9 +32864,7 @@ class eGameStateModeEnum(IntEnum): MaxNumDebugMessages: Annotated[int, Field(ctypes.c_int32, 0x75C)] MoveBaseIndex: Annotated[int, Field(ctypes.c_int32, 0x760)] MultipleFingersSamePressFrameDelta: Annotated[int, Field(ctypes.c_int32, 0x764)] - NewSaveGameMode: Annotated[ - c_enum32[enums.cGcGameMode], Field(c_enum32[enums.cGcGameMode], 0x768) - ] + NewSaveGameMode: Annotated[c_enum32[enums.cGcGameMode], 0x768] OverrideMatchmakingVersion: Annotated[int, Field(ctypes.c_int32, 0x76C)] OverrideServerSeasonEndTime: Annotated[int, Field(ctypes.c_int32, 0x770)] OverrideServerSeasonNumber: Annotated[int, Field(ctypes.c_int32, 0x774)] @@ -40781,8 +32880,7 @@ class ePlayerSpawnLocationOverrideEnum(IntEnum): SpecificLocation = 0x6 PlayerSpawnLocationOverride: Annotated[ - c_enum32[ePlayerSpawnLocationOverrideEnum], - Field(c_enum32[ePlayerSpawnLocationOverrideEnum], 0x77C), + c_enum32[ePlayerSpawnLocationOverrideEnum], 0x77C ] ProceduralModelBatchSize: Annotated[int, Field(ctypes.c_int32, 0x780)] ProceduralModelFilterMatchretryCount: Annotated[int, Field(ctypes.c_int32, 0x784)] @@ -40797,26 +32895,20 @@ class eProxyTypeEnum(IntEnum): ManualURI = 0x1 InetProxy = 0x2 - ProxyType: Annotated[ - c_enum32[eProxyTypeEnum], Field(c_enum32[eProxyTypeEnum], 0x79C) - ] + ProxyType: Annotated[c_enum32[eProxyTypeEnum], 0x79C] class eRealityModeEnum(IntEnum): LoadPreset = 0x0 Generate = 0x1 - RealityMode: Annotated[ - c_enum32[eRealityModeEnum], Field(c_enum32[eRealityModeEnum], 0x7A0) - ] + RealityMode: Annotated[c_enum32[eRealityModeEnum], 0x7A0] class eRecordSettingEnum(IntEnum): None_ = 0x0 Record = 0x1 Playback = 0x2 - RecordSetting: Annotated[ - c_enum32[eRecordSettingEnum], Field(c_enum32[eRecordSettingEnum], 0x7A4) - ] + RecordSetting: Annotated[c_enum32[eRecordSettingEnum], 0x7A4] RecurrenceTimeOffset: Annotated[int, Field(ctypes.c_int32, 0x7A8)] ScreenshotForUploadHeight: Annotated[int, Field(ctypes.c_int32, 0x7AC)] ScreenshotForUploadWidth: Annotated[int, Field(ctypes.c_int32, 0x7B0)] @@ -40832,17 +32924,13 @@ class eServerEnvEnum(IntEnum): merged = 0x7 local = 0x8 - ServerEnv: Annotated[ - c_enum32[eServerEnvEnum], Field(c_enum32[eServerEnvEnum], 0x7B4) - ] + ServerEnv: Annotated[c_enum32[eServerEnvEnum], 0x7B4] class eShaderPreloadEnum(IntEnum): Off = 0x0 Full = 0x1 - ShaderPreload: Annotated[ - c_enum32[eShaderPreloadEnum], Field(c_enum32[eShaderPreloadEnum], 0x7B8) - ] + ShaderPreload: Annotated[c_enum32[eShaderPreloadEnum], 0x7B8] ShowSpecificGraph: Annotated[int, Field(ctypes.c_int32, 0x7BC)] SmokeTestConfigCaptureCycles: Annotated[int, Field(ctypes.c_int32, 0x7C0)] SmokeTestConfigCaptureDurationInSeconds: Annotated[ @@ -40866,10 +32954,7 @@ class eSmokeTestCycleModeEnum(IntEnum): TourShortUDAs = 0x5 TourRandomWarps = 0x6 - SmokeTestCycleMode: Annotated[ - c_enum32[eSmokeTestCycleModeEnum], - Field(c_enum32[eSmokeTestCycleModeEnum], 0x7D8), - ] + SmokeTestCycleMode: Annotated[c_enum32[eSmokeTestCycleModeEnum], 0x7D8] class eSmokeTestScenarioEnum(IntEnum): None_ = 0x0 @@ -40883,18 +32968,14 @@ class eSmokeTestScenarioEnum(IntEnum): ModelLoading = 0x8 SettlementSnapshot = 0x9 - SmokeTestScenario: Annotated[ - c_enum32[eSmokeTestScenarioEnum], Field(c_enum32[eSmokeTestScenarioEnum], 0x7DC) - ] + SmokeTestScenario: Annotated[c_enum32[eSmokeTestScenarioEnum], 0x7DC] SmokeTestSmokeBotTargetWarps: Annotated[int, Field(ctypes.c_int32, 0x7E0)] class eSolarSystemBootEnum(IntEnum): FromSettings = 0x0 Generate = 0x1 - SolarSystemBoot: Annotated[ - c_enum32[eSolarSystemBootEnum], Field(c_enum32[eSolarSystemBootEnum], 0x7E4) - ] + SolarSystemBoot: Annotated[c_enum32[eSolarSystemBootEnum], 0x7E4] SunLightScaleGgx: Annotated[float, Field(ctypes.c_float, 0x7E8)] SwipeDetectionMaxFrames: Annotated[int, Field(ctypes.c_int32, 0x7EC)] SwipeDetectionNormalizedTravelThreshold: Annotated[ @@ -40907,84 +32988,34 @@ class eUseBanksEnum(IntEnum): True_ = 0x1 Default = 0x2 - UseBanks: Annotated[c_enum32[eUseBanksEnum], Field(c_enum32[eUseBanksEnum], 0x7F8)] + UseBanks: Annotated[c_enum32[eUseBanksEnum], 0x7F8] WeaponScale3P: Annotated[float, Field(ctypes.c_float, 0x7FC)] RealityGenerationIteration: Annotated[int, Field(ctypes.c_uint16, 0x800)] - AutoJoinUserNames: Annotated[ - basic.cTkFixedString0x800, Field(basic.cTkFixedString0x800, 0x802) - ] - DebugTwitchRewards: Annotated[ - basic.cTkFixedString0x400, Field(basic.cTkFixedString0x400, 0x1002) - ] - LoadToBase: Annotated[ - basic.cTkFixedString0x200, Field(basic.cTkFixedString0x200, 0x1402) - ] - SeasonalDataOverrideFile: Annotated[ - basic.cTkFixedString0x200, Field(basic.cTkFixedString0x200, 0x1602) - ] - ForceHgAccount: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1802) - ] - ForcePlayerPosition: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1902) - ] - ForceUniverseAddress: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1A02) - ] - GOGLogin: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1B02) - ] - ShowUniverseAddressOnGalaxyMap: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1C02) - ] - WorkingDirectory: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0x1D02) - ] - AuthBaseUrl: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x1E02) - ] - ProxyURI: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x1E82) - ] - ForceBaseDownloadUser: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1F02) - ] - OverrideSettlementOwnershipOnlineId: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1F42) - ] - OverrideSettlementOwnershipUsername: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1F82) - ] - ScreenshotForUploadName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1FC2) - ] - AllowedLanguagesFile: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2002) - ] - AutomaticPartSpawnID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2022) - ] - BaseServerPlatform: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2042) - ] - CrashDumpIdentifier: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2062) - ] - OverrideUsernameForDev: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2082) - ] - SaveTestingCommand: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20A2) - ] - SmokeTestForcePlanetDetail: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20C2) - ] - SmokeTestRunFolder: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20E2) - ] - SynergyServer: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2102) - ] + AutoJoinUserNames: Annotated[basic.cTkFixedString0x800, 0x802] + DebugTwitchRewards: Annotated[basic.cTkFixedString0x400, 0x1002] + LoadToBase: Annotated[basic.cTkFixedString0x200, 0x1402] + SeasonalDataOverrideFile: Annotated[basic.cTkFixedString0x200, 0x1602] + ForceHgAccount: Annotated[basic.cTkFixedString0x100, 0x1802] + ForcePlayerPosition: Annotated[basic.cTkFixedString0x100, 0x1902] + ForceUniverseAddress: Annotated[basic.cTkFixedString0x100, 0x1A02] + GOGLogin: Annotated[basic.cTkFixedString0x100, 0x1B02] + ShowUniverseAddressOnGalaxyMap: Annotated[basic.cTkFixedString0x100, 0x1C02] + WorkingDirectory: Annotated[basic.cTkFixedString0x100, 0x1D02] + AuthBaseUrl: Annotated[basic.cTkFixedString0x80, 0x1E02] + ProxyURI: Annotated[basic.cTkFixedString0x80, 0x1E82] + ForceBaseDownloadUser: Annotated[basic.cTkFixedString0x40, 0x1F02] + OverrideSettlementOwnershipOnlineId: Annotated[basic.cTkFixedString0x40, 0x1F42] + OverrideSettlementOwnershipUsername: Annotated[basic.cTkFixedString0x40, 0x1F82] + ScreenshotForUploadName: Annotated[basic.cTkFixedString0x40, 0x1FC2] + AllowedLanguagesFile: Annotated[basic.cTkFixedString0x20, 0x2002] + AutomaticPartSpawnID: Annotated[basic.cTkFixedString0x20, 0x2022] + BaseServerPlatform: Annotated[basic.cTkFixedString0x20, 0x2042] + CrashDumpIdentifier: Annotated[basic.cTkFixedString0x20, 0x2062] + OverrideUsernameForDev: Annotated[basic.cTkFixedString0x20, 0x2082] + SaveTestingCommand: Annotated[basic.cTkFixedString0x20, 0x20A2] + SmokeTestForcePlanetDetail: Annotated[basic.cTkFixedString0x20, 0x20C2] + SmokeTestRunFolder: Annotated[basic.cTkFixedString0x20, 0x20E2] + SynergyServer: Annotated[basic.cTkFixedString0x20, 0x2102] ActiveMissionsIgnoreStartCancelConditions: Annotated[ bool, Field(ctypes.c_bool, 0x2122) ] @@ -41313,131 +33344,113 @@ class eUseBanksEnum(IntEnum): @partial_struct class cGcCreatureGlobals(Structure): - PainShake: Annotated[cGcCameraShakeData, Field(cGcCameraShakeData, 0x0)] - PetOffPlanetEffect: Annotated[cGcScanEffectData, Field(cGcScanEffectData, 0xC0)] - AllCreaturesDiscoveredColour: Annotated[basic.Colour, Field(basic.Colour, 0x110)] - JellyBossBroodIdleColour: Annotated[basic.Colour, Field(basic.Colour, 0x120)] - JellyBossBroodProximityWarningColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x130) - ] - JellyBossIdleColour: Annotated[basic.Colour, Field(basic.Colour, 0x140)] - JellyBossProjectileAttackWarningColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x150) - ] - JellyBossSpawnBroodWarningColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x160) - ] - PetInteractionLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x170)] - PetRadialBadColour: Annotated[basic.Colour, Field(basic.Colour, 0x180)] - PetRadialBoostColour: Annotated[basic.Colour, Field(basic.Colour, 0x190)] - PetRadialGoodColour: Annotated[basic.Colour, Field(basic.Colour, 0x1A0)] - PetRadialNeutralColour: Annotated[basic.Colour, Field(basic.Colour, 0x1B0)] - PetThrowArcColour: Annotated[basic.Colour, Field(basic.Colour, 0x1C0)] - SpookFiendAggressiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x1D0)] - SpookFiendKamikazeColour: Annotated[basic.Colour, Field(basic.Colour, 0x1E0)] - SpookFiendPassiveColour: Annotated[basic.Colour, Field(basic.Colour, 0x1F0)] - SpookFiendSpitColour: Annotated[basic.Colour, Field(basic.Colour, 0x200)] + PainShake: Annotated[cGcCameraShakeData, 0x0] + PetOffPlanetEffect: Annotated[cGcScanEffectData, 0xC0] + AllCreaturesDiscoveredColour: Annotated[basic.Colour, 0x110] + JellyBossBroodIdleColour: Annotated[basic.Colour, 0x120] + JellyBossBroodProximityWarningColour: Annotated[basic.Colour, 0x130] + JellyBossIdleColour: Annotated[basic.Colour, 0x140] + JellyBossProjectileAttackWarningColour: Annotated[basic.Colour, 0x150] + JellyBossSpawnBroodWarningColour: Annotated[basic.Colour, 0x160] + PetInteractionLightColour: Annotated[basic.Colour, 0x170] + PetRadialBadColour: Annotated[basic.Colour, 0x180] + PetRadialBoostColour: Annotated[basic.Colour, 0x190] + PetRadialGoodColour: Annotated[basic.Colour, 0x1A0] + PetRadialNeutralColour: Annotated[basic.Colour, 0x1B0] + PetThrowArcColour: Annotated[basic.Colour, 0x1C0] + SpookFiendAggressiveColour: Annotated[basic.Colour, 0x1D0] + SpookFiendKamikazeColour: Annotated[basic.Colour, 0x1E0] + SpookFiendPassiveColour: Annotated[basic.Colour, 0x1F0] + SpookFiendSpitColour: Annotated[basic.Colour, 0x200] WeirdBiomeDescriptions: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x210) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 32, 0x210), ] BiomeAirDescriptions: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x610) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 17, 0x610), ] BiomeDescriptions: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x830) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 17, 0x830), ] BiomeWaterDescriptions: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xA50) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 17, 0xA50), ] DietMeat: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xC70) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 17, 0xC70), ] - DietVeg: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0xE90)] - PetBiomeClimates: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x10B0) + DietVeg: Annotated[ + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 17, 0xE90), ] - WeirdKillingRewards: Annotated[ - cGcWeirdCreatureRewardList, Field(cGcWeirdCreatureRewardList, 0x12D0) + PetBiomeClimates: Annotated[ + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 17, 0x10B0), ] + WeirdKillingRewards: Annotated[cGcWeirdCreatureRewardList, 0x12D0] Temperments: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x14D0) - ] - Diets: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1630)] - WaterDiets: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x16B0) - ] - CreatureFilter: Annotated[basic.TkID0x20, Field(basic.TkID0x20, 0x1730)] - PetCarePuzzleOverrideID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1750) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 11, 0x14D0), ] - AlertTable: Annotated[ - basic.cTkDynamicArray[cGcCreatureAlertData], - Field(basic.cTkDynamicArray[cGcCreatureAlertData], 0x1770), + Diets: Annotated[ + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1630), ] - AlienShipQuestCreatureWeapon: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x1780) - ] - AlienShipQuestKillingSubstance: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x1790) - ] - BasicFeedingProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x17A0)] + WaterDiets: Annotated[ + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x16B0), + ] + CreatureFilter: Annotated[basic.TkID0x20, 0x1730] + PetCarePuzzleOverrideID: Annotated[basic.cTkFixedString0x20, 0x1750] + AlertTable: Annotated[basic.cTkDynamicArray[cGcCreatureAlertData], 0x1770] + AlienShipQuestCreatureWeapon: Annotated[basic.TkID0x10, 0x1780] + AlienShipQuestKillingSubstance: Annotated[basic.TkID0x10, 0x1790] + BasicFeedingProduct: Annotated[basic.TkID0x10, 0x17A0] CarnivoreFeedingProducts: Annotated[ - basic.cTkDynamicArray[cGcCreatureFoodList], - Field(basic.cTkDynamicArray[cGcCreatureFoodList], 0x17B0), - ] - CreatureDeathEffectBig: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x17C0)] - CreatureDeathEffectMedium: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x17D0)] - CreatureDeathEffectSmall: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x17E0)] - CreatureHugeRunShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x17F0)] - CreatureHugeWalkShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1800)] - CreatureLargeRunShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1810)] - CreatureLargeWalkShake: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1820)] - CreatureSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x1830)] - DefaultKillingSubstance: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1840)] - FishDeathEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1850)] + basic.cTkDynamicArray[cGcCreatureFoodList], 0x17B0 + ] + CreatureDeathEffectBig: Annotated[basic.TkID0x10, 0x17C0] + CreatureDeathEffectMedium: Annotated[basic.TkID0x10, 0x17D0] + CreatureDeathEffectSmall: Annotated[basic.TkID0x10, 0x17E0] + CreatureHugeRunShake: Annotated[basic.TkID0x10, 0x17F0] + CreatureHugeWalkShake: Annotated[basic.TkID0x10, 0x1800] + CreatureLargeRunShake: Annotated[basic.TkID0x10, 0x1810] + CreatureLargeWalkShake: Annotated[basic.TkID0x10, 0x1820] + CreatureSeed: Annotated[basic.GcSeed, 0x1830] + DefaultKillingSubstance: Annotated[basic.TkID0x10, 0x1840] + FishDeathEffect: Annotated[basic.TkID0x10, 0x1850] HarvestingProducts: Annotated[ - basic.cTkDynamicArray[cGcCreatureHarvestSubstanceList], - Field(basic.cTkDynamicArray[cGcCreatureHarvestSubstanceList], 0x1860), + basic.cTkDynamicArray[cGcCreatureHarvestSubstanceList], 0x1860 ] HerbivoreFeedingProducts: Annotated[ - basic.cTkDynamicArray[cGcCreatureFoodList], - Field(basic.cTkDynamicArray[cGcCreatureFoodList], 0x1870), - ] - HorrorPetFeedingProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1880)] - KillingProducts: Annotated[ - basic.cTkDynamicArray[cGcCreatureSubstanceList], - Field(basic.cTkDynamicArray[cGcCreatureSubstanceList], 0x1890), - ] - KillingSubstances: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x18A0), - ] - LootItems: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x18B0), - ] - PetEggMaxChangeProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18C0)] - PetEggs: Annotated[ - basic.cTkDynamicArray[cGcCreaturePetEggData], - Field(basic.cTkDynamicArray[cGcCreaturePetEggData], 0x18D0), - ] - PetEggsplosionEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18E0)] - PetScan: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x18F0)] - RobotFeedingProduct: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x1900)] + basic.cTkDynamicArray[cGcCreatureFoodList], 0x1870 + ] + HorrorPetFeedingProduct: Annotated[basic.TkID0x10, 0x1880] + KillingProducts: Annotated[basic.cTkDynamicArray[cGcCreatureSubstanceList], 0x1890] + KillingSubstances: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x18A0] + LootItems: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x18B0] + PetEggMaxChangeProduct: Annotated[basic.TkID0x10, 0x18C0] + PetEggs: Annotated[basic.cTkDynamicArray[cGcCreaturePetEggData], 0x18D0] + PetEggsplosionEffect: Annotated[basic.TkID0x10, 0x18E0] + PetScan: Annotated[basic.TkID0x10, 0x18F0] + RobotFeedingProduct: Annotated[basic.TkID0x10, 0x1900] RockTransformChanceModifiers: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x1910), + basic.cTkDynamicArray[ctypes.c_float], 0x1910 ] SpookFiendsSpawnData: Annotated[ - basic.cTkDynamicArray[cGcSpookFiendSpawnData], - Field(basic.cTkDynamicArray[cGcSpookFiendSpawnData], 0x1920), - ] - FlyingSnakeData: Annotated[cGcFlyingSnakeData, Field(cGcFlyingSnakeData, 0x1930)] - SpherePusherOffset: Annotated[float, Field(ctypes.c_float, 0x1970)] - SpherePusherRadiusMul: Annotated[float, Field(ctypes.c_float, 0x1980)] - SpherePusherWeight: Annotated[float, Field(ctypes.c_float, 0x1990)] - JellyBossBroodMaxChaseTime: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x19A0)] - SpookFiendsSpawnTimer: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x19A8)] + basic.cTkDynamicArray[cGcSpookFiendSpawnData], 0x1920 + ] + FlyingSnakeData: Annotated[cGcFlyingSnakeData, 0x1930] + SpherePusherOffset: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x1970)] + SpherePusherRadiusMul: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x1980) + ] + SpherePusherWeight: Annotated[tuple[float, ...], Field(ctypes.c_float * 4, 0x1990)] + JellyBossBroodMaxChaseTime: Annotated[basic.Vector2f, 0x19A0] + SpookFiendsSpawnTimer: Annotated[basic.Vector2f, 0x19A8] AdultBabyKilledNoticeDistance: Annotated[float, Field(ctypes.c_float, 0x19B0)] AdultCorrelationValue: Annotated[float, Field(ctypes.c_float, 0x19B4)] AlertDistance: Annotated[float, Field(ctypes.c_float, 0x19B8)] @@ -41763,10 +33776,7 @@ class cGcCreatureGlobals(Structure): PetFollowRange: Annotated[float, Field(ctypes.c_float, 0x1E78)] PetFollowRunPlayerDistance: Annotated[float, Field(ctypes.c_float, 0x1E7C)] PetFootShakeModifier: Annotated[float, Field(ctypes.c_float, 0x1E80)] - PetForceBehaviour: Annotated[ - c_enum32[enums.cGcPetBehaviours], - Field(c_enum32[enums.cGcPetBehaviours], 0x1E84), - ] + PetForceBehaviour: Annotated[c_enum32[enums.cGcPetBehaviours], 0x1E84] PetGrowthTime: Annotated[int, Field(ctypes.c_int32, 0x1E88)] PetHeartChangePerLayer: Annotated[float, Field(ctypes.c_float, 0x1E8C)] PetHeartMaxSize: Annotated[float, Field(ctypes.c_float, 0x1E90)] @@ -41972,13 +33982,16 @@ class cGcCreatureGlobals(Structure): WeaponRepelAmount: Annotated[float, Field(ctypes.c_float, 0x21B0)] WeaponRepelRange: Annotated[float, Field(ctypes.c_float, 0x21B4)] TempermentDescriptions: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x21B8) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 11, 0x21B8), ] DietDescriptions: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2318) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x2318), ] WaterDietDescriptions: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2398) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x2398), ] AggressiveSharks: Annotated[bool, Field(ctypes.c_bool, 0x2418)] AllBaitIsBasic: Annotated[bool, Field(ctypes.c_bool, 0x2419)] @@ -42016,23 +34029,21 @@ class cGcCreatureGlobals(Structure): UncapSpawningforVideo: Annotated[bool, Field(ctypes.c_bool, 0x2439)] UseCreatureAdoptOSD: Annotated[bool, Field(ctypes.c_bool, 0x243A)] UsePetTeleportEffect: Annotated[bool, Field(ctypes.c_bool, 0x243B)] - WaterDepthSizeScalingCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x243C) - ] + WaterDepthSizeScalingCurve: Annotated[c_enum32[enums.cTkCurveType], 0x243C] @partial_struct class cGcBuildableShipGlobals(Structure): - DefaultCorvette: Annotated[cGcRewardSpecificShip, Field(cGcRewardSpecificShip, 0x0)] + DefaultCorvette: Annotated[cGcRewardSpecificShip, 0x0] PartTagLocIDs: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x250) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 13, 0x250), ] - InitialLayouts: Annotated[ - basic.cTkDynamicArray[basic.VariableSizeString], - Field(basic.cTkDynamicArray[basic.VariableSizeString], 0x3F0), + InitialLayouts: Annotated[basic.cTkDynamicArray[basic.VariableSizeString], 0x3F0] + PartFXLimits: Annotated[tuple[int, ...], Field(ctypes.c_int32 * 13, 0x400)] + InteriorVisibilityDistance: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x434) ] - PartFXLimits: Annotated[int, Field(ctypes.c_int32, 0x400)] - InteriorVisibilityDistance: Annotated[float, Field(ctypes.c_float, 0x434)] ComplexityLimitWarning: Annotated[int, Field(ctypes.c_int32, 0x444)] ComplexityLimitWarningNX: Annotated[int, Field(ctypes.c_int32, 0x448)] SpawnOnRemoteCorvetteRequiredPartsRenderingDistance: Annotated[ @@ -42042,109 +34053,53 @@ class cGcBuildableShipGlobals(Structure): @partial_struct class cGcAISpaceshipGlobals(Structure): - PlayerSquadronConfig: Annotated[ - cGcPlayerSquadronConfig, Field(cGcPlayerSquadronConfig, 0x0) - ] - AlertLightColour: Annotated[basic.Colour, Field(basic.Colour, 0x230)] - FreighterDoorColourActive: Annotated[basic.Colour, Field(basic.Colour, 0x240)] - FreighterDoorColourInactive: Annotated[basic.Colour, Field(basic.Colour, 0x250)] - FreighterEngineGlowDefaultColour: Annotated[ - basic.Colour, Field(basic.Colour, 0x260) - ] - TurretAlertLightOffset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x270)] + PlayerSquadronConfig: Annotated[cGcPlayerSquadronConfig, 0x0] + AlertLightColour: Annotated[basic.Colour, 0x230] + FreighterDoorColourActive: Annotated[basic.Colour, 0x240] + FreighterDoorColourInactive: Annotated[basic.Colour, 0x250] + FreighterEngineGlowDefaultColour: Annotated[basic.Colour, 0x260] + TurretAlertLightOffset: Annotated[basic.Vector3f, 0x270] ProjectileWeaponMuzzleFlashes: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x280) - ] - WarpArriveEffectIDs: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2F0)] - WarpStartEffectIDs: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x360)] - AsteroidMiningPositioningTravelData: Annotated[ - cGcSpaceshipTravelData, Field(cGcSpaceshipTravelData, 0x3D0) - ] - AsteroidMiningTravelData: Annotated[ - cGcSpaceshipTravelData, Field(cGcSpaceshipTravelData, 0x418) - ] - FallbackTravelData: Annotated[ - cGcSpaceshipTravelData, Field(cGcSpaceshipTravelData, 0x460) - ] - OutpostLanding: Annotated[ - cGcSpaceshipTravelData, Field(cGcSpaceshipTravelData, 0x4A8) - ] - PlanetLanding: Annotated[ - cGcSpaceshipTravelData, Field(cGcSpaceshipTravelData, 0x4F0) - ] - SlowCombatEffectAttackTravel: Annotated[ - cGcSpaceshipTravelData, Field(cGcSpaceshipTravelData, 0x538) - ] - WingmanPathData: Annotated[ - cGcShipAIPlanetPatrolData, Field(cGcShipAIPlanetPatrolData, 0x580) - ] - DebugShipSpawns: Annotated[ - basic.cTkDynamicArray[cGcAIShipDebugSpawnData], - Field(basic.cTkDynamicArray[cGcAIShipDebugSpawnData], 0x5B8), - ] - EnergyShield: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x5C8) - ] - EnergyShieldDepletedEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x5D8)] - EnergyShieldStartRechargeEffect: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x5E8) - ] - EnergyShieldStartRechargeFromDepletedEffect: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x5F8) - ] - HangarFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x608) - ] - LegacyHangarFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x618) - ] - SpaceBattleGuardsRange: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x628), - ] - SpaceBattlePirateRange: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x638), - ] - SpaceBattleSpawnAngle: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x648), - ] - SpaceBattleSpawnOffset: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x658), - ] - SpaceBattleSpawnPitch: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x668), - ] - SpaceBattleSpawnRange: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x678), - ] - SpaceBattleSunAroundAngle: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x688), - ] - SpaceBattleSunHeightAngle: Annotated[ - basic.cTkDynamicArray[basic.Vector2f], - Field(basic.cTkDynamicArray[basic.Vector2f], 0x698), - ] - TradeRouteColours: Annotated[ - basic.cTkDynamicArray[basic.Colour], - Field(basic.cTkDynamicArray[basic.Colour], 0x6A8), - ] - CombatEffectsComponentData: Annotated[ - cGcCombatEffectsComponentData, Field(cGcCombatEffectsComponentData, 0x6B8) - ] - ShipBullet: Annotated[cGcProjectileLineData, Field(cGcProjectileLineData, 0x700)] - Death: Annotated[cGcShipAIDeathData, Field(cGcShipAIDeathData, 0x728)] - FreighterLightHitCurve: Annotated[cTkHitCurveData, Field(cTkHitCurveData, 0x744)] - ConeSpawnOffsetFactor: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x750)] - FreighterMiniSpeeds: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x758)] - PirateFreighterAttackRange: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x760)] - PoliceSideOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x768)] - PoliceUpOffset: Annotated[basic.Vector2f, Field(basic.Vector2f, 0x770)] + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 7, 0x280) + ] + WarpArriveEffectIDs: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 7, 0x2F0) + ] + WarpStartEffectIDs: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 7, 0x360) + ] + AsteroidMiningPositioningTravelData: Annotated[cGcSpaceshipTravelData, 0x3D0] + AsteroidMiningTravelData: Annotated[cGcSpaceshipTravelData, 0x418] + FallbackTravelData: Annotated[cGcSpaceshipTravelData, 0x460] + OutpostLanding: Annotated[cGcSpaceshipTravelData, 0x4A8] + PlanetLanding: Annotated[cGcSpaceshipTravelData, 0x4F0] + SlowCombatEffectAttackTravel: Annotated[cGcSpaceshipTravelData, 0x538] + WingmanPathData: Annotated[cGcShipAIPlanetPatrolData, 0x580] + DebugShipSpawns: Annotated[basic.cTkDynamicArray[cGcAIShipDebugSpawnData], 0x5B8] + EnergyShield: Annotated[basic.VariableSizeString, 0x5C8] + EnergyShieldDepletedEffect: Annotated[basic.TkID0x10, 0x5D8] + EnergyShieldStartRechargeEffect: Annotated[basic.TkID0x10, 0x5E8] + EnergyShieldStartRechargeFromDepletedEffect: Annotated[basic.TkID0x10, 0x5F8] + HangarFilename: Annotated[basic.VariableSizeString, 0x608] + LegacyHangarFilename: Annotated[basic.VariableSizeString, 0x618] + SpaceBattleGuardsRange: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x628] + SpaceBattlePirateRange: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x638] + SpaceBattleSpawnAngle: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x648] + SpaceBattleSpawnOffset: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x658] + SpaceBattleSpawnPitch: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x668] + SpaceBattleSpawnRange: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x678] + SpaceBattleSunAroundAngle: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x688] + SpaceBattleSunHeightAngle: Annotated[basic.cTkDynamicArray[basic.Vector2f], 0x698] + TradeRouteColours: Annotated[basic.cTkDynamicArray[basic.Colour], 0x6A8] + CombatEffectsComponentData: Annotated[cGcCombatEffectsComponentData, 0x6B8] + ShipBullet: Annotated[cGcProjectileLineData, 0x700] + Death: Annotated[cGcShipAIDeathData, 0x728] + FreighterLightHitCurve: Annotated[cTkHitCurveData, 0x744] + ConeSpawnOffsetFactor: Annotated[basic.Vector2f, 0x750] + FreighterMiniSpeeds: Annotated[basic.Vector2f, 0x758] + PirateFreighterAttackRange: Annotated[basic.Vector2f, 0x760] + PoliceSideOffset: Annotated[basic.Vector2f, 0x768] + PoliceUpOffset: Annotated[basic.Vector2f, 0x770] AbandonedSystemShipSpawnProbablity: Annotated[float, Field(ctypes.c_float, 0x778)] ArrivalStaggerOffset: Annotated[float, Field(ctypes.c_float, 0x77C)] AsteroidMiningMaxAsteroidRadius: Annotated[float, Field(ctypes.c_float, 0x780)] @@ -42535,10 +34490,10 @@ class cGcAISpaceshipGlobals(Structure): WitnessHearingRange: Annotated[float, Field(ctypes.c_float, 0xD04)] WitnessSightAngle: Annotated[float, Field(ctypes.c_float, 0xD08)] WitnessSightRange: Annotated[float, Field(ctypes.c_float, 0xD0C)] - TradeRouteIcon: Annotated[ - basic.cTkFixedString0x100, Field(basic.cTkFixedString0x100, 0xD10) + TradeRouteIcon: Annotated[basic.cTkFixedString0x100, 0xD10] + PirateAttackableBuildingClasses: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 60, 0xE10) ] - PirateAttackableBuildingClasses: Annotated[bool, Field(ctypes.c_bool, 0xE10)] AtmosphereEffectEnabled: Annotated[bool, Field(ctypes.c_bool, 0xE4C)] AttackRepositionBoost: Annotated[bool, Field(ctypes.c_bool, 0xE4D)] AttackShipsFollowLeader: Annotated[bool, Field(ctypes.c_bool, 0xE4E)] @@ -42556,182 +34511,127 @@ class cGcAISpaceshipGlobals(Structure): PoliceSpawnEffect: Annotated[bool, Field(ctypes.c_bool, 0xE5A)] ScaleDisabledWhenOnFreighter: Annotated[bool, Field(ctypes.c_bool, 0xE5B)] TradersAttackPirates: Annotated[bool, Field(ctypes.c_bool, 0xE5C)] - TrailScaleCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xE5D) - ] - WarpInCurve: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0xE5E) - ] + TrailScaleCurve: Annotated[c_enum32[enums.cTkCurveType], 0xE5D] + WarpInCurve: Annotated[c_enum32[enums.cTkCurveType], 0xE5E] @partial_struct class cGcSquadronPilotData(Structure): - NPCResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x0)] - ShipResource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x48)] + NPCResource: Annotated[cGcResourceElement, 0x0] + ShipResource: Annotated[cGcResourceElement, 0x48] TraitsSeed: Annotated[int, Field(ctypes.c_uint64, 0x90)] PilotRank: Annotated[int, Field(ctypes.c_uint16, 0x98)] @partial_struct class cGcSeasonStateData(Structure): - SeasonTransferInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x0) - ] - MilestoneValues: Annotated[ - basic.cTkDynamicArray[ctypes.c_float], - Field(basic.cTkDynamicArray[ctypes.c_float], 0x160), - ] - ProtectedEvents: Annotated[ - basic.cTkDynamicArray[cGcUAProtectedLocations], - Field(basic.cTkDynamicArray[cGcUAProtectedLocations], 0x170), - ] + SeasonTransferInventory: Annotated[cGcInventoryContainer, 0x0] + MilestoneValues: Annotated[basic.cTkDynamicArray[ctypes.c_float], 0x160] + ProtectedEvents: Annotated[basic.cTkDynamicArray[cGcUAProtectedLocations], 0x170] RendezvousParticipants: Annotated[ - basic.cTkDynamicArray[cGcPlayerMissionParticipant], - Field(basic.cTkDynamicArray[cGcPlayerMissionParticipant], 0x180), - ] - RendezvousUAs: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint64], - Field(basic.cTkDynamicArray[ctypes.c_uint64], 0x190), - ] - RewardCollected: Annotated[ - basic.cTkDynamicArray[ctypes.c_int16], - Field(basic.cTkDynamicArray[ctypes.c_int16], 0x1A0), + basic.cTkDynamicArray[cGcPlayerMissionParticipant], 0x180 ] + RendezvousUAs: Annotated[basic.cTkDynamicArray[ctypes.c_uint64], 0x190] + RewardCollected: Annotated[basic.cTkDynamicArray[ctypes.c_int16], 0x1A0] EndRewardsRedemptionState: Annotated[ - c_enum32[enums.cGcSeasonEndRewardsRedemptionState], - Field(c_enum32[enums.cGcSeasonEndRewardsRedemptionState], 0x1B0), + c_enum32[enums.cGcSeasonEndRewardsRedemptionState], 0x1B0 ] PinnedMilestone: Annotated[int, Field(ctypes.c_int32, 0x1B4)] PinnedStage: Annotated[int, Field(ctypes.c_int32, 0x1B8)] - StateOnDeath: Annotated[ - c_enum32[enums.cGcSeasonSaveStateOnDeath], - Field(c_enum32[enums.cGcSeasonSaveStateOnDeath], 0x1BC), - ] + StateOnDeath: Annotated[c_enum32[enums.cGcSeasonSaveStateOnDeath], 0x1BC] HasCollectedFinalReward: Annotated[bool, Field(ctypes.c_bool, 0x1C0)] @partial_struct class cGcSeasonTransferInventoryData(Structure): - Inventory: Annotated[cGcInventoryContainer, Field(cGcInventoryContainer, 0x0)] - Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x160)] + Inventory: Annotated[cGcInventoryContainer, 0x0] + Layout: Annotated[cGcInventoryLayout, 0x160] SeasonId: Annotated[int, Field(ctypes.c_int32, 0x178)] @partial_struct class cGcRepairTechData(Structure): - MaintenanceContainer: Annotated[ - cGcMaintenanceContainer, Field(cGcMaintenanceContainer, 0x0) - ] - InventoryIndex: Annotated[cGcInventoryIndex, Field(cGcInventoryIndex, 0x1A0)] + MaintenanceContainer: Annotated[cGcMaintenanceContainer, 0x0] + InventoryIndex: Annotated[cGcInventoryIndex, 0x1A0] InventorySubIndex: Annotated[int, Field(ctypes.c_int32, 0x1A8)] InventoryType: Annotated[int, Field(ctypes.c_int32, 0x1AC)] @partial_struct class cGcPlayerOwnershipData(Structure): - Direction: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x0)] - Position: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x10)] - Inventory: Annotated[cGcInventoryContainer, Field(cGcInventoryContainer, 0x20)] - Inventory_Cargo: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x180) - ] - Inventory_TechOnly: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x2E0) - ] - Resource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x440)] - InventoryLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x488)] + Direction: Annotated[basic.Vector4f, 0x0] + Position: Annotated[basic.Vector4f, 0x10] + Inventory: Annotated[cGcInventoryContainer, 0x20] + Inventory_Cargo: Annotated[cGcInventoryContainer, 0x180] + Inventory_TechOnly: Annotated[cGcInventoryContainer, 0x2E0] + Resource: Annotated[cGcResourceElement, 0x440] + InventoryLayout: Annotated[cGcInventoryLayout, 0x488] Location: Annotated[int, Field(ctypes.c_uint64, 0x4A0)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x4A8)] + Name: Annotated[basic.cTkFixedString0x20, 0x4A8] @partial_struct class cGcMultitoolData(Structure): - ScreenData: Annotated[cGcInWorldUIScreenData, Field(cGcInWorldUIScreenData, 0x0)] - Store: Annotated[cGcInventoryContainer, Field(cGcInventoryContainer, 0x30)] - CustomisationData: Annotated[ - cGcCharacterCustomisationData, Field(cGcCharacterCustomisationData, 0x190) - ] - Resource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x1E8)] - Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x230)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x248)] + ScreenData: Annotated[cGcInWorldUIScreenData, 0x0] + Store: Annotated[cGcInventoryContainer, 0x30] + CustomisationData: Annotated[cGcCharacterCustomisationData, 0x190] + Resource: Annotated[cGcResourceElement, 0x1E8] + Layout: Annotated[cGcInventoryLayout, 0x230] + Seed: Annotated[basic.GcSeed, 0x248] PrimaryMode: Annotated[int, Field(ctypes.c_int32, 0x258)] SecondaryMode: Annotated[int, Field(ctypes.c_int32, 0x25C)] - Name: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x260)] + Name: Annotated[basic.cTkFixedString0x20, 0x260] IsLarge: Annotated[bool, Field(ctypes.c_bool, 0x280)] UseLegacyColours: Annotated[bool, Field(ctypes.c_bool, 0x281)] @partial_struct class cGcArchivedMultitoolData(Structure): - MultitoolData: Annotated[cGcMultitoolData, Field(cGcMultitoolData, 0x0)] - ArchivedInventoryClass: Annotated[ - c_enum32[enums.cGcInventoryClass], - Field(c_enum32[enums.cGcInventoryClass], 0x290), - ] - WeaponClass: Annotated[ - c_enum32[enums.cGcWeaponClasses], Field(c_enum32[enums.cGcWeaponClasses], 0x294) - ] - ArchivedName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x298) - ] + MultitoolData: Annotated[cGcMultitoolData, 0x0] + ArchivedInventoryClass: Annotated[c_enum32[enums.cGcInventoryClass], 0x290] + WeaponClass: Annotated[c_enum32[enums.cGcWeaponClasses], 0x294] + ArchivedName: Annotated[basic.cTkFixedString0x20, 0x298] @partial_struct class cGcArchivedShipData(Structure): - Ownership: Annotated[cGcPlayerOwnershipData, Field(cGcPlayerOwnershipData, 0x0)] - Customisation: Annotated[ - cGcCharacterCustomisationSaveData, - Field(cGcCharacterCustomisationSaveData, 0x4D0), - ] - ArchivedClass: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0x538), - ] - ArchivedInventoryClass: Annotated[ - c_enum32[enums.cGcInventoryClass], - Field(c_enum32[enums.cGcInventoryClass], 0x53C), - ] - ArchivedName: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x540) - ] + Ownership: Annotated[cGcPlayerOwnershipData, 0x0] + Customisation: Annotated[cGcCharacterCustomisationSaveData, 0x4D0] + ArchivedClass: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0x538] + ArchivedInventoryClass: Annotated[c_enum32[enums.cGcInventoryClass], 0x53C] + ArchivedName: Annotated[basic.cTkFixedString0x80, 0x540] UsesLegacyColours: Annotated[bool, Field(ctypes.c_bool, 0x5C0)] @partial_struct class cGcFreighterSaveData(Structure): - MatrixAt: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - MatrixPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - MatrixUp: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - Inventory: Annotated[cGcInventoryContainer, Field(cGcInventoryContainer, 0x30)] - Inventory_Cargo: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x190) - ] - Inventory_TechOnly: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x2F0) - ] - Resource: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x450)] - CargoLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x498)] - Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x4B0)] - HomeSystemSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x4C8)] + MatrixAt: Annotated[basic.Vector3f, 0x0] + MatrixPos: Annotated[basic.Vector3f, 0x10] + MatrixUp: Annotated[basic.Vector3f, 0x20] + Inventory: Annotated[cGcInventoryContainer, 0x30] + Inventory_Cargo: Annotated[cGcInventoryContainer, 0x190] + Inventory_TechOnly: Annotated[cGcInventoryContainer, 0x2F0] + Resource: Annotated[cGcResourceElement, 0x450] + CargoLayout: Annotated[cGcInventoryLayout, 0x498] + Layout: Annotated[cGcInventoryLayout, 0x4B0] + HomeSystemSeed: Annotated[basic.GcSeed, 0x4C8] LastSpawnTime: Annotated[int, Field(ctypes.c_uint64, 0x4D8)] - UniverseAddress: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x4E0) - ] + UniverseAddress: Annotated[cGcUniverseAddressData, 0x4E0] Dismissed: Annotated[bool, Field(ctypes.c_bool, 0x4F8)] @partial_struct class cGcModBasePart(Structure): - ProductData: Annotated[cGcProductData, Field(cGcProductData, 0x0)] - PartData: Annotated[cGcBaseBuildingEntry, Field(cGcBaseBuildingEntry, 0x300)] - ID: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x548)] + ProductData: Annotated[cGcProductData, 0x0] + PartData: Annotated[cGcBaseBuildingEntry, 0x300] + ID: Annotated[basic.cTkFixedString0x40, 0x548] @partial_struct class cGcNPCWorkerData(Structure): - BaseOffset: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x0)] - ResourceElement: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x10)] - InteractionSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x58)] + BaseOffset: Annotated[basic.Vector4f, 0x0] + ResourceElement: Annotated[cGcResourceElement, 0x10] + InteractionSeed: Annotated[basic.GcSeed, 0x58] BaseUA: Annotated[int, Field(ctypes.c_uint64, 0x68)] FreighterBase: Annotated[bool, Field(ctypes.c_bool, 0x70)] HiredWorker: Annotated[bool, Field(ctypes.c_bool, 0x71)] @@ -42739,32 +34639,25 @@ class cGcNPCWorkerData(Structure): @partial_struct class cGcUniqueNPCSpawnData(Structure): - ResourceElement: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x0)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - PresetId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x58)] - Race: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x68) - ] + ResourceElement: Annotated[cGcResourceElement, 0x0] + Id: Annotated[basic.TkID0x10, 0x48] + PresetId: Annotated[basic.TkID0x10, 0x58] + Race: Annotated[c_enum32[enums.cGcAlienRace], 0x68] Scale: Annotated[float, Field(ctypes.c_float, 0x6C)] @partial_struct class cGcCutSceneSpawnData(Structure): - Facing: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x0)] - Local: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x10)] - Offset: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x20)] - Up: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x30)] - ResourceElement: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x40)] - Group: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x88)] - Id: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x98)] - Modules: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0xA8), - ] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0xB8)] - TrimmedPath: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xC8) - ] + Facing: Annotated[basic.Vector3f, 0x0] + Local: Annotated[basic.Vector3f, 0x10] + Offset: Annotated[basic.Vector3f, 0x20] + Up: Annotated[basic.Vector3f, 0x30] + ResourceElement: Annotated[cGcResourceElement, 0x40] + Group: Annotated[basic.TkID0x10, 0x88] + Id: Annotated[basic.TkID0x10, 0x98] + Modules: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0xA8] + Seed: Annotated[basic.GcSeed, 0xB8] + TrimmedPath: Annotated[basic.VariableSizeString, 0xC8] Guid: Annotated[int, Field(ctypes.c_int32, 0xD8)] DebugDraw: Annotated[bool, Field(ctypes.c_bool, 0xDC)] EnableAI: Annotated[bool, Field(ctypes.c_bool, 0xDD)] @@ -42772,244 +34665,248 @@ class cGcCutSceneSpawnData(Structure): @partial_struct class cGcBaseBuildingPartsTable(Structure): - Parts: Annotated[ - basic.cTkDynamicArray[cGcBaseBuildingPart], - Field(basic.cTkDynamicArray[cGcBaseBuildingPart], 0x0), - ] + Parts: Annotated[basic.cTkDynamicArray[cGcBaseBuildingPart], 0x0] @partial_struct class cGcDifficultyConfig(Structure): CommonSettingsData: Annotated[ - cGcDifficultySettingCommonData, Field(cGcDifficultySettingCommonData, 0x0) + tuple[cGcDifficultySettingCommonData, ...], + Field(cGcDifficultySettingCommonData * 30, 0x0), ] StartWithAllItemsKnownDisabledData: Annotated[ - cGcDifficultyStartWithAllItemsKnownOptionData, - Field(cGcDifficultyStartWithAllItemsKnownOptionData, 0x10E0), + cGcDifficultyStartWithAllItemsKnownOptionData, 0x10E0 ] StartWithAllItemsKnownEnabledData: Annotated[ - cGcDifficultyStartWithAllItemsKnownOptionData, - Field(cGcDifficultyStartWithAllItemsKnownOptionData, 0x1400), + cGcDifficultyStartWithAllItemsKnownOptionData, 0x1400 ] PresetOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1720) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 7, 0x1720), ] UILayout: Annotated[ - cGcDifficultyOptionUIGroup, Field(cGcDifficultyOptionUIGroup, 0x1800) + tuple[cGcDifficultyOptionUIGroup, ...], + Field(cGcDifficultyOptionUIGroup * 4, 0x1800), ] ActiveSurvivalBarsOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x18C0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x18C0), ] ChargingRequirementsOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1940) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1940), ] CurrencyCostOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x19C0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x19C0), ] DamageReceivedOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1A40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1A40), ] DeathConsequencesOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1AC0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1AC0), ] FishingOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1B40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1B40), ] FuelUseOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1BC0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1BC0), ] GroundCombatOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1C40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1C40), ] LaunchFuelCostOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1CC0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1CC0), ] ReputationGainOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1D40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1D40), ] ScannerRechargeOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1DC0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1DC0), ] SpaceCombatOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1E40) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 4, 0x1E40), ] BreakTechOnDamageOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1EC0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x1EC0), ] CreatureHostilityOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1F20) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x1F20), ] DamageGivenOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1F80) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x1F80), ] EnergyDrainOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x1FE0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x1FE0), ] FuelUseOptionData: Annotated[ - cGcDifficultyFuelUseOptionData, Field(cGcDifficultyFuelUseOptionData, 0x2040) + tuple[cGcDifficultyFuelUseOptionData, ...], + Field(cGcDifficultyFuelUseOptionData * 4, 0x2040), ] HazardDrainOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x20A0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x20A0), ] InventoryStackLimitsOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2100) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x2100), ] ItemShopAvailabilityOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2160) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x2160), ] SprintingOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x21C0) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x21C0), ] SubstanceCollectionOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2220) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 3, 0x2220), ] NPCPopulationOptionLocIds: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2280) + tuple[basic.cTkFixedString0x20, ...], + Field(basic.cTkFixedString0x20 * 2, 0x2280), ] ItemShopAvailabilityOptionData: Annotated[ - cGcItemShopAvailabilityDifficultyOptionData, - Field(cGcItemShopAvailabilityDifficultyOptionData, 0x22C0), - ] - PresetLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x22F0) + tuple[cGcItemShopAvailabilityDifficultyOptionData, ...], + Field(cGcItemShopAvailabilityDifficultyOptionData * 3, 0x22C0), ] + PresetLocId: Annotated[basic.cTkFixedString0x20, 0x22F0] Presets: Annotated[ - cGcDifficultySettingsData, Field(cGcDifficultySettingsData, 0x2310) + tuple[cGcDifficultySettingsData, ...], + Field(cGcDifficultySettingsData * 7, 0x2310), ] InventoryStackLimitsOptionData: Annotated[ - cGcDifficultyInventoryStackSizeOptionData, - Field(cGcDifficultyInventoryStackSizeOptionData, 0x25B0), + tuple[cGcDifficultyInventoryStackSizeOptionData, ...], + Field(cGcDifficultyInventoryStackSizeOptionData * 3, 0x25B0), ] CurrencyCostOptionData: Annotated[ - cGcDifficultyCurrencyCostOptionData, - Field(cGcDifficultyCurrencyCostOptionData, 0x2700), - ] - PermadeathMinSettings: Annotated[ - cGcDifficultySettingsData, Field(cGcDifficultySettingsData, 0x2760) - ] - ChargingRequirementsMultipliers: Annotated[float, Field(ctypes.c_float, 0x27C0)] - DamageReceivedAIMechTechDamageHits: Annotated[int, Field(ctypes.c_int32, 0x27D0)] - DamageReceivedMultipliers: Annotated[float, Field(ctypes.c_float, 0x27E0)] - FishingCatchWindowMultipliers: Annotated[float, Field(ctypes.c_float, 0x27F0)] - GroundCombatMultipliers: Annotated[float, Field(ctypes.c_float, 0x2800)] - LaunchFuelCostMultipliers: Annotated[float, Field(ctypes.c_float, 0x2810)] - ReputationGainMultipliers: Annotated[float, Field(ctypes.c_float, 0x2820)] - ScannerRechargeMultipliers: Annotated[float, Field(ctypes.c_float, 0x2830)] - SentinelTimeOutMultipliers: Annotated[float, Field(ctypes.c_float, 0x2840)] - ShipSummoningFuelCostMultipliers: Annotated[float, Field(ctypes.c_float, 0x2850)] - SpaceCombatDifficultyMultipliers: Annotated[float, Field(ctypes.c_float, 0x2860)] - SpaceCombatMultipliers: Annotated[float, Field(ctypes.c_float, 0x2870)] - BreakTechOnDamageMultipliers: Annotated[float, Field(ctypes.c_float, 0x2880)] - DamageGivenMultipliers: Annotated[float, Field(ctypes.c_float, 0x288C)] - EnergyDrainMultipliers: Annotated[float, Field(ctypes.c_float, 0x2898)] - HazardDrainMultipliers: Annotated[float, Field(ctypes.c_float, 0x28A4)] - SprintingCostMultipliers: Annotated[float, Field(ctypes.c_float, 0x28B0)] - SubstanceCollectionLaserAmount: Annotated[int, Field(ctypes.c_int32, 0x28BC)] - SubstanceCollectionMultipliers: Annotated[float, Field(ctypes.c_float, 0x28C8)] - AllSlotsUnlockedStartingShipSlots: Annotated[int, Field(ctypes.c_int32, 0x28D4)] - AllSlotsUnlockedStartingShipTechSlots: Annotated[int, Field(ctypes.c_int32, 0x28D8)] - AllSlotsUnlockedStartingSuitSlots: Annotated[int, Field(ctypes.c_int32, 0x28DC)] - AllSlotsUnlockedStartingSuitTechSlots: Annotated[int, Field(ctypes.c_int32, 0x28E0)] - AllSlotsUnlockedStartingWeaponSlots: Annotated[int, Field(ctypes.c_int32, 0x28E4)] - - -@partial_struct -class cGcNPCSpawnTable(Structure): - NPCModelNames: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x0) + tuple[cGcDifficultyCurrencyCostOptionData, ...], + Field(cGcDifficultyCurrencyCostOptionData * 4, 0x2700), ] - NPCMannequinModelName: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x90) + PermadeathMinSettings: Annotated[cGcDifficultySettingsData, 0x2760] + ChargingRequirementsMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x27C0) ] - PlacementInfos: Annotated[ - basic.cTkDynamicArray[cGcNPCPlacementInfo], - Field(basic.cTkDynamicArray[cGcNPCPlacementInfo], 0xA0), + DamageReceivedAIMechTechDamageHits: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 4, 0x27D0) ] - UniqueNPCs: Annotated[ - basic.cTkDynamicArray[cGcUniqueNPCSpawnData], - Field(basic.cTkDynamicArray[cGcUniqueNPCSpawnData], 0xB0), + DamageReceivedMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x27E0) ] - NPCRaceScale: Annotated[float, Field(ctypes.c_float, 0xC0)] - - -@partial_struct -class cGcGenericMissionSequence(Structure): - MissionColourOverride: Annotated[basic.Colour, Field(basic.Colour, 0x0)] - TradingDataOverride: Annotated[cGcTradeData, Field(cGcTradeData, 0x10)] - MissionBoardOptions: Annotated[ - cGcMissionBoardOptions, Field(cGcMissionBoardOptions, 0xF8) + FishingCatchWindowMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x27F0) ] - SeasonalLogTextOverrides: Annotated[ - cGcSeasonalLogOverrides, Field(cGcSeasonalLogOverrides, 0x178) + GroundCombatMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x2800) ] - DefaultItems: Annotated[ - cGcDefaultMissionItemsTable, Field(cGcDefaultMissionItemsTable, 0x1E8) + LaunchFuelCostMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x2810) ] - MissionPageLocID: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x238) + ReputationGainMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x2820) ] - SettlementAbandonOSD: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x258) + ScannerRechargeMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x2830) ] - MissionDescriptions: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x278) + SentinelTimeOutMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x2840) ] - MissionIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x290)] - MissionIconNotSelected: Annotated[ - cTkTextureResource, Field(cTkTextureResource, 0x2A8) + ShipSummoningFuelCostMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x2850) ] - MissionIconSelected: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x2C0)] - MissionProcDescriptionA: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x2D8) + SpaceCombatDifficultyMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x2860) ] - MissionProcDescriptionB: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x2F0) + SpaceCombatMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 4, 0x2870) ] - MissionProcDescriptionC: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x308) + BreakTechOnDamageMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 3, 0x2880) ] - MissionProcDescriptionHeader: Annotated[ - cGcNumberedTextList, Field(cGcNumberedTextList, 0x320) + DamageGivenMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 3, 0x288C) ] - MissionSubtitles: Annotated[cGcNumberedTextList, Field(cGcNumberedTextList, 0x338)] - MissionTitles: Annotated[cGcNumberedTextList, Field(cGcNumberedTextList, 0x350)] - CancelingConditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x368), + EnergyDrainMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 3, 0x2898) ] - Costs: Annotated[ - basic.cTkDynamicArray[cGcCostTableEntry], - Field(basic.cTkDynamicArray[cGcCostTableEntry], 0x378), + HazardDrainMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 3, 0x28A4) ] - Dialog: Annotated[cGcAlienPuzzleTable, Field(cGcAlienPuzzleTable, 0x388)] - FinalStageVersions: Annotated[ - basic.cTkDynamicArray[cGcGenericMissionVersionProgress], - Field(basic.cTkDynamicArray[cGcGenericMissionVersionProgress], 0x398), + SprintingCostMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 3, 0x28B0) ] - MissionBuildMenuHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x3A8)] - MissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x3B8)] - NextMissionHint: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x3C8)] - Rewards: Annotated[ - basic.cTkDynamicArray[cGcGenericRewardTableEntry], - Field(basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x3D8), + SubstanceCollectionLaserAmount: Annotated[ + tuple[int, ...], Field(ctypes.c_int32 * 3, 0x28BC) ] - ScanEvents: Annotated[ - basic.cTkDynamicArray[cGcScanEventData], - Field(basic.cTkDynamicArray[cGcScanEventData], 0x3E8), + SubstanceCollectionMultipliers: Annotated[ + tuple[float, ...], Field(ctypes.c_float * 3, 0x28C8) ] - Stages: Annotated[ - basic.cTkDynamicArray[cGcGenericMissionStage], - Field(basic.cTkDynamicArray[cGcGenericMissionStage], 0x3F8), - ] - StartingConditions: Annotated[ - basic.cTkDynamicArray[basic.NMSTemplate], - Field(basic.cTkDynamicArray[basic.NMSTemplate], 0x408), - ] - UseCommunityMissionForLog: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x418)] - WikiMissionBlockedBySeasons: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x428), + AllSlotsUnlockedStartingShipSlots: Annotated[int, Field(ctypes.c_int32, 0x28D4)] + AllSlotsUnlockedStartingShipTechSlots: Annotated[int, Field(ctypes.c_int32, 0x28D8)] + AllSlotsUnlockedStartingSuitSlots: Annotated[int, Field(ctypes.c_int32, 0x28DC)] + AllSlotsUnlockedStartingSuitTechSlots: Annotated[int, Field(ctypes.c_int32, 0x28E0)] + AllSlotsUnlockedStartingWeaponSlots: Annotated[int, Field(ctypes.c_int32, 0x28E4)] + + +@partial_struct +class cGcNPCSpawnTable(Structure): + NPCModelNames: Annotated[ + tuple[basic.VariableSizeString, ...], Field(basic.VariableSizeString * 9, 0x0) ] + NPCMannequinModelName: Annotated[basic.VariableSizeString, 0x90] + PlacementInfos: Annotated[basic.cTkDynamicArray[cGcNPCPlacementInfo], 0xA0] + UniqueNPCs: Annotated[basic.cTkDynamicArray[cGcUniqueNPCSpawnData], 0xB0] + NPCRaceScale: Annotated[tuple[float, ...], Field(ctypes.c_float * 9, 0xC0)] + + +@partial_struct +class cGcGenericMissionSequence(Structure): + MissionColourOverride: Annotated[basic.Colour, 0x0] + TradingDataOverride: Annotated[cGcTradeData, 0x10] + MissionBoardOptions: Annotated[cGcMissionBoardOptions, 0xF8] + SeasonalLogTextOverrides: Annotated[cGcSeasonalLogOverrides, 0x178] + DefaultItems: Annotated[cGcDefaultMissionItemsTable, 0x1E8] + MissionPageLocID: Annotated[basic.cTkFixedString0x20, 0x238] + SettlementAbandonOSD: Annotated[basic.cTkFixedString0x20, 0x258] + MissionDescriptions: Annotated[cGcNumberedTextList, 0x278] + MissionIcon: Annotated[cTkTextureResource, 0x290] + MissionIconNotSelected: Annotated[cTkTextureResource, 0x2A8] + MissionIconSelected: Annotated[cTkTextureResource, 0x2C0] + MissionProcDescriptionA: Annotated[cGcNumberedTextList, 0x2D8] + MissionProcDescriptionB: Annotated[cGcNumberedTextList, 0x2F0] + MissionProcDescriptionC: Annotated[cGcNumberedTextList, 0x308] + MissionProcDescriptionHeader: Annotated[cGcNumberedTextList, 0x320] + MissionSubtitles: Annotated[cGcNumberedTextList, 0x338] + MissionTitles: Annotated[cGcNumberedTextList, 0x350] + CancelingConditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x368] + Costs: Annotated[basic.cTkDynamicArray[cGcCostTableEntry], 0x378] + Dialog: Annotated[cGcAlienPuzzleTable, 0x388] + FinalStageVersions: Annotated[ + basic.cTkDynamicArray[cGcGenericMissionVersionProgress], 0x398 + ] + MissionBuildMenuHint: Annotated[basic.TkID0x10, 0x3A8] + MissionID: Annotated[basic.TkID0x10, 0x3B8] + NextMissionHint: Annotated[basic.TkID0x10, 0x3C8] + Rewards: Annotated[basic.cTkDynamicArray[cGcGenericRewardTableEntry], 0x3D8] + ScanEvents: Annotated[basic.cTkDynamicArray[cGcScanEventData], 0x3E8] + Stages: Annotated[basic.cTkDynamicArray[cGcGenericMissionStage], 0x3F8] + StartingConditions: Annotated[basic.cTkDynamicArray[basic.NMSTemplate], 0x408] + UseCommunityMissionForLog: Annotated[basic.TkID0x10, 0x418] + WikiMissionBlockedBySeasons: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x428] class eAutoStartEnum(IntEnum): None_ = 0x0 @@ -43017,36 +34914,24 @@ class eAutoStartEnum(IntEnum): Seasonal = 0x2 OnSelected = 0x3 - AutoStart: Annotated[ - c_enum32[eAutoStartEnum], Field(c_enum32[eAutoStartEnum], 0x438) - ] + AutoStart: Annotated[c_enum32[eAutoStartEnum], 0x438] BeginCheckFrequency: Annotated[int, Field(ctypes.c_int32, 0x43C)] - CancelConditionTest: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0x440), - ] + CancelConditionTest: Annotated[c_enum32[enums.cGcMissionConditionTest], 0x440] class eMessageCompleteEnum(IntEnum): Default = 0x0 Always = 0x1 Never = 0x2 - MessageComplete: Annotated[ - c_enum32[eMessageCompleteEnum], Field(c_enum32[eMessageCompleteEnum], 0x444) - ] + MessageComplete: Annotated[c_enum32[eMessageCompleteEnum], 0x444] class eMessageStartEnum(IntEnum): Default = 0x0 Always = 0x1 Never = 0x2 - MessageStart: Annotated[ - c_enum32[eMessageStartEnum], Field(c_enum32[eMessageStartEnum], 0x448) - ] - MissionCategory: Annotated[ - c_enum32[enums.cGcMissionCategory], - Field(c_enum32[enums.cGcMissionCategory], 0x44C), - ] + MessageStart: Annotated[c_enum32[eMessageStartEnum], 0x448] + MissionCategory: Annotated[c_enum32[enums.cGcMissionCategory], 0x44C] class eMissionClassEnum(IntEnum): Primary = 0x0 @@ -43061,24 +34946,12 @@ class eMissionClassEnum(IntEnum): FleetSupport = 0x9 Settlement = 0xA - MissionClass: Annotated[ - c_enum32[eMissionClassEnum], Field(c_enum32[eMissionClassEnum], 0x450) - ] - MissionPageHint: Annotated[ - c_enum32[enums.cGcMissionPageHint], - Field(c_enum32[enums.cGcMissionPageHint], 0x454), - ] + MissionClass: Annotated[c_enum32[eMissionClassEnum], 0x450] + MissionPageHint: Annotated[c_enum32[enums.cGcMissionPageHint], 0x454] MissionPriority: Annotated[int, Field(ctypes.c_int32, 0x458)] - StartConditionTest: Annotated[ - c_enum32[enums.cGcMissionConditionTest], - Field(c_enum32[enums.cGcMissionConditionTest], 0x45C), - ] - MissionDescSwitchOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x460) - ] - MissionObjective: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x480) - ] + StartConditionTest: Annotated[c_enum32[enums.cGcMissionConditionTest], 0x45C] + MissionDescSwitchOverride: Annotated[basic.cTkFixedString0x20, 0x460] + MissionObjective: Annotated[basic.cTkFixedString0x20, 0x480] BlocksPinning: Annotated[bool, Field(ctypes.c_bool, 0x4A0)] CancelSetsComplete: Annotated[bool, Field(ctypes.c_bool, 0x4A1)] CanRenounce: Annotated[bool, Field(ctypes.c_bool, 0x4A2)] @@ -43102,75 +34975,52 @@ class eMissionClassEnum(IntEnum): @partial_struct class cGcMissionTable(Structure): - Missions: Annotated[ - cGcGenericMissionSequence, Field(cGcGenericMissionSequence, 0x0) - ] + Missions: Annotated[cGcGenericMissionSequence, 0x0] @partial_struct class cGcProductTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcProductData], - Field(basic.cTkDynamicArray[cGcProductData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcProductData], 0x0] @partial_struct class cGcMaintenanceOverrideTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcMaintenanceOverride], - Field(basic.cTkDynamicArray[cGcMaintenanceOverride], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcMaintenanceOverride], 0x0] @partial_struct class cGcSettlementPerksTable(Structure): - Table: Annotated[ - basic.cTkDynamicArray[cGcSettlementPerkData], - Field(basic.cTkDynamicArray[cGcSettlementPerkData], 0x0), - ] + Table: Annotated[basic.cTkDynamicArray[cGcSettlementPerkData], 0x0] @partial_struct class cGcProceduralProductTable(Structure): - Table: Annotated[cGcProceduralProductData, Field(cGcProceduralProductData, 0x0)] + Table: Annotated[ + tuple[cGcProceduralProductData, ...], Field(cGcProceduralProductData * 28, 0x0) + ] @partial_struct class cGcNPCInteractiveObjectComponentData(Structure): - States: Annotated[ - basic.cTkDynamicArray[cGcNPCInteractiveObjectState], - Field(basic.cTkDynamicArray[cGcNPCInteractiveObjectState], 0x0), - ] + States: Annotated[basic.cTkDynamicArray[cGcNPCInteractiveObjectState], 0x0] DurationMax: Annotated[float, Field(ctypes.c_float, 0x10)] DurationMin: Annotated[float, Field(ctypes.c_float, 0x14)] - InteractiveObjectType: Annotated[ - c_enum32[enums.cGcNPCInteractiveObjectType], - Field(c_enum32[enums.cGcNPCInteractiveObjectType], 0x18), - ] + InteractiveObjectType: Annotated[c_enum32[enums.cGcNPCInteractiveObjectType], 0x18] MaxCapacity: Annotated[int, Field(ctypes.c_int32, 0x1C)] @partial_struct class cGcCreatureSpawnComponentData(Structure): - SpecificModel: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x0)] - Creature: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x48)] - Model: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x58)] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x68)] - SpawnOptionList: Annotated[ - basic.cTkDynamicArray[cGcSpawnComponentOption], - Field(basic.cTkDynamicArray[cGcSpawnComponentOption], 0x78), - ] - TriggerID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x88)] - CreatureType: Annotated[ - c_enum32[enums.cGcCreatureTypes], Field(c_enum32[enums.cGcCreatureTypes], 0x98) - ] + SpecificModel: Annotated[cGcResourceElement, 0x0] + Creature: Annotated[basic.TkID0x10, 0x48] + Model: Annotated[basic.VariableSizeString, 0x58] + Seed: Annotated[basic.GcSeed, 0x68] + SpawnOptionList: Annotated[basic.cTkDynamicArray[cGcSpawnComponentOption], 0x78] + TriggerID: Annotated[basic.TkID0x10, 0x88] + CreatureType: Annotated[c_enum32[enums.cGcCreatureTypes], 0x98] FunctionKey: Annotated[int, Field(ctypes.c_int32, 0x9C)] Scale: Annotated[float, Field(ctypes.c_float, 0xA0)] - ShipAIOverride: Annotated[ - c_enum32[enums.cGcAISpaceshipTypes], - Field(c_enum32[enums.cGcAISpaceshipTypes], 0xA4), - ] + ShipAIOverride: Annotated[c_enum32[enums.cGcAISpaceshipTypes], 0xA4] class eSpawnerModeEnum(IntEnum): Hidden = 0x0 @@ -43178,9 +35028,7 @@ class eSpawnerModeEnum(IntEnum): HideOnSpawn = 0x2 HiddenTimer = 0x3 - SpawnerMode: Annotated[ - c_enum32[eSpawnerModeEnum], Field(c_enum32[eSpawnerModeEnum], 0xA8) - ] + SpawnerMode: Annotated[c_enum32[eSpawnerModeEnum], 0xA8] StartTimeMax: Annotated[float, Field(ctypes.c_float, 0xAC)] StartTimeMin: Annotated[float, Field(ctypes.c_float, 0xB0)] TriggerDistance: Annotated[float, Field(ctypes.c_float, 0xB4)] @@ -43189,92 +35037,57 @@ class eSpawnerModeEnum(IntEnum): @partial_struct class cGcScanEventTable(Structure): - Events: Annotated[ - basic.cTkDynamicArray[cGcScanEventData], - Field(basic.cTkDynamicArray[cGcScanEventData], 0x0), - ] + Events: Annotated[basic.cTkDynamicArray[cGcScanEventData], 0x0] @partial_struct class cGcProjectileDataTable(Structure): - Lasers: Annotated[ - basic.cTkDynamicArray[cGcLaserBeamData], - Field(basic.cTkDynamicArray[cGcLaserBeamData], 0x0), - ] - Table: Annotated[ - basic.cTkDynamicArray[cGcProjectileData], - Field(basic.cTkDynamicArray[cGcProjectileData], 0x10), - ] + Lasers: Annotated[basic.cTkDynamicArray[cGcLaserBeamData], 0x0] + Table: Annotated[basic.cTkDynamicArray[cGcProjectileData], 0x10] @partial_struct class cGcShipOwnershipComponentData(Structure): - Data: Annotated[cGcSpaceshipComponentData, Field(cGcSpaceshipComponentData, 0x0)] + Data: Annotated[cGcSpaceshipComponentData, 0x0] @partial_struct class cTkParticleData(Structure): - SecondRotationInfo: Annotated[cTkEmitterRotation, Field(cTkEmitterRotation, 0x0)] - ColourEnd: Annotated[basic.Colour, Field(basic.Colour, 0x50)] - ColourMiddle: Annotated[basic.Colour, Field(basic.Colour, 0x60)] - ColourStart: Annotated[basic.Colour, Field(basic.Colour, 0x70)] - EmitterDirection: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x80)] - RotateAroundEmitterAxis: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x90)] - RotationAxis: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xA0)] - RotationPivot: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xB0)] - SpawnOffsetParams: Annotated[basic.Vector3f, Field(basic.Vector3f, 0xC0)] - ParticleSize: Annotated[cTkParticleSize, Field(cTkParticleSize, 0xD0)] - BurstData: Annotated[cTkParticleBurstData, Field(cTkParticleBurstData, 0x1E0)] - AlphaThreshold: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x258) - ] - EmissionRate: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x290) - ] - EmitterLife: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x2C8) - ] - ParticleDamping: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x300) - ] - ParticleDrag: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x338) - ] - ParticleGravity: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x370) - ] - ParticleLife: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x3A8) - ] - ParticleSizeY: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x3E0) - ] - ParticleSpeedMultiplier: Annotated[ - cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x418) - ] - Rotation: Annotated[cTkEmitterFloatProperty, Field(cTkEmitterFloatProperty, 0x450)] - _3DGeom: Annotated[basic.VariableSizeString, Field(basic.VariableSizeString, 0x488)] - TrailPath: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x498) - ] - UserColour: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x4A8)] - WindDrift: Annotated[cTkEmitterWindDrift, Field(cTkEmitterWindDrift, 0x4B8)] - BillboardAlignment: Annotated[ - cTkEmitterBillboardAlignment, Field(cTkEmitterBillboardAlignment, 0x4D4) - ] - CameraDistanceFade: Annotated[cTkFloatRange, Field(cTkFloatRange, 0x4DC)] - EmitFromParticleInfo: Annotated[ - cTkEmitFromParticleInfo, Field(cTkEmitFromParticleInfo, 0x4E4) - ] + SecondRotationInfo: Annotated[cTkEmitterRotation, 0x0] + ColourEnd: Annotated[basic.Colour, 0x50] + ColourMiddle: Annotated[basic.Colour, 0x60] + ColourStart: Annotated[basic.Colour, 0x70] + EmitterDirection: Annotated[basic.Vector3f, 0x80] + RotateAroundEmitterAxis: Annotated[basic.Vector3f, 0x90] + RotationAxis: Annotated[basic.Vector3f, 0xA0] + RotationPivot: Annotated[basic.Vector3f, 0xB0] + SpawnOffsetParams: Annotated[basic.Vector3f, 0xC0] + ParticleSize: Annotated[cTkParticleSize, 0xD0] + BurstData: Annotated[cTkParticleBurstData, 0x1E0] + AlphaThreshold: Annotated[cTkEmitterFloatProperty, 0x258] + EmissionRate: Annotated[cTkEmitterFloatProperty, 0x290] + EmitterLife: Annotated[cTkEmitterFloatProperty, 0x2C8] + ParticleDamping: Annotated[cTkEmitterFloatProperty, 0x300] + ParticleDrag: Annotated[cTkEmitterFloatProperty, 0x338] + ParticleGravity: Annotated[cTkEmitterFloatProperty, 0x370] + ParticleLife: Annotated[cTkEmitterFloatProperty, 0x3A8] + ParticleSizeY: Annotated[cTkEmitterFloatProperty, 0x3E0] + ParticleSpeedMultiplier: Annotated[cTkEmitterFloatProperty, 0x418] + Rotation: Annotated[cTkEmitterFloatProperty, 0x450] + _3DGeom: Annotated[basic.VariableSizeString, 0x488] + TrailPath: Annotated[basic.VariableSizeString, 0x498] + UserColour: Annotated[basic.TkID0x10, 0x4A8] + WindDrift: Annotated[cTkEmitterWindDrift, 0x4B8] + BillboardAlignment: Annotated[cTkEmitterBillboardAlignment, 0x4D4] + CameraDistanceFade: Annotated[cTkFloatRange, 0x4DC] + EmitFromParticleInfo: Annotated[cTkEmitFromParticleInfo, 0x4E4] class eAlignmentEnum(IntEnum): Rotation = 0x0 Velocity = 0x1 VelocityScreenSpace = 0x2 - Alignment: Annotated[ - c_enum32[eAlignmentEnum], Field(c_enum32[eAlignmentEnum], 0x4EC) - ] + Alignment: Annotated[c_enum32[eAlignmentEnum], 0x4EC] AlphaVariance: Annotated[float, Field(ctypes.c_float, 0x4F0)] AudioEvent: Annotated[int, Field(ctypes.c_uint32, 0x4F4)] Delay: Annotated[float, Field(ctypes.c_float, 0x4F8)] @@ -43284,7 +35097,7 @@ class eDragTypeEnum(IntEnum): PhysicallyBased = 0x1 ApplyWind = 0x2 - DragType: Annotated[c_enum32[eDragTypeEnum], Field(c_enum32[eDragTypeEnum], 0x4FC)] + DragType: Annotated[c_enum32[eDragTypeEnum], 0x4FC] EmitterMidLifeRatio: Annotated[float, Field(ctypes.c_float, 0x500)] class eEmitterQualityLevelEnum(IntEnum): @@ -43292,10 +35105,7 @@ class eEmitterQualityLevelEnum(IntEnum): Low = 0x1 High = 0x2 - EmitterQualityLevel: Annotated[ - c_enum32[eEmitterQualityLevelEnum], - Field(c_enum32[eEmitterQualityLevelEnum], 0x504), - ] + EmitterQualityLevel: Annotated[c_enum32[eEmitterQualityLevelEnum], 0x504] EmitterSpreadAngle: Annotated[float, Field(ctypes.c_float, 0x508)] EmitterSpreadAngleMin: Annotated[float, Field(ctypes.c_float, 0x50C)] @@ -43305,10 +35115,7 @@ class eFlipbookPlaybackRateEnum(IntEnum): OnceToCompletion = 0x2 Random = 0x3 - FlipbookPlaybackRate: Annotated[ - c_enum32[eFlipbookPlaybackRateEnum], - Field(c_enum32[eFlipbookPlaybackRateEnum], 0x510), - ] + FlipbookPlaybackRate: Annotated[c_enum32[eFlipbookPlaybackRateEnum], 0x510] HueVariance: Annotated[float, Field(ctypes.c_float, 0x514)] LightnessVariance: Annotated[float, Field(ctypes.c_float, 0x518)] LimitLifetimeOnMove: Annotated[float, Field(ctypes.c_float, 0x51C)] @@ -43321,10 +35128,7 @@ class eOnRefractionsDisabledEnum(IntEnum): Hide = 0x0 AlphaBlend = 0x1 - OnRefractionsDisabled: Annotated[ - c_enum32[eOnRefractionsDisabledEnum], - Field(c_enum32[eOnRefractionsDisabledEnum], 0x530), - ] + OnRefractionsDisabled: Annotated[c_enum32[eOnRefractionsDisabledEnum], 0x530] RotateAroundEmitter: Annotated[float, Field(ctypes.c_float, 0x534)] SaturationVariance: Annotated[float, Field(ctypes.c_float, 0x538)] SoftFadeStrength: Annotated[float, Field(ctypes.c_float, 0x53C)] @@ -43337,30 +35141,18 @@ class eSpawnOffsetTypeEnum(IntEnum): Donut = 0x4 Point = 0x5 - SpawnOffsetType: Annotated[ - c_enum32[eSpawnOffsetTypeEnum], Field(c_enum32[eSpawnOffsetTypeEnum], 0x540) - ] + SpawnOffsetType: Annotated[c_enum32[eSpawnOffsetTypeEnum], 0x540] StartOffset: Annotated[float, Field(ctypes.c_float, 0x544)] StartRotationVariation: Annotated[float, Field(ctypes.c_float, 0x548)] SurfaceDistanceFadeStrength: Annotated[float, Field(ctypes.c_float, 0x54C)] TrackEmitterPosition: Annotated[float, Field(ctypes.c_float, 0x550)] TrailRatio: Annotated[float, Field(ctypes.c_float, 0x554)] - UCoordinate: Annotated[ - c_enum32[enums.cTkCoordinateOrientation], - Field(c_enum32[enums.cTkCoordinateOrientation], 0x558), - ] - VCoordinate: Annotated[ - c_enum32[enums.cTkCoordinateOrientation], - Field(c_enum32[enums.cTkCoordinateOrientation], 0x55C), - ] + UCoordinate: Annotated[c_enum32[enums.cTkCoordinateOrientation], 0x558] + VCoordinate: Annotated[c_enum32[enums.cTkCoordinateOrientation], 0x55C] Variation: Annotated[float, Field(ctypes.c_float, 0x560)] VelocityInheritance: Annotated[float, Field(ctypes.c_float, 0x564)] - EmitterLifeCurve1: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x568) - ] - EmitterLifeCurve2: Annotated[ - c_enum32[enums.cTkCurveType], Field(c_enum32[enums.cTkCurveType], 0x569) - ] + EmitterLifeCurve1: Annotated[c_enum32[enums.cTkCurveType], 0x568] + EmitterLifeCurve2: Annotated[c_enum32[enums.cTkCurveType], 0x569] EnableSecondRotation: Annotated[bool, Field(ctypes.c_bool, 0x56A)] FadeRefractionsAtScreenEdge: Annotated[bool, Field(ctypes.c_bool, 0x56B)] GPURender: Annotated[bool, Field(ctypes.c_bool, 0x56C)] @@ -43372,119 +35164,62 @@ class eSpawnOffsetTypeEnum(IntEnum): @partial_struct class cMapping(Structure): InfluencesOnMappedPoint: Annotated[ - basic.cTkDynamicArray[cInfluencesOnMappedPoint], - Field(basic.cTkDynamicArray[cInfluencesOnMappedPoint], 0x0), + basic.cTkDynamicArray[cInfluencesOnMappedPoint], 0x0 ] NumMappedPoints: Annotated[int, Field(ctypes.c_int32, 0x10)] NumSimI: Annotated[int, Field(ctypes.c_int32, 0x14)] NumSimJ: Annotated[int, Field(ctypes.c_int32, 0x18)] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1C)] + Name: Annotated[basic.cTkFixedString0x40, 0x1C] @partial_struct class cTkVoxelGeneratorSettingsElement(Structure): - Max: Annotated[cTkVoxelGeneratorData, Field(cTkVoxelGeneratorData, 0x0)] - Min: Annotated[cTkVoxelGeneratorData, Field(cTkVoxelGeneratorData, 0x1150)] + Max: Annotated[cTkVoxelGeneratorData, 0x0] + Min: Annotated[cTkVoxelGeneratorData, 0x1150] @partial_struct class cGcPlanetGenerationIntermediateData(Structure): - CreatureRoles: Annotated[ - cGcCreatureRoleDataTable, Field(cGcCreatureRoleDataTable, 0x0) - ] - CreatureAirFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x20) - ] - CreatureCaveFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x30) - ] - CreatureExtraWaterFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x40) - ] - CreatureLandFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x50) - ] - CreatureRobotFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x60) - ] - CreatureWaterFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x70) - ] - ExternalObjectListIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x80), - ] + CreatureRoles: Annotated[cGcCreatureRoleDataTable, 0x0] + CreatureAirFile: Annotated[basic.VariableSizeString, 0x20] + CreatureCaveFile: Annotated[basic.VariableSizeString, 0x30] + CreatureExtraWaterFile: Annotated[basic.VariableSizeString, 0x40] + CreatureLandFile: Annotated[basic.VariableSizeString, 0x50] + CreatureRobotFile: Annotated[basic.VariableSizeString, 0x60] + CreatureWaterFile: Annotated[basic.VariableSizeString, 0x70] + ExternalObjectListIndices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x80] ExternalObjectLists: Annotated[ - basic.cTkDynamicArray[cGcExternalObjectListOptions], - Field(basic.cTkDynamicArray[cGcExternalObjectListOptions], 0x90), - ] - Seed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0xA0)] - TerrainFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0xB0) - ] - Terrain: Annotated[cGcTerrainControls, Field(cGcTerrainControls, 0xC0)] - Biome: Annotated[ - c_enum32[enums.cGcBiomeType], Field(c_enum32[enums.cGcBiomeType], 0x138) - ] - BiomeSubType: Annotated[ - c_enum32[enums.cGcBiomeSubType], Field(c_enum32[enums.cGcBiomeSubType], 0x13C) - ] - Class: Annotated[ - c_enum32[enums.cGcPlanetClass], Field(c_enum32[enums.cGcPlanetClass], 0x140) - ] - Size: Annotated[ - c_enum32[enums.cGcPlanetSize], Field(c_enum32[enums.cGcPlanetSize], 0x144) - ] - StarType: Annotated[ - c_enum32[enums.cGcGalaxyStarTypes], - Field(c_enum32[enums.cGcGalaxyStarTypes], 0x148), - ] + basic.cTkDynamicArray[cGcExternalObjectListOptions], 0x90 + ] + Seed: Annotated[basic.GcSeed, 0xA0] + TerrainFile: Annotated[basic.VariableSizeString, 0xB0] + Terrain: Annotated[cGcTerrainControls, 0xC0] + Biome: Annotated[c_enum32[enums.cGcBiomeType], 0x138] + BiomeSubType: Annotated[c_enum32[enums.cGcBiomeSubType], 0x13C] + Class: Annotated[c_enum32[enums.cGcPlanetClass], 0x140] + Size: Annotated[c_enum32[enums.cGcPlanetSize], 0x144] + StarType: Annotated[c_enum32[enums.cGcGalaxyStarTypes], 0x148] TerrainSettingIndex: Annotated[int, Field(ctypes.c_int32, 0x14C)] Prime: Annotated[bool, Field(ctypes.c_bool, 0x150)] @partial_struct class cGcEnvironmentSpawnData(Structure): - Creatures: Annotated[ - basic.cTkDynamicArray[cGcCreatureSpawnData], - Field(basic.cTkDynamicArray[cGcCreatureSpawnData], 0x0), - ] - DetailObjects: Annotated[ - basic.cTkDynamicArray[cGcObjectSpawnData], - Field(basic.cTkDynamicArray[cGcObjectSpawnData], 0x10), - ] - DistantObjects: Annotated[ - basic.cTkDynamicArray[cGcObjectSpawnData], - Field(basic.cTkDynamicArray[cGcObjectSpawnData], 0x20), - ] - Landmarks: Annotated[ - basic.cTkDynamicArray[cGcObjectSpawnData], - Field(basic.cTkDynamicArray[cGcObjectSpawnData], 0x30), - ] - Objects: Annotated[ - basic.cTkDynamicArray[cGcObjectSpawnData], - Field(basic.cTkDynamicArray[cGcObjectSpawnData], 0x40), - ] + Creatures: Annotated[basic.cTkDynamicArray[cGcCreatureSpawnData], 0x0] + DetailObjects: Annotated[basic.cTkDynamicArray[cGcObjectSpawnData], 0x10] + DistantObjects: Annotated[basic.cTkDynamicArray[cGcObjectSpawnData], 0x20] + Landmarks: Annotated[basic.cTkDynamicArray[cGcObjectSpawnData], 0x30] + Objects: Annotated[basic.cTkDynamicArray[cGcObjectSpawnData], 0x40] SelectableObjects: Annotated[ - basic.cTkDynamicArray[cGcSelectableObjectSpawnList], - Field(basic.cTkDynamicArray[cGcSelectableObjectSpawnList], 0x50), + basic.cTkDynamicArray[cGcSelectableObjectSpawnList], 0x50 ] @partial_struct class cGcPlanetBuildingData(Structure): - Buildings: Annotated[ - basic.cTkDynamicArray[cGcBuildingSpawnData], - Field(basic.cTkDynamicArray[cGcBuildingSpawnData], 0x0), - ] - BuildingSlots: Annotated[ - basic.cTkDynamicArray[cGcBuildingSpawnSlot], - Field(basic.cTkDynamicArray[cGcBuildingSpawnSlot], 0x10), - ] - OverrideBuildings: Annotated[ - basic.cTkDynamicArray[cGcBuildingOverrideData], - Field(basic.cTkDynamicArray[cGcBuildingOverrideData], 0x20), - ] + Buildings: Annotated[basic.cTkDynamicArray[cGcBuildingSpawnData], 0x0] + BuildingSlots: Annotated[basic.cTkDynamicArray[cGcBuildingSpawnSlot], 0x10] + OverrideBuildings: Annotated[basic.cTkDynamicArray[cGcBuildingOverrideData], 0x20] PlanetUA: Annotated[int, Field(ctypes.c_uint64, 0x30)] PlanetRadius: Annotated[float, Field(ctypes.c_float, 0x38)] Spacing: Annotated[float, Field(ctypes.c_float, 0x3C)] @@ -43498,250 +35233,127 @@ class cGcPlanetBuildingData(Structure): @partial_struct class cGcObjectSpawnDataArray(Structure): - Objects: Annotated[ - basic.cTkDynamicArray[cGcObjectSpawnData], - Field(basic.cTkDynamicArray[cGcObjectSpawnData], 0x0), - ] + Objects: Annotated[basic.cTkDynamicArray[cGcObjectSpawnData], 0x0] MaxObjectsToSpawn: Annotated[int, Field(ctypes.c_int32, 0x10)] - TileType: Annotated[ - c_enum32[enums.cGcTerrainTileType], - Field(c_enum32[enums.cGcTerrainTileType], 0x14), - ] + TileType: Annotated[c_enum32[enums.cGcTerrainTileType], 0x14] @partial_struct class cGcCustomisationGroup(Structure): - GroupTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x0) - ] - BoneScales: Annotated[ - basic.cTkDynamicArray[cGcCustomisationBoneScales], - Field(basic.cTkDynamicArray[cGcCustomisationBoneScales], 0x20), - ] - ColourGroups: Annotated[ - basic.cTkDynamicArray[cGcCustomisationColourGroup], - Field(basic.cTkDynamicArray[cGcCustomisationColourGroup], 0x30), - ] + GroupTitle: Annotated[basic.cTkFixedString0x20, 0x0] + BoneScales: Annotated[basic.cTkDynamicArray[cGcCustomisationBoneScales], 0x20] + ColourGroups: Annotated[basic.cTkDynamicArray[cGcCustomisationColourGroup], 0x30] DescriptorOptions: Annotated[ - basic.cTkDynamicArray[cGcCustomisationDescriptorGroupOptions], - Field(basic.cTkDynamicArray[cGcCustomisationDescriptorGroupOptions], 0x40), - ] - GroupID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x50)] - TextureGroups: Annotated[ - basic.cTkDynamicArray[cGcCustomisationTextureGroup], - Field(basic.cTkDynamicArray[cGcCustomisationTextureGroup], 0x60), - ] - CameraData: Annotated[ - cGcCustomisationCameraData, Field(cGcCustomisationCameraData, 0x70) + basic.cTkDynamicArray[cGcCustomisationDescriptorGroupOptions], 0x40 ] + GroupID: Annotated[basic.TkID0x10, 0x50] + TextureGroups: Annotated[basic.cTkDynamicArray[cGcCustomisationTextureGroup], 0x60] + CameraData: Annotated[cGcCustomisationCameraData, 0x70] ForceShowAllColourOptions: Annotated[bool, Field(ctypes.c_bool, 0xA4)] IsBannerGroup: Annotated[bool, Field(ctypes.c_bool, 0xA5)] @partial_struct class cGcCustomisationGroups(Structure): - CustomisationGroups: Annotated[ - basic.cTkDynamicArray[cGcCustomisationGroup], - Field(basic.cTkDynamicArray[cGcCustomisationGroup], 0x0), - ] + CustomisationGroups: Annotated[basic.cTkDynamicArray[cGcCustomisationGroup], 0x0] @partial_struct class cGcCustomisationRace(Structure): - CustomisationGroups: Annotated[ - basic.cTkDynamicArray[cGcCustomisationGroup], - Field(basic.cTkDynamicArray[cGcCustomisationGroup], 0x0), - ] - DescriptorGroupOption: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x10)] - Presets: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x20), - ] + CustomisationGroups: Annotated[basic.cTkDynamicArray[cGcCustomisationGroup], 0x0] + DescriptorGroupOption: Annotated[basic.TkID0x10, 0x10] + Presets: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x20] Scale: Annotated[float, Field(ctypes.c_float, 0x30)] IsGek: Annotated[bool, Field(ctypes.c_bool, 0x34)] @partial_struct class cGcCustomisationUI(Structure): - Common: Annotated[cGcCustomisationGroups, Field(cGcCustomisationGroups, 0x0)] - Races: Annotated[ - basic.cTkDynamicArray[cGcCustomisationRace], - Field(basic.cTkDynamicArray[cGcCustomisationRace], 0x10), - ] - RacesCameraData: Annotated[ - cGcCustomisationCameraData, Field(cGcCustomisationCameraData, 0x20) - ] + Common: Annotated[cGcCustomisationGroups, 0x0] + Races: Annotated[basic.cTkDynamicArray[cGcCustomisationRace], 0x10] + RacesCameraData: Annotated[cGcCustomisationCameraData, 0x20] @partial_struct class cGcSeasonalGameModeData(Structure): - SpecificPets: Annotated[cGcPetData, Field(cGcPetData, 0x0)] - Inventory: Annotated[cGcInventoryContainer, Field(cGcInventoryContainer, 0x2490)] - Inventory_Cargo: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x25F0) - ] - Inventory_TechOnly: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x2750) - ] - ShipInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x28B0) - ] - WeaponInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x2A10) - ] - SeasonalUAStationTradeData: Annotated[cGcTradeData, Field(cGcTradeData, 0x2B70)] - InitialJoaoBox: Annotated[ - cGcMissionSequenceDetailMessage, Field(cGcMissionSequenceDetailMessage, 0x2C58) - ] - InitialJoaoBoxNoMainSave: Annotated[ - cGcMissionSequenceDetailMessage, Field(cGcMissionSequenceDetailMessage, 0x2CF0) - ] - AltBossRewards: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2D88)] - SeasonTransferInventoryConfig: Annotated[ - cGcSeasonTransferInventoryConfig, - Field(cGcSeasonTransferInventoryConfig, 0x2DB8), - ] - CommunityProgressTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2DE8) - ] - CommunityTierCompleteLabel: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2E08) - ] - CommunityTierLabel: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2E28) - ] - CommunityTierProgressLabel: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2E48) - ] - FinalCantRewardMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2E68) - ] - FinalStageTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2E88) - ] - MainMissionMessage: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2EA8) - ] - MainMissionTitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2EC8) - ] - MilestoneWithStageLocId: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2EE8) - ] - SeasonName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2F08) - ] - SeasonNameUpper: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x2F28) - ] - MainIcon: Annotated[cTkTextureResource, Field(cTkTextureResource, 0x2F48)] - ShipInventoryLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x2F60) - ] - ShipTechInventoryLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x2F78) - ] - WeaponInventoryLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x2F90) - ] - AdditionalTradeProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x2FA8), - ] - CreateContextSaveDataMask: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2FB8)] - FinalReward: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2FC8)] - FinalRewardSwitchAlt: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x2FD8)] - ForceBlackHolesAtPartyUAs: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x2FE8), - ] - ForgottenProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x2FF8), - ] - FreighterBaseOverrideFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x3008) - ] - IntroSequencePOI: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x3018)] - NeverLearnableTech: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x3028), - ] - NeverTradeProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x3038), - ] - OverrideFreighterFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x3048) - ] - OverrideMTFilename: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x3058) - ] - ProductTable: Annotated[ - basic.cTkDynamicArray[cGcProductData], - Field(basic.cTkDynamicArray[cGcProductData], 0x3068), - ] + SpecificPets: Annotated[tuple[cGcPetData, ...], Field(cGcPetData * 18, 0x0)] + Inventory: Annotated[cGcInventoryContainer, 0x2490] + Inventory_Cargo: Annotated[cGcInventoryContainer, 0x25F0] + Inventory_TechOnly: Annotated[cGcInventoryContainer, 0x2750] + ShipInventory: Annotated[cGcInventoryContainer, 0x28B0] + WeaponInventory: Annotated[cGcInventoryContainer, 0x2A10] + SeasonalUAStationTradeData: Annotated[cGcTradeData, 0x2B70] + InitialJoaoBox: Annotated[cGcMissionSequenceDetailMessage, 0x2C58] + InitialJoaoBoxNoMainSave: Annotated[cGcMissionSequenceDetailMessage, 0x2CF0] + AltBossRewards: Annotated[ + tuple[basic.TkID0x10, ...], Field(basic.TkID0x10 * 3, 0x2D88) + ] + SeasonTransferInventoryConfig: Annotated[cGcSeasonTransferInventoryConfig, 0x2DB8] + CommunityProgressTitle: Annotated[basic.cTkFixedString0x20, 0x2DE8] + CommunityTierCompleteLabel: Annotated[basic.cTkFixedString0x20, 0x2E08] + CommunityTierLabel: Annotated[basic.cTkFixedString0x20, 0x2E28] + CommunityTierProgressLabel: Annotated[basic.cTkFixedString0x20, 0x2E48] + FinalCantRewardMessage: Annotated[basic.cTkFixedString0x20, 0x2E68] + FinalStageTitle: Annotated[basic.cTkFixedString0x20, 0x2E88] + MainMissionMessage: Annotated[basic.cTkFixedString0x20, 0x2EA8] + MainMissionTitle: Annotated[basic.cTkFixedString0x20, 0x2EC8] + MilestoneWithStageLocId: Annotated[basic.cTkFixedString0x20, 0x2EE8] + SeasonName: Annotated[basic.cTkFixedString0x20, 0x2F08] + SeasonNameUpper: Annotated[basic.cTkFixedString0x20, 0x2F28] + MainIcon: Annotated[cTkTextureResource, 0x2F48] + ShipInventoryLayout: Annotated[cGcInventoryLayout, 0x2F60] + ShipTechInventoryLayout: Annotated[cGcInventoryLayout, 0x2F78] + WeaponInventoryLayout: Annotated[cGcInventoryLayout, 0x2F90] + AdditionalTradeProducts: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x2FA8] + CreateContextSaveDataMask: Annotated[basic.TkID0x10, 0x2FB8] + FinalReward: Annotated[basic.TkID0x10, 0x2FC8] + FinalRewardSwitchAlt: Annotated[basic.TkID0x10, 0x2FD8] + ForceBlackHolesAtPartyUAs: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x2FE8] + ForgottenProducts: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x2FF8] + FreighterBaseOverrideFilename: Annotated[basic.VariableSizeString, 0x3008] + IntroSequencePOI: Annotated[basic.TkID0x10, 0x3018] + NeverLearnableTech: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x3028] + NeverTradeProducts: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x3038] + OverrideFreighterFilename: Annotated[basic.VariableSizeString, 0x3048] + OverrideMTFilename: Annotated[basic.VariableSizeString, 0x3058] + ProductTable: Annotated[basic.cTkDynamicArray[cGcProductData], 0x3068] RandomPetConstraints: Annotated[ - basic.cTkDynamicArray[cGcSeasonPetConstraints], - Field(basic.cTkDynamicArray[cGcSeasonPetConstraints], 0x3078), + basic.cTkDynamicArray[cGcSeasonPetConstraints], 0x3078 ] SandwormOverrides: Annotated[ - basic.cTkDynamicArray[cGcSandwormTimerAndFrequencyOverride], - Field(basic.cTkDynamicArray[cGcSandwormTimerAndFrequencyOverride], 0x3088), - ] - ScanEventTable: Annotated[cGcScanEventTable, Field(cGcScanEventTable, 0x3098)] - ShipSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x30A8)] - Stages: Annotated[ - basic.cTkDynamicArray[cGcSeasonalStage], - Field(basic.cTkDynamicArray[cGcSeasonalStage], 0x30B8), - ] - StartPlanetRareSubstanceOverride: Annotated[ - basic.TkID0x10, Field(basic.TkID0x10, 0x30C8) + basic.cTkDynamicArray[cGcSandwormTimerAndFrequencyOverride], 0x3088 ] + ScanEventTable: Annotated[cGcScanEventTable, 0x3098] + ShipSeed: Annotated[basic.GcSeed, 0x30A8] + Stages: Annotated[basic.cTkDynamicArray[cGcSeasonalStage], 0x30B8] + StartPlanetRareSubstanceOverride: Annotated[basic.TkID0x10, 0x30C8] StatsToPersistOnReset: Annotated[ - basic.cTkDynamicArray[cGcPersistedStatData], - Field(basic.cTkDynamicArray[cGcPersistedStatData], 0x30D8), - ] - SubstanceTable: Annotated[ - basic.cTkDynamicArray[cGcRealitySubstanceData], - Field(basic.cTkDynamicArray[cGcRealitySubstanceData], 0x30E8), - ] - SwitchContextSaveDataMask: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x30F8)] - TechnologyTable: Annotated[ - basic.cTkDynamicArray[cGcTechnology], - Field(basic.cTkDynamicArray[cGcTechnology], 0x3108), + basic.cTkDynamicArray[cGcPersistedStatData], 0x30D8 ] + SubstanceTable: Annotated[basic.cTkDynamicArray[cGcRealitySubstanceData], 0x30E8] + SwitchContextSaveDataMask: Annotated[basic.TkID0x10, 0x30F8] + TechnologyTable: Annotated[basic.cTkDynamicArray[cGcTechnology], 0x3108] ValidSpawnBuildings: Annotated[ - basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], - Field(basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x3118), + basic.cTkDynamicArray[c_enum32[enums.cGcBuildingClassification]], 0x3118 ] - WeaponSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x3128)] + WeaponSeed: Annotated[basic.GcSeed, 0x3128] EndTimeUTC: Annotated[int, Field(ctypes.c_uint64, 0x3138)] Hash: Annotated[int, Field(ctypes.c_uint64, 0x3140)] StartTimeUTC: Annotated[int, Field(ctypes.c_uint64, 0x3148)] UAOverrideValue: Annotated[int, Field(ctypes.c_uint64, 0x3150)] - DifficultyMinimums: Annotated[ - cGcDifficultySettingsData, Field(cGcDifficultySettingsData, 0x3158) - ] + DifficultyMinimums: Annotated[cGcDifficultySettingsData, 0x3158] AbandonedFreighterHazardProtectionMul: Annotated[ float, Field(ctypes.c_float, 0x31B8) ] BuildingRadiusShipOffsetMultiplier: Annotated[float, Field(ctypes.c_float, 0x31BC)] - DifficultySettingPreset: Annotated[ - c_enum32[enums.cGcDifficultyPresetType], - Field(c_enum32[enums.cGcDifficultyPresetType], 0x31C0), - ] + DifficultySettingPreset: Annotated[c_enum32[enums.cGcDifficultyPresetType], 0x31C0] DisplayNumber: Annotated[int, Field(ctypes.c_int32, 0x31C4)] DistanceFromShipAtStartOfGame: Annotated[float, Field(ctypes.c_float, 0x31C8)] EnergyDrainMultiplier: Annotated[float, Field(ctypes.c_float, 0x31CC)] FarmPlantsTimerMul: Annotated[float, Field(ctypes.c_float, 0x31D0)] FreighterBattleEarlyWarpsOverride: Annotated[int, Field(ctypes.c_int32, 0x31D4)] - FreighterRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x31D8) - ] - GameMode: Annotated[ - c_enum32[enums.cGcGameMode], Field(c_enum32[enums.cGcGameMode], 0x31DC) - ] + FreighterRace: Annotated[c_enum32[enums.cGcAlienRace], 0x31D8] + GameMode: Annotated[c_enum32[enums.cGcGameMode], 0x31DC] HazardProtectionDrainMultiplier: Annotated[float, Field(ctypes.c_float, 0x31E0)] QuestSubstanceReducer: Annotated[int, Field(ctypes.c_int32, 0x31E4)] RemixNumber: Annotated[int, Field(ctypes.c_int32, 0x31E8)] @@ -43749,39 +35361,20 @@ class cGcSeasonalGameModeData(Structure): SandwormGlobalOverrideTimer: Annotated[float, Field(ctypes.c_float, 0x31F0)] SeasonId: Annotated[int, Field(ctypes.c_int32, 0x31F4)] SeasonNumber: Annotated[int, Field(ctypes.c_int32, 0x31F8)] - SeasonStartMusicOverride: Annotated[ - c_enum32[enums.cGcAudioWwiseEvents], - Field(c_enum32[enums.cGcAudioWwiseEvents], 0x31FC), - ] - ShipType: Annotated[ - c_enum32[enums.cGcSpaceshipClasses], - Field(c_enum32[enums.cGcSpaceshipClasses], 0x3200), - ] + SeasonStartMusicOverride: Annotated[c_enum32[enums.cGcAudioWwiseEvents], 0x31FC] + ShipType: Annotated[c_enum32[enums.cGcSpaceshipClasses], 0x3200] StartingPetSlots: Annotated[int, Field(ctypes.c_int32, 0x3204)] StartingSuitCargoSlots: Annotated[int, Field(ctypes.c_int32, 0x3208)] StartingSuitSlots: Annotated[int, Field(ctypes.c_int32, 0x320C)] StartingSuitTechSlots: Annotated[int, Field(ctypes.c_int32, 0x3210)] - StartingUAScreenFilter: Annotated[ - c_enum32[enums.cGcScreenFilters], - Field(c_enum32[enums.cGcScreenFilters], 0x3214), - ] + StartingUAScreenFilter: Annotated[c_enum32[enums.cGcScreenFilters], 0x3214] TechCostMultiplier: Annotated[int, Field(ctypes.c_int32, 0x3218)] - FinalRewardDescription: Annotated[ - basic.cTkFixedString0x200, Field(basic.cTkFixedString0x200, 0x321C) - ] - Description: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x341C) - ] - SeasonalUAOverride: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x343C) - ] - Subtitle: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x345C) - ] - Summary: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x347C) - ] - Title: Annotated[basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x349C)] + FinalRewardDescription: Annotated[basic.cTkFixedString0x200, 0x321C] + Description: Annotated[basic.cTkFixedString0x20, 0x341C] + SeasonalUAOverride: Annotated[basic.cTkFixedString0x20, 0x343C] + Subtitle: Annotated[basic.cTkFixedString0x20, 0x345C] + Summary: Annotated[basic.cTkFixedString0x20, 0x347C] + Title: Annotated[basic.cTkFixedString0x20, 0x349C] AllowMissionDetailMessages: Annotated[bool, Field(ctypes.c_bool, 0x34BC)] AllowOnlyCorvetteShipPurchases: Annotated[bool, Field(ctypes.c_bool, 0x34BD)] AllowSaveContextMultitoolTransfer: Annotated[bool, Field(ctypes.c_bool, 0x34BE)] @@ -43828,382 +35421,235 @@ class cGcSeasonalGameModeData(Structure): @partial_struct class cGcPlayerStateData(Structure): - TerrainEditData: Annotated[cGcTerrainEditsBuffer, Field(cGcTerrainEditsBuffer, 0x0)] + TerrainEditData: Annotated[cGcTerrainEditsBuffer, 0x0] SettlementStatesV2: Annotated[ - cGcSettlementState, Field(cGcSettlementState, 0x3C780) + tuple[cGcSettlementState, ...], Field(cGcSettlementState * 100, 0x3C780) ] ArchivedShipOwnership: Annotated[ - cGcArchivedShipData, Field(cGcArchivedShipData, 0x5DAC0) + tuple[cGcArchivedShipData, ...], Field(cGcArchivedShipData * 18, 0x5DAC0) ] ShipOwnership: Annotated[ - cGcPlayerOwnershipData, Field(cGcPlayerOwnershipData, 0x64360) + tuple[cGcPlayerOwnershipData, ...], Field(cGcPlayerOwnershipData * 12, 0x64360) ] ArchivedMultitools: Annotated[ - cGcArchivedMultitoolData, Field(cGcArchivedMultitoolData, 0x67D20) + tuple[cGcArchivedMultitoolData, ...], + Field(cGcArchivedMultitoolData * 18, 0x67D20), ] FreighterFleet: Annotated[ - cGcFreighterSaveData, Field(cGcFreighterSaveData, 0x6AEA0) + tuple[cGcFreighterSaveData, ...], Field(cGcFreighterSaveData * 8, 0x6AEA0) ] VehicleOwnership: Annotated[ - cGcPlayerOwnershipData, Field(cGcPlayerOwnershipData, 0x6D6A0) - ] - Multitools: Annotated[cGcMultitoolData, Field(cGcMultitoolData, 0x6F850)] - NPCWorkers: Annotated[cGcNPCWorkerData, Field(cGcNPCWorkerData, 0x707B0)] - PlanetPositions: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70A30)] - MultiplayerSpawn: Annotated[ - cGcPlayerSpawnStateData, Field(cGcPlayerSpawnStateData, 0x70B30) - ] - OtherSideOfPortalReturnBase: Annotated[ - cGcTeleportEndpoint, Field(cGcTeleportEndpoint, 0x70C10) - ] - SkiffData: Annotated[cGcSkiffSaveData, Field(cGcSkiffSaveData, 0x70C90)] - HoloExplorerInteraction: Annotated[ - cGcInteractionData, Field(cGcInteractionData, 0x70CC0) - ] - HoloNooneInteraction: Annotated[ - cGcInteractionData, Field(cGcInteractionData, 0x70CE0) - ] - HoloScepticInteraction: Annotated[ - cGcInteractionData, Field(cGcInteractionData, 0x70D00) - ] - AnomalyPositionOverride: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x70D20)] - FirstShipPosition: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x70D30)] - FirstSpawnPosition: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x70D40)] - FreighterMatrixAt: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70D50)] - FreighterMatrixPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70D60)] - FreighterMatrixUp: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70D70)] - GraveMatrixLookAt: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x70D80)] - GraveMatrixUp: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x70D90)] - GravePosition: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x70DA0)] - NexusMatrixAt: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70DB0)] - NexusMatrixPos: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70DC0)] - NexusMatrixUp: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x70DD0)] - PortalMarkerPosition_Local: Annotated[ - basic.Vector4f, Field(basic.Vector4f, 0x70DE0) - ] - PortalMarkerPosition_Offset: Annotated[ - basic.Vector4f, Field(basic.Vector4f, 0x70DF0) - ] - StartGameShipPosition: Annotated[basic.Vector4f, Field(basic.Vector4f, 0x70E00)] - Eggs: Annotated[cGcPetData, Field(cGcPetData, 0x70E10)] - Pets: Annotated[cGcPetData, Field(cGcPetData, 0x732A0)] - FishingRecord: Annotated[cGcFishingRecord, Field(cGcFishingRecord, 0x75730)] + tuple[cGcPlayerOwnershipData, ...], Field(cGcPlayerOwnershipData * 7, 0x6D6A0) + ] + Multitools: Annotated[ + tuple[cGcMultitoolData, ...], Field(cGcMultitoolData * 6, 0x6F850) + ] + NPCWorkers: Annotated[ + tuple[cGcNPCWorkerData, ...], Field(cGcNPCWorkerData * 5, 0x707B0) + ] + PlanetPositions: Annotated[ + tuple[basic.Vector3f, ...], Field(basic.Vector3f * 16, 0x70A30) + ] + MultiplayerSpawn: Annotated[cGcPlayerSpawnStateData, 0x70B30] + OtherSideOfPortalReturnBase: Annotated[cGcTeleportEndpoint, 0x70C10] + SkiffData: Annotated[cGcSkiffSaveData, 0x70C90] + HoloExplorerInteraction: Annotated[cGcInteractionData, 0x70CC0] + HoloNooneInteraction: Annotated[cGcInteractionData, 0x70CE0] + HoloScepticInteraction: Annotated[cGcInteractionData, 0x70D00] + AnomalyPositionOverride: Annotated[basic.Vector4f, 0x70D20] + FirstShipPosition: Annotated[basic.Vector4f, 0x70D30] + FirstSpawnPosition: Annotated[basic.Vector4f, 0x70D40] + FreighterMatrixAt: Annotated[basic.Vector3f, 0x70D50] + FreighterMatrixPos: Annotated[basic.Vector3f, 0x70D60] + FreighterMatrixUp: Annotated[basic.Vector3f, 0x70D70] + GraveMatrixLookAt: Annotated[basic.Vector4f, 0x70D80] + GraveMatrixUp: Annotated[basic.Vector4f, 0x70D90] + GravePosition: Annotated[basic.Vector4f, 0x70DA0] + NexusMatrixAt: Annotated[basic.Vector3f, 0x70DB0] + NexusMatrixPos: Annotated[basic.Vector3f, 0x70DC0] + NexusMatrixUp: Annotated[basic.Vector3f, 0x70DD0] + PortalMarkerPosition_Local: Annotated[basic.Vector4f, 0x70DE0] + PortalMarkerPosition_Offset: Annotated[basic.Vector4f, 0x70DF0] + StartGameShipPosition: Annotated[basic.Vector4f, 0x70E00] + Eggs: Annotated[tuple[cGcPetData, ...], Field(cGcPetData * 18, 0x70E10)] + Pets: Annotated[tuple[cGcPetData, ...], Field(cGcPetData * 18, 0x732A0)] + FishingRecord: Annotated[cGcFishingRecord, 0x75730] PetAccessoryCustomisation: Annotated[ - cGcPetCustomisationData, Field(cGcPetCustomisationData, 0x76F30) + tuple[cGcPetCustomisationData, ...], + Field(cGcPetCustomisationData * 18, 0x76F30), ] CharacterCustomisationData: Annotated[ - cGcCharacterCustomisationSaveData, - Field(cGcCharacterCustomisationSaveData, 0x78520), - ] - HotActions: Annotated[cGcHotActionsSaveData, Field(cGcHotActionsSaveData, 0x78FB0)] - SquadronPilots: Annotated[ - cGcSquadronPilotData, Field(cGcSquadronPilotData, 0x79370) - ] - WonderCreatureRecords: Annotated[cGcWonderRecord, Field(cGcWonderRecord, 0x795F0)] - Chest10Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x79758) - ] - Chest1Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x798B8) - ] - Chest2Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x79A18) - ] - Chest3Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x79B78) - ] - Chest4Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x79CD8) - ] - Chest5Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x79E38) - ] - Chest6Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x79F98) - ] - Chest7Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7A0F8) - ] - Chest8Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7A258) - ] - Chest9Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7A3B8) - ] - ChestMagic2Inventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7A518) - ] - ChestMagicInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7A678) - ] - CookingIngredientsInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7A7D8) - ] - CorvetteStorageInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7A938) + tuple[cGcCharacterCustomisationSaveData, ...], + Field(cGcCharacterCustomisationSaveData * 26, 0x78520), ] - FishBaitBoxInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7AA98) + HotActions: Annotated[ + tuple[cGcHotActionsSaveData, ...], Field(cGcHotActionsSaveData * 3, 0x78FB0) ] - FishPlatformInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7ABF8) - ] - FoodUnitInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7AD58) - ] - FreighterInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7AEB8) - ] - FreighterInventory_Cargo: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7B018) - ] - FreighterInventory_TechOnly: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7B178) - ] - GraveInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7B2D8) - ] - Inventory: Annotated[cGcInventoryContainer, Field(cGcInventoryContainer, 0x7B438)] - Inventory_Cargo: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7B598) - ] - Inventory_TechOnly: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7B6F8) - ] - RocketLockerInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7B858) - ] - ShipInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7B9B8) - ] - WeaponInventory: Annotated[ - cGcInventoryContainer, Field(cGcInventoryContainer, 0x7BB18) + SquadronPilots: Annotated[ + tuple[cGcSquadronPilotData, ...], Field(cGcSquadronPilotData * 4, 0x79370) + ] + WonderCreatureRecords: Annotated[ + tuple[cGcWonderRecord, ...], Field(cGcWonderRecord * 15, 0x795F0) + ] + Chest10Inventory: Annotated[cGcInventoryContainer, 0x79758] + Chest1Inventory: Annotated[cGcInventoryContainer, 0x798B8] + Chest2Inventory: Annotated[cGcInventoryContainer, 0x79A18] + Chest3Inventory: Annotated[cGcInventoryContainer, 0x79B78] + Chest4Inventory: Annotated[cGcInventoryContainer, 0x79CD8] + Chest5Inventory: Annotated[cGcInventoryContainer, 0x79E38] + Chest6Inventory: Annotated[cGcInventoryContainer, 0x79F98] + Chest7Inventory: Annotated[cGcInventoryContainer, 0x7A0F8] + Chest8Inventory: Annotated[cGcInventoryContainer, 0x7A258] + Chest9Inventory: Annotated[cGcInventoryContainer, 0x7A3B8] + ChestMagic2Inventory: Annotated[cGcInventoryContainer, 0x7A518] + ChestMagicInventory: Annotated[cGcInventoryContainer, 0x7A678] + CookingIngredientsInventory: Annotated[cGcInventoryContainer, 0x7A7D8] + CorvetteStorageInventory: Annotated[cGcInventoryContainer, 0x7A938] + FishBaitBoxInventory: Annotated[cGcInventoryContainer, 0x7AA98] + FishPlatformInventory: Annotated[cGcInventoryContainer, 0x7ABF8] + FoodUnitInventory: Annotated[cGcInventoryContainer, 0x7AD58] + FreighterInventory: Annotated[cGcInventoryContainer, 0x7AEB8] + FreighterInventory_Cargo: Annotated[cGcInventoryContainer, 0x7B018] + FreighterInventory_TechOnly: Annotated[cGcInventoryContainer, 0x7B178] + GraveInventory: Annotated[cGcInventoryContainer, 0x7B2D8] + Inventory: Annotated[cGcInventoryContainer, 0x7B438] + Inventory_Cargo: Annotated[cGcInventoryContainer, 0x7B598] + Inventory_TechOnly: Annotated[cGcInventoryContainer, 0x7B6F8] + RocketLockerInventory: Annotated[cGcInventoryContainer, 0x7B858] + ShipInventory: Annotated[cGcInventoryContainer, 0x7B9B8] + WeaponInventory: Annotated[cGcInventoryContainer, 0x7BB18] + WonderTreasureRecords: Annotated[ + tuple[cGcWonderRecord, ...], Field(cGcWonderRecord * 13, 0x7BC78) ] - WonderTreasureRecords: Annotated[cGcWonderRecord, Field(cGcWonderRecord, 0x7BC78)] SettlementHistory: Annotated[ - cGcSettlementHistory, Field(cGcSettlementHistory, 0x7BDB0) + tuple[cGcSettlementHistory, ...], Field(cGcSettlementHistory * 4, 0x7BDB0) + ] + WonderCustomRecords: Annotated[ + tuple[cGcWonderRecord, ...], Field(cGcWonderRecord * 12, 0x7BED0) ] - WonderCustomRecords: Annotated[cGcWonderRecord, Field(cGcWonderRecord, 0x7BED0)] Outfits: Annotated[ - cGcCharacterCustomisationData, Field(cGcCharacterCustomisationData, 0x7BFF0) + tuple[cGcCharacterCustomisationData, ...], + Field(cGcCharacterCustomisationData * 3, 0x7BFF0), ] StoredInteractions: Annotated[ - cGcInteractionBuffer, Field(cGcInteractionBuffer, 0x7C0F8) + tuple[cGcInteractionBuffer, ...], Field(cGcInteractionBuffer * 11, 0x7C0F8) + ] + WonderPlanetRecords: Annotated[ + tuple[cGcWonderRecord, ...], Field(cGcWonderRecord * 11, 0x7C200) ] - WonderPlanetRecords: Annotated[cGcWonderRecord, Field(cGcWonderRecord, 0x7C200)] WonderWeirdBasePartRecords: Annotated[ - cGcWonderRecord, Field(cGcWonderRecord, 0x7C308) + tuple[cGcWonderRecord, ...], Field(cGcWonderRecord * 11, 0x7C308) ] - PlanetSeeds: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x7C410)] - WonderFloraRecords: Annotated[cGcWonderRecord, Field(cGcWonderRecord, 0x7C510)] - WonderMineralRecords: Annotated[cGcWonderRecord, Field(cGcWonderRecord, 0x7C5D0)] - SeenStories: Annotated[ - cGcStoryPageSeenDataArray, Field(cGcStoryPageSeenDataArray, 0x7C690) + PlanetSeeds: Annotated[tuple[basic.GcSeed, ...], Field(basic.GcSeed * 16, 0x7C410)] + WonderFloraRecords: Annotated[ + tuple[cGcWonderRecord, ...], Field(cGcWonderRecord * 8, 0x7C510) + ] + WonderMineralRecords: Annotated[ + tuple[cGcWonderRecord, ...], Field(cGcWonderRecord * 8, 0x7C5D0) ] - CurrentFreighter: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x7C720)] - CurrentFreighterNPC: Annotated[ - cGcResourceElement, Field(cGcResourceElement, 0x7C768) + SeenStories: Annotated[ + tuple[cGcStoryPageSeenDataArray, ...], + Field(cGcStoryPageSeenDataArray * 9, 0x7C690), ] - CurrentShip: Annotated[cGcResourceElement, Field(cGcResourceElement, 0x7C7B0)] + CurrentFreighter: Annotated[cGcResourceElement, 0x7C720] + CurrentFreighterNPC: Annotated[cGcResourceElement, 0x7C768] + CurrentShip: Annotated[cGcResourceElement, 0x7C7B0] SyncBuffersData: Annotated[ - cGcSyncBufferSaveDataArray, Field(cGcSyncBufferSaveDataArray, 0x7C7F8) - ] - CurrentWeapon: Annotated[cGcExactResource, Field(cGcExactResource, 0x7C838)] - VisitedPortal: Annotated[cGcPortalSaveData, Field(cGcPortalSaveData, 0x7C858)] - Chest10Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C878)] - Chest1Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C890)] - Chest2Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C8A8)] - Chest3Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C8C0)] - Chest4Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C8D8)] - Chest5Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C8F0)] - Chest6Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C908)] - Chest7Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C920)] - Chest8Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C938)] - Chest9Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C950)] - ChestMagic2Layout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C968)] - ChestMagicLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C980)] - CookingIngredientsLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C998) - ] - CorvetteStorageLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C9B0) - ] - FishBaitBoxLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C9C8)] - FishPlatformLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C9E0) - ] - FoodUnitLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7C9F8)] - FreighterCargoLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x7CA10) - ] - FreighterLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7CA28)] - RocketLockerLayout: Annotated[ - cGcInventoryLayout, Field(cGcInventoryLayout, 0x7CA40) - ] - ShipLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7CA58)] - WeaponLayout: Annotated[cGcInventoryLayout, Field(cGcInventoryLayout, 0x7CA70)] - BannerTitleId: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x7CA88)] + tuple[cGcSyncBufferSaveDataArray, ...], + Field(cGcSyncBufferSaveDataArray * 4, 0x7C7F8), + ] + CurrentWeapon: Annotated[cGcExactResource, 0x7C838] + VisitedPortal: Annotated[cGcPortalSaveData, 0x7C858] + Chest10Layout: Annotated[cGcInventoryLayout, 0x7C878] + Chest1Layout: Annotated[cGcInventoryLayout, 0x7C890] + Chest2Layout: Annotated[cGcInventoryLayout, 0x7C8A8] + Chest3Layout: Annotated[cGcInventoryLayout, 0x7C8C0] + Chest4Layout: Annotated[cGcInventoryLayout, 0x7C8D8] + Chest5Layout: Annotated[cGcInventoryLayout, 0x7C8F0] + Chest6Layout: Annotated[cGcInventoryLayout, 0x7C908] + Chest7Layout: Annotated[cGcInventoryLayout, 0x7C920] + Chest8Layout: Annotated[cGcInventoryLayout, 0x7C938] + Chest9Layout: Annotated[cGcInventoryLayout, 0x7C950] + ChestMagic2Layout: Annotated[cGcInventoryLayout, 0x7C968] + ChestMagicLayout: Annotated[cGcInventoryLayout, 0x7C980] + CookingIngredientsLayout: Annotated[cGcInventoryLayout, 0x7C998] + CorvetteStorageLayout: Annotated[cGcInventoryLayout, 0x7C9B0] + FishBaitBoxLayout: Annotated[cGcInventoryLayout, 0x7C9C8] + FishPlatformLayout: Annotated[cGcInventoryLayout, 0x7C9E0] + FoodUnitLayout: Annotated[cGcInventoryLayout, 0x7C9F8] + FreighterCargoLayout: Annotated[cGcInventoryLayout, 0x7CA10] + FreighterLayout: Annotated[cGcInventoryLayout, 0x7CA28] + RocketLockerLayout: Annotated[cGcInventoryLayout, 0x7CA40] + ShipLayout: Annotated[cGcInventoryLayout, 0x7CA58] + WeaponLayout: Annotated[cGcInventoryLayout, 0x7CA70] + BannerTitleId: Annotated[basic.TkID0x10, 0x7CA88] BaseBuildingObjects: Annotated[ - basic.cTkDynamicArray[cGcPersistentBBObjectData], - Field(basic.cTkDynamicArray[cGcPersistentBBObjectData], 0x7CA98), - ] - CurrentFreighterHomeSystemSeed: Annotated[ - basic.GcSeed, Field(basic.GcSeed, 0x7CAA8) + basic.cTkDynamicArray[cGcPersistentBBObjectData], 0x7CA98 ] - CurrentMissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x7CAB8)] + CurrentFreighterHomeSystemSeed: Annotated[basic.GcSeed, 0x7CAA8] + CurrentMissionID: Annotated[basic.TkID0x10, 0x7CAB8] ExpeditionSeedsSelectedToday: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint64], - Field(basic.cTkDynamicArray[ctypes.c_uint64], 0x7CAC8), + basic.cTkDynamicArray[ctypes.c_uint64], 0x7CAC8 ] FleetExpeditions: Annotated[ - basic.cTkDynamicArray[cGcFleetExpeditionSaveData], - Field(basic.cTkDynamicArray[cGcFleetExpeditionSaveData], 0x7CAD8), - ] - FleetFrigates: Annotated[ - basic.cTkDynamicArray[cGcFleetFrigateSaveData], - Field(basic.cTkDynamicArray[cGcFleetFrigateSaveData], 0x7CAE8), - ] - FleetSeed: Annotated[basic.GcSeed, Field(basic.GcSeed, 0x7CAF8)] - FoodUnitItem: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x7CB08)] - FreighterEngineEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x7CB18)] - GalaxyWaypoints: Annotated[ - basic.cTkDynamicArray[cGcGalaxyWaypoint], - Field(basic.cTkDynamicArray[cGcGalaxyWaypoint], 0x7CB28), + basic.cTkDynamicArray[cGcFleetExpeditionSaveData], 0x7CAD8 ] + FleetFrigates: Annotated[basic.cTkDynamicArray[cGcFleetFrigateSaveData], 0x7CAE8] + FleetSeed: Annotated[basic.GcSeed, 0x7CAF8] + FoodUnitItem: Annotated[basic.TkID0x10, 0x7CB08] + FreighterEngineEffect: Annotated[basic.TkID0x10, 0x7CB18] + GalaxyWaypoints: Annotated[basic.cTkDynamicArray[cGcGalaxyWaypoint], 0x7CB28] InteractionProgressTable: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x7CB38), - ] - JetpackEffect: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x7CB48)] - KnownProducts: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x7CB58), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x7CB38 ] + JetpackEffect: Annotated[basic.TkID0x10, 0x7CB48] + KnownProducts: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x7CB58] KnownRefinerRecipes: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x7CB68), - ] - KnownSpecials: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x7CB78), - ] - KnownTech: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x7CB88), - ] - KnownWordGroups: Annotated[ - basic.cTkDynamicArray[cGcWordGroupKnowledge], - Field(basic.cTkDynamicArray[cGcWordGroupKnowledge], 0x7CB98), - ] - KnownWords: Annotated[ - basic.cTkDynamicArray[cGcWordKnowledge], - Field(basic.cTkDynamicArray[cGcWordKnowledge], 0x7CBA8), - ] - LastPortal: Annotated[ - basic.cTkDynamicArray[cGcPortalSaveData], - Field(basic.cTkDynamicArray[cGcPortalSaveData], 0x7CBB8), + basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x7CB68 ] + KnownSpecials: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x7CB78] + KnownTech: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x7CB88] + KnownWordGroups: Annotated[basic.cTkDynamicArray[cGcWordGroupKnowledge], 0x7CB98] + KnownWords: Annotated[basic.cTkDynamicArray[cGcWordKnowledge], 0x7CBA8] + LastPortal: Annotated[basic.cTkDynamicArray[cGcPortalSaveData], 0x7CBB8] MaintenanceInteractions: Annotated[ - basic.cTkDynamicArray[cGcMaintenanceContainer], - Field(basic.cTkDynamicArray[cGcMaintenanceContainer], 0x7CBC8), - ] - MarkerStack: Annotated[ - basic.cTkDynamicArray[cGcScanEventSave], - Field(basic.cTkDynamicArray[cGcScanEventSave], 0x7CBD8), - ] - MissionProgress: Annotated[ - basic.cTkDynamicArray[cGcPlayerMissionProgress], - Field(basic.cTkDynamicArray[cGcPlayerMissionProgress], 0x7CBE8), - ] - MissionRecurrences: Annotated[ - basic.cTkDynamicArray[cGcMissionIDEpochPair], - Field(basic.cTkDynamicArray[cGcMissionIDEpochPair], 0x7CBF8), - ] - NewMPMarkerStack: Annotated[ - basic.cTkDynamicArray[cGcScanEventSave], - Field(basic.cTkDynamicArray[cGcScanEventSave], 0x7CC08), - ] - PersistentPlayerBases: Annotated[ - basic.cTkDynamicArray[cGcPersistentBase], - Field(basic.cTkDynamicArray[cGcPersistentBase], 0x7CC18), + basic.cTkDynamicArray[cGcMaintenanceContainer], 0x7CBC8 ] + MarkerStack: Annotated[basic.cTkDynamicArray[cGcScanEventSave], 0x7CBD8] + MissionProgress: Annotated[basic.cTkDynamicArray[cGcPlayerMissionProgress], 0x7CBE8] + MissionRecurrences: Annotated[basic.cTkDynamicArray[cGcMissionIDEpochPair], 0x7CBF8] + NewMPMarkerStack: Annotated[basic.cTkDynamicArray[cGcScanEventSave], 0x7CC08] + PersistentPlayerBases: Annotated[basic.cTkDynamicArray[cGcPersistentBase], 0x7CC18] PersonalMaintenanceInteractions: Annotated[ - basic.cTkDynamicArray[cGcMaintenanceContainer], - Field(basic.cTkDynamicArray[cGcMaintenanceContainer], 0x7CC28), - ] - PreviousMissionID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x7CC38)] - RedeemedPlatformRewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x7CC48), - ] - RedeemedSeasonRewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x7CC58), - ] - RedeemedTwitchRewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x7CC68), + basic.cTkDynamicArray[cGcMaintenanceContainer], 0x7CC28 ] + PreviousMissionID: Annotated[basic.TkID0x10, 0x7CC38] + RedeemedPlatformRewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x7CC48] + RedeemedSeasonRewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x7CC58] + RedeemedTwitchRewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x7CC68] RefinerBufferData: Annotated[ - basic.cTkDynamicArray[cGcMaintenanceContainer], - Field(basic.cTkDynamicArray[cGcMaintenanceContainer], 0x7CC78), - ] - RefinerBufferKeys: Annotated[ - basic.cTkDynamicArray[cGcMaintenanceSaveKey], - Field(basic.cTkDynamicArray[cGcMaintenanceSaveKey], 0x7CC88), - ] - RepairTechBuffer: Annotated[ - basic.cTkDynamicArray[cGcRepairTechData], - Field(basic.cTkDynamicArray[cGcRepairTechData], 0x7CC98), + basic.cTkDynamicArray[cGcMaintenanceContainer], 0x7CC78 ] + RefinerBufferKeys: Annotated[basic.cTkDynamicArray[cGcMaintenanceSaveKey], 0x7CC88] + RepairTechBuffer: Annotated[basic.cTkDynamicArray[cGcRepairTechData], 0x7CC98] SavedInteractionDialogTable: Annotated[ - basic.cTkDynamicArray[cGcSavedInteractionDialogData], - Field(basic.cTkDynamicArray[cGcSavedInteractionDialogData], 0x7CCA8), - ] - SeenBaseBuildingObjects: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x7CCB8), + basic.cTkDynamicArray[cGcSavedInteractionDialogData], 0x7CCA8 ] + SeenBaseBuildingObjects: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x7CCB8] SettlementLocalSaveData: Annotated[ - basic.cTkDynamicArray[cGcSettlementLocalSaveData], - Field(basic.cTkDynamicArray[cGcSettlementLocalSaveData], 0x7CCC8), - ] - Stats: Annotated[ - basic.cTkDynamicArray[cGcPlayerStatsGroup], - Field(basic.cTkDynamicArray[cGcPlayerStatsGroup], 0x7CCD8), - ] - SurveyedEventPositions: Annotated[ - basic.cTkDynamicArray[basic.Vector3f], - Field(basic.cTkDynamicArray[basic.Vector3f], 0x7CCE8), - ] - TelemetryStats: Annotated[ - basic.cTkDynamicArray[cGcTelemetryStat], - Field(basic.cTkDynamicArray[cGcTelemetryStat], 0x7CCF8), - ] - TeleportEndpoints: Annotated[ - basic.cTkDynamicArray[cGcTeleportEndpoint], - Field(basic.cTkDynamicArray[cGcTeleportEndpoint], 0x7CD08), - ] - TradingSupplyData: Annotated[ - basic.cTkDynamicArray[cGcTradingSupplyData], - Field(basic.cTkDynamicArray[cGcTradingSupplyData], 0x7CD18), - ] - UsedEntitlements: Annotated[ - basic.cTkDynamicArray[cGcSavedEntitlement], - Field(basic.cTkDynamicArray[cGcSavedEntitlement], 0x7CD28), - ] + basic.cTkDynamicArray[cGcSettlementLocalSaveData], 0x7CCC8 + ] + Stats: Annotated[basic.cTkDynamicArray[cGcPlayerStatsGroup], 0x7CCD8] + SurveyedEventPositions: Annotated[basic.cTkDynamicArray[basic.Vector3f], 0x7CCE8] + TelemetryStats: Annotated[basic.cTkDynamicArray[cGcTelemetryStat], 0x7CCF8] + TeleportEndpoints: Annotated[basic.cTkDynamicArray[cGcTeleportEndpoint], 0x7CD08] + TradingSupplyData: Annotated[basic.cTkDynamicArray[cGcTradingSupplyData], 0x7CD18] + UsedEntitlements: Annotated[basic.cTkDynamicArray[cGcSavedEntitlement], 0x7CD28] VisitedAtlasStationsData: Annotated[ - basic.cTkDynamicArray[cGcUniverseAddressData], - Field(basic.cTkDynamicArray[cGcUniverseAddressData], 0x7CD38), - ] - VisitedSystems: Annotated[ - basic.cTkDynamicArray[ctypes.c_uint64], - Field(basic.cTkDynamicArray[ctypes.c_uint64], 0x7CD48), - ] - WristScreenData: Annotated[ - basic.cTkDynamicArray[cGcInWorldUIScreenData], - Field(basic.cTkDynamicArray[cGcInWorldUIScreenData], 0x7CD58), + basic.cTkDynamicArray[cGcUniverseAddressData], 0x7CD38 ] + VisitedSystems: Annotated[basic.cTkDynamicArray[ctypes.c_uint64], 0x7CD48] + WristScreenData: Annotated[basic.cTkDynamicArray[cGcInWorldUIScreenData], 0x7CD58] ActiveSpaceBattleUA: Annotated[int, Field(ctypes.c_uint64, 0x7CD68)] CorvetteDraftShipSeed: Annotated[int, Field(ctypes.c_uint64, 0x7CD70)] CurrentMissionSeed: Annotated[int, Field(ctypes.c_uint64, 0x7CD78)] @@ -44225,48 +35671,32 @@ class cGcPlayerStateData(Structure): TimeLastSpaceBattle: Annotated[int, Field(ctypes.c_uint64, 0x7CDF8)] TimeStamp: Annotated[int, Field(ctypes.c_uint64, 0x7CE00)] SavedInteractionIndicies: Annotated[ - cGcSavedInteractionRaceData, Field(cGcSavedInteractionRaceData, 0x7CE08) + tuple[cGcSavedInteractionRaceData, ...], + Field(cGcSavedInteractionRaceData * 153, 0x7CE08), ] WonderCustomRecordsExtraData: Annotated[ - cGcWonderRecordCustomData, Field(cGcWonderRecordCustomData, 0x7EAB8) + tuple[cGcWonderRecordCustomData, ...], + Field(cGcWonderRecordCustomData * 12, 0x7EAB8), ] CompletedAtlasAddresses: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7EDE8) + tuple[cGcUniverseAddressData, ...], Field(cGcUniverseAddressData * 11, 0x7EDE8) ] NewAtlasStationAdressData: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7EEF0) + tuple[cGcUniverseAddressData, ...], Field(cGcUniverseAddressData * 11, 0x7EEF0) ] AtlasStationAdressData: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7EFF8) - ] - DifficultyState: Annotated[ - cGcDifficultyStateData, Field(cGcDifficultyStateData, 0x7F0E8) - ] - Hazard: Annotated[float, Field(ctypes.c_float, 0x7F154)] - FreighterUniverseAddress: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7F170) - ] - GameStartAddress1: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7F188) - ] - GameStartAddress2: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7F1A0) - ] - GraveUniverseAddress: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7F1B8) - ] - MultiplayerUA: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7F1D0) - ] - NexusUniverseAddress: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7F1E8) - ] - PreviousUniverseAddress: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7F200) - ] - UniverseAddress: Annotated[ - cGcUniverseAddressData, Field(cGcUniverseAddressData, 0x7F218) - ] + tuple[cGcUniverseAddressData, ...], Field(cGcUniverseAddressData * 10, 0x7EFF8) + ] + DifficultyState: Annotated[cGcDifficultyStateData, 0x7F0E8] + Hazard: Annotated[tuple[float, ...], Field(ctypes.c_float * 7, 0x7F154)] + FreighterUniverseAddress: Annotated[cGcUniverseAddressData, 0x7F170] + GameStartAddress1: Annotated[cGcUniverseAddressData, 0x7F188] + GameStartAddress2: Annotated[cGcUniverseAddressData, 0x7F1A0] + GraveUniverseAddress: Annotated[cGcUniverseAddressData, 0x7F1B8] + MultiplayerUA: Annotated[cGcUniverseAddressData, 0x7F1D0] + NexusUniverseAddress: Annotated[cGcUniverseAddressData, 0x7F1E8] + PreviousUniverseAddress: Annotated[cGcUniverseAddressData, 0x7F200] + UniverseAddress: Annotated[cGcUniverseAddressData, 0x7F218] ActiveMultioolIndex: Annotated[int, Field(ctypes.c_int32, 0x7F230)] ActiveSpaceBattleLevel: Annotated[int, Field(ctypes.c_int32, 0x7F234)] BannerBackgroundColour: Annotated[int, Field(ctypes.c_int32, 0x7F238)] @@ -44296,15 +35726,9 @@ class cGcPlayerStateData(Structure): ShipHealth: Annotated[int, Field(ctypes.c_int32, 0x7F298)] ShipShield: Annotated[int, Field(ctypes.c_int32, 0x7F29C)] Specials: Annotated[int, Field(ctypes.c_int32, 0x7F2A0)] - StartingPrimaryWeapon: Annotated[ - c_enum32[enums.cGcPlayerWeapons], - Field(c_enum32[enums.cGcPlayerWeapons], 0x7F2A4), - ] + StartingPrimaryWeapon: Annotated[c_enum32[enums.cGcPlayerWeapons], 0x7F2A4] StartingSeasonNumber: Annotated[int, Field(ctypes.c_int32, 0x7F2A8)] - StartingSecondaryWeapon: Annotated[ - c_enum32[enums.cGcPlayerWeapons], - Field(c_enum32[enums.cGcPlayerWeapons], 0x7F2AC), - ] + StartingSecondaryWeapon: Annotated[c_enum32[enums.cGcPlayerWeapons], 0x7F2AC] TelemetryUploadVersion: Annotated[int, Field(ctypes.c_int32, 0x7F2B0)] TradingSupplyDataIndex: Annotated[int, Field(ctypes.c_int32, 0x7F2B4)] Units: Annotated[int, Field(ctypes.c_int32, 0x7F2B8)] @@ -44313,19 +35737,17 @@ class cGcPlayerStateData(Structure): WarpsLastSpaceBattle: Annotated[int, Field(ctypes.c_int32, 0x7F2C4)] ShopNumber: Annotated[int, Field(ctypes.c_uint16, 0x7F2C8)] ShopTier: Annotated[int, Field(ctypes.c_uint16, 0x7F2CA)] - CorvetteEditShipName: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x7F2CC) - ] - SaveSummary: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x7F34C) + CorvetteEditShipName: Annotated[basic.cTkFixedString0x80, 0x7F2CC] + SaveSummary: Annotated[basic.cTkFixedString0x80, 0x7F34C] + PlayerFreighterName: Annotated[basic.cTkFixedString0x20, 0x7F3CC] + UnlockedPetSlots: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 18, 0x7F3EC)] + GalacticMapRequests: Annotated[tuple[bool, ...], Field(ctypes.c_bool * 16, 0x7F3FE)] + ShipUsesLegacyColours: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 12, 0x7F40E) ] - PlayerFreighterName: Annotated[ - basic.cTkFixedString0x20, Field(basic.cTkFixedString0x20, 0x7F3CC) + SquadronUnlockedPilotSlots: Annotated[ + tuple[bool, ...], Field(ctypes.c_bool * 4, 0x7F41A) ] - UnlockedPetSlots: Annotated[bool, Field(ctypes.c_bool, 0x7F3EC)] - GalacticMapRequests: Annotated[bool, Field(ctypes.c_bool, 0x7F3FE)] - ShipUsesLegacyColours: Annotated[bool, Field(ctypes.c_bool, 0x7F40E)] - SquadronUnlockedPilotSlots: Annotated[bool, Field(ctypes.c_bool, 0x7F41A)] BuildersKnown: Annotated[bool, Field(ctypes.c_bool, 0x7F41E)] FirstAtlasStationDiscovered: Annotated[bool, Field(ctypes.c_bool, 0x7F41F)] FreighterDismissed: Annotated[bool, Field(ctypes.c_bool, 0x7F420)] @@ -44348,32 +35770,17 @@ class cGcPlayerStateData(Structure): @partial_struct class cGcPlayerCommonStateData(Structure): - PhotoModeSettings: Annotated[cGcPhotoModeSettings, Field(cGcPhotoModeSettings, 0x0)] - SeasonData: Annotated[cGcSeasonalGameModeData, Field(cGcSeasonalGameModeData, 0x50)] - ByteBeatLibrary: Annotated[ - cGcByteBeatLibraryData, Field(cGcByteBeatLibraryData, 0x3538) - ] - SeasonState: Annotated[cGcSeasonStateData, Field(cGcSeasonStateData, 0x4F40)] - SeasonTransferInventoryData: Annotated[ - cGcSeasonTransferInventoryData, Field(cGcSeasonTransferInventoryData, 0x5108) - ] - EarnedSeasonSpecialRewards: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x5288), - ] - UsedDiscoveryOwnersV2: Annotated[ - basic.cTkDynamicArray[cGcDiscoveryOwner], - Field(basic.cTkDynamicArray[cGcDiscoveryOwner], 0x5298), - ] - UsedPlatforms: Annotated[ - basic.cTkDynamicArray[basic.cTkFixedString0x20], - Field(basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x52A8), - ] + PhotoModeSettings: Annotated[cGcPhotoModeSettings, 0x0] + SeasonData: Annotated[cGcSeasonalGameModeData, 0x50] + ByteBeatLibrary: Annotated[cGcByteBeatLibraryData, 0x3538] + SeasonState: Annotated[cGcSeasonStateData, 0x4F40] + SeasonTransferInventoryData: Annotated[cGcSeasonTransferInventoryData, 0x5108] + EarnedSeasonSpecialRewards: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x5288] + UsedDiscoveryOwnersV2: Annotated[basic.cTkDynamicArray[cGcDiscoveryOwner], 0x5298] + UsedPlatforms: Annotated[basic.cTkDynamicArray[basic.cTkFixedString0x20], 0x52A8] SaveUniversalId: Annotated[int, Field(ctypes.c_uint64, 0x52B8)] TotalPlayTime: Annotated[int, Field(ctypes.c_uint64, 0x52C0)] - SaveName: Annotated[ - basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x52C8) - ] + SaveName: Annotated[basic.cTkFixedString0x80, 0x52C8] UsesThirdPersonCharacterCam: Annotated[bool, Field(ctypes.c_bool, 0x5348)] UsesThirdPersonShipCam: Annotated[bool, Field(ctypes.c_bool, 0x5349)] UsesThirdPersonVehicleCam: Annotated[bool, Field(ctypes.c_bool, 0x534A)] @@ -44381,41 +35788,17 @@ class cGcPlayerCommonStateData(Structure): @partial_struct class cGcClothPiece(Structure): - Advanced: Annotated[cGcAdvancedTweaks, Field(cGcAdvancedTweaks, 0x0)] - AttachedNodes: Annotated[ - basic.cTkDynamicArray[cGcAttachedNode], - Field(basic.cTkDynamicArray[cGcAttachedNode], 0x40), - ] - AttachmentPointSets: Annotated[ - basic.cTkDynamicArray[cGcAttachmentPointSet], - Field(basic.cTkDynamicArray[cGcAttachmentPointSet], 0x50), - ] - CollisionCapsules: Annotated[ - basic.cTkDynamicArray[cGcCollisionCapsule], - Field(basic.cTkDynamicArray[cGcCollisionCapsule], 0x60), - ] - DeletedConstraintsI: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x70), - ] - DeletedConstraintsJ: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x80), - ] - DeletedSimPoints: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x90), - ] - InitialShapes: Annotated[ - basic.cTkDynamicArray[cSimShape], Field(basic.cTkDynamicArray[cSimShape], 0xA0) - ] - Mappings: Annotated[ - basic.cTkDynamicArray[cMapping], Field(basic.cTkDynamicArray[cMapping], 0xB0) - ] - DirectMesh: Annotated[cDirectMesh, Field(cDirectMesh, 0xC0)] - ConstraintsToCreate: Annotated[ - cGcConstraintsToCreateSpec, Field(cGcConstraintsToCreateSpec, 0x118) - ] + Advanced: Annotated[cGcAdvancedTweaks, 0x0] + AttachedNodes: Annotated[basic.cTkDynamicArray[cGcAttachedNode], 0x40] + AttachmentPointSets: Annotated[basic.cTkDynamicArray[cGcAttachmentPointSet], 0x50] + CollisionCapsules: Annotated[basic.cTkDynamicArray[cGcCollisionCapsule], 0x60] + DeletedConstraintsI: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x70] + DeletedConstraintsJ: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x80] + DeletedSimPoints: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x90] + InitialShapes: Annotated[basic.cTkDynamicArray[cSimShape], 0xA0] + Mappings: Annotated[basic.cTkDynamicArray[cMapping], 0xB0] + DirectMesh: Annotated[cDirectMesh, 0xC0] + ConstraintsToCreate: Annotated[cGcConstraintsToCreateSpec, 0x118] AbsoluteDamping: Annotated[float, Field(ctypes.c_float, 0x14C)] AirSpeedFromMovementSpeedScale: Annotated[float, Field(ctypes.c_float, 0x150)] AirSpeedOverallEffect: Annotated[float, Field(ctypes.c_float, 0x154)] @@ -44428,23 +35811,16 @@ class eInitialShapeSourceEnum(IntEnum): TakenFromDirectMesh = 0x1 Saved = 0x2 - InitialShapeSource: Annotated[ - c_enum32[eInitialShapeSourceEnum], - Field(c_enum32[eInitialShapeSourceEnum], 0x164), - ] + InitialShapeSource: Annotated[c_enum32[eInitialShapeSourceEnum], 0x164] NumConstraintSolvingIterations: Annotated[int, Field(ctypes.c_int32, 0x168)] NumTimestepsSubdivisions: Annotated[int, Field(ctypes.c_int32, 0x16C)] ParticleRadius: Annotated[float, Field(ctypes.c_float, 0x170)] StandardGravityScale: Annotated[float, Field(ctypes.c_float, 0x174)] StaticFriction: Annotated[float, Field(ctypes.c_float, 0x178)] - InitialShapeName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x17C) - ] - MappedMesh: Annotated[cMappedMesh, Field(cMappedMesh, 0x1BC)] - MappingName: Annotated[ - basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x1FC) - ] - Name: Annotated[basic.cTkFixedString0x40, Field(basic.cTkFixedString0x40, 0x23C)] + InitialShapeName: Annotated[basic.cTkFixedString0x40, 0x17C] + MappedMesh: Annotated[cMappedMesh, 0x1BC] + MappingName: Annotated[basic.cTkFixedString0x40, 0x1FC] + Name: Annotated[basic.cTkFixedString0x40, 0x23C] AttachedNodesEnabled: Annotated[bool, Field(ctypes.c_bool, 0x27C)] DriveDirectMesh: Annotated[bool, Field(ctypes.c_bool, 0x27D)] DriveMappedMesh: Annotated[bool, Field(ctypes.c_bool, 0x27E)] @@ -44454,10 +35830,7 @@ class eInitialShapeSourceEnum(IntEnum): @partial_struct class cGcClothComponentData(Structure): - ClothPieces: Annotated[ - basic.cTkDynamicArray[cGcClothPiece], - Field(basic.cTkDynamicArray[cGcClothPiece], 0x0), - ] + ClothPieces: Annotated[basic.cTkDynamicArray[cGcClothPiece], 0x0] InitialOverSolveForConstraints: Annotated[float, Field(ctypes.c_float, 0x10)] InitialOverSolveForContacts: Annotated[float, Field(ctypes.c_float, 0x14)] MaxAngularSpeedFeltByDynamics: Annotated[float, Field(ctypes.c_float, 0x18)] @@ -44467,34 +35840,29 @@ class cGcClothComponentData(Structure): @partial_struct class cGcDefaultSaveData(Structure): - State: Annotated[cGcPlayerStateData, Field(cGcPlayerStateData, 0x0)] - Spawn: Annotated[cGcPlayerSpawnStateData, Field(cGcPlayerSpawnStateData, 0x7F430)] + State: Annotated[cGcPlayerStateData, 0x0] + Spawn: Annotated[cGcPlayerSpawnStateData, 0x7F430] @partial_struct class cGcCustomisationUIData(Structure): - CustomisationUIData: Annotated[cGcCustomisationUI, Field(cGcCustomisationUI, 0x0)] + CustomisationUIData: Annotated[ + tuple[cGcCustomisationUI, ...], Field(cGcCustomisationUI * 26, 0x0) + ] @partial_struct class cGcCutSceneData(Structure): - Clouds: Annotated[cGcCutSceneClouds, Field(cGcCutSceneClouds, 0x0)] - ForcedSunDir: Annotated[basic.Vector3f, Field(basic.Vector3f, 0x60)] - VoxelSettings: Annotated[ - cTkVoxelGeneratorSettingsElement, Field(cTkVoxelGeneratorSettingsElement, 0x70) - ] + Clouds: Annotated[cGcCutSceneClouds, 0x0] + ForcedSunDir: Annotated[basic.Vector3f, 0x60] + VoxelSettings: Annotated[cTkVoxelGeneratorSettingsElement, 0x70] KeyPressActions: Annotated[ - basic.cTkDynamicArray[cGcCutSceneTriggerInputData], - Field(basic.cTkDynamicArray[cGcCutSceneTriggerInputData], 0x2310), + basic.cTkDynamicArray[cGcCutSceneTriggerInputData], 0x2310 ] OnLoadActions: Annotated[ - basic.cTkDynamicArray[cGcCutSceneTriggerActionData], - Field(basic.cTkDynamicArray[cGcCutSceneTriggerActionData], 0x2320), - ] - Spawns: Annotated[ - basic.cTkDynamicArray[cGcCutSceneSpawnData], - Field(basic.cTkDynamicArray[cGcCutSceneSpawnData], 0x2330), + basic.cTkDynamicArray[cGcCutSceneTriggerActionData], 0x2320 ] + Spawns: Annotated[basic.cTkDynamicArray[cGcCutSceneSpawnData], 0x2330] FlyCamFoV: Annotated[float, Field(ctypes.c_float, 0x2340)] FlyCamSmoothFactor: Annotated[float, Field(ctypes.c_float, 0x2344)] FlyCamSpeedModifier: Annotated[float, Field(ctypes.c_float, 0x2348)] @@ -44510,69 +35878,45 @@ class cGcCutSceneData(Structure): @partial_struct class cGcPlanetData(Structure): - Colours: Annotated[cGcPlanetColourData, Field(cGcPlanetColourData, 0x0)] - Weather: Annotated[cGcPlanetWeatherData, Field(cGcPlanetWeatherData, 0x1C00)] - TileColours: Annotated[basic.Colour, Field(basic.Colour, 0x1D80)] - Rings: Annotated[cGcPlanetRingData, Field(cGcPlanetRingData, 0x1EF0)] - Terrain: Annotated[cTkVoxelGeneratorData, Field(cTkVoxelGeneratorData, 0x1F50)] - GenerationData: Annotated[ - cGcPlanetGenerationIntermediateData, - Field(cGcPlanetGenerationIntermediateData, 0x30A0), - ] - SpawnData: Annotated[ - cGcEnvironmentSpawnData, Field(cGcEnvironmentSpawnData, 0x31F8) - ] - BuildingData: Annotated[cGcPlanetBuildingData, Field(cGcPlanetBuildingData, 0x3258)] - Clouds: Annotated[cGcPlanetCloudProperties, Field(cGcPlanetCloudProperties, 0x32A8)] - CommonSubstanceID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x32F0)] - CreatureIDs: Annotated[ - basic.cTkDynamicArray[basic.TkID0x10], - Field(basic.cTkDynamicArray[basic.TkID0x10], 0x3300), - ] + Colours: Annotated[cGcPlanetColourData, 0x0] + Weather: Annotated[cGcPlanetWeatherData, 0x1C00] + TileColours: Annotated[tuple[basic.Colour, ...], Field(basic.Colour * 23, 0x1D80)] + Rings: Annotated[cGcPlanetRingData, 0x1EF0] + Terrain: Annotated[cTkVoxelGeneratorData, 0x1F50] + GenerationData: Annotated[cGcPlanetGenerationIntermediateData, 0x30A0] + SpawnData: Annotated[cGcEnvironmentSpawnData, 0x31F8] + BuildingData: Annotated[cGcPlanetBuildingData, 0x3258] + Clouds: Annotated[cGcPlanetCloudProperties, 0x32A8] + CommonSubstanceID: Annotated[basic.TkID0x10, 0x32F0] + CreatureIDs: Annotated[basic.cTkDynamicArray[basic.TkID0x10], 0x3300] ExtraResourceHints: Annotated[ - basic.cTkDynamicArray[cGcPlanetDataResourceHint], - Field(basic.cTkDynamicArray[cGcPlanetDataResourceHint], 0x3310), + basic.cTkDynamicArray[cGcPlanetDataResourceHint], 0x3310 ] - RareSubstanceID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x3320)] - TerrainFile: Annotated[ - basic.VariableSizeString, Field(basic.VariableSizeString, 0x3330) - ] - TileTypeIndices: Annotated[ - basic.cTkDynamicArray[ctypes.c_int32], - Field(basic.cTkDynamicArray[ctypes.c_int32], 0x3340), - ] - UncommonSubstanceID: Annotated[basic.TkID0x10, Field(basic.TkID0x10, 0x3350)] - Hazard: Annotated[cGcPlanetHazardData, Field(cGcPlanetHazardData, 0x3360)] + RareSubstanceID: Annotated[basic.TkID0x10, 0x3320] + TerrainFile: Annotated[basic.VariableSizeString, 0x3330] + TileTypeIndices: Annotated[basic.cTkDynamicArray[ctypes.c_int32], 0x3340] + UncommonSubstanceID: Annotated[basic.TkID0x10, 0x3350] + Hazard: Annotated[cGcPlanetHazardData, 0x3360] GroundCombatDataPerDifficulty: Annotated[ - cGcPlanetGroundCombatData, Field(cGcPlanetGroundCombatData, 0x33D8) - ] - Water: Annotated[cGcPlanetWaterData, Field(cGcPlanetWaterData, 0x3438)] - BuildingLevel: Annotated[ - c_enum32[enums.cGcBuildingDensityLevels], - Field(c_enum32[enums.cGcBuildingDensityLevels], 0x3448), - ] - CreatureLife: Annotated[ - c_enum32[enums.cGcPlanetLife], Field(c_enum32[enums.cGcPlanetLife], 0x344C) + tuple[cGcPlanetGroundCombatData, ...], + Field(cGcPlanetGroundCombatData * 4, 0x33D8), ] + Water: Annotated[cGcPlanetWaterData, 0x3438] + BuildingLevel: Annotated[c_enum32[enums.cGcBuildingDensityLevels], 0x3448] + CreatureLife: Annotated[c_enum32[enums.cGcPlanetLife], 0x344C] FuelMultiplier: Annotated[float, Field(ctypes.c_float, 0x3450)] - InhabitingRace: Annotated[ - c_enum32[enums.cGcAlienRace], Field(c_enum32[enums.cGcAlienRace], 0x3454) - ] - Life: Annotated[ - c_enum32[enums.cGcPlanetLife], Field(c_enum32[enums.cGcPlanetLife], 0x3458) - ] + InhabitingRace: Annotated[c_enum32[enums.cGcAlienRace], 0x3454] + Life: Annotated[c_enum32[enums.cGcPlanetLife], 0x3458] PlanetIndex: Annotated[int, Field(ctypes.c_int32, 0x345C)] class eResourceLevelEnum(IntEnum): Low = 0x0 High = 0x1 - ResourceLevel: Annotated[ - c_enum32[eResourceLevelEnum], Field(c_enum32[eResourceLevelEnum], 0x3460) - ] + ResourceLevel: Annotated[c_enum32[eResourceLevelEnum], 0x3460] TileTypeSet: Annotated[int, Field(ctypes.c_int32, 0x3464)] - PlanetInfo: Annotated[cGcPlanetInfo, Field(cGcPlanetInfo, 0x3468)] - Name: Annotated[basic.cTkFixedString0x80, Field(basic.cTkFixedString0x80, 0x396E)] + PlanetInfo: Annotated[cGcPlanetInfo, 0x3468] + Name: Annotated[basic.cTkFixedString0x80, 0x396E] InAbandonedSystem: Annotated[bool, Field(ctypes.c_bool, 0x39EE)] InEmptySystem: Annotated[bool, Field(ctypes.c_bool, 0x39EF)] InGasGiantSystem: Annotated[bool, Field(ctypes.c_bool, 0x39F0)] @@ -44581,15 +35925,16 @@ class eResourceLevelEnum(IntEnum): @partial_struct class cTkVoxelGeneratorSettingsArray(Structure): TerrainSettings: Annotated[ - cTkVoxelGeneratorSettingsElement, Field(cTkVoxelGeneratorSettingsElement, 0x0) + tuple[cTkVoxelGeneratorSettingsElement, ...], + Field(cTkVoxelGeneratorSettingsElement * 31, 0x0), ] @partial_struct class cGcExternalObjectList(Structure): - Objects: Annotated[cGcEnvironmentSpawnData, Field(cGcEnvironmentSpawnData, 0x0)] + Objects: Annotated[cGcEnvironmentSpawnData, 0x0] @partial_struct class cGcCutSceneComponentData(Structure): - CutSceneData: Annotated[cGcCutSceneData, Field(cGcCutSceneData, 0x0)] + CutSceneData: Annotated[cGcCutSceneData, 0x0] diff --git a/nmspy/data/types.py b/nmspy/data/types.py index ee1ba59..e7d5bee 100644 --- a/nmspy/data/types.py +++ b/nmspy/data/types.py @@ -3,6 +3,7 @@ c_uint32, c_int32, c_uint16, + c_int16, _Pointer, c_float, c_uint64, @@ -84,6 +85,12 @@ class cGcNGuiText(Structure): def EditElement(self, this: "_Pointer[cGcNGuiText]"): ... +@partial_struct +class cTkPersonalRNG(Structure): + mState0: Annotated[int, Field(c_uint32)] + mState1: Annotated[int, Field(c_uint32)] + + @partial_struct class TkAudioID(Structure): mpacName: Annotated[Optional[str], Field(c_char_p)] @@ -180,7 +187,7 @@ def AddElement( @partial_struct class cGcNGui(Structure): - mRoot: Annotated[cGcNGuiLayer, Field(cGcNGuiLayer)] + mRoot: Annotated[cGcNGuiLayer, 0x0] @partial_struct @@ -216,6 +223,11 @@ class cGcRealityManager(Structure): @function_hook("48 8B C4 48 89 48 ? 55 53 56 57 41 54 41 56 48 8D A8") def Construct(self, this: "_Pointer[cGcRealityManager]"): ... + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 8B F9 33 ED 48 89 A9" + ) + def cGcRealityManager(self, this: "_Pointer[cGcRealityManager]"): ... + @function_hook( "48 89 54 24 ? 48 89 4C 24 ? 55 53 41 54 48 8D AC 24 ? ? ? ? B8 ? ? ? ? E8 ? ? ? ? 48 2B E0 48 8B DA 4C 8B E1" ) @@ -236,6 +248,20 @@ def GenerateProceduralTechnology( ... +@partial_struct +class cGcInventoryStore(Structure): + _total_size_ = 0x248 + + miWidth: Annotated[int, Field(c_int16, 0x80)] + miHeight: Annotated[int, Field(c_int16, 0x82)] + miCapacity: Annotated[int, Field(c_int16, 0x84)] + + @function_hook( + "48 89 5C 24 ? 57 48 83 EC ? 33 FF 0F 57 C0 0F 11 01 48 8B D9 0F 11 41 ? 0F 11 41 ? 0F 11 41" + ) + def cGcInventoryStore(self, this: "_Pointer[cGcInventoryStore]"): ... + + @partial_struct class cGcPlayerState(Structure): # We can find this in cGcPlayerState::GetPlayerUniverseAddress, which, while not mapped, can be found @@ -250,6 +276,11 @@ class cGcPlayerState(Structure): # Found in cGcPlayerShipOwnership::SpawnNewShip miPrimaryShip: Annotated[int, Field(c_uint32, 0xC4F0)] + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 4C 24 ? 57 41 54 41 55 41 56 41 57 48 83 EC ? 45 33 FF" + ) + def cGcPlayerState(self, this: "_Pointer[cGcPlayerState]"): ... + @function_hook( "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC ? 44 8B 81 ? ? ? ? 48 8D 2D" ) @@ -280,9 +311,19 @@ def StoreCurrentSystemSpaceStationEndpoint( class cGcPlayerShipOwnership(Structure): @partial_struct class sGcShipData(Structure): - _total_size_ = 0x48 + _total_size_ = 0x30 + # Not sure about these... + # Mapping is found in cGcPlayerShipOwnership::cGcPlayerShipOwnership but they don't seem to line up + # with old data. mPlayerShipSeed: Annotated[basic.cTkSeed, 0x0] + mPlayerShipNode: Annotated[basic.TkHandle, 0x14] + mfUnknown0x20: Annotated[float, Field(c_float, 0x20)] + + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 54 41 56 41 57 48 83 EC ? 45 33 E4 48 C7 41" + ) + def cGcPlayerShipOwnership(self, this: "_Pointer[cGcPlayerShipOwnership]"): ... @function_hook( "48 89 5C 24 ? 55 56 57 41 54 41 56 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 45" @@ -317,18 +358,83 @@ def DestroyShip( liShipIndex: c_int32, ) -> c_bool: ... - # Not sure about this... - mShips: Annotated[list[sGcShipData], Field(sGcShipData * 12, 0x58)] + # Found in cGcPlayerShipOwnership::cGcPlayerShipOwnership + mShips: Annotated[list[sGcShipData], Field(sGcShipData * 12, 0x60)] # Both these found at the top of cGcPlayerShipOwnership::UpdateMeshRefresh mbShouldRefreshMesh: Annotated[bool, Field(c_bool, 0xA690)] mMeshRefreshState: Annotated[int, Field(c_uint32, 0xA694)] +@partial_struct +class cGcPlayerVehicleOwnership(Structure): + # Found in cGcPlayerVehicleOwnership::cGcPlayerVehicleOwnership + mbShouldRefreshMesh: Annotated[bool, Field(c_bool, 0x740)] + + @function_hook( + "48 89 5C 24 ? 57 48 83 EC ? 33 FF 48 C7 41 ? ? ? ? ? 48 89 79 ? 48 B8" + ) + def cGcPlayerVehicleOwnership( + self, this: "_Pointer[cGcPlayerVehicleOwnership]" + ): ... + + +class cGcPlayerCreatureOwnership(Structure): + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 4C 24 ? 57 41 54 41 55 41 56 41 57 48 83 EC ? BB" + ) + def cGcPlayerCreatureOwnership( + self, this: "_Pointer[cGcPlayerCreatureOwnership]" + ): ... + + +class cGcPlayerMultitoolOwnership(Structure): + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? 45 33 FF 0F 29 74 24 ? 44 89 39" + ) + def cGcPlayerMultitoolOwnership( + self, this: "_Pointer[cGcPlayerMultitoolOwnership]" + ): ... + + +@partial_struct +class cGcPlayerFreighterOwnership(Structure): + _total_size_ = 0x4A0 + + @function_hook( + "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 33 F6 C7 41 ? ? ? ? ? 48 8D 05" + ) + def cGcPlayerFreighterOwnership( + self, this: "_Pointer[cGcPlayerFreighterOwnership]" + ): ... + + +@partial_struct +class cGcPlayerFleetManager(Structure): + _total_size_ = 0x3FB0 + + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 8D 05 ? ? ? ? C7 41 ? ? ? ? ? 48 89 01 48 8B D9" + ) + def cGcPlayerFleetManager(self, this: "_Pointer[cGcPlayerFleetManager]"): ... + + @partial_struct class cGcGameState(Structure): + # Found in cGcGameState::cGcGameState mPlayerState: Annotated[cGcPlayerState, 0xA950] - # Found in cGcGameState::Update + mSavedSpawnState: Annotated[nmse.cGcPlayerSpawnStateData, 0xA2AF0] mPlayerShipOwnership: Annotated[cGcPlayerShipOwnership, 0xA2BD0] + mPlayerVehicleOwnership: Annotated[cGcPlayerVehicleOwnership, 0xAD270] + mPlayerCreatureOwnership: Annotated[cGcPlayerCreatureOwnership, 0xAD9C0] + mPlayerMultitoolOwnership: Annotated[cGcPlayerMultitoolOwnership, 0x1C7E20] + mPlayerFreighterOwnership: Annotated[cGcPlayerFreighterOwnership * 4, 0x1CDE60] + mPlayerFleetManager: Annotated[cGcPlayerFleetManager * 4, 0x1CF0E0] + mRNG: Annotated[cTkPersonalRNG, 0x1DEFA4] + + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? C7 41" + ) + def cGcGameState(self, this: "_Pointer[cGcGameState]"): ... @function_hook("48 89 5C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 88 54 24") def OnSaveProgressCompleted( @@ -490,25 +596,17 @@ def Construct( @partial_struct -class GcEnvironmentProperties(Structure): - AtmosphereEndHeight: Annotated[float, Field(c_float, 0x1C)] - AtmosphereStartHeight: Annotated[float, Field(c_float, 0x20)] - SkyAtmosphereHeight: Annotated[float, Field(c_float, 0x5C)] - StratosphereHeight: Annotated[float, Field(c_float, 0x78)] - - -@partial_struct -class cGcDiscoveryData(Structure): ... - - -@partial_struct -class GcPlanetSkyProperties(Structure): ... +class cGcDiscoveryData(Structure): + mUniverseAddress: Annotated[c_uint64, 0x0] + meType: Annotated[c_enum32[enums.cGcDiscoveryType], 0x40] @partial_struct class cGcPlanet(Structure): - _total_size_ = 0xD9060 + # This is found in cGcSolarSystem::cGcSolarSystem near the call to cGcPlanet::cGcPlanet + _total_size_ = 0xD9070 # Most of these found in cGcPlanet::Construct or cGcPlanet::cGcPlanet + mPlanetDiscoveryData: Annotated[cGcDiscoveryData, 0x8] miPlanetIndex: Annotated[int, Field(c_int32, 0x50)] mPlanetData: Annotated[nmse.cGcPlanetData, 0x60] # TODO: This field follows directly after the above one. Once we have the cGcPlanetData struct mapped @@ -520,8 +618,8 @@ class cGcPlanet(Structure): mRingNode: Annotated[basic.TkHandle, 0xD73E4] mPosition: Annotated[basic.Vector3f, 0xD73F0] - mpEnvProperties: Annotated[_Pointer[GcEnvironmentProperties], 0xD9058] - mpSkyProperties: Annotated[_Pointer[GcPlanetSkyProperties], 0xD9060] + mpEnvProperties: Annotated[_Pointer[nmse.cGcEnvironmentProperties], 0xD9058] + mpSkyProperties: Annotated[_Pointer[nmse.cGcPlanetSkyProperties], 0xD9060] @function_hook( "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? 45 33 FF 48 C7 41 ? ? ? ? ? 44 89 79" @@ -566,7 +664,7 @@ def UpdateWeather( class cGcSolarSystem(Structure): # These can be found in cGcSolarSystem::cGcSolarSystem mSolarSystemData: Annotated[nmse.cGcSolarSystemData, 0x0] - maPlanets: Annotated[list["cGcPlanet"], Field(cGcPlanet * 6, 0x2630)] + maPlanets: Annotated[tuple[cGcPlanet, ...], Field(cGcPlanet * 6, 0x2630)] # Found in cGcPlayerState::StoreCurrentSystemSpaceStationEndpoint mSpaceStationNode: Annotated[basic.TkHandle, 0x51C068] @@ -665,9 +763,14 @@ def UpdateRender(self, this: "_Pointer[cGcEnvironment]"): class cGcSimulation(Structure): # Found in cGcSimulation::Update. Passed into cGcEnvironment::Update. mEnvironment: Annotated[cGcEnvironment, 0xAF790] - mPlayer: Annotated[cGcPlayer, 0x24DE40] # Found in cGcSimulation::Update. Passed into cGcSolarSystem::Update. mpSolarSystem: Annotated[_Pointer[cGcSolarSystem], 0x24C670] + mPlayer: Annotated[cGcPlayer, 0x24DE40] + + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 0F 29 74 24 ? 48 8B F9 E8 ? ? ? ? 48 8D 8F" + ) + def cGcSimulation(self, this: "_Pointer[cGcSimulation]"): ... @function_hook( "48 89 5C 24 ? 55 56 57 41 54 41 55 41 56 41 57 48 8D 6C 24 ? 48 81 EC ? ? ? ? 45 33 FF" @@ -683,7 +786,104 @@ def Update( ): ... -class cGcPlayerHUD(Structure): +@partial_struct +class cGcHUDLayer(Structure): + # This is unchanged from 4.13 + _total_size_ = 0xB0 + + mpData: Annotated[_Pointer[nmse.cGcHUDLayerData], 0xA0] + + +@partial_struct +class cGcHUDImage(Structure): + # This is unchanged from 4.13 + _total_size_ = 0xD0 + + mpData: Annotated[_Pointer[nmse.cGcHUDImageData], 0x90] + mColourStart: Annotated[basic.Colour, 0xA0] + mColourEnd: Annotated[basic.Colour, 0xB0] + + +@partial_struct +class cGcHUDText(Structure): + # This is unchanged from 4.13 + _total_size_ = 0x280 + + mBuffer: Annotated[basic.cTkFixedWString0x100, 0x0] + mpData: Annotated[_Pointer[nmse.cGcHUDTextData], 0x270] + + +@partial_struct +class cGcHUD(Structure): + # This is unchanged from 4.13 + _total_size_ = 0x20040 + maLayers: Annotated[cGcHUDLayer * 0x80, 0x10] + miNumLayers: Annotated[int, Field(c_int32, 0x5810)] + maImages: Annotated[cGcHUDImage * 0x80, 0x5820] + miNumImages: Annotated[int, Field(c_int32, 0xC020)] + maTexts: Annotated[cGcHUDText * 0x80, 0xC030] + miNumTexts: Annotated[int, Field(c_int32, 0x20030)] + + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? 33 ED 4C 8B F1" + ) + def cGcHUD(self, this: "_Pointer[cGcHUD]"): ... + + +@partial_struct +class cGcMarkerPoint(Structure): + # Size found in the vector allocator in cGcMarkerList::TryAddMarker + _total_size_ = 0x260 + # Found in cGcMarkerPoint::Reset + mPosition: Annotated[basic.cTkPhysRelVec3, 0x0] + mCenterOffset: Annotated[basic.Vector3f, 0x20] + mCustomName: Annotated[basic.cTkFixedString[0x40], 0x38] + mCustomSubtitle: Annotated[basic.cTkFixedString[0x80], 0x78] + mNode: Annotated[basic.TkHandle, 0x104] + mModelNode: Annotated[basic.TkHandle, 0x108] + meBuildingClass: Annotated[ + c_enum32[enums.cGcBuildingClassification], + Field(c_enum32[enums.cGcBuildingClassification], 0x118), + ] + + @static_function_hook("40 53 48 83 EC ? 33 C0 0F 57 C0 0F 11 01 48 8B D9") + @staticmethod + def cGcMarkerPoint(address: c_uint64): + """Construct an instance of the cGcMarkerPoint at the provided address""" + ... + + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC ? 0F 28 05 ? ? ? ? 48 8D 79" + ) + def Reset(self, this: "_Pointer[cGcMarkerPoint]"): ... + + +@partial_struct +class cGcHUDMarker(Structure): + _total_size_ = 0x1610 + + mColour: Annotated[basic.Colour, 0x0] + mData: Annotated[cGcMarkerPoint, 0x10] + + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 48 8B F1 48 83 C1" + ) + def cGcHUDMarker(self, this: "_Pointer[cGcHUDMarker]"): ... + + +@partial_struct +class cGcPlayerHUD(cGcHUD): + mHelmetGUI: Annotated[cGcNGui, 0x20040] + mCrosshairGui: Annotated[cGcNGui, 0x20498] + mHelmetLines: Annotated[cGcNGui, 0x208F0] + mQuickMenu: Annotated[cGcNGuiLayer, 0x20D50] + maMarkers: Annotated[cGcHUDMarker * 0x80, 0x20F50] + + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 0F 29 74 24 ? 48 8B F9 E8 ? ? ? ? 48 8D 9F" + ) + def cGcPlayerHUD(self, this: "_Pointer[cGcPlayerHUD]"): ... + @function_hook("48 8B C4 55 57 48 8D 68 ? 48 81 EC ? ? ? ? 48 8B 91") def RenderIndicatorPanel(self, this: "_Pointer[cGcPlayerHUD]"): ... @@ -698,10 +898,25 @@ def RenderWeaponPanel(self, this: "_Pointer[cGcPlayerHUD]"): ... def RenderCrosshair(self, this: "_Pointer[cGcPlayerHUD]"): ... +class cGcQuickMenu(Structure): + @function_hook( + "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 48 8D 79 ? 48 8B E9" + ) + def cGcQuickMenu(self, this: "_Pointer[cGcQuickMenu]"): ... + + @partial_struct class cGcHUDManager(Structure): + # Found in cGcHUDManager::cGcHUDManager mPlayerHUD: Annotated[cGcPlayerHUD, 0xA0] mShipHUD: Annotated[cGcShipHUD, 0xE5CC0] + mQuickMenu: Annotated[cGcQuickMenu, 0x10E450] + mChargingInventory: Annotated[cGcInventoryStore, 0x11CDF0] + + @function_hook( + "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 33 F6 48 8D 59 ? 48 89 71" + ) + def cGcHUDManager(self, this: "_Pointer[cGcHUDManager]", a2: c_bool): ... @partial_struct @@ -754,34 +969,6 @@ def Fire( ): ... -@partial_struct -class cGcMarkerPoint(Structure): - # Size found in the vector allocator in cGcMarkerList::TryAddMarker - _total_size_ = 0x260 - # Found in cGcMarkerPoint::Reset - mPosition: Annotated[basic.cTkPhysRelVec3, 0x0] - mCenterOffset: Annotated[basic.Vector3f, 0x20] - mCustomName: Annotated[basic.cTkFixedString[0x40], 0x38] - mCustomSubtitle: Annotated[basic.cTkFixedString[0x80], 0x78] - mNode: Annotated[basic.TkHandle, 0x104] - mModelNode: Annotated[basic.TkHandle, 0x108] - meBuildingClass: Annotated[ - c_enum32[enums.cGcBuildingClassification], - Field(c_enum32[enums.cGcBuildingClassification], 0x118), - ] - - @static_function_hook("40 53 48 83 EC ? 33 C0 0F 57 C0 0F 11 01 48 8B D9") - @staticmethod - def cGcMarkerPoint(address: c_uint64): - """Construct an instance of the cGcMarkerPoint at the provided address""" - ... - - @function_hook( - "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC ? 0F 28 05 ? ? ? ? 48 8D 79" - ) - def Reset(self, this: "_Pointer[cGcMarkerPoint]"): ... - - @partial_struct class cGcMarkerList(Structure): maMarkerObjects: Annotated[ @@ -1324,6 +1511,9 @@ def Eject( @partial_struct class cGcSpaceshipWarp(Structure): + mePulseDriveState: Annotated[c_enum32[enums.EPulseDriveState], 0xA4] + mfPulseDriveTimer: Annotated[float, Field(c_float, 0xB4)] + mfPulseDriveFuelTimer: Annotated[float, Field(c_float, 0xB8)] mfPulseDriveTimer: Annotated[float, Field(c_float, 0x1A8)] mfPulseDriveFuelTimer: Annotated[float, Field(c_float, 0x1AC)] diff --git a/pyproject.toml b/pyproject.toml index 141dbce..da67e3f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,7 +26,7 @@ classifiers = [ dependencies = [ "pymhf[gui]>=0.2.1" ] -version = "156355.0" +version = "157371.0" [dependency-groups] dev = [ diff --git a/tools/create.py b/tools/create.py index 10dbc44..e9b78f1 100644 --- a/tools/create.py +++ b/tools/create.py @@ -11,6 +11,9 @@ ) +DRYRUN = False + + def ruff_format(source: str) -> str: result = subprocess.run( [find_ruff_bin(), "format", source], @@ -32,6 +35,7 @@ def ruff_format(source: str) -> str: eStormState, eLanguageRegion, EnvironmentLocation, + EPulseDriveState, ) # The following list is auto-generated. @@ -140,12 +144,45 @@ def pythonise_type(class_name: str, field_info: FieldData, force_ctypes: bool = type_ = field_info["Type"] generic_type_args = field_info.get("GenericTypeArgs") field_name = field_info["Name"] + array_size = field_info.get("Array_Size") if force_ctypes is False: - # In this case, we can return a python type + # In this case, we can return a python type. + # First check whether we have an array type. If so then return the type as a tuple with some + # unspecified number of elements. if (pytype_val := PYTYPES_MAPPING.get(type_)) is not None: - return cst.Name(value=pytype_val) + if array_size is not None: + return cst.Subscript( + value=cst.Name(value="tuple"), + slice=[ + cst.SubscriptElement(slice=cst.Index(value=cst.Name(value=pytype_val))), + cst.SubscriptElement(slice=cst.Index(value=cst.Ellipsis())), + ] + ) + else: + return cst.Name(value=pytype_val) + elif array_size is not None: + if type_ in BASIC_TYPES: + first_element = cst.Attribute(value=cst.Name(value="basic"), attr=cst.Name(value=type_)) + elif type_ in ENUM_STRUCTS: + first_element = cst.Attribute(value=cst.Name(value="enums"), attr=cst.Name(value=type_)) + else: + first_element = cst.Name(value=type_) + return cst.Subscript( + value=cst.Name(value="tuple"), + slice=[ + cst.SubscriptElement(slice=cst.Index(value=first_element)), + cst.SubscriptElement(slice=cst.Index(value=cst.Ellipsis())), + ] + ) if (ctype_val := CTYPES_MAPPING.get(type_)) is not None: - return cst.Attribute(value=cst.Name(value="ctypes"), attr=cst.Name(value=ctype_val)) + obj = cst.Attribute(value=cst.Name(value="ctypes"), attr=cst.Name(value=ctype_val)) + if array_size is not None: + return cst.BinaryOperation( + left=obj, + operator=cst.Multiply(), + right=cst.Integer(value=str(array_size)) + ) + return obj elif type_ in BASIC_TYPES: if generic_type_args is not None: elements = [] @@ -186,15 +223,29 @@ def pythonise_type(class_name: str, field_info: FieldData, force_ctypes: bool = else: value = cst.Name(value=gtype) elements.append(cst.SubscriptElement(slice=cst.Index(value=value))) - return cst.Subscript( + obj = cst.Subscript( value=cst.Attribute(value=cst.Name(value="basic"), attr=cst.Name(value=type_)), slice=elements, ) + if array_size is not None: + return cst.BinaryOperation( + left=obj, + operator=cst.Multiply(), + right=cst.Integer(value=str(array_size)) + ) + return obj else: - return cst.Attribute(value=cst.Name(value="basic"), attr=cst.Name(value=type_)) + obj = cst.Attribute(value=cst.Name(value="basic"), attr=cst.Name(value=type_)) + if array_size is not None: + return cst.BinaryOperation( + left=obj, + operator=cst.Multiply(), + right=cst.Integer(value=str(array_size)) + ) + return obj elif type_ in ENUM_STRUCTS: # Enums need to be wrapped in a c_enum32 generic type. - return cst.Subscript( + obj = cst.Subscript( value=cst.Name(value="c_enum32"), slice=[ cst.SubscriptElement( @@ -207,6 +258,13 @@ def pythonise_type(class_name: str, field_info: FieldData, force_ctypes: bool = ) ] ) + if array_size is not None: + return cst.BinaryOperation( + left=obj, + operator=cst.Multiply(), + right=cst.Integer(value=str(array_size)) + ) + return obj elif type_ == "ENUM": # For the inline enums, we need to create a c_enum32 like above, but with a # constructed name. @@ -221,7 +279,14 @@ def pythonise_type(class_name: str, field_info: FieldData, force_ctypes: bool = ] ) # Must be another struct (hopefully) already defined. - return cst.Name(value=type_) + obj = cst.Name(value=type_) + if array_size is not None: + return cst.BinaryOperation( + left=obj, + operator=cst.Multiply(), + right=cst.Integer(value=str(array_size)) + ) + return obj def create_enum(enum_name: str, enum_fields: list[tuple[str, int]], inline: bool = False): @@ -257,40 +322,68 @@ def convert_field(class_name: str, field: FieldData) -> Union[ cst.SimpleStatementLine, tuple[cst.ClassDef, cst.SimpleStatementLine] ]: - field_line = cst.SimpleStatementLine( - body=[ - cst.AnnAssign( - target=cst.Name(value=field["Name"]), - annotation=cst.Annotation( - annotation=cst.Subscript( - value=cst.Name(value="Annotated"), - slice=[ - cst.SubscriptElement( - slice=cst.Index( - value=pythonise_type(class_name, field, False) + ctypetype = pythonise_type(class_name, field) + pytype = pythonise_type(class_name, field, False) + if pytype.deep_equals(ctypetype): + field_line = cst.SimpleStatementLine( + body=[ + cst.AnnAssign( + target=cst.Name(value=field["Name"]), + annotation=cst.Annotation( + annotation=cst.Subscript( + value=cst.Name(value="Annotated"), + slice=[ + cst.SubscriptElement( + slice=cst.Index( + value=ctypetype, + ) + ), + cst.SubscriptElement( + slice=cst.Index( + value=cst.Integer(value=upper_hex(field["Offset"])) + ) ) - ), - cst.SubscriptElement( - slice=cst.Index( - value=cst.Call( - func=cst.Name(value="Field"), - args=[ - cst.Arg( - value=pythonise_type(class_name, field) - ), - cst.Arg( - value=cst.Integer(value=upper_hex(field["Offset"])) - ) - ] + ] + ) + ) + ) + ] + ) + else: + field_line = cst.SimpleStatementLine( + body=[ + cst.AnnAssign( + target=cst.Name(value=field["Name"]), + annotation=cst.Annotation( + annotation=cst.Subscript( + value=cst.Name(value="Annotated"), + slice=[ + cst.SubscriptElement( + slice=cst.Index( + value=pytype, + ) + ), + cst.SubscriptElement( + slice=cst.Index( + value=cst.Call( + func=cst.Name(value="Field"), + args=[ + cst.Arg( + value=ctypetype, + ), + cst.Arg( + value=cst.Integer(value=upper_hex(field["Offset"])) + ) + ] + ) ) ) - ) - ] + ] + ) ) ) - ) - ] - ) + ] + ) if field["Type"] == "ENUM": # We need to also create an inline enum. return (create_enum(f"e{field['Name']}Enum", field.get("Enum_Values", []), True), field_line,) @@ -520,24 +613,25 @@ def handle_dependencies(data: list[dict]) -> list[dict]: data_module_body.append(create_class(name, fields)) enum_module = cst.Module(body=enum_module_body) data_module = cst.Module(body=data_module_body) - # Get the generated code - with open(op.join(NMSPY_DATA_DIR, "enums", "external_enums.py"), "w") as f: - f.write("# ruff: noqa: E741\n") - f.write(enum_module.code) - ruff_format(op.join(NMSPY_DATA_DIR, "enums", "external_enums.py")) - - print("Wrote enum data") - with open(op.join(NMSPY_DATA_DIR, "exported_types.py"), "w") as f: - f.write(data_module.code) - ruff_format(op.join(NMSPY_DATA_DIR, "exported_types.py")) - - print("Wrote struct data") - with open(op.join(NMSPY_DATA_DIR, "enums", "__init__.py"), "w") as f: - f.write(ENUM_IMPORT_START) - f.write("from .external_enums import (\n") - for struct in struct_data: - if struct.get("EnumClass") is True: - f.write(f" {struct['Name']},\n") - f.write(")\n") - ruff_format(op.join(NMSPY_DATA_DIR, "enums", "__init__.py")) - print("wrote enum imports") + # Generate the code if not doing a dry run. + if not DRYRUN: + with open(op.join(NMSPY_DATA_DIR, "enums", "external_enums.py"), "w") as f: + f.write("# ruff: noqa: E741\n") + f.write(enum_module.code) + ruff_format(op.join(NMSPY_DATA_DIR, "enums", "external_enums.py")) + + print("Wrote enum data") + with open(op.join(NMSPY_DATA_DIR, "exported_types.py"), "w") as f: + f.write(data_module.code) + ruff_format(op.join(NMSPY_DATA_DIR, "exported_types.py")) + + print("Wrote struct data") + with open(op.join(NMSPY_DATA_DIR, "enums", "__init__.py"), "w") as f: + f.write(ENUM_IMPORT_START) + f.write("from .external_enums import (\n") + for struct in struct_data: + if struct.get("EnumClass") is True: + f.write(f" {struct['Name']},\n") + f.write(")\n") + ruff_format(op.join(NMSPY_DATA_DIR, "enums", "__init__.py")) + print("wrote enum imports") diff --git a/tools/data.json b/tools/data.json index 602a109..c6a379f 100644 --- a/tools/data.json +++ b/tools/data.json @@ -778,5 +778,85 @@ "name": "cGcSpaceshipWarp::UpdatePulseDrive", "signature": "F3 0F 11 4C 24 ? 55 57 41 56 48 8D AC 24 ? ? ? ? 48 81 EC ? ? ? ? 80 3D", "mangled_name": "?UpdatePulseEncounters@cGcPlayerExperienceDirector@@AEAAXM@Z" + }, + { + "name": "cGcRealityManager::cGcRealityManager", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 8B F9 33 ED 48 89 A9", + "mangled_name": "??0cGcRealityManager@@QEAA@XZ" + }, + { + "name": "cGcGameState::cGcGameState", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? C7 41", + "mangled_name": "??0cGcGameState@@QEAA@XZ" + }, + { + "name": "cGcPlayerState::cGcPlayerState", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 4C 24 ? 57 41 54 41 55 41 56 41 57 48 83 EC ? 45 33 FF", + "mangled_name": "??0cGcPlayerState@@QEAA@XZ" + }, + { + "name": "cGcInventoryStore::cGcInventoryStore", + "signature": "48 89 5C 24 ? 57 48 83 EC ? 33 FF 0F 57 C0 0F 11 01 48 8B D9 0F 11 41 ? 0F 11 41 ? 0F 11 41", + "mangled_name": "??0cGcInventoryStore@@QEAA@XZ" + }, + { + "name": "cGcPlayerShipOwnership::cGcPlayerShipOwnership", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 54 41 56 41 57 48 83 EC ? 45 33 E4 48 C7 41", + "mangled_name": "??0cGcPlayerShipOwnership@@QEAA@XZ" + }, + { + "name": "cGcPlayerVehicleOwnership::cGcPlayerVehicleOwnership", + "signature": "48 89 5C 24 ? 57 48 83 EC ? 33 FF 48 C7 41 ? ? ? ? ? 48 89 79 ? 48 B8", + "mangled_name": "??0cGcPlayerVehicleOwnership@@QEAA@XZ" + }, + { + "name": "cGcPlayerCreatureOwnership::cGcPlayerCreatureOwnership", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 4C 24 ? 57 41 54 41 55 41 56 41 57 48 83 EC ? BB", + "mangled_name": "__ZN26cGcPlayerCreatureOwnershipC2Ev" + }, + { + "name": "cGcPlayerMultitoolOwnership::cGcPlayerMultitoolOwnership", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? 45 33 FF 0F 29 74 24 ? 44 89 39", + "mangled_name": "__ZN27cGcPlayerMultitoolOwnershipC2Ev" + }, + { + "name": "cGcPlayerFreighterOwnership::cGcPlayerFreighterOwnership", + "signature": "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 33 F6 C7 41 ? ? ? ? ? 48 8D 05", + "mangled_name": "__ZN27cGcPlayerFreighterOwnershipC2Ev" + }, + { + "name": "cGcPlayerFleetManager::cGcPlayerFleetManager", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 48 83 EC ? 48 8D 05 ? ? ? ? C7 41 ? ? ? ? ? 48 89 01 48 8B D9", + "mangled_name": "__ZN21cGcPlayerFleetManagerC1Ev" + }, + { + "name": "cGcSimulation::cGcSimulation", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 0F 29 74 24 ? 48 8B F9 E8 ? ? ? ? 48 8D 8F", + "mangled_name": "??0cGcSimulation@@QEAA@XZ" + }, + { + "name": "cGcHUDManager::cGcHUDManager", + "signature": "48 89 5C 24 ? 48 89 74 24 ? 57 48 83 EC ? 33 F6 48 8D 59 ? 48 89 71", + "mangled_name": "??0cGcHUDManager@@QEAA@XZ" + }, + { + "name": "cGcPlayerHUD::cGcPlayerHUD", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 0F 29 74 24 ? 48 8B F9 E8 ? ? ? ? 48 8D 9F", + "mangled_name": "??0cGcPlayerHUD@@QEAA@XZ" + }, + { + "name": "cGcHUD::cGcHUD", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 57 41 56 41 57 48 83 EC ? 33 ED 4C 8B F1", + "mangled_name": "??0cGcHUD@@QEAA@XZ" + }, + { + "name": "cGcHUDMarker::cGcHUDMarker", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 48 8B F1 48 83 C1", + "mangled_name": "??0cGcHUDMarker@@QEAA@XZ" + }, + { + "name": "cGcQuickMenu::cGcQuickMenu", + "signature": "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 56 48 83 EC ? 48 8D 79 ? 48 8B E9", + "mangled_name": "??0cGcQuickMenu@@QEAA@XZ" } ] \ No newline at end of file diff --git a/uv.lock b/uv.lock index 71595fe..336e737 100644 --- a/uv.lock +++ b/uv.lock @@ -643,7 +643,7 @@ wheels = [ [[package]] name = "nmspy" -version = "156355.0" +version = "157371.0" source = { editable = "." } dependencies = [ { name = "pymhf", extra = ["gui"] },