Vignette
This class is abstract, transient and native.
A vignette in the Unreal Engine is essentially something that is shown to keep you busy while the engine does something. The prime example is the loading screens in UT2003.
A vignette is a very special type of actor because it is seemingly completely inert. One would have to wonder why it's even an actor, instead of just an object. Vignettes do not exist during gameplay, only in a transient state whenever the engine is busy.
Properties
- string MapName
- This will be filled in for you by the engine, if there is a relevant map name to display on the Vignette.
UT2004 Only
- class<GameInfo> GameClass
- This variable is used in the subclass UT2k4ServerLoading? to determine which gametype loading hints to display.
Events
- Init() (simulated)
- Init is called directly before the Vignettes first draw.
- DrawVignette( Canvas C, float Progress ) (simulated)
- DrawVignette is essentially the same thing as PostRender - use it to draw graphics to the screen. DrawVignette also takes as an argument a float which in theory should show the progress of the map being loaded, but it doesn't seem to work. In UT2003, it's always 100%.
Entry Point
Vignettes are created natively. The native code that their creation resides in is in the Engine class. Fortunately, however, you do not need to subclass Engine to use a vignette you have created. The loading vignette is specified in the LoadingClass variable in Engine, which is a string. It is a config variable, so you can add an entry to the Game ini file or your [mod ini file]? under the [Engine.GameEngine] section like this one:
LoadingClass=MyPackage.MyCustomVignette
Known Subclasses (UT2004)
Vignette +- TestVignette? +- UT2k4LoadingPageBase? | +- UT2k4SP_LadderLoading? | +- UT2k4ServerLoading? +- UT2LoadingPageBase? +- UT2SP_LadderLoading?
Discussion
EricBlade: It would appear that this is not an engine feature, and is specific to UT2003(4?). Land of the Dead, for example, is build 2226, same as last build of UT2003, and although it has LoadingClass in the GameEngine, it doesnt appear to be called at any point. Can anyone confirm that, or that I'm somehow using it incorrectly?
MythOpus: I do believe that Vignettes are the loading screens each of the gametypes. You don't see it being called anyways because I think the engine only calls it's sub-classes.
EricBlade: Well, I don't have a Vignette class that is declared native, like the UT2003 code has. Can anyone confirm if Vignette is in the Runtime release?
Wormbo: The UE2 Runtime has the ConnectingMenuClass property in GameEngine, but no Vignette class.
EricBlade: UE Runtime has the ConnectingMenuClass property, but it doesn't appear to be used, as far as I can tell.
SuperApe: Added UTk4 variable. Subclass tree added. Wikified. Does anyone know where/when the GameClass property is filled in for Vignette? UT2k4ServerLoading? will complain that my custom gametype is invalid (GameClass property missing) if I do not run the map through the UT2k4 Menu system. If I run the map by double-clicking, upon map switch, UT2k4ServerLoading will not display the loading hints and a warning is logged that this property was not passed properly. Anyone have experience with this?
SuperApe: After a little investigation and tests, I find that even stock maps/gametypes have this problem: if you start the map by double-clicking (or opening) the map file, the vignette will fail to load the proper gametype loading hints when the map changes after match end. It gives the same warning (invalid gametype) in the log file, even for Deathmatch. This is obviously a stock code bug.