things
This commit is contained in:
parent
dcd81f2b3d
commit
65c2ac8212
6 changed files with 56 additions and 6 deletions
30
client/gl.c
30
client/gl.c
|
|
@ -125,6 +125,11 @@ static void cross(double* out, double v00, double v01, double v02, double v10, d
|
|||
out[2] = v00 * v11 - v01 * v10;
|
||||
}
|
||||
|
||||
/*
|
||||
* v0-v2
|
||||
* | /
|
||||
* v1/
|
||||
*/
|
||||
void gl_calc_normal3(double* out, double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22) {
|
||||
double v[3];
|
||||
double l = 0;
|
||||
|
|
@ -141,3 +146,28 @@ void gl_calc_normal3(double* out, double v00, double v01, double v02, double v10
|
|||
out[i] = v[i] / l;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* v0-v3
|
||||
* | |
|
||||
* v1-v2
|
||||
*/
|
||||
void gl_calc_normal4(double* out, double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22, double v30, double v31, double v32) {
|
||||
double v0[3];
|
||||
double v1[3];
|
||||
int i;
|
||||
double l = 0;
|
||||
|
||||
gl_calc_normal3(&v0[0], v00, v01, v02, v10, v11, v12, v30, v31, v32);
|
||||
gl_calc_normal3(&v1[0], v10, v11, v12, v20, v21, v22, v30, v31, v32);
|
||||
|
||||
for(i = 0; i < 3; i++) {
|
||||
out[i] = v0[i] + v1[i];
|
||||
}
|
||||
|
||||
l = sqrt(out[0] * out[0] + out[1] * out[1] + out[2] * out[2]);
|
||||
|
||||
for(i = 0; i < 3; i++) {
|
||||
out[i] = out[i] / l;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,9 @@ static void on_packet(fishsoup_client_t* client, fishsoup_packet_t* pkt) {
|
|||
}
|
||||
|
||||
void net_connect(const char* username, const char* hostname, int port) {
|
||||
fishsoup_packet_t pkt;
|
||||
af_packet_join_t join;
|
||||
|
||||
scene_change(AF_SCENE_CONNECTING);
|
||||
client = fishsoup_client(hostname, port == 0 ? AF_DEFAULT_PORT : port);
|
||||
if(client == NULL) {
|
||||
|
|
@ -17,7 +20,13 @@ void net_connect(const char* username, const char* hostname, int port) {
|
|||
return;
|
||||
}
|
||||
|
||||
pkt.header.type = AF_PACKET_JOIN;
|
||||
pkt.header.length = sizeof(join);
|
||||
pkt.data = &join;
|
||||
|
||||
fishsoup_client_on_packet(client, on_packet);
|
||||
|
||||
fishsoup_packet_send(client->fd, &pkt);
|
||||
}
|
||||
|
||||
void net_poll(void) {
|
||||
|
|
|
|||
2
external/libfishsoup
vendored
2
external/libfishsoup
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit 19a044c00adf6a839c30337be51c53399adc1f75
|
||||
Subproject commit 6b9eb5de20afd9899aec561d43791f9c7aaac534
|
||||
|
|
@ -39,6 +39,7 @@ void gl_render(void);
|
|||
void gl_resize(int width, int height);
|
||||
void gl_scene_change(void);
|
||||
void gl_calc_normal3(double* out, double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22);
|
||||
void gl_calc_normal4(double* out, double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22, double v30, double v31, double v32);
|
||||
|
||||
/* gl_font.c */
|
||||
void gl_font_init(void);
|
||||
|
|
|
|||
|
|
@ -21,10 +21,14 @@
|
|||
#define AF_VERSION "0.0.0"
|
||||
#define AF_COPYRIGHT "Copyright (C) 2025 Fishsoup"
|
||||
|
||||
/* should be broadcasted! otherwise other user wouldn't know */
|
||||
typedef struct af_pkt_join {
|
||||
unsigned char length;
|
||||
char* name;
|
||||
} af_pkt_join_t;
|
||||
enum AF_USER_PACKETS {
|
||||
AF_PACKET_JOIN = FISHSOUP_PACKET_USER
|
||||
};
|
||||
|
||||
#pragma pack(1)
|
||||
typedef struct af_packet_join {
|
||||
char name[256];
|
||||
} af_packet_join_t;
|
||||
#pragma pack()
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,4 +1,10 @@
|
|||
#include <af_common.h>
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
fishsoup_server_t* server;
|
||||
int port = 0;
|
||||
|
||||
server = fishsoup_server(port == 0 ? AF_DEFAULT_PORT : port);
|
||||
|
||||
fishsoup_server_loop(server);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue