Some way to hide the automap for cutscene purposes?

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

Moderator: GZDoom Developers

Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.

Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
User avatar
Enjay
 
 
Posts: 26697
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Some way to hide the automap for cutscene purposes?

Post by Enjay »

I know that hiding the automap is very much frowned upon (and I agree). So, I suspect the answer will be "you can't do that." However, this is a specific circumstance for use during a cutscene and it's because we don't have something along the lines of a TITLEMAP that can be used for cutscenes etc. (I made a feature suggestion some 15/16 years ago, but it wasn't taken up. viewtopic.php?f=18&t=23368 At that time, I was mostly interested in simply not having messages like "game saved" popping up over my cutscenes when entering a map of this type. )


What I have are several very simple maps that are used to show ACS scripted cutscenes - and that's all they are used for. The maps themselves are just a small square room with a player start in it. The walls, floors and ceilings are totally black textures. The lines and sectors are hidden via the appropriated editing flags. The sector is set to silent. The HUD and status bar are hidden when entering the maps. In addition, the player is frozen and also given a "fake weapon" that makes no noise, uses no ammo, can't be changed away from, doesn't have any tags and uses the TNT1A0 sprite.

In other words, I've been pretty thorough and there is nothing to be seen in the level at all.

Then, using ACS, I put various graphics up on screen, play sounds, put up text, whatever. Typical cutscene stuff.

The graphics that I put on screen are placed with HUD_Messages, and they draw over the top of everything, including the automap. I have made them wider than my monitor, and I have tried making some of them very wide.

The problem is, monitors just seem to keep getting wider (e.g. 3840x1080). If the map is being looked at with the normal play window, this isn't a problem. Due to all the precautions I have taken, the area either side of the picture is black. However, if someone with an ultra-wide monitor presses the tab key during one of these cutscenes, the automap will show at the edges. This means that the blue textured background (in my case) automap background can be seen, as can any bits of information that the player might have active such as kill, secret, item counts, level time etc. It just spoils the whole thing.

So, is there anything I can do to block/hide/deactivate/override the automap on such maps so that it just looks black? I can't keep making wider and wider and wider graphics. There's already more black bordering on some of them than there is image! I mean, even if there was some way to get the screen resolution and then tile black images across the extra space or something it would be better than making wider images all the time - and be future proof!

This is just a quick example. It's not ideal, and far from the widest I've tried, but it shows the problem (graphics reduced in size for sanity).


How it's meant to look on a monitor wider than the picture (i.e. how it appears in the game window):
Image

This is what happens if the player presses tab.
Image
User avatar
Enjay
 
 
Posts: 26697
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland

Re: Some way to hide the automap for cutscene purposes?

Post by Enjay »

OK, well I've come up with an improvement, rather than a solution. It's pretty obvious really, and I'm sure that others will have done similar. Don't know why I didn't think of it before.

I don't have to make every graphic wide; I can make one really wide black graphic, and print the other ones on top. At least it saves a bit of file space.

It's not a proper solution, of course. When someone starts using a 360° wrap-around monitor, they will see stuff beyond the black background, but it is an improvement.

So, if anyone does have a better solution, I'd still like to hear it. :)

Return to “Scripting”