Skip to content

[SUGOI] Multiplayer emblems

Sal requested to merge TehRealSalt/SRB2:netgame-gamedata into next

Draft until !1749 (merged) is merged, as it requires work from there.

sal_perspective sev_perspective

Emblems can now be collected & extras can be unlocked in multiplayer.

Changes made to accommodate:

  • All saved gamedata values were put into a gamedata_t struct. There is one for the client, as well as the server in netgames. The server's gamedata is used to handle stuff like unlockable-based linedef executors.
  • Emblems are individually collected by default, but for SM64 hub progression type games (aka SUGOI), there is a MainCfg option to make emblems shared.
  • The multiplayer pause menu now shows the same level name + stats as singleplayer. (Always kinda felt empty before tbh)
  • Coop tab screen now shows your emblem count. (instead of ... total score?!)
  • The Emblem Hints sub-menu was added to the multiplayer pause menu.
  • Emerald Hunt Radar now works with the Emblem Radar. Once all Emblems are collected, the Emerald Radar will appear. (I considered making it shift around, but then thought about two overlapping radar pings, and didn't bother to try it. Besides, I think if you have Emblem Radar on, you probably want to do emblems before you finish the level.)
  • Unrelated change, but this has bothered me a lot during testing, so I included it: Level Select in the SP pause menu shows whichever Level Select was used to start that play session (such as an Extras menu Level Select), instead of only appearing if you used a save file game completion level select.

Points of discussion:

  • When ShareEmblems is on, all emblems are shared with all players. However, I also considered Top Down style, where emblems only share with the host (although you'd also get it if you're the one who collected it). I went with totally shared because it was less work, more straight-forward to understand, and it might lead to more opportunities for emblem-based coop level packs. However I'm still pretty split between them. Wouldn't affect vanilla at all, but still just curious about opinions on this, especially from level pack creators what they'd consider the most useful. EDIT: As of latest version, it's now Top Down style -- emblems only share with the host.
  • Skin-based emblems are wack. You can trivialize them completely by just playing in multiplayer and changing your skin. Not really sure what to do about that. I kind of just left it as is because I admittedly don't really care that much ... they are lame and I've always kinda thought of skin emblems as deprecated and only in current versions for the sake of backwards compatibility.

Test EXE (up to date with next @ 31a6b7b3): srb2win_netgame-gamedata.exe

Edited by Sal

Merge request reports