assaultfish/include/af_client.h

77 lines
1.9 KiB
C
Raw Normal View History

2025-12-19 02:38:21 +09:00
#ifndef __AF_CLIENT_H__
#define __AF_CLIENT_H__
#include <glad/glad.h>
#include <Mw/Milsko.h>
#include <Mw/Widget/OpenGL.h>
2025-12-19 15:18:15 +09:00
#include <GL/glu.h>
2025-12-19 23:19:47 +09:00
#define AF_WAIT_MS 15
2025-12-19 15:18:15 +09:00
enum AF_SCENES {
2025-12-20 00:29:38 +09:00
AF_SCENE_MAIN = 0,
AF_SCENE_CONNECTING
2025-12-19 15:18:15 +09:00
};
2025-12-19 08:52:48 +09:00
/* main.c */
extern MwWidget root, window, opengl;
2025-12-19 15:18:15 +09:00
void scene_change(int scene);
2025-12-19 08:52:48 +09:00
/* gl.c */
2025-12-19 15:18:15 +09:00
typedef struct gl_scene {
2025-12-20 00:29:38 +09:00
void (*changed)(void);
2025-12-19 15:18:15 +09:00
void (*init)(void);
void (*draw)(void);
2026-01-05 18:40:10 +09:00
void (*after)(void);
2025-12-19 15:18:15 +09:00
} gl_scene_t;
extern int gl_scene;
extern gl_scene_t gl_scenes[];
extern double gl_cam_lr;
extern double gl_cam_ud;
extern double gl_cam_x;
extern double gl_cam_y;
extern double gl_cam_z;
2026-01-05 23:02:30 +09:00
extern GLuint gl_shadow;
2025-12-19 15:18:15 +09:00
2025-12-19 08:52:48 +09:00
void gl_init(void);
void gl_render(void);
2025-12-19 15:18:15 +09:00
void gl_resize(int width, int height);
2025-12-20 00:32:49 +09:00
void gl_scene_change(void);
2025-12-20 05:15:27 +09:00
void gl_calc_normal3(double* out, double v00, double v01, double v02, double v10, double v11, double v12, double v20, double v21, double v22);
2025-12-20 11:06:31 +09:00
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);
2025-12-20 13:06:17 +09:00
void gl_set_status(const char* status);
2025-12-19 15:18:15 +09:00
2025-12-19 23:19:47 +09:00
/* gl_font.c */
void gl_font_init(void);
void gl_font_text(const char* text, int x, int y, double scale);
int gl_font_width(const char* text);
int gl_font_height(const char* text);
2025-12-19 15:18:15 +09:00
/* gl_main.c */
2025-12-20 00:29:38 +09:00
void gl_main_changed(void);
2025-12-19 15:18:15 +09:00
void gl_main_init(void);
void gl_main_draw(void);
2026-01-05 18:40:10 +09:00
void gl_main_after(void);
2026-01-05 23:02:30 +09:00
/* gl_util.c */
void gl_util_begin_2d(void);
void gl_util_end_2d(void);
2026-01-05 18:40:10 +09:00
/* gl_shader.c */
int gl_shader(GLuint* r, const char* vs, const char* fs);
2025-12-19 08:52:48 +09:00
2025-12-20 00:29:38 +09:00
/* net.c */
void net_connect(const char* username, const char* hostname, int port);
void net_poll(void);
2025-12-19 08:52:48 +09:00
/* ui.c */
MwWidget ui_notice(int width, int height);
2025-12-19 15:18:15 +09:00
void ui_notice_destroy(MwWidget widget);
void ui_init(void);
2025-12-20 00:32:49 +09:00
void ui_scene_change(void);
2025-12-20 00:29:38 +09:00
MwWidget ui_message(const char* message);
2025-12-19 08:52:48 +09:00
2025-12-19 02:38:21 +09:00
#endif