-
-
Notifications
You must be signed in to change notification settings - Fork 682
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
Unit Test for Smoothing (and fixes for some uncaught issues) #10066
Unit Test for Smoothing (and fixes for some uncaught issues) #10066
Conversation
I realized there's just gonna be a ton of these PRs if I don't do something smart. I'm gonna write a unit test locally so I can narrow down everything that iis broke by that initial smoothing PR in one fell swoop. |
The Unit Test is now removed from this PR, making another PR with a better variant to cover all atoms that smooth. |
Having a unit test that only tests for computer smoothing is better than having no smoothing test at all. |
Then I guess I can draft this till I can resolve @itsmeow 's issue with it |
I don't see what the issue was, having a check that only runs specifically for computer smoothing since computers have additional requirements that normal smoothing doesn't have is fine. If other checks can be moved out to other smoothed atoms, then that can be done later on. |
The unit test only tests for smoothing_groups being null and not NONE for subtypes of computers, not subtypes of computers having icons at all. That's what the problem was, it's a code test not a function test. |
Yeah, that was pretty much the main issue with it. It couldn't be translated to other atoms and it could have false positives if someone else made a subtype have their own special smoothing icon and state names. |
I'm thinking this next test may need to use icon procs to scan all possible icons that can smooth- and iterate through every single subtype of atom quickly checking if they have smoothing flags. |
@PowerfulBacon @itsmeow I need another opinion on this: |
Turfs don't unregister their signals when they change, the signals and components (should) be transfered to the new turf and then the component/element is responsible for removing itself on turf change. What's the exact issue you are having with them? |
|
365bc2d
to
b04147c
Compare
I figured out my massive skill issue behind why turfs and stuff were complaining (Note to self; turfs are 1000% different to everything else, not just 100%) PR should be ready soon as I put the finishing polishes on it. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
…ToLoLu/BeeStation-Hornet into more-fixes-for-computers-guh
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
About The Pull Request
The sequel to #9834
It's finally here after 2 months
Adds a unit test for icon smoothing, which goes through every single turf and obj to see if they have a smoothing mode enabled. If they do, the test initializes an atom of that path so that it can check if there's any issues that may arise, such as missing icon states, bad list order for caching, etcetera.
Managed to find and fix a few bugs as a result of this test being made.
Why It's Good For The Game
The Unit Test can prevent any further issues with smoothing from going undetected, making it easier and faster to spot any issues related to Icon Smoothing behaviours.
Testing Photographs and Procedure
De-invisibilizing Stuff
/obj/machinery/computer/bank_machine
/obj/machinery/computer/
, from left to right:cryopod
pod/old
pandemic
shuttle_flight/syndicate/drop_pod
The rest of the fixes
Clockcult Walls (
/turf/closed/wall/clockwork
)Alien Weeds and Nodes (
/obj/structure/alien/weeds
and/obj/structure/alien/weeds/node
respectively)StrongDMM
Still Working in game
Ashplanet plating (Rock and Ash shown,
/turf/open/floor/plating/ashplanet
and/turf/open/floor/plating/ashplanet/rocky
respectively)Vault Wall not smoothing because it can't (
/turf/closed/wall/vault
)Jungle chasms (
/turf/open/chasm/jungle
)These falsewalls and mineral walls smooth once again:
2023-12-26.21-58-54.mp4
Rock wall (
/turf/closed/mineral/ash_rock
)The Advanced Camera and Xeno Arch Consoles
Discovered a bug in each of these consoles' destroy logic;
The Advanced Camera Console:
The Bug
2023-12-26.22-48-23.mp4
Fixed in this PR
2023-12-26.23-00-08.mp4
The Xeno Archeology Console:
The Bug
2023-12-26.22-44-14.mp4
Fixed in this PR
2023-12-26.22-59-14.mp4
Changelog
/:cl:
code: There is now a Unit Test for Icon Smoothing
fix: The following computers are now visible: Bank Machines, Cryopod Console, Old pod terminals, Pandemic 3000s, and Syndicate Droppod computers.
fix: Alien weeds, Alien nodes and Jungle Chasms now appear correctly in the map editor.
fix: The Advanced Camera and Xeno Archeology consoles no longer runtime under certain conditions.
fix: Copper, Bamboo and Clockwork walls/falsewalls have working smoothing values.
fix: Copper falsewalls stay visible when used.
fix: Bamboo falsewalls are now visible.
fix: Resolved a small visual issue on Bamboo and Titanium falsewalls when used.
fix: Clockwork walls now appear smooth when in line of sight
fix: Ash rock walls now actually show up
/:cl: