This only concerns the actual horizontal scroller. The vertical one still needs work and the "The End" screen only works if the second picture of the scroller is the full widescreen image because this page is done as a regular single image page which does not know anything about widescreen asset replacements.
- screen bevel now enlarges also when screenblocks <= 11
- make intermission and status bar scaling game-specific in the config
- add scaling customization for classic ui flat scaling
- make screen border flat scale up
- inter_classic_scaling now defaults to true
- fixed: last commit I accidentally left hardcoded testing values and did not change them back to check for the texture's original size
- implement cvar 'inter_classic_scaling' to render the intermission flat as if it were 320x200
* moved the sprite renaming out of the file system entirely into a caller-provided callback.
* renamed several functions to closer match the terms of a file system.
* moved the VM interface out of the implementation.
- added Marisa Kirisame's CHAN_OVERLAP flag.
- exported S_IsActorPlayingSomething to ZScript.
The sound API change required deprecating A_PlaySound and S_Sound. There are now new variants S_StartSound and A_StartSound which have two distinct parameters for channel and flags.
There was only one way to enter main menu (by pressing Escape button) from the last intermission screen after episode's end
Controller's buttons that are usually assigned to this action, Start and Back by default, now open main menu as well
https://forum.zdoom.org/viewtopic.php?t=65632
22 lines of text need to fit and to avoid packing the text too tightly onto the screen and have a little headroom, a virtual size of 400x250 is needed.
If this is done within the intermission code, both intermission and menu will write to the same global variables and destroy their data, this became very apparent when it altered the screen scale for the conversation.
Now, all menus will use the same scale, i.e. it only depends on the screen width and a base size of 640. This nearly universally yields better results than trying to make a 320x200 screen fit.
The only exceptions to this are the intermission screens and the level summary. These, unlike the menu need to try to make a 320x200 screen fit, but without all the hackery that was present to adjust the menu display.
Note that since this affects globally visible script variables, both the intermission and summary drawers will not use their own set but instead temporarily override the global setting as long as they run their own code.
Changing the use of variables here might cause much worse problems with menu code so it wasn't attempted
* re-added screen blends for images from the hardware renderer.
* moved all postprocessing of the image out of the renderers.
* cleaned out a large piece of cruft for handling the palette in the frame buffer class. This was all a remnant of the old paletted backend that no longer exists. Nowadays the screen blend is just a postprocessing effect drawn over the 3D screen, there is no need to maintain any of it as global state anymore.
* since the engine doesn't produce paletted screenshots anymore there is no need to have handling for it in the generation code. This depended on otherwise obsolete information so it got removed along with that information.