URETHRA!
This commit is contained in:
17
glue.c
17
glue.c
@@ -46,7 +46,7 @@ ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,
|
|||||||
}
|
}
|
||||||
void *filebuf = malloc(filesize);
|
void *filebuf = malloc(filesize);
|
||||||
|
|
||||||
SFT sft = { .flags = SFT_DOWNWARD_Y };
|
SFT sft = { .flags = 0 };
|
||||||
ALLEGRO_FONT *f = NULL;
|
ALLEGRO_FONT *f = NULL;
|
||||||
ALLEGRO_BITMAP *gtex = NULL;
|
ALLEGRO_BITMAP *gtex = NULL;
|
||||||
int result = 0;
|
int result = 0;
|
||||||
@@ -102,18 +102,25 @@ ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,
|
|||||||
//}
|
//}
|
||||||
block =
|
block =
|
||||||
al_lock_bitmap_region(gtex, woff, hoff, geom.minWidth, geom.minHeight,
|
al_lock_bitmap_region(gtex, woff, hoff, geom.minWidth, geom.minHeight,
|
||||||
ALLEGRO_PIXEL_FORMAT_ABGR_8888, ALLEGRO_LOCK_WRITEONLY);
|
ALLEGRO_PIXEL_FORMAT_SINGLE_CHANNEL_8, ALLEGRO_LOCK_READWRITE);
|
||||||
ALLEGRO_INFO("got lock\n");
|
ALLEGRO_INFO("got lock\n");
|
||||||
img.width = geom.minWidth;
|
img.width = geom.minWidth;
|
||||||
img.height = geom.minHeight;
|
img.height = geom.minHeight;
|
||||||
img.pixels = block->data;
|
img.pixels = malloc(img.width * img.height);
|
||||||
//if (0 > sft_render(&sft, glyph, img)) goto glyph_lookup_fail; // FIXME UB
|
if (!img.pixels) goto glyph_lookup_oom;
|
||||||
|
if (0 > sft_render(&sft, glyph, img)) goto glyph_lookup_fail;
|
||||||
ALLEGRO_INFO("got raster\n");
|
ALLEGRO_INFO("got raster\n");
|
||||||
|
free(fuck);
|
||||||
|
// todo copy bytes to texture
|
||||||
al_unlock_bitmap(gtex);
|
al_unlock_bitmap(gtex);
|
||||||
ALLEGRO_INFO("unlock\n");
|
ALLEGRO_INFO("blit raster to vram\n");
|
||||||
|
|
||||||
i++; continue;
|
i++; continue;
|
||||||
|
|
||||||
|
glyph_lookup_oom:
|
||||||
|
ALLEGRO_ERROR("No buffer to generate glyph %c in %s\n", cache_text_str[i], filename);
|
||||||
|
FAIL;
|
||||||
|
|
||||||
glyph_lookup_fail:
|
glyph_lookup_fail:
|
||||||
ALLEGRO_ERROR("Failure generating glyph %c in %s!\n", cache_text_str[i], filename);
|
ALLEGRO_ERROR("Failure generating glyph %c in %s!\n", cache_text_str[i], filename);
|
||||||
FAIL;
|
FAIL;
|
||||||
|
|||||||
Reference in New Issue
Block a user