#pragma once

//this is a list structure that is used to hold information about the
//deco bitmaps that the user clicks on.
typedef struct deco_bitmap_s {
    //the next bitmap in the list.
    struct deco_bitmap_s *next;

    //the name of the deco.
    char name[256];
    //the bitmap info structure.
    binfo_t info;
    //the bitmap itself.
    bitmap_t bitmap;
} deco_bitmap_t;


//this function reads in all the decoinfo.txt files and creates the 
//deco bitmap lists.
void MakeDecoInfoLists();

//this function takes the path of a decoinfo.txt file and a reference
//to the list to fill in.  This should be called only once per list.
void MakeDecoInfoList(char *file_path, deco_bitmap_t **list, int *num_pics);

//adds a deco with the given name and bitmap to the list. 
//the list pointer is moved to point to the end NULL pointer
//in the list.
void AddDecoToList(char *deco_name, char *bitmap_name, deco_bitmap_t ***list_end, int *num_pics);