projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20051214-1-src
[rocksndiamonds.git]
/
src
/
libgame
/
setup.c
diff --git
a/src/libgame/setup.c
b/src/libgame/setup.c
index d78e3c70f6b2addf7174478c7a8dda4859bb779f..4fc58a407b3933a9d6cdd23f69ad54fdf7f06a09 100644
(file)
--- a/
src/libgame/setup.c
+++ b/
src/libgame/setup.c
@@
-1956,8
+1956,10
@@
static boolean LoadLevelInfoFromLevelConf(TreeInfo **node_first,
leveldir_new->fullpath = getPath2(node_parent->fullpath, directory_name);
}
leveldir_new->fullpath = getPath2(node_parent->fullpath, directory_name);
}
+#if 0
if (leveldir_new->levels < 1)
leveldir_new->levels = 1;
if (leveldir_new->levels < 1)
leveldir_new->levels = 1;
+#endif
leveldir_new->last_level =
leveldir_new->first_level + leveldir_new->levels - 1;
leveldir_new->last_level =
leveldir_new->first_level + leveldir_new->levels - 1;
@@
-1965,11
+1967,16
@@
static boolean LoadLevelInfoFromLevelConf(TreeInfo **node_first,
leveldir_new->in_user_dir =
(strcmp(leveldir_new->basepath, options.level_directory) != 0);
leveldir_new->in_user_dir =
(strcmp(leveldir_new->basepath, options.level_directory) != 0);
- /* adjust so
rt priority
if user's private level directory was detected */
+ /* adjust so
me settings
if user's private level directory was detected */
if (leveldir_new->sort_priority == LEVELCLASS_UNDEFINED &&
leveldir_new->in_user_dir &&
if (leveldir_new->sort_priority == LEVELCLASS_UNDEFINED &&
leveldir_new->in_user_dir &&
- strcmp(leveldir_new->subdir, getLoginName()) == 0)
+ (strcmp(leveldir_new->subdir, getLoginName()) == 0 ||
+ strcmp(leveldir_new->name, getLoginName()) == 0 ||
+ strcmp(leveldir_new->author, getRealName()) == 0))
+ {
leveldir_new->sort_priority = LEVELCLASS_PRIVATE_START;
leveldir_new->sort_priority = LEVELCLASS_PRIVATE_START;
+ leveldir_new->readonly = FALSE;
+ }
leveldir_new->user_defined =
(leveldir_new->in_user_dir && IS_LEVELCLASS_PRIVATE(leveldir_new));
leveldir_new->user_defined =
(leveldir_new->in_user_dir && IS_LEVELCLASS_PRIVATE(leveldir_new));
@@
-1982,6
+1989,19
@@
static boolean LoadLevelInfoFromLevelConf(TreeInfo **node_first,
(leveldir_new->user_defined || !leveldir_new->handicap ?
leveldir_new->last_level : leveldir_new->first_level);
(leveldir_new->user_defined || !leveldir_new->handicap ?
leveldir_new->last_level : leveldir_new->first_level);
+#if 1
+ if (leveldir_new->levels < 1 && !leveldir_new->level_group)
+ {
+ /* skip level sets without levels (which are probably artwork base sets) */
+
+ freeSetupFileHash(setup_file_hash);
+ free(directory_path);
+ free(filename);
+
+ return FALSE;
+ }
+#endif
+
pushTreeInfo(node_first, leveldir_new);
freeSetupFileHash(setup_file_hash);
pushTreeInfo(node_first, leveldir_new);
freeSetupFileHash(setup_file_hash);