X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsetup.c;h=458ad40b880d2fd9f607fa8c092300457e3e0b83;hb=00f72097cec2bdbe3783ec92559ca429d843f1f9;hp=af90c247d4a14c9031a8e3b6f6c56bb2a8c5a20e;hpb=ac90a37dbfe706bbfc4b21eb581b21067d81a6eb;p=rocksndiamonds.git diff --git a/src/libgame/setup.c b/src/libgame/setup.c index af90c247..458ad40b 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -43,41 +43,6 @@ static char *levelclass_desc[NUM_LEVELCLASS_DESC] = "DX Boulderdash" }; - -#define LEVELCOLOR(n) (IS_LEVELCLASS_TUTORIAL(n) ? FC_BLUE : \ - IS_LEVELCLASS_CLASSICS(n) ? FC_RED : \ - IS_LEVELCLASS_BD(n) ? FC_YELLOW : \ - IS_LEVELCLASS_EM(n) ? FC_YELLOW : \ - IS_LEVELCLASS_SP(n) ? FC_YELLOW : \ - IS_LEVELCLASS_DX(n) ? FC_YELLOW : \ - IS_LEVELCLASS_SB(n) ? FC_YELLOW : \ - IS_LEVELCLASS_CONTRIB(n) ? FC_GREEN : \ - IS_LEVELCLASS_PRIVATE(n) ? FC_RED : \ - FC_BLUE) - -#define LEVELSORTING(n) (IS_LEVELCLASS_TUTORIAL(n) ? 0 : \ - IS_LEVELCLASS_CLASSICS(n) ? 1 : \ - IS_LEVELCLASS_BD(n) ? 2 : \ - IS_LEVELCLASS_EM(n) ? 3 : \ - IS_LEVELCLASS_SP(n) ? 4 : \ - IS_LEVELCLASS_DX(n) ? 5 : \ - IS_LEVELCLASS_SB(n) ? 6 : \ - IS_LEVELCLASS_CONTRIB(n) ? 7 : \ - IS_LEVELCLASS_PRIVATE(n) ? 8 : \ - 9) - -#define ARTWORKCOLOR(n) (IS_ARTWORKCLASS_CLASSICS(n) ? FC_RED : \ - IS_ARTWORKCLASS_CONTRIB(n) ? FC_GREEN : \ - IS_ARTWORKCLASS_PRIVATE(n) ? FC_RED : \ - IS_ARTWORKCLASS_LEVEL(n) ? FC_YELLOW : \ - FC_BLUE) - -#define ARTWORKSORTING(n) (IS_ARTWORKCLASS_CLASSICS(n) ? 0 : \ - IS_ARTWORKCLASS_LEVEL(n) ? 1 : \ - IS_ARTWORKCLASS_CONTRIB(n) ? 2 : \ - IS_ARTWORKCLASS_PRIVATE(n) ? 3 : \ - 9) - #define TOKEN_VALUE_POSITION_SHORT 32 #define TOKEN_VALUE_POSITION_DEFAULT 40 #define TOKEN_COMMENT_POSITION_DEFAULT 60 @@ -2504,7 +2469,6 @@ static struct TokenInfo artworkinfo_tokens[] = { TYPE_STRING, &ldi.basepath, "basepath" }, { TYPE_STRING, &ldi.fullpath, "fullpath" }, { TYPE_BOOLEAN, &ldi.in_user_dir, "in_user_dir" }, - { TYPE_INTEGER, &ldi.color, "color" }, { TYPE_STRING, &ldi.class_desc, "class_desc" }, { -1, NULL, NULL }, @@ -2859,32 +2823,13 @@ static int compareTreeInfoEntries(const void *object1, const void *object2) { const TreeInfo *entry1 = *((TreeInfo **)object1); const TreeInfo *entry2 = *((TreeInfo **)object2); - int class_sorting1 = 0, class_sorting2 = 0; - int compare_result; + int tree_sorting1 = TREE_SORTING(entry1); + int tree_sorting2 = TREE_SORTING(entry2); - if (entry1->type == TREE_TYPE_LEVEL_DIR) - { - class_sorting1 = LEVELSORTING(entry1); - class_sorting2 = LEVELSORTING(entry2); - } - else if (entry1->type == TREE_TYPE_GRAPHICS_DIR || - entry1->type == TREE_TYPE_SOUNDS_DIR || - entry1->type == TREE_TYPE_MUSIC_DIR) - { - class_sorting1 = ARTWORKSORTING(entry1); - class_sorting2 = ARTWORKSORTING(entry2); - } - - if (entry1->parent_link || entry2->parent_link) - compare_result = (entry1->parent_link ? -1 : +1); - else if (entry1->sort_priority == entry2->sort_priority) - compare_result = strcasecmp(entry1->name_sorting, entry2->name_sorting); - else if (class_sorting1 == class_sorting2) - compare_result = entry1->sort_priority - entry2->sort_priority; + if (tree_sorting1 != tree_sorting2) + return (tree_sorting1 - tree_sorting2); else - compare_result = class_sorting1 - class_sorting2; - - return compare_result; + return strcasecmp(entry1->name_sorting, entry2->name_sorting); } static TreeInfo *createParentTreeInfoNode(TreeInfo *node_parent) @@ -3501,8 +3446,6 @@ static boolean LoadLevelInfoFromLevelConf(TreeInfo **node_first, leveldir_new->user_defined = (leveldir_new->in_user_dir && IS_LEVELCLASS_PRIVATE(leveldir_new)); - leveldir_new->color = LEVELCOLOR(leveldir_new); - setString(&leveldir_new->class_desc, getLevelClassDescription(leveldir_new)); leveldir_new->handicap_level = // set handicap to default value @@ -3746,9 +3689,6 @@ static boolean LoadArtworkInfoFromArtworkConf(TreeInfo **node_first, artwork_new->in_user_dir = (!strEqual(artwork_new->basepath, OPTIONS_ARTWORK_DIRECTORY(type))); - // (may use ".sort_priority" from "setup_file_hash" above) - artwork_new->color = ARTWORKCOLOR(artwork_new); - setString(&artwork_new->class_desc, getLevelClassDescription(artwork_new)); if (setup_file_hash == NULL) // (after determining ".user_defined") @@ -3766,9 +3706,6 @@ static boolean LoadArtworkInfoFromArtworkConf(TreeInfo **node_first, artwork_new->sort_priority = ARTWORKCLASS_CLASSICS; } - // set to new values after changing ".sort_priority" - artwork_new->color = ARTWORKCOLOR(artwork_new); - setString(&artwork_new->class_desc, getLevelClassDescription(artwork_new)); } @@ -4026,7 +3963,7 @@ static void LoadArtworkInfoFromLevelInfoExt(ArtworkDirTree **artwork_node, setString(&artwork_new->name_sorting, level_node->name_sorting); artwork_new->sort_priority = level_node->sort_priority; - artwork_new->color = LEVELCOLOR(artwork_new); + artwork_new->in_user_dir = level_node->in_user_dir; update_artworkinfo_cache = TRUE; }