team-eternity / eternity

The Eternity Engine
http://eternity.youfailit.net/wiki/Main_Page
GNU General Public License v3.0
230 stars 36 forks source link

DOOM wide bunnyscreen works only in one of two arrangements #620

Open Meerschweinmann opened 2 months ago

Meerschweinmann commented 2 months ago

Hello again :)

While making some widescrren assets for up to 32:9 i have noticed, that in the wild there are two possible arrangements of the bunnyscreen-ending.

The Unity DOOM.WAD and Nash Muhandes Widepix offer a 320 pixel wide PFUB1 and then a wider PFUB2 (426 Unity, 560 Widepix). That arrangement does not work with Eternity Engine.

Then there are the downloadable Bethesda widescreen assets that offer equal sized PFUB1 and PFUB2. Both 560 pixels and they overlap in the middle. I am working on some so called Ultra-Widerpix854 assets for aspect ratios up to 32:9 with PFUB1 and PFUB2 in both 854 pixels width. These arrangements works with Eternity Engine.

But even my assets work, would it be not better that those other assets work too? Even the Unity DOOM.WAD contains unequal picture sizes as official release.

Here i have made a zip file with both possible ways.

One WAD has equal sized PFUB1 and 2, the other has different sized PFUB1 and 2.

Bunnyscreen_Arrangements.zip

Meerschweinmann commented 3 weeks ago

Update: The new official DOOM + DOOM2 release has the same arrangement of the bunny-screen as Unity had. So unfortunately EE can not handle this bunny-screen.

ioan-chera commented 2 weeks ago

I modified the code to be smarter and tested it with the official new DOOM WAD with its widescreen assets, and now it looks good, at any resolution. I didn't test other wads. Does it work for you?

UPDATE: I also tested with the "different" arrangement which is fine, because it's a seamless cut of the whole picture, but the "same" one looks dubious, as it copies the same graphic in both places, which seems wrong. I would prefer NOT to have to handle that one too, as it involves way too much heuristics. How would I know that two arrangements should overlap OR add up? Would there be a threshold beyond which I should choose adding up instead of overlapping?

Meerschweinmann commented 2 weeks ago

Hooray :)

I can confirm that my 32:9 assets work fine with the PFUB1 320pixels and PFUB2 854pixels width arrangement now. I had tested with these assets in different aspect ratios (5120x1440, 3440x1440 and 2560x1440). EE had successfully arranged these super-ultrawide assets in every aspect ratio and cut the correct pixels left and right not needed.

The overlapping arrangement does not work anymore, but when i had to choose between those two possible arrangements i would choose the arrangement that came with the official Unity and Kex release. So when someone is using these official WADs, the Bunny screen works.

Meerschweinmann commented 2 weeks ago

One thing that comes a bit up with 21:9 and even more 32:9 is that Daisy's spiked head comes to early on screen (21:9) or is shown before scrolling begins (32:9). That is not an EE specific problem. That is caused because of the fact that the scroll area is only 320 pixels wide.

I had drawn a PFUB219 (72pixels extended middle part) and PFUB329 (216pixels extended middle part). So spiked Daisy is the similar amount of pixels out of screen as she is with 16:9 ratio and PFUB1 and PFUB2.

Only thing that misses is a sourceport that is able to scroll longer ;) Depending on a aspect ratio wider then 16:9 the one or other picture and longer scroll time had to be chosen. The time before the "THE END" patch is shown could be enough to scroll longer.

Pictures are based on Nash Muhandes and Scuba Steves work.

PFUB952_72added PFUB329_216added

ioan-chera commented 2 weeks ago

Problem is that there isn't enough information to know when to scroll longer. This would have to get scripted someday, because there's also the Heretic ending arrangement to support. Right now I have to prioritize DOOM + DOOM II style, where it moves 32 units in the center, with accepted cropped margins. What you suggest would work if the start and end positions are at the extremities, with increased scrolling speed so it takes the same time to get there. Keep in mind it needs to stay in sync with the music. It might look funny if it moves very fast though. It would start to look wrong on lower aspect ratios, with the view entirely in the clouded area or into the mirror tower, with no rabbit (alive or dead) in sight.

Meerschweinmann commented 2 weeks ago

Good morning 😃

I had thought about scrolling faster depending on the width extension too, to get sync with the music. But looking at the bunny scroll again and again, i noticed that when scrolling much faster, the point when Daisy gets on screen could be destroyed. Even the bunny screen was designed for 4:3 aspect ratio it works really fine with 16:9. So i made those two Pictures with Daisy the similar amount of pixels out of screen like she is in 16:9 to not extend the middle part even more when choosing 4:3 as base.

In my opinion there are two points in the bunny screens music that are important and should not be changed. When comes spiked Daisy in the Screen area (Scrolling start and how much pixels ist Daisy out of screen) and when comes the "THE END" patch.

Normally the "THE END" patch shows up some time after the scrolling ends. This time could be used to scroll longer. Hopefully it is long enough to scroll for the PFUB329. Otherwise it has to speed up a bit. PFUB219 should be no Problem as it is not so much wider.

My idea is that when PFUB219 and PFUB329 are not present or an aspect ratio narrower then 21:9 is selected everything behaves like it is now.

When a PFUB329 in an PWAD is present and a width to height ratio bigger 3.5 is present this PFUB329 is used and scrolled from right to left. Same for PFUB219 and width to height ratio range of 2.3 to 2.4 to Cover all so named 21:9 ratios up to 24:10. In this cases we do not have to look for cropped Sides, because there are fitting separate Bunny screens for that two cases that are scrolled completely from right to left.

When PFUB329 and PFUB219 are not present and any above named width to height ratio is present PFUB1 and PFUB2 are used as usual.

Aspect ratios narrower then 21:9 (width to height ratio smaller 2.3) are present PFUB1 and 2 will be used.

And with all that everything with official WADs is untouched and fine.

Sorry for the many edits. English is not my native language.