NetDuke32

From EDukeWiki
Revision as of 09:27, 7 April 2022 by StrikerTheHedgefox (talk | contribs) (Initial NetDuke32 documentation page. Still need to fill out some sections.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

About

NetDuke32 is a multiplayer-centric port based on EDuke32. Started late 2015 as a series of maintenance builds of EDuke32-OldMP, it has since branched out and evolved. NetDuke32 brings new features, QoL (Quality of Life) and netcode improvements, and tries to improve the overall multiplayer experience.

Features

(Page is a work in progress)

Documentation

NetDuke32 has a few few exclusive DEF tokens, GameVars, and structure members to access a few of its unique features. They will be listed here.

DEF Tokens

  • addplayercolor <palnum> <name> - Adds a palswap to the list of selectable player colors for multiplayer.
Example: addplayercolor 17 "Green (Blue Skin)"
  • delplayercolor <palnum> - Deletes a palswap from the list of selectable player colors for multiplayer. A value of -1 deletes them all. (Make sure to define your own after!)
Example: delplayercolor 23 (This would make "Yellow" un-selectable)

GameVars

  • predicting - Returns the processing state of NetDuke32's prediction system. Useful to prevent desynchronization or visual artifacts in certain scenarios; For example, trying to call "spawn" in player code that is normally predicted would result in a de-sync, but guarding it with "ifvare predicting 0" will make sure it only happens during the canonical gamestate, preserving synchronization.
Values:
0 = Currently processing canonical gamestate.
1 = Currently predicting upcoming gamestate.
2 = Making corrections to any mispredictions.

Structure Members

UserDefs

dmflags - A bitfield containing a series of gameplay-affecting flags, such as friendly fire, respawning items, whether or not FOV changes are allowed, etc.