Skip to content

Telecomms saving#475

Merged
PsyCommando merged 2 commits intoPersistentSS13:devfrom
NataKilar:telecomms-saving
Nov 28, 2023
Merged

Telecomms saving#475
PsyCommando merged 2 commits intoPersistentSS13:devfrom
NataKilar:telecomms-saving

Conversation

@NataKilar
Copy link
Collaborator

Description of changes

Network telecomms now saves properly. Channels are wrapped as lists for rebuilding on load. Radios update their available channels through the receiver/transmit chain, so no additional handling is necessary on round start (outside of some encryption key hackiness).

While working on network access stuff, I went ahead and changed network ID interactions so that attack_self opens the login interface on network IDs, which is used far more than flashing the ID (which has been moved to a verb).

Authorship

Myself

Copy link
Collaborator

@PsyCommando PsyCommando left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I'm a bit wary of the wrapper and list code right now since we've had those pid mismatch this summer. I kinda wonder if in the future we couldn't just serialize those simpler types into json text and dump it into a custom saved var instead?

Cause, the wrapper stuff is a tiny bit hacky and hard to debug. And like if we keep adding new wrapper types we'll end up significantly increasing memory usage and processing for something arguably a little more convenient than json?

I'll approve this, since it seems fine. But just some food for thoughts.

@PsyCommando PsyCommando added the 💾 serialization A bug or feature linked to serialization/deserialization label Nov 28, 2023
@PsyCommando PsyCommando added this to the Outreach Map Release milestone Nov 28, 2023
@PsyCommando PsyCommando merged commit 93f1524 into PersistentSS13:dev Nov 28, 2023
@NataKilar
Copy link
Collaborator Author

Hmm, I'm a bit wary of the wrapper and list code right now since we've had those pid mismatch this summer. I kinda wonder if in the future we couldn't just serialize those simpler types into json text and dump it into a custom saved var instead?

Cause, the wrapper stuff is a tiny bit hacky and hard to debug. And like if we keep adding new wrapper types we'll end up significantly increasing memory usage and processing for something arguably a little more convenient than json?

I'll approve this, since it seems fine. But just some food for thoughts.

I agree in general, unneccesary wrappers should be avoided. I don't recall the exact reason why I used a wrapper here, but I believe it's because it stopped us from having to mess with core Initialization code for the telecomms machine, which is the only place channels are saved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

💾 serialization A bug or feature linked to serialization/deserialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants