MaxiM@Posted: Thu Nov 04, 2004 3:17 pm :
I'm writing this tutorial for a very simple reason, I myself had a problem with making video guis to work and I couldn't find any tutorial either. I finally figured it out and want to save the trouble for anyone with the same problem 8)

OK, to the point.
First, create a small room with light I you haven't done that already.
Next, create a brush and make it func_static by selecting it, right-clicking on 2D view and selecting func>func_static.

Image

Scale it as you like and cover with entitygui texture(textures/common/entitygui) on the side you would like to display video, bring up the surface inspector by pressing S and make it FIT or choose a proper model with Entity GUI (i.e. models/mapobjects/guiobjects/flatmonitor/flatmonitor.lwo) for your static in the Entity Inspector.
Now assign desired GUI to your static, let's just use IPN News for now. Select your static, go to the Entity Inspector, use "Gui…" button and select guis/movies/ipn.gui

Image

OK, we have the picture (not fully functional yet), now we need a sound. To add proper sound to your video display right click on 2D view and select "speaker", this will create speaker entity. Place it in front of your GUI static. While it's still selected go to the Entity Inspector again and click "Sound…" button, navigate to Sound Shaders/sound/video.sndshd and select video_ipn_news (you can hear it by pressing Play button to make sure it's the one you seek).

Image

In the Entity Inspector add key/Val: s_waitfortrigger 1, this will prevent sound from being played before video is triggered. You can mess around with other cvars listed in the Entity Inspector, but we don't need to do that right now.

Image

So, we have video and audio shaders ready to use, let's set up some triggers to synchronize and launch them.
First, right click on 2D view and select trigger>trigger_relay to create trigger used to fire multiple entities at the same time. Select this trigger and your GUI static and press Ctrl+K to connect entities, then do the same with speaker (it is very important to select trigger_relay first when connecting entities). Now that you have connected Entity GUI and Speaker with trigger_relay you need to add another trigger to start the whole sequence.
Create trigger_once in your room, scale it and place it wherever you would like to trigger your video GUI.
While it's still selected go to the Entity Inspector window and add new Key/Val: model/trigger_once_1 (or whatever is the name of your trigger, but that should be it).

Image

Now don't ask me why the hell you need to do this, because I simply don't know that. What I do know, it's that the whole thing won't work if you won't add this Key/Val. If someone knows that, I would be more than happy to hear the story.

Now select trigger_once and trigger_relay and connect them (Ctrl+K).

Image

It's done! Now compile the map and test it. When you'll cross the place where you trigger_once is, the TV news will start.

Image

Here's the example map if you would like to check it: http://maxim.republika.pl/tutorials/videoguis.rar
Here's the tutorial in .doc format: http://maxim.republika.pl/tutorials/videoguis.doc
And finally link to online version: http://maxim.republika.pl/tutorials/video_guis.html

That's about it. This is was my first tutorial ever, so i hope you like it and i hope it will actually help someone :wink:



mage150@Posted: Thu Nov 04, 2004 3:50 pm :
awesome deal, I am going to try this out later tonight and Ill let you know how it works out.



hondaman900@Posted: Fri Aug 31, 2007 4:00 am :
Hi Maxim, hope you're still watching this post after so many years.

Any chance you could fix the broken links to your images? I'm very interested in this topic and would love to see your illustrations in this tutorrial.

Thanks