X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsetup.h;h=414cf74e7ad2db66db009756387c0d644f68bbce;hb=695b9e3d2e2ee94c93d2e804aa3c23dd34f68a25;hp=e55217c01259ee73c0b6345dd07b03e4665887f9;hpb=8cea50fbd1b74a2bc164a79cbd26bdbb3abd6689;p=rocksndiamonds.git diff --git a/src/libgame/setup.h b/src/libgame/setup.h index e55217c0..414cf74e 100644 --- a/src/libgame/setup.h +++ b/src/libgame/setup.h @@ -1,7 +1,7 @@ /*********************************************************** * Artsoft Retro-Game Library * *----------------------------------------------------------* -* (c) 1994-2002 Artsoft Entertainment * +* (c) 1994-2006 Artsoft Entertainment * * Holger Schemel * * Detmolder Strasse 189 * * 33604 Bielefeld * @@ -21,33 +21,35 @@ /* values for setup file handling */ #define TYPE_BOOLEAN (1 << 0) #define TYPE_SWITCH (1 << 1) -#define TYPE_YES_NO (1 << 2) -#define TYPE_ECS_AGA (1 << 3) -#define TYPE_KEY (1 << 4) -#define TYPE_KEY_X11 (1 << 5) -#define TYPE_INTEGER (1 << 6) -#define TYPE_STRING (1 << 7) -#define TYPE_TOKEN (1 << 8) +#define TYPE_SWITCH3 (1 << 2) +#define TYPE_YES_NO (1 << 3) +#define TYPE_YES_NO_AUTO (1 << 4) +#define TYPE_ECS_AGA (1 << 5) +#define TYPE_KEY (1 << 6) +#define TYPE_KEY_X11 (1 << 7) +#define TYPE_INTEGER (1 << 8) +#define TYPE_STRING (1 << 9) +#define TYPE_ELEMENT (1 << 10) +#define TYPE_GRAPHIC (1 << 11) /* additional values for setup screen */ -#define TYPE_ENTER_SCREEN (1 << 9) -#define TYPE_LEAVE_SCREEN (1 << 10) -#define TYPE_ENTER_MENU (1 << 11) -#define TYPE_LEAVE_MENU (1 << 12) -#define TYPE_ENTER_LIST (1 << 13) -#define TYPE_LEAVE_LIST (1 << 14) -#define TYPE_EMPTY (1 << 15) -#define TYPE_KEYTEXT (1 << 16) - -#define TYPE_GHOSTED (1 << 17) -#define TYPE_QUERY (1 << 18) +#define TYPE_ENTER_SCREEN (1 << 12) +#define TYPE_LEAVE_SCREEN (1 << 13) +#define TYPE_ENTER_MENU (1 << 14) +#define TYPE_LEAVE_MENU (1 << 15) +#define TYPE_ENTER_LIST (1 << 16) +#define TYPE_LEAVE_LIST (1 << 17) +#define TYPE_EMPTY (1 << 18) +#define TYPE_KEYTEXT (1 << 19) + +#define TYPE_GHOSTED (1 << 20) +#define TYPE_QUERY (1 << 21) /* additional values for internal purposes */ -#define TYPE_BITFIELD (1 << 19) -#define TYPE_ELEMENT (1 << 20) -#define TYPE_CONTENT (1 << 21) -#define TYPE_ELEMENT_LIST (1 << 22) -#define TYPE_CONTENT_LIST (1 << 23) +#define TYPE_BITFIELD (1 << 22) +#define TYPE_CONTENT (1 << 23) +#define TYPE_ELEMENT_LIST (1 << 24) +#define TYPE_CONTENT_LIST (1 << 25) /* derived values for setup file handling */ #define TYPE_BOOLEAN_STYLE (TYPE_BOOLEAN | \ @@ -57,24 +59,30 @@ /* derived values for setup screen */ #define TYPE_VALUE (TYPE_BOOLEAN_STYLE | \ + TYPE_SWITCH3 | \ + TYPE_YES_NO_AUTO | \ TYPE_KEY | \ TYPE_KEY_X11 | \ TYPE_INTEGER | \ TYPE_STRING | \ - TYPE_TOKEN) + TYPE_ELEMENT | \ + TYPE_GRAPHIC) #define TYPE_SKIP_ENTRY (TYPE_EMPTY | \ TYPE_KEY | \ TYPE_STRING | \ TYPE_GHOSTED) -#define TYPE_ENTER_OR_LEAVE (TYPE_ENTER_SCREEN | \ - TYPE_LEAVE_SCREEN | \ +#define TYPE_ENTER (TYPE_ENTER_SCREEN | \ TYPE_ENTER_MENU | \ + TYPE_ENTER_LIST) + +#define TYPE_LEAVE (TYPE_LEAVE_SCREEN | \ TYPE_LEAVE_MENU | \ - TYPE_ENTER_LIST | \ TYPE_LEAVE_LIST) +#define TYPE_ENTER_OR_LEAVE (TYPE_ENTER | TYPE_LEAVE) + /* cookie token for file identifier and version number */ #define TOKEN_STR_FILE_IDENTIFIER "file_identifier" @@ -227,6 +235,7 @@ char *getEditorSetupFilename(void); char *getHelpAnimFilename(void); char *getHelpTextFilename(void); char *getLevelSetInfoFilename(void); +char *getLevelSetTitleMessageFilename(int, boolean); char *getImageFilename(char *); char *getCustomImageFilename(char *); char *getCustomSoundFilename(char *); @@ -277,6 +286,8 @@ boolean checkCookieString(const char *, const char *); char *getFormattedSetupEntry(char *, char *); +boolean getTokenValueFromSetupLine(char *, char **, char **); + SetupFileList *newSetupFileList(char *, char *); void freeSetupFileList(SetupFileList *); char *getListEntry(SetupFileList *, char *);