Files
obligaron ccaf8d1dac Use uint8_t in msg/multi/sync and fix MSVC warnings (#6856)
* Fix MSVC warnings in msg.cpp

* Move TBuffer to multi.cpp

* Fix MSVC warnings in multi.cpp

* SNet* change databytes to size_t

* msg/muli/sync: Change playerId to uint8_t
2023-12-16 18:56:06 +01:00

38 lines
1.2 KiB
C++

#pragma once
#include <cstdint>
#include <queue>
#include <string>
#include "dvlnet/abstract_net.h"
namespace devilution::net {
class loopback : public abstract_net {
private:
std::queue<buffer_t> message_queue;
buffer_t message_last;
uint8_t plr_single = 0;
public:
loopback() = default;
int create(std::string addrstr) override;
int join(std::string addrstr) override;
bool SNetReceiveMessage(uint8_t *sender, void **data, size_t *size) override;
bool SNetSendMessage(uint8_t dest, void *data, size_t size) override;
bool SNetReceiveTurns(char **data, size_t *size, uint32_t *status) override;
bool SNetSendTurn(char *data, size_t size) override;
void SNetGetProviderCaps(struct _SNETCAPS *caps) override;
bool SNetRegisterEventHandler(event_type evtype, SEVTHANDLER func) override;
bool SNetUnregisterEventHandler(event_type evtype) override;
bool SNetLeaveGame(int type) override;
bool SNetDropPlayer(int playerid, uint32_t flags) override;
bool SNetGetOwnerTurnsWaiting(uint32_t *turns) override;
bool SNetGetTurnsInTransit(uint32_t *turns) override;
void setup_gameinfo(buffer_t info) override;
std::string make_default_gamename() override;
};
} // namespace devilution::net