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
ABCU: Blueprint rework, QOL, whitelist bugfix #16637
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
save gets counters.
github-actions
bot
added
the
size/XL
Denotes a PR that changes 500-999 lines, ignoring generated files.
label
Oct 25, 2023
keywordlabeler
bot
added
A-Game-Objects
The point of this PR is to deal with a specific game object
C-Code-Quality
Cleans up code, refactors things to be more readable or intuitive
C-QoL
A quality of life improvement that makes the game easier to play
labels
Oct 25, 2023
ZeWaka
requested changes
Oct 25, 2023
github-actions
bot
added
size/XXL
Denotes a PR that changes 1000+ lines, ignoring generated files.
and removed
size/XL
Denotes a PR that changes 500-999 lines, ignoring generated files.
labels
Oct 31, 2023
github-actions
bot
added
S-Merge-Conflict
Applied and removed when a PR has or no longer has a merge conflict
and removed
S-Merge-Conflict
Applied and removed when a PR has or no longer has a merge conflict
labels
Oct 31, 2023
kbsmilk
force-pushed
the
abcu-marker-rewrite
branch
from
November 5, 2023 23:04
7e42a5d
to
10d76c1
Compare
github-actions
bot
added
size/XL
Denotes a PR that changes 500-999 lines, ignoring generated files.
and removed
size/XXL
Denotes a PR that changes 1000+ lines, ignoring generated files.
labels
Nov 5, 2023
the diff was bad, the merge conflicts were bad, i think it made other devs groan. organizing this file is gonna get its own dedicated PR. |
github-actions
bot
added
S-Merge-Conflict
Applied and removed when a PR has or no longer has a merge conflict
and removed
S-Merge-Conflict
Applied and removed when a PR has or no longer has a merge conflict
labels
Nov 5, 2023
github-actions
bot
removed
the
S-Merge-Conflict
Applied and removed when a PR has or no longer has a merge conflict
label
Nov 7, 2023
ZeWaka
approved these changes
Nov 7, 2023
pali6
approved these changes
Nov 15, 2023
github-actions
bot
added
the
S-Ready-For-Final-Review
This PR has been looked over by members of the community. (automatic after 2 approvals)
label
Nov 15, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
A-Game-Objects
The point of this PR is to deal with a specific game object
C-Code-Quality
Cleans up code, refactors things to be more readable or intuitive
C-QoL
A quality of life improvement that makes the game easier to play
S-Ready-For-Final-Review
This PR has been looked over by members of the community. (automatic after 2 approvals)
size/XL
Denotes a PR that changes 500-999 lines, ignoring generated files.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[QOL] [CODE QUALITY] [GAME OBJECTS]
About the PR
Reworks blueprints. Old one was an obj that refs up to 1000 datums, gets used once, then discarded. Now, blueprints are a datum created on demand in the ABCU itself, which get left to GC upon replacement.
Blueprints can be printed to share with other players, temporarily or permanently. This is a new obj that only stores the savefile's path. Clients can use it on the ABCU to load that savefile, or on themselves to copy that savefile to their ckey folder.
File system-related procs were moved to be global, independent of datums, for organization and to facilitate usage by other code.
Whitelist and blacklist now work retroactively.
Adds a little more logging.
The terminal-like system used by the Blueprint Marker to select and manage savefiles, is gone. Replaced with searchable TGUI input lists across the board.
The code quality of the blueprint marker is largely untouched, and still in need of fixing. I left this to atomize, but I'm open to merging it with this PR.
Why's this needed?
Less duplicate code. Less memory usage. Blueprint sharing is fun. +QOL. Paves the way for silicons being able to use the ABCU.
Unfortunately this PR turned out larger than expected, but I didn't want to leave anything unfinished, unpolished, or needlessly removed.
Changelog