add save and bundle pxl8 with game for standalone game distribution
This commit is contained in:
parent
b1e8525c3e
commit
04d3af11a9
25 changed files with 1173 additions and 346 deletions
|
|
@ -7,26 +7,6 @@
|
|||
typedef struct pxl8_atlas pxl8_atlas;
|
||||
typedef struct pxl8_gfx pxl8_gfx;
|
||||
|
||||
typedef enum pxl8_blend_mode {
|
||||
PXL8_BLEND_ADD,
|
||||
PXL8_BLEND_ALPHA,
|
||||
PXL8_BLEND_MULTIPLY,
|
||||
PXL8_BLEND_NONE
|
||||
} pxl8_blend_mode;
|
||||
|
||||
typedef struct pxl8_palette_cycle {
|
||||
bool active;
|
||||
u8 end_index;
|
||||
f32 speed;
|
||||
u8 start_index;
|
||||
f32 timer;
|
||||
} pxl8_palette_cycle;
|
||||
|
||||
typedef struct pxl8_scanline_effect {
|
||||
bool active;
|
||||
void (*process)(pxl8_gfx* gfx, i32 line, f32 time);
|
||||
} pxl8_scanline_effect;
|
||||
|
||||
typedef struct pxl8_vertex {
|
||||
u32 color;
|
||||
pxl8_vec3 normal;
|
||||
|
|
@ -34,12 +14,6 @@ typedef struct pxl8_vertex {
|
|||
f32 u, v;
|
||||
} pxl8_vertex;
|
||||
|
||||
typedef struct pxl8_effects {
|
||||
pxl8_palette_cycle palette_cycles[8];
|
||||
pxl8_scanline_effect scanline_effects[4];
|
||||
f32 time;
|
||||
} pxl8_effects;
|
||||
|
||||
typedef struct pxl8_triangle {
|
||||
pxl8_vertex v[3];
|
||||
u32 texture_id;
|
||||
|
|
@ -49,11 +23,11 @@ typedef struct pxl8_triangle {
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
pxl8_gfx* pxl8_gfx_create(const pxl8_hal* hal, void* platform_data, pxl8_color_mode mode, pxl8_resolution resolution);
|
||||
pxl8_gfx* pxl8_gfx_create(const pxl8_hal* hal, void* platform_data, pxl8_pixel_mode mode, pxl8_resolution resolution);
|
||||
void pxl8_gfx_destroy(pxl8_gfx* gfx);
|
||||
|
||||
pxl8_bounds pxl8_gfx_get_bounds(pxl8_gfx* gfx);
|
||||
pxl8_color_mode pxl8_gfx_get_color_mode(pxl8_gfx* gfx);
|
||||
pxl8_pixel_mode pxl8_gfx_get_pixel_mode(pxl8_gfx* gfx);
|
||||
u8* pxl8_gfx_get_framebuffer_indexed(pxl8_gfx* gfx);
|
||||
u16* pxl8_gfx_get_framebuffer_hicolor(pxl8_gfx* gfx);
|
||||
i32 pxl8_gfx_get_height(const pxl8_gfx* gfx);
|
||||
|
|
@ -67,7 +41,6 @@ pxl8_result pxl8_gfx_load_font_atlas(pxl8_gfx* gfx);
|
|||
pxl8_result pxl8_gfx_load_palette(pxl8_gfx* gfx, const char* path);
|
||||
pxl8_result pxl8_gfx_load_sprite(pxl8_gfx* gfx, const char* path);
|
||||
void pxl8_gfx_present(pxl8_gfx* gfx);
|
||||
void pxl8_gfx_process_effects(pxl8_gfx* gfx, pxl8_effects* effects, f32 dt);
|
||||
void pxl8_gfx_project(pxl8_gfx* gfx, f32 left, f32 right, f32 top, f32 bottom);
|
||||
void pxl8_gfx_upload_atlas(pxl8_gfx* gfx);
|
||||
void pxl8_gfx_upload_framebuffer(pxl8_gfx* gfx);
|
||||
|
|
@ -79,6 +52,12 @@ void pxl8_gfx_fade_palette(pxl8_gfx* gfx, u8 start, u8 count, f32 amount, u32 ta
|
|||
void pxl8_gfx_interpolate_palettes(pxl8_gfx* gfx, u32* palette1, u32* palette2, u8 start, u8 count, f32 t);
|
||||
void pxl8_gfx_swap_palette(pxl8_gfx* gfx, u8 start, u8 count, u32* new_colors);
|
||||
|
||||
i32 pxl8_gfx_add_palette_cycle(pxl8_gfx* gfx, u8 start_index, u8 end_index, f32 speed);
|
||||
void pxl8_gfx_remove_palette_cycle(pxl8_gfx* gfx, i32 cycle_id);
|
||||
void pxl8_gfx_set_palette_cycle_speed(pxl8_gfx* gfx, i32 cycle_id, f32 speed);
|
||||
void pxl8_gfx_clear_palette_cycles(pxl8_gfx* gfx);
|
||||
void pxl8_gfx_update(pxl8_gfx* gfx, f32 dt);
|
||||
|
||||
void pxl8_circle(pxl8_gfx* gfx, i32 cx, i32 cy, i32 radius, u32 color);
|
||||
void pxl8_circle_fill(pxl8_gfx* gfx, i32 cx, i32 cy, i32 radius, u32 color);
|
||||
void pxl8_clear(pxl8_gfx* gfx, u32 color);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue