Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HolopadSystem needs work #34873

Open
metalgearsloth opened this issue Feb 4, 2025 · 0 comments
Open

HolopadSystem needs work #34873

metalgearsloth opened this issue Feb 4, 2025 · 0 comments
Labels
A: General Interactions Area: General in-game interactions that don't relate to another area. D2: Medium Difficulty: A good amount of codebase knowledge required. P3: Standard Priority: Default priority for repository items. S: Requires Content PR Status: Requires a change to SS14, for which there is no open PR currently. T: Cleanup Type: Code clean-up, without being a full refactor or feature

Comments

@metalgearsloth
Copy link
Contributor

Image

Top 3 content contender atm. Also the code currently does not support loading.

tl;dr is it doesn't work with persistence and is very slow.

Issues:

  • It's using an update timer which is bad and breaks save/load.
  • It's always updating UI state globally even if nothing is using holopads.
  • It's allocating an entire dictionary separately for every holopad whenever they update.
  • GetLinkedHolopads is allocating an entirely new set every single time.
  • IsSourceInRangeOfReceiver is being called twice in telephonesystem when the check is the exact same between the two for the second half of it.
  • RequiresPower is just duplicating NeedsPower.
  • The timespans aren't considering pause (though they're not being used as datafields so I imagine if it gets saved midcall it just leaves a dangling entity around?)
  • None of the stateful data is using datafields so holopads won't function if you save and load a postinit map.

There's more but these are just some examples for reference.

@github-actions github-actions bot added the S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. label Feb 4, 2025
@lzk228 lzk228 added P3: Standard Priority: Default priority for repository items. T: Cleanup Type: Code clean-up, without being a full refactor or feature D2: Medium Difficulty: A good amount of codebase knowledge required. A: General Interactions Area: General in-game interactions that don't relate to another area. S: Requires Content PR Status: Requires a change to SS14, for which there is no open PR currently. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Feb 5, 2025
@chromiumboy chromiumboy mentioned this issue Feb 6, 2025
9 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: General Interactions Area: General in-game interactions that don't relate to another area. D2: Medium Difficulty: A good amount of codebase knowledge required. P3: Standard Priority: Default priority for repository items. S: Requires Content PR Status: Requires a change to SS14, for which there is no open PR currently. T: Cleanup Type: Code clean-up, without being a full refactor or feature
Projects
None yet
Development

No branches or pull requests

2 participants