idk
This commit is contained in:
parent
2c4198fbc6
commit
15c5376364
12 changed files with 1358 additions and 1312 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
)
|
||||
|
|
|
|||
0
engine/common/CMakeLists.txt
Normal file
0
engine/common/CMakeLists.txt
Normal file
0
engine/common/log.c
Normal file
0
engine/common/log.c
Normal 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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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"`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue