This commit is contained in:
Nishi 2026-01-08 00:35:00 +09:00
commit 15c5376364
Signed by: nishi
GPG key ID: 27EF69B208EB9343
12 changed files with 1358 additions and 1312 deletions

View file

@ -9,6 +9,8 @@ add_subdirectory(external/milsko)
add_subdirectory(engine)
include_directories(external/stb)
install(
FILES resource/logo.png resource/font.png
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/assaultfish

View file

@ -17,5 +17,11 @@ endmacro()
add_subdirectory(external/glad)
add_subdirectory(net)
add_subdirectory(common)
add_subdirectory(tools)
install(
FILES resource/shadow.vs resource/shadow.fs
DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/gearbox
)

View file

0
engine/common/log.c Normal file
View file

View file

@ -25,10 +25,10 @@ enum gbnet_packet_type {
NET_PACKET_USER
};
typedef struct gbnet_client gbnet_client_t;
typedef struct gbnet_server gbnet_server_t;
typedef struct gbnet_client gbnet_client_t;
typedef struct gbnet_server gbnet_server_t;
typedef struct gbnet_packet_header gbnet_packet_header_t;
typedef struct gbnet_packet gbnet_packet_t;
typedef struct gbnet_packet gbnet_packet_t;
struct gbnet_client {
int fd;
@ -45,7 +45,7 @@ struct gbnet_client {
struct gbnet_server {
int fd;
struct sockaddr_in address;
gbnet_client_t* clients;
gbnet_client_t* clients;
void* user;
void (*on_client)(gbnet_server_t* server, gbnet_client_t* client);
void (*on_tick)(gbnet_server_t* server);
@ -61,22 +61,22 @@ struct gbnet_packet_header {
/* !!! REMEMBER TO FREE DATA AFTER RECV UNLESS IT'S NULL !!! */
struct gbnet_packet {
gbnet_packet_header_t header;
void* data;
void* data;
};
gbnet_client_t* gbnet_client(const char* host, int port);
void gbnet_client_on_packet(gbnet_client_t* client, void (*on_packet)(gbnet_client_t* client, gbnet_packet_t* packet));
void gbnet_client_on_disconnect(gbnet_client_t* client, void (*on_disconnect)(gbnet_client_t* client));
int gbnet_client_poll(gbnet_client_t* client);
void gbnet_client_destroy(gbnet_client_t* client);
void gbnet_client_on_packet(gbnet_client_t* client, void (*on_packet)(gbnet_client_t* client, gbnet_packet_t* packet));
void gbnet_client_on_disconnect(gbnet_client_t* client, void (*on_disconnect)(gbnet_client_t* client));
int gbnet_client_poll(gbnet_client_t* client);
void gbnet_client_destroy(gbnet_client_t* client);
gbnet_server_t* gbnet_server(int port);
int gbnet_server_clients(gbnet_server_t* server);
void gbnet_server_loop(gbnet_server_t* server);
void gbnet_server_on_client(gbnet_server_t* server, void (*on_client)(gbnet_server_t* server, gbnet_client_t* client));
void gbnet_server_on_tick(gbnet_server_t* server, void (*on_tick)(gbnet_server_t* server));
void gbnet_server_broadcast(gbnet_server_t* server, gbnet_packet_t* packet);
void gbnet_server_destroy(gbnet_server_t* server);
int gbnet_server_clients(gbnet_server_t* server);
void gbnet_server_loop(gbnet_server_t* server);
void gbnet_server_on_client(gbnet_server_t* server, void (*on_client)(gbnet_server_t* server, gbnet_client_t* client));
void gbnet_server_on_tick(gbnet_server_t* server, void (*on_tick)(gbnet_server_t* server));
void gbnet_server_broadcast(gbnet_server_t* server, gbnet_packet_t* packet);
void gbnet_server_destroy(gbnet_server_t* server);
int gbnet_fd_send(int fd, const void* buf, int length);
int gbnet_fd_recv(int fd, void* buf, int length, int to);

View file

@ -1,11 +1,11 @@
#include <gbnet.h>
gbnet_client_t* gbnet_client(const char* host, int port) {
gbnet_client_t* client = malloc(sizeof(*client));
struct addrinfo hints;
char p[32];
struct addrinfo* result;
struct addrinfo* rp;
gbnet_client_t* client = malloc(sizeof(*client));
struct addrinfo hints;
char p[32];
struct addrinfo* result;
struct addrinfo* rp;
if(port == 0) port = NET_PORT;
sprintf(p, "%d", port);
@ -55,9 +55,9 @@ void gbnet_client_on_disconnect(gbnet_client_t* client, void (*on_disconnect)(gb
}
int gbnet_client_poll(gbnet_client_t* client) {
struct pollfd pfd;
struct pollfd pfd;
gbnet_packet_t pkt;
int ret;
int ret;
pfd.fd = client->fd;
pfd.events = POLLIN | POLLPRI;

View file

@ -4,7 +4,7 @@
gbnet_server_t* gbnet_server(int port) {
gbnet_server_t* server = malloc(sizeof(*server));
int val;
int val;
if(port == 0) port = NET_PORT;
@ -68,7 +68,7 @@ void gbnet_server_loop(gbnet_server_t* server) {
if(server->on_tick != NULL) server->on_tick(server);
if(pfd[0].revents & POLLIN) {
gbnet_client_t client;
gbnet_client_t client;
struct sockaddr_in address;
int len = sizeof(address);

View file

@ -5,10 +5,10 @@
#define CHUNK 512
int gbnet_packet_send(int fd, gbnet_packet_t* packet) {
int r;
int r;
gbnet_packet_header_t h;
int len = 0;
unsigned char* data = NULL;
int len = 0;
unsigned char* data = NULL;
if(packet->header.length > 0) {
z_stream strm;

File diff suppressed because it is too large Load diff

View file

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Before After
Before After

View file

@ -3,7 +3,6 @@ include(GNUInstallDirs)
macro(compile_tool name)
file(GLOB ${name}_SRC ${name}/*.c)
add_executable(${name} ${${name}_SRC})
target_include_directories(${name} PRIVATE ../../external/stb)
endmacro()
compile_tool(gb_dumpfont)

View file

@ -1,2 +1,2 @@
#!/bin/sh
clang-format --verbose -i `find include server client tools src -name "*.c" -or -name "*.h"`
clang-format --verbose -i `find engine/common engine/net engine/tools -name "*.c" -or -name "*.h"`