* Massive reduction in heap space allocation, going from settings struct
264kb to 119Kb
* Use NAME_MAX_LENGTH for base paths/names, etc
* Use DIR_MAX_LENGTH for directory sizes
Before this fix with the folder setting enabled a core using the netpacket interface would append the sort folder name twice thus breaking existing save states
- Allow starting netplay host while a netpacket core is running without restart
- Allow connecting to a host while a netpacket core is running without restart
- Avoid clients getting stuck in connection loop if the host has the content paused while a client connects by automatically unpausing
* Updates to the netplay netpacket interface
- Switch environment call number from 76 to 78 (retire 76 as it was never used by any core)
- Simplify broadcasts by removing the option to send to all but one client
- Separate explicit flushing and querying of incoming packet into two operations (RETRO_NETPACKET_FLUSH_HINT and retro_netpacket_poll_receive_t)
- Enable a core to specify a protocol version string which can get used instead of core version to determine compatibility between two players
- Log and notify a separate message when there is a content crc mismsatch to convey it being less severe (as different games may be able to do network communication with each other)
* C89 compile fix
- Enable core host to refuse connecting new players to limit the number of connected players
- Enable a core to flush outgoing packets and read incoming packets without waiting for the next frame (can be used for lower latency or blocking reads)
Adds a new libretro interface for a core to send and receive custom network packets for implementing a communication based multiplayer system instead of using the default state serialization based multiplayer. Connection management is still done by the frontend while a core gains the ability to easily support tunneling of multi-console data communication traffic.