diff --git a/client/gl.c b/client/gl.c index 19ad969..fa5e225 100644 --- a/client/gl.c +++ b/client/gl.c @@ -50,6 +50,38 @@ void gl_init(void) { gl_font_init(); } +void gl_cube(double x, double y, double z, double xs, double ys, double zs, double xr, double yr, double zr) { + int i; + glPushMatrix(); + glTranslatef(x, y, z); + glScalef(xs, ys, zs); + glRotatef(xr, 1, 0, 0); + glRotatef(yr, 0, 1, 0); + glRotatef(zr, 0, 0, 1); + for(i = 0; i < 6; i++) { + glBegin(GL_QUADS); + glNormal3f(0, 0, 1); + glTexCoord2f(0, 0); + glVertex3f(-0.5, 0.5, 0.5); + glTexCoord2f(0, 1); + glVertex3f(-0.5, -0.5, 0.5); + glTexCoord2f(1, 1); + glVertex3f(0.5, -0.5, 0.5); + glTexCoord2f(1, 0); + glVertex3f(0.5, 0.5, 0.5); + glEnd(); + + if(i == 3) { + glRotatef(90, 1, 0, 0); + } else if(i == 4) { + glRotatef(180, 1, 0, 0); + } else { + glRotatef(90, 0, 1, 0); + } + } + glPopMatrix(); +} + static void gl_common(void) { char buf[128]; glColor3f(1, 1, 1); @@ -93,7 +125,7 @@ static void cross(double* out, double v00, double v01, double v02, double v10, d out[2] = v00 * v11 - v01 * v10; } -void gl_calc_normal(double* out, double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22) { +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; int i; diff --git a/client/gl_main.c b/client/gl_main.c index 96b1be4..59e2827 100644 --- a/client/gl_main.c +++ b/client/gl_main.c @@ -27,7 +27,7 @@ void gl_main_draw(void) { double n[3]; double u = 0.3; - gl_calc_normal(&n[0], 0, u * 1.4, 0, -u, 0, u, u, 0, u); + gl_calc_normal3(&n[0], 0, u * 1.4, 0, -u, 0, u, u, 0, u); glColor3f(c ? 0.75 : 0, 0, c ? 0 : 0.75); glBegin(GL_TRIANGLES); diff --git a/client/net.c b/client/net.c index f2e5a48..410fcd3 100644 --- a/client/net.c +++ b/client/net.c @@ -6,6 +6,9 @@ static void net_return(MwWidget handle, void* user, void* client) { scene_change(AF_SCENE_MAIN); } +static void on_packet(fishsoup_client_t* client, fishsoup_packet_t* pkt) { +} + void net_connect(const char* username, const char* hostname, int port) { scene_change(AF_SCENE_CONNECTING); client = fishsoup_client(hostname, port == 0 ? AF_DEFAULT_PORT : port); @@ -13,6 +16,8 @@ void net_connect(const char* username, const char* hostname, int port) { MwAddUserHandler(ui_message("Failed to connect"), MwNactivateHandler, net_return, NULL); return; } + + fishsoup_client_on_packet(client, on_packet); } void net_poll(void) { diff --git a/include/af_client.h b/include/af_client.h index fd9d20c..9fc8e72 100644 --- a/include/af_client.h +++ b/include/af_client.h @@ -38,7 +38,7 @@ void gl_init(void); void gl_render(void); void gl_resize(int width, int height); void gl_scene_change(void); -void gl_calc_normal(double* out, double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22); +void gl_calc_normal3(double* out, double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22); /* gl_font.c */ void gl_font_init(void);