This commit is contained in:
Nishi 2026-01-29 16:43:44 +09:00
commit 3ce889edf5
Signed by: nishi
GPG key ID: 27EF69B208EB9343
9 changed files with 84 additions and 17 deletions

View file

@ -10,13 +10,17 @@ extern "C" {
#define GSNetDefaultPort 23903
#define GSNetPacketFlagAcknowledge (1 << 0)
/* net_client.c */
GSDECL GSNetClient GSNetClientOpen(GSClient client, const char* hostname, int port);
GSDECL void GSNetClientClose(GSNetClient client);
GSDECL GSNetClient GSNetClientOpen(GSClient net, const char* hostname, int port);
GSDECL void GSNetClientStep(GSNetClient net);
GSDECL void GSNetClientClose(GSNetClient net);
/* net_server.c */
GSDECL GSNetServer GSNetServerOpen(GSServer server, int port);
GSDECL void GSNetServerClose(GSNetServer server);
GSDECL GSNetServer GSNetServerOpen(GSServer net, int port);
GSDECL void GSNetServerStep(GSNetServer net);
GSDECL void GSNetServerClose(GSNetServer net);
/* net_base.c */
GSDECL GSBool GSNetBaseHasData(int fd);

View file

@ -48,6 +48,7 @@ typedef struct _GSBox GSBox;
typedef struct _GSNetPacketHeader GSNetPacketHeader;
typedef struct _GSNetPacket GSNetPacket;
typedef struct _GSNetAddress GSNetAddress;
typedef struct _GSBinary GSBinary;
#ifdef _GEARSRC
typedef struct _GSClient* GSClient;
typedef struct _GSServer* GSServer;
@ -116,7 +117,7 @@ struct _GSResourceKV {
struct _GSNetPacketHeader {
GSU8 flag;
GSU32 index;
GSU32 sequence;
GSU32 seq;
};
#pragma pack()
@ -132,6 +133,11 @@ struct _GSNetAddress {
GSU16 port;
};
struct _GSBinary {
void* data;
int size;
};
#ifdef _GEARSRC
#include <GearSrc/GL/GL.h>
#include <miniaudio.h>
@ -248,6 +254,19 @@ struct _GSNetClient {
GSEngine engine;
int fd;
unsigned int rxseq;
unsigned int rxindex;
unsigned int rxtotal;
unsigned int rxstate;
unsigned int txseq;
unsigned int txindex;
unsigned int txtotal;
unsigned int txstate;
GSBinary* rx;
GSBinary* tx;
};
struct _GSNetServer {