#include <stdarg.h>
class BC_ThemeSet;
+class BC_ImageData;
+class BC_ImageData {
+public:
+ char *name;
+ unsigned char *data;
+ int used;
+ BC_ImageData(char *nm, unsigned char *dp) {
+ name = nm; data = dp; used = 0;
+ }
+};
class BC_Theme
BC_ThemeSet* get_image_set_object(const char *title);
// Loads compressed data into temporary
- unsigned char* get_image_data(const char *title);
+ unsigned char* get_image_data(const char *title, int log_errs=1);
// Verify all images have been used after initialization.
void check_used();
-
-
-
+ void sort_image_sets();
void dump();
BC_Resources* get_resources();
// Decompressed image storage.
// Sets of images.
ArrayList<BC_ThemeSet*> image_sets;
+ BC_ThemeSet *last_image_set;
+ int image_sets_start;
+ static int image_set_cmpr(const void *ap, const void *bp);
+ void add_image_set(BC_ThemeSet *image_set);
// Compressed images are loaded in here.
- char *data_ptr;
- char *contents_ptr;
- ArrayList<char*> contents;
- ArrayList<unsigned char*> pointers;
- ArrayList<int> used;
- char *last_image;
- unsigned char *last_pointer;
+ ArrayList<int> data_items;
+ ArrayList<BC_ImageData *> images;
+ BC_ImageData *last_image_data;
+ static int images_cmpr(const void *ap, const void *bp);
};
class BC_ThemeSet