demo_header_write() now writes the header. :-P
[neverball] / ball / set.h
index f500be0..91d4d84 100644 (file)
@@ -1,21 +1,70 @@
 #ifndef SET_H
 #define SET_H
 
+#include "base_config.h"
+#include "level.h"
+
 /*---------------------------------------------------------------------------*/
 
 #define SET_FILE "sets.txt"
 #define MAXSET 16
+#define MAXLVL 25
+
+/* A pack of levels */
+struct set
+{
+    /* set global info */
+    int number;               /* number of the set */
+
+    char file[MAXSTR];        /* set file description */
+    char user_scores[MAXSTR]; /* user highscore file */
+    char setname[MAXSTR];     /* internal set name */
+
+    char name[MAXSTR];        /* set name */
+    char desc[MAXSTR];        /* set description */
+    char shot[MAXSTR];        /* screenshot image file*/
+
+    struct score time_score;  /* challenge score */
+    struct score coin_score;  /* challenge score */
+
+    /* levels info */
+
+    int count;                /* number of levels */
+    int locked;               /* number of locked levels */
+    int completed;            /* number of completed levels */
+};
+
+/*---------------------------------------------------------------------------*/
 
 void set_init();
-void set_free();
 
 int  set_exists(int);
-void set_goto(int);
-int  set_curr(void);
+const struct set *get_set(int);
+
+/*---------------------------------------------------------------------------*/
+
+int  set_unlocked(const struct set *);
+int  set_completed(const struct set *);
+
+int  set_level_exists(const struct set *, int);
+
+/*---------------------------------------------------------------------------*/
+
+void set_goto(int i);
+const struct set *curr_set(void);
+
+const struct level *get_level(int);
+
+/*---------------------------------------------------------------------------*/
+
+void set_finish_level(struct level_game *, const char *);
+void score_change_name(struct level_game *, const char *);
+
+/*---------------------------------------------------------------------------*/
+
+void level_snap(int);
 
-const char *set_name(int);
-const char *set_desc(int);
-const char *set_shot(int);
+void set_cheat(void);
 
 /*---------------------------------------------------------------------------*/