aboutsummaryrefslogtreecommitdiff
path: root/assets/src/gunner.h
blob: 51ebc1a1860ec4e02444a0fa31a32945ded78944 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#pragma once

// Defines //

typedef struct{
	unsigned char r;
	unsigned char g;
	unsigned char b;
	unsigned char a;
}Color;

#define WHITE (Color){255, 255, 255, 255}
#define BLACK (Color){0, 0, 0, 255}

typedef int i32;
typedef long long i64;

typedef unsigned int u32;
typedef unsigned long long u64;

typedef float f32;
typedef double f64;

// 24.8 format
typedef i32 fx32;
#define FIXED_POINT_BITS 8
#define FIXED_POINT_ONE (1 << FIXED_POINT_BITS)
#define TO_FIXED(x) ((fx32)(x) << FIXED_POINT_BITS)
#define FROM_FIXED(x) ((x) >> FIXED_POINT_BITS)

// Texture //

int load_new_tex(const char* path);

void draw_texture(int idx, int x, int y);

void unload_tex(int idx);

void unload_active_textures(void);

// Shader //

int load_new_shader(const char* path);

void set_active_shader(int idx);

void reset_active_shader(void);

void unload_shader(int idx);

void unload_active_shaders(void);

// Text //

void draw_text(const char* txt, int x, int y, int size, Color col);