Fix stuff

This commit is contained in:
Fierelier 2024-09-12 00:36:25 +02:00
parent e6443ef40a
commit c2bb042dcb

View File

@ -21,7 +21,7 @@ uint16_t * unigi_platform_palette2;
uint32_t * unigi_platform_palette4; uint32_t * unigi_platform_palette4;
uint8_t unigi_platform_info_depth_bytes; uint8_t unigi_platform_info_depth_bytes;
static inline void unigi_platform_color_16_to_32(unigi_type_color color,uint8_t * a,uint8_t * r, uint8_t * g, uint8_t * b) { static inline void unigi_platform_color_16_to_32(unigi_type_color color, uint8_t * a, uint8_t * r, uint8_t * g, uint8_t * b) {
*a = (color >> 12) & 0xF; *a = (color >> 12) & 0xF;
*a = *a << 4; *a = *a << 4;
*r = (color >> 8) & 0xF; *r = (color >> 8) & 0xF;
@ -32,7 +32,6 @@ static inline void unigi_platform_color_16_to_32(unigi_type_color color,uint8_t
*b = *b << 4; *b = *b << 4;
} }
unigi_type_error unigi_graphics_init() { unigi_type_error unigi_graphics_init() {
uint8_t r; uint8_t g; uint8_t b; uint8_t r; uint8_t g; uint8_t b;
unigi_type_color color; unigi_type_color color;
@ -48,7 +47,9 @@ unigi_type_error unigi_graphics_init() {
SDL_PixelFormat * video_format = video_info->vfmt; SDL_PixelFormat * video_format = video_info->vfmt;
unigi_type_resolution_depth bpp = video_format->BitsPerPixel; unigi_type_resolution_depth bpp = video_format->BitsPerPixel;
unigi_platform_info_depth_bytes = bpp; unigi_platform_info_depth_bytes = bpp;
while (unigi_platform_info_depth_bytes % 8 != 0) { ++unigi_platform_info_depth_bytes; } while (unigi_platform_info_depth_bytes % 8 != 0) {
++unigi_platform_info_depth_bytes;
}
unigi_platform_info_depth_bytes = unigi_platform_info_depth_bytes / 8; unigi_platform_info_depth_bytes = unigi_platform_info_depth_bytes / 8;
unigi_platform_palette1 = malloc(4096 * unigi_platform_info_depth_bytes); unigi_platform_palette1 = malloc(4096 * unigi_platform_info_depth_bytes);
@ -64,8 +65,7 @@ unigi_type_error unigi_graphics_init() {
unigi_platform_color_16_to_32(color,&r,&r,&g,&b); unigi_platform_color_16_to_32(color,&r,&r,&g,&b);
color_platform = SDL_MapRGBA(video_format,r,g,b,255); color_platform = SDL_MapRGBA(video_format,r,g,b,255);
unigi_type_resolution_depth i; unigi_type_resolution_depth i;
for(i = 0; i < unigi_platform_info_depth_bytes; i++) for (i = 0; i < unigi_platform_info_depth_bytes; i++) {
{
unigi_platform_palette1[(color * unigi_platform_info_depth_bytes) + i] = color_platform8[i]; unigi_platform_palette1[(color * unigi_platform_info_depth_bytes) + i] = color_platform8[i];
} }
++color; ++color;
@ -73,7 +73,7 @@ unigi_type_error unigi_graphics_init() {
return 0; return 0;
} }
static inline void unigi_graphics_draw(unigi_type_resolution_1d_coord index, unigi_type_color color) { inline void unigi_graphics_draw(unigi_type_resolution_1d_coord index, unigi_type_color color) {
color = color & 0x0FFF; color = color & 0x0FFF;
if (unigi_platform_info_depth_bytes < 3) { if (unigi_platform_info_depth_bytes < 3) {
if (unigi_platform_info_depth_bytes == 1) { if (unigi_platform_info_depth_bytes == 1) {
@ -94,7 +94,7 @@ static inline void unigi_graphics_draw(unigi_type_resolution_1d_coord index, uni
} }
} }
static inline void unigi_graphics_blit(unigi_type_resolution_1d_coord index, unigi_type_color * pixels, unigi_type_resolution_1d_coord length) { inline void unigi_graphics_blit(unigi_type_resolution_1d_coord index, unigi_type_color * pixels, unigi_type_resolution_1d_coord length) {
unigi_type_resolution_1d_coord i; unigi_type_resolution_1d_coord i;
if (unigi_platform_info_depth_bytes == 1) { if (unigi_platform_info_depth_bytes == 1) {
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
@ -119,6 +119,6 @@ static inline void unigi_graphics_blit(unigi_type_resolution_1d_coord index, uni
} }
} }
void unigi_graphics_flush() { inline void unigi_graphics_flush() {
SDL_Flip(unigi_platform_surface); SDL_Flip(unigi_platform_surface);
} }