Talk:VGUI Screen

From Valve Developer Community
Jump to: navigation, search

It crashes in HL2 ? I don't think so.. --King2500 06:16, 28 Sep 2005 (PDT)

It does for me. All I need to do is put the cursor over it, and it crashes. It works for you? —Maven (talk) 06:58, 28 Sep 2005 (PDT)
I tested this a while ago and it worked fine. I had some buttons and a label but without any commands. It didn't crashed. --King2500 05:47, 1 Oct 2005 (PDT)
Is this in Dystopia? --TomEdwards 08:48, 1 Oct 2005 (PDT)
Hi guys, Teddy from Dystopia here. The bug where vgui screens crash when you put your crosshairs on them appeared in the DOD:S engine update about a month ago. I tracked down this crash to the vgui::IInputInternal() functionality it uses to pass input and mouse position to the vgui screen. InputInternal crashes whenever it's accessed now, even though alfred told me there's been no changes to the defintion and implementation. Anywhoo, as a workaround i modified the C_VGuiScreen::ClientThink() (which takes the vgui input) to step through all the elements of the screen to see if the uses crosshairs were within their bounds, and fire their outputs accordingly, etc. --Teddy 19 November 2005 (PDT)
No I tried it in an own mod... --King2500 12:22, 1 Oct 2005 (PDT)
King2500, by "HL2" I was talking about custom maps for unmodified HL2 singleplayer. From your comment to TomEdwards it sounds as though you're talking about a mod, but if not I'll look into it further. For reference, I tested using "vgui_test_screen" (which comes with the SDK content) on a DirectX 7 card, and the crash was completely repeatable. —Maven (talk) 17:16, 1 Oct 2005 (PDT)
I´ll try it again these days. --King2500 12:43, 3 Oct 2005 (PDT)

Bump. I'm having this trouble, as well. As soon as I put my crosshairs on the screen my game crashes. When debugging it take me to:

void SimulateEntities()
{
	input->CAM_Think();

	// Service timer events (think functions).
  	ClientThinkList()->PerformThinkFunctions();

	// TODO: make an ISimulateable interface so C_BaseNetworkables can simulate?
**HERE**C_BaseEntityIterator iterator;
	C_BaseEntity *pEnt;
	while ( (pEnt = iterator.Next()) != NULL )
	{
		pEnt->Simulate();
	}
}

Anyone have any suggestions? Nimgoble

Making it parentable

Good job with the article. Any idea what would need to be done to make this parentable to a brush-based entity? Say, to attach a screen to a moving platform? Setting the parent field from within Hammer makes the screen not appear in the map.