Cherry/3D2D-Textscreens

Stubborn Invisibility

Empyr opened this issue ยท 28 comments

Empyr commented

Hey james, I posted on steam for some help then later realized this is the place to be.

So I noticed previously someone mentioned the whole Invisible text screen bug and you marked it as "unable to replicate" I'm not sure if I'm having the exact same problem as the other guy but this is something to consider I think.

When I place a screen onto a prop, then perma prop the prop, and make the text screen permanent.. All of the sudden the text screen becomes Invisible but only when the perma-prop is behind it.. So now I have a huge tutorial that no longer serves a purpose cause nobody can see the text screens as they are invisible when they're in front of the props behind them!

Would appreciate help ASAP as we're just about to launch our server and I want to include this tutorial as I believe it's important! Thanks in advanced brotha

Empyr commented

Wasn't the easiest thing to explain so if I didn't get it through the first time I'll try again -

I have a prop, then I place the text screen on the prop.. All is good. I decide to perma-prop the prop I have the text screen on cause I'm happy with it and BOOM! The text screen becomes invisible only when the perma prop is behind it. It works perfectly fine 90% of the time but I just stumbled upon this issue.

I've considered adding -dxlevel 95 to my launch settings but that only fixes my problem. If i have this tutorial here and nobody but me can see it I'm just going to delete this massive work of art lol

Empyr commented

Note: Sometimes it shows, sometimes it doesn't it depends on the angle I look at it but even from straight on and very reasonable angles the main one I want people to see is completely invisible!

A video and/or multiple images showing what you describe above would be helpful.

Running -dxlevel 95 is something you should do even if it's not a viable permanent solution: It'll allow us to learn whether it helps, and thus, whether or not it is related. We have to understand the technicalities of the issue before we can fix it.

If you know of a way to consistently reproduce the issue, that would be helpful as well (also note whatever relevant addons are in play).

Empyr commented

Note: I jumped, and when I jumped they rendered differently. In the motion of jumping i noticed the text screen became visible for a second. So I noclipped and held my maximum jump height and realized when I was at jumping height distance It re-rendered all my text screens. All of the sudden the 1 text screen that was invisible is now the 1 text screen I can see, and the rest are invisible so....

Empyr commented
Empyr commented

Running -dxlevel 95 and the problem exists still

Empyr commented

As you can tell in the pictures, the entities allow the text to overlap it, but the props are having a hard time doing the same.. It's not the material on the prop, that I know

its invisible, because its out of your sight.

Empyr commented

So you're telling me that those text screens that are directly in front of my face, that are invisible are out of sight?

I really don't think that's the problem lol, but thanks Deinemudda

They are invisible props which arent that big.
Oh and even they are just some 3d2d texts which can be overwritten by other clientside elements, nothing a developer can do about.

Empyr commented

Idk it might have something to do with these specific props, or the perma props addon. There could be a way to fix it, hopefully a developer can analyze this thoroughly cause It tends to happen a lot. I'm not the only one this problem happens to either, in fact everyone else that's seen this has said it's invisible in game.

Yea and it literally cant be fixed as its the Engine's fault.

Empyr commented

How have you concluded this? I'm standing in 1 spot, and if I simply look over to the left a hair it disappears...

I'm not saying you're wrong It's just hard to believe tbh

I've seen it 100 of times with other entities.
This is definitely not the first case.

We say so, why should it be the cause of the addon which is really lightweight?
You think a coder would add a function for not displaying Texts in Front of Props.

Thats the Engine of Course!

Empyr commented

So case closed this has nothing to do with the addon, its the engine? ๐Ÿ™

I just wanted to explain that its not the fault of the addon itself.

Empyr commented

You did and I understood

I just kind of found it hard in the heat of the moment to believe that it's the fault of a professionally developed engine opposed to a second hand addon. I being as ignorant as I am to lua scripting and even the source engine thought that the simple context of making a text appear without having any issues like this was possible. I still had some faith in a fix haha, but if it's not possible then well.. It's not possible, right?

I appreciate it btw, I'm not sure of your part in the development of this mod.. I don't know if you know what you're talking about but either way, thanks for the explanation

Its possible to display Text in a better way, but that is alot Work. In this case the Source Engine created the Issue.
By the way, the engine is not that proffessional

Empyr commented

Yeah I guess Facepunch isn't the most professional studio lol, and oh well.. Surely re-positioning my text screen is a better solution lol. Would probably take a lot of work to fix what I'm talking about if it could be fixed, was hoping there was just some command I'd enter to fix it or something but I guess not. Thanks again! ๐Ÿ™

Empyr commented

๐Ÿ™ !!!!!!

Sounds about right. Textscreens are tied to a prop (hint: the box you see/hit with physgun when moving it around). If the prop isn't visible, it isn't drawn. Nor is its effects, including the 3d2d text.

This is indeed a result of how the engine works. Our hooks where we draw the text isn't even called in such a case.

One could solve it by using a larger prop, however, the prop itself has other issues, such as blocking certain objects, such as bullets. Thus, i decided back in 2010 to use the current model to mitigate some of the side-effects.

@Cherry There is a workaround. Must be set serverside. I've used it in zones. Look at the source for implementation details. See http://gmodwiki.net/Lua/Events/Entity/UpdateTransmitState, and http://wiki.garrysmod.com/page/Entity/SetRenderBounds

Please note that such a work-around would have some negative impact on performance.

Empyr commented

Yeah that makes perfect sense, If you guys didn't make it like that then well, you'd probably be able to see text screens through opaque props I imagine.

I believe it's actually the part of the map that I'm in right now to be honest, after looking at this for a bit and recreating the same scenario in other parts of the map.. I'm starting to think it's just the building I'm in.

But this still doesn't make perfect sense to me, the prop that the screen is tied to is clearly not obstructed by anything? Why is it still invisible when In front of a specific prop?

Empyr commented

Stirrin the thought pot ๐Ÿ™ lol

Empyr commented

I'm not sure if we're on the same page here let me try to explain exactly what I see happening here,

Technically what's obstructing the text screen (somehow) is the prop behind the text screen.. In other words, The prop it's welded too, or frozen on too sorry, it's overlapping the text screen that's in front of it somehow.

Empyr commented

Idk whatever the hell is happening right now, it honestly doesn't matter at all. I've been using this mod for years now and this is the first problem. Just disregard this sorry for wasting your time guys

Empyr commented

Ill just move my text screens lol

That's enough spam for one day.

@Cherry there might still be some value in adding that work-around. I'll leave it to you to determine whether it's worth your time. Perhaps worthy of a look whenever you deal with #14

Thanks for replying to this whilst I was out of the country @Dellkan, much appreciated.

I'm still in two minds whether it's worth implementing that work-around and sacrificing performance, but thanks to all who provided information.