X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Feditor.c;h=a74d702c58d2c19539b79bcdac92ecd1380f415f;hb=c1d1d669f782d9af7dfa71159962d5a89c62f03b;hp=ab28fe0cf4d002a8d4760c7243992b925f634650;hpb=41364660abbcb81a83f5018be3655352ecdf1ac9;p=rocksndiamonds.git diff --git a/src/editor.c b/src/editor.c index ab28fe0c..a74d702c 100644 --- a/src/editor.c +++ b/src/editor.c @@ -247,12 +247,13 @@ #define GADGET_ID_RANDOM_QUANTITY 107 #define GADGET_ID_RANDOM_RESTRICTED 108 #define GADGET_ID_DOUBLE_SPEED 109 -#define GADGET_ID_STICK_ELEMENT 110 +#define GADGET_ID_GRAVITY 110 +#define GADGET_ID_STICK_ELEMENT 111 /* another drawing area for random placement */ -#define GADGET_ID_RANDOM_BACKGROUND 111 +#define GADGET_ID_RANDOM_BACKGROUND 112 -#define NUM_EDITOR_GADGETS 112 +#define NUM_EDITOR_GADGETS 113 /* radio button numbers */ #define RADIO_NR_NONE 0 @@ -301,10 +302,11 @@ /* values for checkbutton gadgets */ #define ED_CHECKBUTTON_ID_DOUBLE_SPEED 0 -#define ED_CHECKBUTTON_ID_RANDOM_RESTRICTED 1 -#define ED_CHECKBUTTON_ID_STICK_ELEMENT 2 +#define ED_CHECKBUTTON_ID_GRAVITY 1 +#define ED_CHECKBUTTON_ID_RANDOM_RESTRICTED 2 +#define ED_CHECKBUTTON_ID_STICK_ELEMENT 3 -#define ED_NUM_CHECKBUTTONS 3 +#define ED_NUM_CHECKBUTTONS 4 #define ED_CHECKBUTTON_ID_LEVEL_FIRST ED_CHECKBUTTON_ID_DOUBLE_SPEED #define ED_CHECKBUTTON_ID_LEVEL_LAST ED_CHECKBUTTON_ID_RANDOM_RESTRICTED @@ -594,6 +596,12 @@ static struct &level.double_speed, "double speed movement", "set movement speed of player" }, + { + ED_SETTINGS_XPOS + 340, ED_COUNTER_YPOS(6) - MINI_TILEY, + GADGET_ID_GRAVITY, + &level.gravity, + "gravity", "set level gravity" + }, { ED_SETTINGS_XPOS, ED_COUNTER2_YPOS(9) - MINI_TILEY, GADGET_ID_RANDOM_RESTRICTED, @@ -661,20 +669,20 @@ int element_shift = 0; int editor_element[] = { - EL_CHAR_A + ('B' - 'A'), - EL_CHAR_A + ('O' - 'A'), - EL_CHAR_A + ('U' - 'A'), - EL_CHAR_A + ('L' - 'A'), + EL_CHAR('B'), + EL_CHAR('O'), + EL_CHAR('U'), + EL_CHAR('L'), EL_CHAR_MINUS, - EL_CHAR_A + ('D' - 'A'), - EL_CHAR_A + ('E' - 'A'), - EL_CHAR_A + ('R' - 'A'), + EL_CHAR('D'), + EL_CHAR('E'), + EL_CHAR('R'), - EL_CHAR_A + ('D' - 'A'), - EL_CHAR_A + ('A' - 'A'), - EL_CHAR_A + ('S' - 'A'), - EL_CHAR_A + ('H' - 'A'), + EL_CHAR('D'), + EL_CHAR('A'), + EL_CHAR('S'), + EL_CHAR('H'), EL_SPIELFIGUR, EL_LEERRAUM, @@ -701,20 +709,20 @@ int editor_element[] = EL_FIREFLY_U, EL_LEERRAUM, - EL_CHAR_A + ('E' - 'A'), - EL_CHAR_A + ('M' - 'A'), - EL_CHAR_A + ('E' - 'A'), + EL_CHAR('E'), + EL_CHAR('M'), + EL_CHAR('E'), EL_CHAR_MINUS, - EL_CHAR_A + ('R' - 'A'), - EL_CHAR_A + ('A' - 'A'), - EL_CHAR_A + ('L' - 'A'), - EL_CHAR_A + ('D' - 'A'), + EL_CHAR('R'), + EL_CHAR('A'), + EL_CHAR('L'), + EL_CHAR('D'), - EL_CHAR_A + ('M' - 'A'), - EL_CHAR_A + ('I' - 'A'), - EL_CHAR_A + ('N' - 'A'), - EL_CHAR_A + ('E' - 'A'), + EL_CHAR('M'), + EL_CHAR('I'), + EL_CHAR('N'), + EL_CHAR('E'), EL_SPIELER1, EL_SPIELER2, @@ -776,6 +784,26 @@ int editor_element[] = EL_AMOEBE_NASS, EL_AMOEBE_NORM, + EL_EM_KEY_1_FILE, + EL_EM_KEY_2_FILE, + EL_EM_KEY_3_FILE, + EL_EM_KEY_4_FILE, + + EL_EM_GATE_1, + EL_EM_GATE_2, + EL_EM_GATE_3, + EL_EM_GATE_4, + + EL_EM_GATE_1X, + EL_EM_GATE_2X, + EL_EM_GATE_3X, + EL_EM_GATE_4X, + + EL_CHAR('M'), + EL_CHAR('O'), + EL_CHAR('R'), + EL_CHAR('E'), + EL_SCHLUESSEL1, EL_SCHLUESSEL2, EL_SCHLUESSEL3, @@ -791,11 +819,6 @@ int editor_element[] = EL_PFORTE3X, EL_PFORTE4X, - EL_CHAR_A + ('M' - 'A'), - EL_CHAR_A + ('O' - 'A'), - EL_CHAR_A + ('R' - 'A'), - EL_CHAR_A + ('E' - 'A'), - EL_PFEIL_L, EL_PFEIL_R, EL_PFEIL_O, @@ -846,15 +869,15 @@ int editor_element[] = EL_SPEED_PILL, EL_BLACK_ORB, - EL_CHAR_A + ('S' - 'A'), - EL_CHAR_A + ('O' - 'A'), - EL_CHAR_A + ('K' - 'A'), - EL_CHAR_A + ('O' - 'A'), + EL_CHAR('S'), + EL_CHAR('O'), + EL_CHAR('K'), + EL_CHAR('O'), EL_CHAR_MINUS, - EL_CHAR_A + ('B' - 'A'), - EL_CHAR_A + ('A' - 'A'), - EL_CHAR_A + ('N' - 'A'), + EL_CHAR('B'), + EL_CHAR('A'), + EL_CHAR('N'), EL_SOKOBAN_OBJEKT, EL_SOKOBAN_FELD_LEER, @@ -927,20 +950,20 @@ int editor_element[] = EL_SP_CHIP_LOWER, /* - EL_CHAR_A + ('D' - 'A'), - EL_CHAR_A + ('Y' - 'A'), - EL_CHAR_A + ('N' - 'A'), - EL_CHAR_A + ('A' - 'A'), + EL_CHAR('D'), + EL_CHAR('Y'), + EL_CHAR('N'), + EL_CHAR('A'), - EL_CHAR_A + ('B' - 'A'), - EL_CHAR_A + ('L' - 'A'), - EL_CHAR_A + ('A' - 'A'), - EL_CHAR_A + ('S' - 'A'), + EL_CHAR('B'), + EL_CHAR('L'), + EL_CHAR('A'), + EL_CHAR('S'), EL_CHAR_MINUS, - EL_CHAR_A + ('T' - 'A'), - EL_CHAR_A + ('E' - 'A'), - EL_CHAR_A + ('R' - 'A'), + EL_CHAR('T'), + EL_CHAR('E'), + EL_CHAR('R'), */ EL_LEERRAUM, @@ -2318,6 +2341,10 @@ static void DrawPropertiesWindow() { EL_SCHLUESSEL2, &level.score[9], TEXT_COLLECTING }, { EL_SCHLUESSEL3, &level.score[9], TEXT_COLLECTING }, { EL_SCHLUESSEL4, &level.score[9], TEXT_COLLECTING }, + { EL_EM_KEY_1_FILE, &level.score[9], TEXT_COLLECTING }, + { EL_EM_KEY_2_FILE, &level.score[9], TEXT_COLLECTING }, + { EL_EM_KEY_3_FILE, &level.score[9], TEXT_COLLECTING }, + { EL_EM_KEY_4_FILE, &level.score[9], TEXT_COLLECTING }, { EL_AMOEBE_NASS, &level.tempo_amoebe, TEXT_SPEED }, { EL_AMOEBE_NORM, &level.tempo_amoebe, TEXT_SPEED }, { EL_AMOEBE_VOLL, &level.tempo_amoebe, TEXT_SPEED }, @@ -3795,6 +3822,10 @@ static void HandleControlButtons(struct GadgetInfo *gi) *checkbutton_info[ED_CHECKBUTTON_ID_DOUBLE_SPEED].value ^= TRUE; break; + case GADGET_ID_GRAVITY: + *checkbutton_info[ED_CHECKBUTTON_ID_GRAVITY].value ^= TRUE; + break; + case GADGET_ID_STICK_ELEMENT: *checkbutton_info[ED_CHECKBUTTON_ID_STICK_ELEMENT].value ^= TRUE; break;