X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=5b77b1fc9d47c5c165482ac5728feba18ee8ac6f;hb=370a25a79d2e8df1e6e3e4cb4be39496d0190c28;hp=856523def1fd6ba8b99c168ce521b93170cde8bd;hpb=5d2162e19c73b04f6ffccf2f3db4a2b758f47f2b;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index 856523de..5b77b1fc 100644 --- a/src/editor.c +++ b/src/editor.c @@ -736,7 +736,7 @@ int editor_element[] = EL_CHAR('U'), EL_CHAR('L'), - EL_CHAR_MINUS, + EL_CHAR('-'), EL_CHAR('D'), EL_CHAR('E'), EL_CHAR('R'), @@ -757,24 +757,24 @@ int editor_element[] = EL_AUSGANG_AUF, EL_EDELSTEIN_BD, - EL_BUTTERFLY_O, - EL_FIREFLY_O, + EL_BUTTERFLY_UP, + EL_FIREFLY_UP, EL_FELSBROCKEN, - EL_BUTTERFLY_L, - EL_FIREFLY_L, - EL_BUTTERFLY_R, - EL_FIREFLY_R, + EL_BUTTERFLY_LEFT, + EL_FIREFLY_LEFT, + EL_BUTTERFLY_RIGHT, + EL_FIREFLY_RIGHT, EL_AMOEBE_BD, - EL_BUTTERFLY_U, - EL_FIREFLY_U, + EL_BUTTERFLY_DOWN, + EL_FIREFLY_DOWN, EL_LEERRAUM, EL_CHAR('E'), EL_CHAR('M'), EL_CHAR('E'), - EL_CHAR_MINUS, + EL_CHAR('-'), EL_CHAR('R'), EL_CHAR('A'), @@ -811,24 +811,24 @@ int editor_element[] = EL_MORAST_LEER, EL_MORAST_VOLL, - EL_DYNAMIT_AUS, - EL_DYNAMIT, + EL_DYNAMITE_INACTIVE, + EL_DYNAMITE_ACTIVE, EL_AUSGANG_ZU, EL_AUSGANG_AUF, EL_MAMPFER, - EL_KAEFER_O, - EL_FLIEGER_O, + EL_KAEFER_UP, + EL_FLIEGER_UP, EL_ROBOT, - EL_KAEFER_L, - EL_FLIEGER_L, - EL_KAEFER_R, - EL_FLIEGER_R, + EL_KAEFER_LEFT, + EL_FLIEGER_LEFT, + EL_KAEFER_RIGHT, + EL_FLIEGER_RIGHT, EL_ABLENK_AUS, - EL_KAEFER_U, - EL_FLIEGER_U, + EL_KAEFER_DOWN, + EL_FLIEGER_DOWN, EL_UNSICHTBAR, EL_BADEWANNE1, @@ -881,10 +881,10 @@ int editor_element[] = EL_PFORTE3X, EL_PFORTE4X, - EL_PFEIL_L, - EL_PFEIL_R, - EL_PFEIL_O, - EL_PFEIL_U, + EL_PFEIL_LEFT, + EL_PFEIL_RIGHT, + EL_PFEIL_UP, + EL_PFEIL_DOWN, EL_AMOEBE_VOLL, EL_EDELSTEIN_GELB, @@ -897,17 +897,17 @@ int editor_element[] = EL_ERZ_EDEL_LILA, EL_LIFE, - EL_PACMAN_O, + EL_PACMAN_UP, EL_ZEIT_VOLL, EL_ZEIT_LEER, - EL_PACMAN_L, + EL_PACMAN_LEFT, EL_MAMPFER2, - EL_PACMAN_R, + EL_PACMAN_RIGHT, EL_MAUER_LEBT, EL_LIFE_ASYNC, - EL_PACMAN_U, + EL_PACMAN_DOWN, EL_BIRNE_AUS, EL_BIRNE_EIN, @@ -916,11 +916,31 @@ int editor_element[] = EL_DYNABOMB_XL, EL_BADEWANNE, - EL_MAULWURF, + EL_MOLE, EL_PINGUIN, EL_SCHWEIN, EL_DRACHE, + EL_LEERRAUM, + EL_MOLE_UP, + EL_LEERRAUM, + EL_LEERRAUM, + + EL_MOLE_LEFT, + EL_LEERRAUM, + EL_MOLE_RIGHT, + EL_LEERRAUM, + + EL_LEERRAUM, + EL_MOLE_DOWN, + EL_BALLOON, + EL_BALLOON_SEND_ANY, + + EL_BALLOON_SEND_LEFT, + EL_BALLOON_SEND_RIGHT, + EL_BALLOON_SEND_UP, + EL_BALLOON_SEND_DOWN, + EL_SONDE, EL_MAUER_X, EL_MAUER_Y, @@ -931,12 +951,23 @@ int editor_element[] = EL_SPEED_PILL, EL_BLACK_ORB, + EL_EMC_STEEL_WALL_1, + EL_EMC_WALL_1, + EL_EMC_WALL_2, + EL_EMC_WALL_3, + + EL_EMC_WALL_4, + EL_EMC_WALL_5, + EL_EMC_WALL_6, + EL_EMC_WALL_7, + + EL_CHAR('S'), EL_CHAR('O'), EL_CHAR('K'), EL_CHAR('O'), - EL_CHAR_MINUS, + EL_CHAR('-'), EL_CHAR('B'), EL_CHAR('A'), EL_CHAR('N'), @@ -946,11 +977,6 @@ int editor_element[] = EL_SOKOBAN_FELD_VOLL, EL_BETON, - EL_LEERRAUM, - EL_LEERRAUM, - EL_LEERRAUM, - EL_LEERRAUM, - EL_CHAR('S'), EL_CHAR('U'), EL_CHAR('P'), @@ -1011,6 +1037,81 @@ int editor_element[] = EL_SP_CHIP_UPPER, EL_SP_CHIP_LOWER, + EL_CHAR('D'), + EL_CHAR('I'), + EL_CHAR('A'), + EL_CHAR('-'), + + EL_CHAR('M'), + EL_CHAR('O'), + EL_CHAR('N'), + EL_CHAR('D'), + + EL_CHAR('C'), + EL_CHAR('A'), + EL_CHAR('V'), + EL_CHAR('E'), + + EL_CHAR('S'), + EL_CHAR(' '), + EL_CHAR('I'), + EL_CHAR('I'), + + EL_BELT1_LEFT, + EL_BELT1_MIDDLE, + EL_BELT1_RIGHT, + EL_BELT1_SWITCH_MIDDLE, + + EL_BELT2_LEFT, + EL_BELT2_MIDDLE, + EL_BELT2_RIGHT, + EL_BELT2_SWITCH_MIDDLE, + + EL_BELT3_LEFT, + EL_BELT3_MIDDLE, + EL_BELT3_RIGHT, + EL_BELT3_SWITCH_MIDDLE, + + EL_BELT4_LEFT, + EL_BELT4_MIDDLE, + EL_BELT4_RIGHT, + EL_BELT4_SWITCH_MIDDLE, + + EL_BELT1_SWITCH_LEFT, + EL_BELT2_SWITCH_LEFT, + EL_BELT3_SWITCH_LEFT, + EL_BELT4_SWITCH_LEFT, + + EL_BELT1_SWITCH_RIGHT, + EL_BELT2_SWITCH_RIGHT, + EL_BELT3_SWITCH_RIGHT, + EL_BELT4_SWITCH_RIGHT, + + EL_SWITCHGATE_OPEN, + EL_SWITCHGATE_CLOSED, + EL_SWITCHGATE_SWITCH_1, + EL_ENVELOPE, + + EL_TIMEGATE_CLOSED, + EL_TIMEGATE_OPEN, + EL_TIMEGATE_SWITCH_OFF, + EL_LEERRAUM, + + EL_LANDMINE, + EL_SAND_INVISIBLE, + EL_STEEL_SLANTED, + EL_LEERRAUM, + + EL_SIGN_EXCLAMATION, + EL_SIGN_STOP, + EL_LIGHT_SWITCH_OFF, + EL_LIGHT_SWITCH_ON, + + EL_SHIELD_PASSIVE, + EL_SHIELD_ACTIVE, + EL_EXTRA_TIME, + EL_LEERRAUM, + /* EL_CHAR('D'), EL_CHAR('Y'), @@ -1810,8 +1911,8 @@ static void MapControlButtons() /* map buttons to select level */ counter_id = ED_COUNTER_ID_SELECT_LEVEL; ModifyEditorCounterLimits(counter_id, - leveldir[leveldir_nr].first_level, - leveldir[leveldir_nr].last_level); + leveldir_current->first_level, + leveldir_current->last_level); ModifyEditorCounter(counter_id, *counterbutton_info[counter_id].value); MapCounterButtons(counter_id); } @@ -2443,31 +2544,31 @@ static void DrawPropertiesWindow() { EL_EDELSTEIN_ROT, &level.score[SC_EDELSTEIN], TEXT_COLLECTING }, { EL_EDELSTEIN_LILA,&level.score[SC_EDELSTEIN], TEXT_COLLECTING }, { EL_DIAMANT, &level.score[SC_DIAMANT], TEXT_COLLECTING }, - { EL_KAEFER_R, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_KAEFER_O, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_KAEFER_L, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_KAEFER_U, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUTTERFLY_R, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUTTERFLY_O, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUTTERFLY_L, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_BUTTERFLY_U, &level.score[SC_KAEFER], TEXT_SMASHING }, - { EL_FLIEGER_R, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FLIEGER_O, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FLIEGER_L, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FLIEGER_U, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FIREFLY_R, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FIREFLY_O, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FIREFLY_L, &level.score[SC_FLIEGER], TEXT_SMASHING }, - { EL_FIREFLY_U, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_KAEFER_RIGHT, &level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_KAEFER_UP, &level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_KAEFER_LEFT, &level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_KAEFER_DOWN, &level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_BUTTERFLY_RIGHT,&level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_BUTTERFLY_UP, &level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_BUTTERFLY_LEFT,&level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_BUTTERFLY_DOWN,&level.score[SC_KAEFER], TEXT_SMASHING }, + { EL_FLIEGER_RIGHT, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FLIEGER_UP, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FLIEGER_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FLIEGER_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FIREFLY_RIGHT, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FIREFLY_UP, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FIREFLY_LEFT, &level.score[SC_FLIEGER], TEXT_SMASHING }, + { EL_FIREFLY_DOWN, &level.score[SC_FLIEGER], TEXT_SMASHING }, { EL_MAMPFER, &level.score[SC_MAMPFER], TEXT_SMASHING }, { EL_MAMPFER2, &level.score[SC_MAMPFER], TEXT_SMASHING }, { EL_ROBOT, &level.score[SC_ROBOT], TEXT_SMASHING }, - { EL_PACMAN_R, &level.score[SC_PACMAN], TEXT_SMASHING }, - { EL_PACMAN_O, &level.score[SC_PACMAN], TEXT_SMASHING }, - { EL_PACMAN_L, &level.score[SC_PACMAN], TEXT_SMASHING }, - { EL_PACMAN_U, &level.score[SC_PACMAN], TEXT_SMASHING }, + { EL_PACMAN_RIGHT, &level.score[SC_PACMAN], TEXT_SMASHING }, + { EL_PACMAN_UP, &level.score[SC_PACMAN], TEXT_SMASHING }, + { EL_PACMAN_LEFT, &level.score[SC_PACMAN], TEXT_SMASHING }, + { EL_PACMAN_DOWN, &level.score[SC_PACMAN], TEXT_SMASHING }, { EL_KOKOSNUSS, &level.score[SC_KOKOSNUSS], TEXT_CRACKING }, - { EL_DYNAMIT_AUS, &level.score[SC_DYNAMIT], TEXT_COLLECTING }, + { EL_DYNAMITE_INACTIVE,&level.score[SC_DYNAMIT], TEXT_COLLECTING }, { EL_SCHLUESSEL1, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, { EL_SCHLUESSEL2, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, { EL_SCHLUESSEL3, &level.score[SC_SCHLUESSEL], TEXT_COLLECTING }, @@ -3731,7 +3832,7 @@ static void HandleControlButtons(struct GadgetInfo *gi) break; case GADGET_ID_SAVE: - if (leveldir[leveldir_nr].readonly) + if (leveldir_current->readonly) { Request("This level is read only !", REQ_CONFIRM); break; @@ -3890,6 +3991,8 @@ void HandleLevelEditorKeyInput(KeySym key) ClickOnGadget(level_editor_gadget[id], button); else if (letter == '.') ClickOnGadget(level_editor_gadget[GADGET_ID_SINGLE_ITEMS], button); + else if (key == XK_space || key == XK_Return) + ClickOnGadget(level_editor_gadget[GADGET_ID_TEST], button); else for (i=0; i= 'A' && key <= 'Z' ? "Shift-" : - gi->custom_id == GADGET_ID_SINGLE_ITEMS ? ".' or '" : ""), - key); + if (gi->custom_id == GADGET_ID_SINGLE_ITEMS) /* special case 1 */ + sprintf(shortcut, " ('.' or '%c')", key); + else if (gi->custom_id == GADGET_ID_TEST) /* special case 2 */ + sprintf(shortcut, " ('Enter' or 'Shift-%c')", key); + else /* normal case */ + sprintf(shortcut, " ('%s%c')", + (key >= 'A' && key <= 'Z' ? "Shift-" : ""), key); if (strlen(infotext) + strlen(shortcut) <= MAX_INFOTEXT_LEN) strcat(infotext, shortcut);