Owlet7 / wadfusion

WadFusion — simple IWAD merge utility
GNU General Public License v3.0
28 stars 5 forks source link

Implement episode intros #20

Open domyoji81 opened 1 month ago

domyoji81 commented 1 month ago

I worked up a possible solution to the episode intros entry from the TODO list using cutscenes. I took the respective titlepics and accompanying music and converted them into ivfs (10s each) and oggs (varying lengths). It's kind of crude and adds a bit of bloat to the filesize (~11mb), but the overall effect is pretty solid. They're skippable too. There could be a better way to do it that I'm not aware of though, so I didn't put up a pull request.

EDIT - Example of them in action using pulled widescreen titlepics from KEX, as also mentioned in TODO.

introsWide.webm

Owlet7 commented 4 weeks ago

There are several methods of achieving this, but this is probably the jankiest one of them.

Cutscenes can also be defined as ZScript functions, it seems like the best way of doing it, but it's pretty much an undocumented feature. I'll probably have to ask on the ZDoom forums for help or examples, but I'll keep this issue open for now, in case anybody reading this has better suggestions.

Ideally these should be toggle-able from the options menu, and lead into the also optional story text. They should probably only be triggered for the first episode of a game / campaign, and not show the episode titles unless it's the rejects versions of the Master Levels.

Shockwave508 commented 3 weeks ago

Said optional story text could probably be pulled from each game's instruction booklets, screen resolution permitting.

Someguyman commented 3 weeks ago

Perhaps you could look into how psx doom/doom 64 ce does the "story so far" intros and go from there?

domyoji81 commented 3 weeks ago

Perhaps you could look into how psx doom/doom 64 ce does the "story so far" intros and go from there?

That was a great idea. I just looked through 64CE and sure enough it has intros as zscript functions set in mapinfo and cutscene/intro scripts with all the juicy stuff. I think that could be a very handy reference if Owlet7 decides to go that route instead of the ivf/ogg method.

Owlet7 commented 3 weeks ago

I've looked into it before, but it was too convoluted and completely un-commented, I had a hard time understanding what anything does. I'll give it another try, though.