This commit is contained in:
Nishi 2025-12-20 11:06:31 +09:00
commit 65c2ac8212
Signed by: nishi
GPG key ID: 27EF69B208EB9343
6 changed files with 56 additions and 6 deletions

View file

@ -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;
}
}

View file

@ -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) {