Skip to content

Absprache Einheitenstrang: PrerequisiteRole wird eine Bitmaske (Sprint 16, Paket 16.8) #63

Description

@cubetribe

Absprache mit @arn-c0de vor der Umsetzung — Simulation/Definitions/ ist geteiltes Terrain.

Was wir vorhaben

SimBuildingDefinition.PrerequisiteRole ist heute ein einzelnes Feld. Das Design nennt für sechs von neun Rollen Mehrfachvoraussetzungen. Wir wollen daraus eine Bitmaske über UnitRole machen.

Warum das dich betrifft

PrerequisiteRole geht in DefinitionsHash64 ein:

hash.WriteUInt8((byte)def.PrerequisiteRole)

Eine Formatänderung bewegt damit den Definitions-Hash — und den vergleicht der Relay serverseitig (RelayServerCore). Nach dieser Änderung passen alte und neue Builds nicht mehr zusammen, bis beide Seiten neu gebaut sind.

Praktisch heißt das: Wir legen das Paket vor den VPS-Rollout, solange der Relay nur lokal läuft. Und wir sagen dir das Merge-Fenster vorher an, damit du deinen Build zum selben Zeitpunkt neu ziehst.

Was wir von dir brauchen

Nur eine Rückmeldung, ob du an WeaponDefinition oder UnitDefinition in derselben Datei gerade etwas Offenes hast. Wenn ja, mergen wir nacheinander statt gleichzeitig.

Metadata

Metadata

Assignees

Labels

simulationSimulationskern, Determinismus, Netzcode

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions