This commit is contained in:
Nishi 2026-01-30 00:22:34 +09:00
commit 71fdf90267
Signed by: nishi
GPG key ID: 27EF69B208EB9343
5 changed files with 70 additions and 20 deletions

View file

@ -8,10 +8,28 @@
extern "C" {
#endif
/**
* 6 bits reserved
* 1 bit unsafe or safe
* 1 bit ack or normal
* 4 bytes index
* 4 bytes sequence
*
* if unsafe:
* n bytes data
* else if ack:
* no data continues
* else if sequence is 0:
* 4 bytes sequence count
* else:
* n bytes data
*/
#define GSNetDefaultPort 23903
#define GSNetAcknowledgeTimeout 500
#define GSNetPacketFlagAcknowledge (1 << 0)
#define GSNetPacketFlagUnsafe (1 << 1)
/* net_client.c */
GSDECL GSNetClient GSNetClientOpen(GSClient net, const char* hostname, int port);

View file

@ -8,6 +8,25 @@
extern "C" {
#endif
/**
* signature: 0x7F PAK
*
* entry:
* 1 byte: type
* 4 bytes: name crc32
* 1 byte: name len
* n bytes: name
* if file {
* 4 bytes: actual size
* 4 bytes: compressed size
* 4 bytes: seek pos
* } else {
* 2 bytes: number of entries
* 4 bytes: total size
* n bytes: entries
* }
*/
GSDECL GSResource GSResourceOpen(GSEngine engine, const char* path);
GSDECL void* GSResourceGet(GSResource resource, const char* name, unsigned int* size);
GSDECL void GSResourceClose(GSResource resource);

View file

@ -141,6 +141,8 @@ struct _GSNetAddress {
struct _GSBinary {
void* data;
int size;
int flag;
};
struct _GSNetState {