From: Holger Schemel Date: Sun, 11 Dec 2005 02:30:49 +0000 (+0100) Subject: rnd-20051211-1-src X-Git-Tag: 3.1.2^2~29 X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=commitdiff_plain;h=33bfa6789748737979047e8c8616f5c786b39958 rnd-20051211-1-src * skip empty level sets (with "levels: 0"; may be artwork base sets) * added sound action ".page[1]" to ".page[32]" for each CE change page --- diff --git a/ChangeLog b/ChangeLog index f460f137..bf34b624 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2005-12-11 + * skip empty level sets (with "levels: 0"; may be artwork base sets) + * added sound action ".page[1]" to ".page[32]" for each CE change page + 2005-12-10 * added image config suffix ".clone_from" to copy whole image settings * fixed bug with invalid ("undefined") CE settings in old level files @@ -12,6 +16,9 @@ 2005-12-02 * fixed graphical bug with player animation when player moves slowly +2005-11-29 + * uploaded pre-release (test) version 3.2.0-3 binary and source code + 2005-11-28 * fixed bug which prevented "global.num_toons: 0" from working diff --git a/src/conf_gfx.c b/src/conf_gfx.c index 44bccba5..8b86b2f0 100644 --- a/src/conf_gfx.c +++ b/src/conf_gfx.c @@ -3861,27 +3861,14 @@ struct ConfigInfo image_config[] = { "menu.button_down.active.ypos", "9" }, { "menu.button_down.active.frames", "1" }, - { "menu.button_enter_menu2", "RocksDC.pcx" }, - { "menu.button_enter_menu2.xpos", "9" }, - { "menu.button_enter_menu2.ypos", "8" }, - { "menu.button_enter_menu2.frames", "1" }, - { "menu.button_enter_menu2.active", "RocksDC.pcx" }, - { "menu.button_enter_menu2.active.xpos", "9" }, - { "menu.button_enter_menu2.active.ypos", "9" }, - { "menu.button_enter_menu2.active.frames", "1" }, - { "menu.button_leave_menu", "RocksDC.pcx" }, - { "menu.button_leave_menu.xpos", "8" }, - { "menu.button_leave_menu.ypos", "8" }, - { "menu.button_leave_menu.frames", "1" }, - { "menu.button_leave_menu.active", "RocksDC.pcx" }, - { "menu.button_leave_menu.active.xpos", "8" }, - { "menu.button_leave_menu.active.ypos", "9" }, - { "menu.button_leave_menu.active.frames", "1" }, - { "menu.button_enter_menu", UNDEFINED_FILENAME }, { "menu.button_enter_menu.clone_from", "menu.button_right" }, { "menu.button_enter_menu.active", UNDEFINED_FILENAME }, - { "menu.button_enter_menu.active.clone_from", "menu.button_right.active"}, + { "menu.button_enter_menu.active.clone_from", "menu.button_right.active" }, + { "menu.button_leave_menu", UNDEFINED_FILENAME }, + { "menu.button_leave_menu.clone_from", "menu.button_left" }, + { "menu.button_leave_menu.active", UNDEFINED_FILENAME }, + { "menu.button_leave_menu.active.clone_from", "menu.button_left.active" }, { "menu.scrollbar", "RocksDC.pcx" }, { "menu.scrollbar.xpos", "8" }, diff --git a/src/conf_gfx.h b/src/conf_gfx.h index c9fd809b..b9b9d207 100644 --- a/src/conf_gfx.h +++ b/src/conf_gfx.h @@ -1431,83 +1431,81 @@ #define IMG_MENU_BUTTON_UP_ACTIVE 1410 #define IMG_MENU_BUTTON_DOWN 1411 #define IMG_MENU_BUTTON_DOWN_ACTIVE 1412 -#define IMG_MENU_BUTTON_ENTER_MENU2 1413 -#define IMG_MENU_BUTTON_ENTER_MENU2_ACTIVE 1414 +#define IMG_MENU_BUTTON_ENTER_MENU 1413 +#define IMG_MENU_BUTTON_ENTER_MENU_ACTIVE 1414 #define IMG_MENU_BUTTON_LEAVE_MENU 1415 #define IMG_MENU_BUTTON_LEAVE_MENU_ACTIVE 1416 -#define IMG_MENU_BUTTON_ENTER_MENU 1417 -#define IMG_MENU_BUTTON_ENTER_MENU_ACTIVE 1418 -#define IMG_MENU_SCROLLBAR 1419 -#define IMG_MENU_SCROLLBAR_ACTIVE 1420 -#define IMG_FONT_INITIAL_1 1421 -#define IMG_FONT_INITIAL_2 1422 -#define IMG_FONT_INITIAL_3 1423 -#define IMG_FONT_INITIAL_4 1424 -#define IMG_FONT_TITLE_1 1425 -#define IMG_FONT_TITLE_1_LEVELS 1426 -#define IMG_FONT_TITLE_2 1427 -#define IMG_FONT_MENU_1 1428 -#define IMG_FONT_MENU_2 1429 -#define IMG_FONT_TEXT_1 1430 -#define IMG_FONT_TEXT_1_LEVELS 1431 -#define IMG_FONT_TEXT_1_PREVIEW 1432 -#define IMG_FONT_TEXT_1_SCORES 1433 -#define IMG_FONT_TEXT_1_ACTIVE_SCORES 1434 -#define IMG_FONT_TEXT_2 1435 -#define IMG_FONT_TEXT_2_LEVELS 1436 -#define IMG_FONT_TEXT_2_PREVIEW 1437 -#define IMG_FONT_TEXT_2_SCORES 1438 -#define IMG_FONT_TEXT_2_ACTIVE_SCORES 1439 -#define IMG_FONT_TEXT_3 1440 -#define IMG_FONT_TEXT_3_LEVELS 1441 -#define IMG_FONT_TEXT_3_PREVIEW 1442 -#define IMG_FONT_TEXT_3_SCORES 1443 -#define IMG_FONT_TEXT_3_ACTIVE_SCORES 1444 -#define IMG_FONT_TEXT_4 1445 -#define IMG_FONT_TEXT_4_LEVELS 1446 -#define IMG_FONT_TEXT_4_SCORES 1447 -#define IMG_FONT_TEXT_4_ACTIVE_SCORES 1448 -#define IMG_FONT_ENVELOPE_1 1449 -#define IMG_FONT_ENVELOPE_2 1450 -#define IMG_FONT_ENVELOPE_3 1451 -#define IMG_FONT_ENVELOPE_4 1452 -#define IMG_FONT_INPUT_1 1453 -#define IMG_FONT_INPUT_1_MAIN 1454 -#define IMG_FONT_INPUT_1_ACTIVE 1455 -#define IMG_FONT_INPUT_1_ACTIVE_MAIN 1456 -#define IMG_FONT_INPUT_1_ACTIVE_SETUP 1457 -#define IMG_FONT_INPUT_2 1458 -#define IMG_FONT_INPUT_2_ACTIVE 1459 -#define IMG_FONT_OPTION_OFF 1460 -#define IMG_FONT_OPTION_ON 1461 -#define IMG_FONT_VALUE_1 1462 -#define IMG_FONT_VALUE_2 1463 -#define IMG_FONT_VALUE_OLD 1464 -#define IMG_FONT_LEVEL_NUMBER 1465 -#define IMG_FONT_TAPE_RECORDER 1466 -#define IMG_FONT_GAME_INFO 1467 -#define IMG_GLOBAL_BORDER 1468 -#define IMG_GLOBAL_DOOR 1469 -#define IMG_EDITOR_ELEMENT_BORDER 1470 -#define IMG_EDITOR_ELEMENT_BORDER_INPUT 1471 -#define IMG_BACKGROUND_ENVELOPE_1 1472 -#define IMG_BACKGROUND_ENVELOPE_2 1473 -#define IMG_BACKGROUND_ENVELOPE_3 1474 -#define IMG_BACKGROUND_ENVELOPE_4 1475 -#define IMG_BACKGROUND 1476 -#define IMG_BACKGROUND_MAIN 1477 -#define IMG_BACKGROUND_LEVELS 1478 -#define IMG_BACKGROUND_SCORES 1479 -#define IMG_BACKGROUND_EDITOR 1480 -#define IMG_BACKGROUND_INFO 1481 -#define IMG_BACKGROUND_INFO_ELEMENTS 1482 -#define IMG_BACKGROUND_INFO_MUSIC 1483 -#define IMG_BACKGROUND_INFO_CREDITS 1484 -#define IMG_BACKGROUND_INFO_PROGRAM 1485 -#define IMG_BACKGROUND_INFO_LEVELSET 1486 -#define IMG_BACKGROUND_SETUP 1487 -#define IMG_BACKGROUND_DOOR 1488 +#define IMG_MENU_SCROLLBAR 1417 +#define IMG_MENU_SCROLLBAR_ACTIVE 1418 +#define IMG_FONT_INITIAL_1 1419 +#define IMG_FONT_INITIAL_2 1420 +#define IMG_FONT_INITIAL_3 1421 +#define IMG_FONT_INITIAL_4 1422 +#define IMG_FONT_TITLE_1 1423 +#define IMG_FONT_TITLE_1_LEVELS 1424 +#define IMG_FONT_TITLE_2 1425 +#define IMG_FONT_MENU_1 1426 +#define IMG_FONT_MENU_2 1427 +#define IMG_FONT_TEXT_1 1428 +#define IMG_FONT_TEXT_1_LEVELS 1429 +#define IMG_FONT_TEXT_1_PREVIEW 1430 +#define IMG_FONT_TEXT_1_SCORES 1431 +#define IMG_FONT_TEXT_1_ACTIVE_SCORES 1432 +#define IMG_FONT_TEXT_2 1433 +#define IMG_FONT_TEXT_2_LEVELS 1434 +#define IMG_FONT_TEXT_2_PREVIEW 1435 +#define IMG_FONT_TEXT_2_SCORES 1436 +#define IMG_FONT_TEXT_2_ACTIVE_SCORES 1437 +#define IMG_FONT_TEXT_3 1438 +#define IMG_FONT_TEXT_3_LEVELS 1439 +#define IMG_FONT_TEXT_3_PREVIEW 1440 +#define IMG_FONT_TEXT_3_SCORES 1441 +#define IMG_FONT_TEXT_3_ACTIVE_SCORES 1442 +#define IMG_FONT_TEXT_4 1443 +#define IMG_FONT_TEXT_4_LEVELS 1444 +#define IMG_FONT_TEXT_4_SCORES 1445 +#define IMG_FONT_TEXT_4_ACTIVE_SCORES 1446 +#define IMG_FONT_ENVELOPE_1 1447 +#define IMG_FONT_ENVELOPE_2 1448 +#define IMG_FONT_ENVELOPE_3 1449 +#define IMG_FONT_ENVELOPE_4 1450 +#define IMG_FONT_INPUT_1 1451 +#define IMG_FONT_INPUT_1_MAIN 1452 +#define IMG_FONT_INPUT_1_ACTIVE 1453 +#define IMG_FONT_INPUT_1_ACTIVE_MAIN 1454 +#define IMG_FONT_INPUT_1_ACTIVE_SETUP 1455 +#define IMG_FONT_INPUT_2 1456 +#define IMG_FONT_INPUT_2_ACTIVE 1457 +#define IMG_FONT_OPTION_OFF 1458 +#define IMG_FONT_OPTION_ON 1459 +#define IMG_FONT_VALUE_1 1460 +#define IMG_FONT_VALUE_2 1461 +#define IMG_FONT_VALUE_OLD 1462 +#define IMG_FONT_LEVEL_NUMBER 1463 +#define IMG_FONT_TAPE_RECORDER 1464 +#define IMG_FONT_GAME_INFO 1465 +#define IMG_GLOBAL_BORDER 1466 +#define IMG_GLOBAL_DOOR 1467 +#define IMG_EDITOR_ELEMENT_BORDER 1468 +#define IMG_EDITOR_ELEMENT_BORDER_INPUT 1469 +#define IMG_BACKGROUND_ENVELOPE_1 1470 +#define IMG_BACKGROUND_ENVELOPE_2 1471 +#define IMG_BACKGROUND_ENVELOPE_3 1472 +#define IMG_BACKGROUND_ENVELOPE_4 1473 +#define IMG_BACKGROUND 1474 +#define IMG_BACKGROUND_MAIN 1475 +#define IMG_BACKGROUND_LEVELS 1476 +#define IMG_BACKGROUND_SCORES 1477 +#define IMG_BACKGROUND_EDITOR 1478 +#define IMG_BACKGROUND_INFO 1479 +#define IMG_BACKGROUND_INFO_ELEMENTS 1480 +#define IMG_BACKGROUND_INFO_MUSIC 1481 +#define IMG_BACKGROUND_INFO_CREDITS 1482 +#define IMG_BACKGROUND_INFO_PROGRAM 1483 +#define IMG_BACKGROUND_INFO_LEVELSET 1484 +#define IMG_BACKGROUND_SETUP 1485 +#define IMG_BACKGROUND_DOOR 1486 -#define NUM_IMAGE_FILES 1489 +#define NUM_IMAGE_FILES 1487 #endif /* CONF_GFX_H */ diff --git a/src/conftime.h b/src/conftime.h index 7564e9b8..bfeeb185 100644 --- a/src/conftime.h +++ b/src/conftime.h @@ -1 +1 @@ -#define COMPILE_DATE_STRING "[2005-12-10 21:18]" +#define COMPILE_DATE_STRING "[2005-12-11 03:16]" diff --git a/src/editor.c b/src/editor.c index 73a08b16..d141e16a 100644 --- a/src/editor.c +++ b/src/editor.c @@ -2844,14 +2844,14 @@ static int editor_el_emerald_mine_club[] = EL_EMC_WALL_11, EL_EMC_WALL_12, -#if RELEASE_311 +#if RELEASE_3_1_2 EL_EMPTY, #else EL_EMC_ANDROID, #endif EL_BALLOON, EL_BALLOON_SWITCH_ANY, -#if RELEASE_311 +#if RELEASE_3_1_2 EL_EMPTY, #else EL_BALLOON_SWITCH_NONE, @@ -2864,7 +2864,7 @@ static int editor_el_emerald_mine_club[] = EL_EMC_GRASS, EL_EMC_PLANT, -#if RELEASE_311 +#if RELEASE_3_1_2 EL_EMPTY, EL_EMPTY, #else @@ -2872,7 +2872,7 @@ static int editor_el_emerald_mine_club[] = EL_EMC_MAGNIFIER, #endif -#if RELEASE_311 +#if RELEASE_3_1_2 EL_EMPTY, EL_EMPTY, #else @@ -2880,13 +2880,13 @@ static int editor_el_emerald_mine_club[] = EL_EMC_MAGIC_BALL_SWITCH, #endif EL_SPRING, -#if RELEASE_311 +#if RELEASE_3_1_2 EL_EMPTY, #else EL_EMC_SPRING_BUMPER, #endif -#if RELEASE_311 +#if RELEASE_3_1_2 EL_EMPTY, #else EL_EMC_DRIPPER, diff --git a/src/game.c b/src/game.c index 9cec7d1b..d67c64e6 100644 --- a/src/game.c +++ b/src/game.c @@ -7052,7 +7052,10 @@ static boolean ChangeElementNow(int x, int y, int element, int page) } if (something_has_changed) + { PlayLevelSoundElementAction(x, y, element, ACTION_CHANGING); + PlayLevelSoundElementAction(x, y, element, ACTION_PAGE_1 + page); + } } } else @@ -7062,6 +7065,7 @@ static boolean ChangeElementNow(int x, int y, int element, int page) ChangeElementNowExt(change, x, y, target_element); PlayLevelSoundElementAction(x, y, element, ACTION_CHANGING); + PlayLevelSoundElementAction(x, y, element, ACTION_PAGE_1 + page); } /* this uses direct change before indirect change */ @@ -7296,10 +7300,16 @@ static boolean CheckTriggeredElementChangeExt(int trigger_element, } #if USE_NEW_DELAYED_ACTION else if (change->has_action) + { ExecuteCustomElementAction(x, y, element, p); + PlayLevelSoundElementAction(x, y, element, ACTION_PAGE_1 + p); + } #else if (change->has_action) + { ExecuteCustomElementAction(x, y, element, p); + PlayLevelSoundElementAction(x, y, element, ACTION_PAGE_1 + p); + } #endif } } @@ -7369,10 +7379,16 @@ static boolean CheckElementChangeExt(int x, int y, } #if USE_NEW_DELAYED_ACTION else if (change->has_action) + { ExecuteCustomElementAction(x, y, element, p); + PlayLevelSoundElementAction(x, y, element, ACTION_PAGE_1 + p); + } #else if (change->has_action) + { ExecuteCustomElementAction(x, y, element, p); + PlayLevelSoundElementAction(x, y, element, ACTION_PAGE_1 + p); + } #endif } } diff --git a/src/libgame/setup.c b/src/libgame/setup.c index 656bc519..4fc58a40 100644 --- 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); } +#if 0 if (leveldir_new->levels < 1) leveldir_new->levels = 1; +#endif leveldir_new->last_level = leveldir_new->first_level + leveldir_new->levels - 1; @@ -1987,6 +1989,19 @@ static boolean LoadLevelInfoFromLevelConf(TreeInfo **node_first, (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); diff --git a/src/main.c b/src/main.c index 2951ccb5..10591292 100644 --- a/src/main.c +++ b/src/main.c @@ -4187,6 +4187,38 @@ struct ElementActionInfo element_action_info[NUM_ACTIONS + 1 + 1] = { ".slurped_by_spring", ACTION_SLURPED_BY_SPRING, FALSE }, { ".twinkling", ACTION_TWINKLING, FALSE }, { ".splashing", ACTION_SPLASHING, FALSE }, + { ".page[1]", ACTION_PAGE_1, FALSE }, + { ".page[2]", ACTION_PAGE_2, FALSE }, + { ".page[3]", ACTION_PAGE_3, FALSE }, + { ".page[4]", ACTION_PAGE_4, FALSE }, + { ".page[5]", ACTION_PAGE_5, FALSE }, + { ".page[6]", ACTION_PAGE_6, FALSE }, + { ".page[7]", ACTION_PAGE_7, FALSE }, + { ".page[8]", ACTION_PAGE_8, FALSE }, + { ".page[9]", ACTION_PAGE_9, FALSE }, + { ".page[10]", ACTION_PAGE_10, FALSE }, + { ".page[11]", ACTION_PAGE_11, FALSE }, + { ".page[12]", ACTION_PAGE_12, FALSE }, + { ".page[13]", ACTION_PAGE_13, FALSE }, + { ".page[14]", ACTION_PAGE_14, FALSE }, + { ".page[15]", ACTION_PAGE_15, FALSE }, + { ".page[16]", ACTION_PAGE_16, FALSE }, + { ".page[17]", ACTION_PAGE_17, FALSE }, + { ".page[18]", ACTION_PAGE_18, FALSE }, + { ".page[19]", ACTION_PAGE_19, FALSE }, + { ".page[20]", ACTION_PAGE_20, FALSE }, + { ".page[21]", ACTION_PAGE_21, FALSE }, + { ".page[22]", ACTION_PAGE_22, FALSE }, + { ".page[23]", ACTION_PAGE_23, FALSE }, + { ".page[24]", ACTION_PAGE_24, FALSE }, + { ".page[25]", ACTION_PAGE_25, FALSE }, + { ".page[26]", ACTION_PAGE_26, FALSE }, + { ".page[27]", ACTION_PAGE_27, FALSE }, + { ".page[28]", ACTION_PAGE_28, FALSE }, + { ".page[29]", ACTION_PAGE_29, FALSE }, + { ".page[30]", ACTION_PAGE_30, FALSE }, + { ".page[31]", ACTION_PAGE_31, FALSE }, + { ".page[32]", ACTION_PAGE_32, FALSE }, { ".other", ACTION_OTHER, FALSE }, /* empty suffix always matches -- check as last entry in InitSoundInfo() */ diff --git a/src/main.h b/src/main.h index 4bd3788e..b52a5e8f 100644 --- a/src/main.h +++ b/src/main.h @@ -1290,9 +1290,41 @@ #define ACTION_SLURPED_BY_SPRING 49 #define ACTION_TWINKLING 50 #define ACTION_SPLASHING 51 -#define ACTION_OTHER 52 - -#define NUM_ACTIONS 53 +#define ACTION_PAGE_1 52 +#define ACTION_PAGE_2 53 +#define ACTION_PAGE_3 54 +#define ACTION_PAGE_4 55 +#define ACTION_PAGE_5 56 +#define ACTION_PAGE_6 57 +#define ACTION_PAGE_7 58 +#define ACTION_PAGE_8 59 +#define ACTION_PAGE_9 60 +#define ACTION_PAGE_10 61 +#define ACTION_PAGE_11 62 +#define ACTION_PAGE_12 63 +#define ACTION_PAGE_13 64 +#define ACTION_PAGE_14 65 +#define ACTION_PAGE_15 66 +#define ACTION_PAGE_16 67 +#define ACTION_PAGE_17 68 +#define ACTION_PAGE_18 69 +#define ACTION_PAGE_19 70 +#define ACTION_PAGE_20 71 +#define ACTION_PAGE_21 72 +#define ACTION_PAGE_22 73 +#define ACTION_PAGE_23 74 +#define ACTION_PAGE_24 75 +#define ACTION_PAGE_25 76 +#define ACTION_PAGE_26 77 +#define ACTION_PAGE_27 78 +#define ACTION_PAGE_28 79 +#define ACTION_PAGE_29 80 +#define ACTION_PAGE_30 81 +#define ACTION_PAGE_31 82 +#define ACTION_PAGE_32 83 +#define ACTION_OTHER 84 + +#define NUM_ACTIONS 85 #define ACTION_BORING_LAST ACTION_BORING_10 #define ACTION_SLEEPING_LAST ACTION_SLEEPING_3 @@ -1438,9 +1470,9 @@ /* program information and versioning definitions */ -#define RELEASE_311 FALSE +#define RELEASE_3_1_2 FALSE -#if RELEASE_311 +#if RELEASE_3_1_2 #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 1 #define PROGRAM_VERSION_PATCH 2 @@ -1450,7 +1482,7 @@ #define PROGRAM_VERSION_MAJOR 3 #define PROGRAM_VERSION_MINOR 2 #define PROGRAM_VERSION_PATCH 0 -#define PROGRAM_VERSION_BUILD 3 +#define PROGRAM_VERSION_BUILD 4 #endif #define PROGRAM_TITLE_STRING "Rocks'n'Diamonds"