GAME READY

This commit is contained in:
Masashi 2025-12-20 17:11:21 +05:30
commit 5a60e1c62a
18 changed files with 2506 additions and 249 deletions

View file

@ -16,8 +16,12 @@
// ODE support
#include <ode/ode.h>
// Perlin noise support
#include "perlin/perlin.h"
// Internal game headers
#include "../game/inc/suic_math.h"
#include "../game/inc/suic_net.h"
#include "../game/inc/suic_ui.h"
#include "../game/inc/suic_terrain.h"
#include "../game/inc/suic_lighting.h"
// Logging levels
typedef enum suic_log_level {
@ -98,6 +102,8 @@ void suic_close_window(void);
bool suic_window_should_close(void);
void suic_set_target_fps(int fps);
void suic_enable_msaa_4x(void);
int suic_get_screen_width(void);
int suic_get_screen_height(void);
// Timing
float suic_get_frame_time(void);
@ -127,6 +133,8 @@ void suic_end_mode3d(void);
// 3D Drawing
void suic_draw_cube(float x, float y, float z, float width, float height, float length, unsigned char r, unsigned char g, unsigned char b, unsigned char a);
void suic_draw_cube_wires(float x, float y, float z, float width, float height, float length, unsigned char r, unsigned char g, unsigned char b, unsigned char a);
void suic_draw_sphere(float x, float y, float z, float radius, unsigned char r, unsigned char g, unsigned char b, unsigned char a);
void suic_draw_capsule(float start_x, float start_y, float start_z, float end_x, float end_y, float end_z, float radius, int slices, int rings, unsigned char r, unsigned char g, unsigned char b, unsigned char a);
// 2D Drawing (UI Framework Utils)
void suic_draw_text(const char *text, int x, int y, int font_size, unsigned char r, unsigned char g, unsigned char b, unsigned char a);
@ -135,6 +143,7 @@ void suic_draw_rectangle_lines(int x, int y, int width, int height, unsigned cha
int suic_measure_text(const char *text, int font_size);
void suic_draw_circle(int center_x, int center_y, float radius, unsigned char r, unsigned char g, unsigned char b, unsigned char a);
void suic_draw_line(int start_x, int start_y, int end_x, int end_y, unsigned char r, unsigned char g, unsigned char b, unsigned char a);
void suic_draw_fps(int x, int y);
// Input - Keyboard
bool suic_is_key_down(int key);
@ -157,6 +166,9 @@ int suic_is_movement_input(void); // Returns bitmask: 1=W, 2=A, 4=S, 8=D
int suic_is_sprint_held(void);
int suic_is_jump_pressed(void);
// Random number generation
int suic_get_random_value(int min, int max);
// Cursor management
void suic_disable_cursor(void);
void suic_enable_cursor(void);
@ -337,6 +349,13 @@ void suic_player_controller_jump(suic_player_controller* player);
void suic_player_controller_get_position(suic_player_controller* player, float *x, float *y, float *z);
void suic_player_controller_set_position(suic_player_controller* player, float x, float y, float z);
/* ===== MATH FUNCTIONS ===== */
float suic_sinf(float x);
float suic_cosf(float x);
float suic_expf(float x);
float suic_fmaxf(float a, float b);
/* ===== FILE I/O API ===== */
typedef void* FileHandle;