Example #1
0
void sprite_export_key(sd_sprite *s, const char **key, int kcount, const char *filename, sd_bk_file *bk) {
    switch(sprite_key_get_id(key[0])) {
        case 1:
        case 2:
        case 3:
            printf("Value fetching not supported for this key.\n");
            break;
        case 4: {
            sd_palette *pal = sd_bk_get_palette(bk, 0);
            if(pal == NULL) {
                printf("Palette required for exporting to PNG.\n");
                return;
            }
            sd_vga_image img;
            int ret = sd_sprite_vga_decode(&img, s);
            if(ret != SD_SUCCESS) {
                printf("Sprite decoding failed.\n");
                return;
            }
            ret = sd_vga_image_to_png(&img, pal, filename);
            sd_vga_image_free(&img);
            if(ret != SD_SUCCESS) {
                printf("Error while exporting sprite to %s: %s\n",
                    filename,
                    sd_get_error(ret));
                return;
            }
            }
            break;
        default:
            printf("Unknown key!\n");
    }
}
Example #2
0
void sprite_create(sprite *sp, void *src, int id) {
    sd_sprite *sdsprite = (sd_sprite*)src;
    sp->id = id;
    sp->raw_sprite = (void*)sd_sprite_vga_decode(sdsprite->img);
    sp->pos = vec2i_create(sdsprite->pos_x, sdsprite->pos_y);
}