X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsetup.c;h=f85738a1fa71d0ce23bd4768dec23a4b2fc5ee58;hb=f668f77f85a42d0aabbc89f4896bea79d63af0a1;hp=e81498a0683f04fb5461cf4e7e0c1ce54caa979a;hpb=e1bc80b7482a6baa481391980991f42480a7c52f;p=rocksndiamonds.git diff --git a/src/libgame/setup.c b/src/libgame/setup.c index e81498a0..f85738a1 100644 --- a/src/libgame/setup.c +++ b/src/libgame/setup.c @@ -43,14 +43,13 @@ 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_BD(n) ? FC_GREEN : \ + IS_LEVELCLASS_EM(n) ? FC_GREEN : \ + IS_LEVELCLASS_SP(n) ? FC_GREEN : \ + IS_LEVELCLASS_DX(n) ? FC_GREEN : \ + IS_LEVELCLASS_SB(n) ? FC_GREEN : \ IS_LEVELCLASS_CONTRIB(n) ? FC_GREEN : \ IS_LEVELCLASS_PRIVATE(n) ? FC_RED : \ FC_BLUE) @@ -69,7 +68,7 @@ static char *levelclass_desc[NUM_LEVELCLASS_DESC] = #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 : \ + IS_ARTWORKCLASS_LEVEL(n) ? FC_GREEN : \ FC_BLUE) #define ARTWORKSORTING(n) (IS_ARTWORKCLASS_CLASSICS(n) ? 0 : \ @@ -2877,16 +2876,10 @@ static int compareTreeInfoEntries(const void *object1, const void *object2) if (entry1->parent_link || entry2->parent_link) compare_result = (entry1->parent_link ? -1 : +1); + else if (entry1->level_group != entry2->level_group) + compare_result = (entry1->level_group ? -1 : +1); else if (entry1->sort_priority == entry2->sort_priority) - { - char *name1 = getStringToLower(entry1->name_sorting); - char *name2 = getStringToLower(entry2->name_sorting); - - compare_result = strcmp(name1, name2); - - free(name1); - free(name2); - } + compare_result = strcasecmp(entry1->name_sorting, entry2->name_sorting); else if (class_sorting1 == class_sorting2) compare_result = entry1->sort_priority - entry2->sort_priority; else @@ -3974,7 +3967,7 @@ void LoadArtworkInfo(void) static void MoveArtworkInfoIntoSubTree(ArtworkDirTree **artwork_node) { ArtworkDirTree *artwork_new = newTreeInfo(); - char *top_node_name = "dedicated custom artwork"; + char *top_node_name = "standalone artwork"; setTreeInfoToDefaults(artwork_new, (*artwork_node)->type); @@ -4034,6 +4027,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->in_user_dir = level_node->in_user_dir; artwork_new->color = LEVELCOLOR(artwork_new); update_artworkinfo_cache = TRUE; @@ -4065,8 +4059,8 @@ static void LoadArtworkInfoFromLevelInfoExt(ArtworkDirTree **artwork_node, if (node_parent == NULL) // check for top tree node { char *top_node_name = (empty_level_set_mode ? - "artwork-only level sets" : - "artwork from level sets"); + "artwork for certain level sets" : + "artwork included in level sets"); setString(&artwork_new->name, top_node_name); setString(&artwork_new->name_sorting, top_node_name);