Fix a bug where isActive could be seen to be different between engine and user access#150
Open
tiennou wants to merge 1 commit intoscreeps:masterfrom
Open
Fix a bug where isActive could be seen to be different between engine and user access#150tiennou wants to merge 1 commit intoscreeps:masterfrom
tiennou wants to merge 1 commit intoscreeps:masterfrom
Conversation
Author
|
As an extra data point, CPU usage of |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This is about #140, where the engine does the
isActivecheck one way and later, while in tick does it a different way, leading to a bunch of bugs where structures that should be active actually aren't and vice-versa.This is a slightly modified version of #107, updated to work on the latest version. The gist of it is that instead of doing
checkStructureAgainstControllerchecks, those are all made as part of the room processing logic, all at once, and set anoffproperty on the relevant objects (anything that's inSTRUCTURE_CONTROLLER, as part of a new_check_active_structuresintent. Then all uses of the old function are changed to look at thatoffproperty to decide whether they're actually active or not.This has been tested on a private server, console-boosting a room up to RCL8 then checking progressive lowering of the level, and appears to work properly.