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

outlines for the stealth shader #1150

Merged
merged 9 commits into from
Dec 30, 2024

Conversation

ruddygreat
Copy link

@ruddygreat ruddygreat commented Dec 28, 2024

made invis actually invis, no more johnny bartender blasting the ninja frame 0
maybe don't merge immediately because I still want to do a bit of work on it (letting entities inside an invis thing see the thing they're inside & futzing with the outline colour), but it otherwise works fine.
actually feel free to merge it so I don't have to worry about fucking up anything surrounding #1146 while I do more work
actually actually anomalies will be completely invisible and trying to fix that has been driving me insane, maybe merge later

everything works properly finally!
ninjas, lings & cardboard boxes get the new shader, invisible anomalies will stay on the old shader

outline shader demo
visibility demo

Changelog
🆑

  • tweak: Invisibility is now fully invisible! an outline can be seen by the invisible entity, anything inside the entity & ghosts.

@ruddygreat
Copy link
Author

ruddygreat commented Dec 28, 2024

oops didn't mean to do that, should be fine still hopefully?

@Darkmajia
Copy link

this is really good work, but its showing the outline all the time for me: probably because i'm an admin on my localhost? this will probably also translate to in-game and admins definitely don't want to "see" invisibility when they're playing without deadminning. just ghost visibility would be fine

i know this isnt entirely the scope of this pr, but Stealth and StealthOnMove still have some networking issues between server and client that affect changeling. i could make it in a separate pr if you'd rather, but if you're up for it, could you pull the other datafield/component state updates from #1047?

@ruddygreat
Copy link
Author

oh yeah I can port those in, that was bothering me as well during testing & I wasn't sure what the issue actually was, ty!


SubscribeLocalEvent<StealthComponent, ComponentShutdown>(OnShutdown);
SubscribeLocalEvent<StealthComponent, ComponentStartup>(OnStartup);
SubscribeLocalEvent<StealthComponent, BeforePostShaderRenderEvent>(OnShaderRender);
}

//don't like doing this but it's the only good way to have the shader update as far as I can tell
//though there's probably a better way, been staring at this for a while and kinda just want to be done with it
//it works well, but it's not a very elegant solution

Choose a reason for hiding this comment

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

this is really scary but we can fix it at some point down the line (we are never going to fix this)

Copy link
Author

@ruddygreat ruddygreat Dec 30, 2024

Choose a reason for hiding this comment

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

it's not actually that bad since it's doing basically nothing, it just felt wierd to do
I'm like 90% sure I could just move it into handling the component state now that I think about it
edit - nvm the state handling should already be doing it this is some wierd shared / client split fuckery
edit 2 - I now have no idea why that actually works to fix it, programming is suffering, why did we teach rocks to think

Copy link

@Darkmajia Darkmajia left a comment

Choose a reason for hiding this comment

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

tested again and it seems to work good, im sure issues and feedback will crop up after its played with in real shifts but for now im slamming the thumbs up button

@Darkmajia Darkmajia merged commit e11fd3b into impstation:master Dec 30, 2024
4 checks passed
@mqole
Copy link

mqole commented Dec 31, 2024

may want to revert for now, some players cant connect
image

@ruddygreat ruddygreat deleted the full-invis-stealth branch December 31, 2024 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants