Multiplayer support for ScreenJob status screens

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is ON
[img] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Multiplayer support for ScreenJob status screens

Re: Multiplayer support for ScreenJob status screens

by Graf Zahl » Tue Jul 12, 2022 12:14 am

If done right, sure.

Re: Multiplayer support for ScreenJob status screens

by Nash » Mon Jul 11, 2022 11:48 pm

Would a PR to allow network events in the intermission screen the accepted?

Re: Multiplayer support for ScreenJob status screens

by TehRealSalt » Mon Jul 11, 2022 1:01 pm

I'm mostly just wondering about the plausibility of something like SendNetworkEvent / NetworkProcess to be able to roll my own. That seems like it was supposed to be the answer for being able to nab inputs made in UI scope in a networking-safe & scope-friendly way. It was my first hunch on reimplementing this until I found out it just doesn't run at all during intermission. It makes sense because running code intended for regular gameplay during an intermission sounds like a disaster, but caught me a bit by surprise initially. So just an alternative for ScreenJob (or even just StatusScreen, since really it's the one weirdo state that isn't gameplay but might want lots of inputs) would be nice.

Otherwise, fair enough, I'll just move my intermissions to some in-level HUD abomination instead :p

Re: Multiplayer support for ScreenJob status screens

by Graf Zahl » Sun Jul 10, 2022 2:09 pm

One important change here was to move the entire intermission code from play to UI, i.e. it is no longer synchronized with the game input - the only sync point is when the intermission ends.
The only way to bring input sync back would be to throw it all out again.

In this case I had to make a choice to either forgo the feature or break some rare intermission mods. The input sync of these screens has always been a major maintenance hassle.

Multiplayer support for ScreenJob status screens

by TehRealSalt » Sun Jul 10, 2022 11:41 am

As far as I can tell, it is impossible to get multiplayer inputs over to StatusScreen after 4.8.0.

- player.cmd.buttons became inaccessible
- playerready[] became unused
- ScreenJob OnEvent doesn't have a player number
- SendNetworkEvent & NetworkProcess don't work outside of levels

Any kind of method to handle multiplayer intermissions would be nice, not picky at all how it's implemented. Just looking for a way to be able to bring back the standard Doom "ready-up" between levels.

If it is implemented and it's just something I missed, I'd love to hear.

Top