Skip to content

Name the GSS Generic event and shared struct fields from the 1962 client - #23

Open
eXpl0it3r wants to merge 26 commits into
feature/1962-names-character-eventsfrom
feature/1962-names-generic-shared
Open

eXpl0it3r wants to merge 26 commits into
feature/1962-names-character-eventsfrom
feature/1962-names-generic-shared

Conversation

@eXpl0it3r

Copy link
Copy Markdown
Contributor

Names the fields of the Generic events and commands (scoreboard, bounty acks, missions, dialog, sounds, global counters, loadouts, encounter UI) and of the shared structs used by the entity views and controllers (forced movement, process delay, scope bubble, attachments, loot objects, vehicle hardpoints). New enums BountyType, UiNotificationArgType, MatchLoadingFlags, TrailStatus and CachedAssetSdbType, and SinCardFieldData gets its Reset and Empty types.

EncounterUIUpdate.BlobData is now SinCardChanges, the stream format is described in the class. One small layout fix sneaks in here: ChatAltData_RequestPlayerStateDetails now reads the Data bytes its DataLength announces, before those were left unread.

No view shadow fields are renamed, so the generated *Prop properties and setters stay the same.

Migration

Compile breaks in PIN (all name-only), under UdpHosts/GameServer:

Type Old New Where
PlayDialogScriptMessage Unk1 Speakers Systems/Encounters/BaseEncounter.cs:56
EncounterUIUpdate BlobData SinCardChanges Systems/Encounters/EncounterManager.cs:242
ForcedMovementData Unk1, HaveUnk2 CommandId, HaveRelativeTo Controllers/Character/BaseController.cs:352, NetworkPlayer.cs:165, Systems/Admin/Commands/TeleportServerCommand.cs:37
WeaponIndexData Unk1 PreviousIndex Controllers/Character/CombatController.cs:121, Entities/Character/CharacterEntity.cs:349, :356, :1908
ProcessDelayData Unk1, Unk2 ChangeTime, DelayMs CharacterEntity.cs:1857, VehicleEntity.cs:625, TurretEntity.cs:111, :130
ScopeBubbleInfoData Unk2 VisibilityMask CharacterEntity, VehicleEntity, AreaVisualDataEntity, CarryableEntity, ThumperEntity, MeldingBubbleEntity, MeldingEntity, OutpostEntity
ActiveDataStruct Unk2 DurationMicro Entities/Melding/MeldingEntity.cs:38, Systems/EntityManager/EntityManager.cs:413 (left side only, melding.Unk2 is PIN's own model)
DeployableIdsData Unk1, Unk2 ComponentId, HardpointIndex Entities/Vehicle/VehicleEntity.cs:100-109
AttachedToData Unk2 Posture VehicleEntity.cs:519, :583, TurretEntity.cs:67, Systems/Admin/Commands/DebugAttachedToServerCommand.cs:39
ParticleEffect Unk10 StartTime Systems/Encounters/Encounters/LgvRace.cs:93

Renames, Generic:

Type Renames
CurrentLoadoutRequest Target to PlayerId
GlobalCounterRequest Unk to LeaderboardName
VotekickResponse DefendantId, ShouldKick
ArcCompletionHistoryUpdate Unk3 to CompletionCount
BountyActivationAck Category (Unk3, BountyCategory), BountyType (Unk4, BountyType), IsRare (Unk5), ExpirationTime (Unk6)
BountyClearAck, BountyClearPreviousAck, BountyListActiveAck Unk2 to Category
GlobalAnnouncementData StartTime, EndTime, ActionId, HaveAnnouncement/Announcement (HaveUnk10/Unk10)
GlobalAnnouncementDataType4 ChatTextId, BannerTextId, BannerStyle
CurrentLoadoutResponse PveLoadoutId (Unk2), PvpLoadoutId, LoadoutName
DisplayUiNotification Unk2 to Arguments
UiNotificationData Type (UiNotificationArgType), StringValue, UIntValue, FloatValue
EncounterUIUpdate BlobData to SinCardChanges
GlobalCounterMilestoneInfo LeaderboardMilestones, LeaderboardIndices
GCMilestoneInfo1 LeaderboardName, Milestones
GCMilestoneInfo1Inner1 Milestone, Message, AchievedAt
GCMilestoneInfo2 LeaderboardName, Index
GlobalCounterUpdate LeaderboardName, Counter
InteractableStatusChanged TypeCode, TypeId, IsInteractable
JobLedgerEntriesUpdate Unk to ArcIds
MatchLoadingState IsLoading, Players
MatchLoadingStateData Player (EntityId), Name, Flags (MatchLoadingFlags)
MissionObjectiveUpdated Unk3 to ProgressPct
MissionReturnToChanged Unk2 to Enabled
MissionsAvailable Unk2 to Npc
PlayDialogScriptMessage Unk1 to Speakers
StopDialogScriptMessage DialogId (Unk1), Interrupt (Unk3)
PlaySoundId SoundId, SourceEntity
PlaySoundIdAtLocation Unk1 to SoundId
ScoreBoardAddPlayer, ScoreBoardInitData Player (EntityId), ArmyId, Name, Team (Unk5), ChassisId, PvPRank, CharacterState, IsSquaded; ScoreBoardInitData also Stats (Unk11), EncounterStats (Unk12)
ScoreBoardInit Players (Unk1), UseArmyTeams (Unk5)
ScoreBoardData1 Unk1 to StatValues
ScoreBoardData3 XpRewardTypeId, Count, Xp
ScoreBoardEnable Unk1 to Enabled
ScoreBoardSetWinner Unk to WinningTeam
ScoreBoardUpdatePlayerStats HaveData to Version
ScoreBoardUpdatePlayerStatus Team (Unk1), PvPRank (Unk3), CharacterState, IsSquaded
SetClientDailyInfo RefreshTime, DailyMissionIds
ShoppingListData Unk2 to BlueprintId
SlotTech Unk to ItemSdbId
Trail Id, Status (TrailStatus)

Renames, shared structs and views:

Type Renames
AudioEmitterSpawned SoundId, Position, DurationSeconds
ParticleEffect Unk10 to StartTime
LootObjectData HaveFaction/Faction (HaveUnk3/Unk3), OriginOffset (Unk4), ItemModules (Unk7)
LootObjectUnkOptionalData Unk1 to FactionId
ContextFlag, ContextFlagData Id, Value
WeaponIndexData Unk1 to PreviousIndex
AttachedToData Unk2 to Posture
PermanentStatusEffectsInnerData Unk3 to TimestampMicro
EncounterPartyTupleData Unk1 to EncounterPartyId
CachedAssetsDeepData SdbType (CachedAssetSdbType), SdbIds
ArcStatusData ArcId (Unk2), PercentComplete (Unk4)
TimedDailyRewardResultData RewardIds, RewardQuantities, WonIndex
ActiveDataStruct Unk2 to DurationMicro
ScopeBubbleInfoData Unk2 to VisibilityMask
ForcedMovementData CommandId, HaveRelativeTo/RelativeTo
ForcedMovementType2Params Destination (Unk1), Up (Unk2), FixedSpeed (Unk5), VelocityType (Unk6)
ForcedMovementType3Params StartPosition, StartRotation, EndPosition, EndRotation, VerticalVelocity, Gravity, VelocityType, OrientationType (Unk3..Unk10)
ForcedMovementType4Params, ForcedMovementType8Params Unk1 to TargetPosition
Tether AnchorEntity, AnchorPosition
ProcessDelayData ChangeTime, DelayMs
PSDData PSDD_Unk1, PSDD_Unk2 to EncounterId, ArcId
GroupWaypoint_Data ZoneId, InstanceId
DeployableIdsData ComponentId, HardpointIndex
Vehicle.Event.DebugMovementUpdate Unk3 to Time

Where the table lists only the new names, they replace Unk1, Unk2, … in order.

… flag and visibility mask fields from the 1962 client
@eXpl0it3r
eXpl0it3r added this pull request to stack #20 September 29, 2026 07:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant