X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=d25a47988ea1485e5ca929f3318cc9a9d83c899e;hb=1e422c29292f0583391b0ce9e9c872b38f035ac0;hp=6aa2cb76a5c8a0d6fe0fdf41d8449ba0dd576c75;hpb=f7cee51ad23b10be242545a6445fddf45accf65d;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 6aa2cb76..d25a4798 100644 --- a/src/files.c +++ b/src/files.c @@ -6551,7 +6551,7 @@ static void LoadLevelFromFileInfo_SB(struct LevelInfo *level, boolean load_xsb_to_ces = check_special_flags("load_xsb_to_ces"); int file_level_nr = 0; int line_nr = 0; - int x, y; + int x = 0, y = 0; /* initialized to make compilers happy */ #if 0 printf("::: looking for level number %d [%d]\n", @@ -9060,15 +9060,20 @@ void SaveScore(int nr) #define SETUP_TOKEN_SHORTCUT_FOCUS_PLAYER_4 6 #define SETUP_TOKEN_SHORTCUT_FOCUS_PLAYER_ALL 7 #define SETUP_TOKEN_SHORTCUT_TAPE_EJECT 8 -#define SETUP_TOKEN_SHORTCUT_TAPE_STOP 9 -#define SETUP_TOKEN_SHORTCUT_TAPE_PAUSE 10 -#define SETUP_TOKEN_SHORTCUT_TAPE_RECORD 11 -#define SETUP_TOKEN_SHORTCUT_TAPE_PLAY 12 -#define SETUP_TOKEN_SHORTCUT_SOUND_SIMPLE 13 -#define SETUP_TOKEN_SHORTCUT_SOUND_LOOPS 14 -#define SETUP_TOKEN_SHORTCUT_SOUND_MUSIC 15 - -#define NUM_SHORTCUT_SETUP_TOKENS 16 +#define SETUP_TOKEN_SHORTCUT_TAPE_EXTRA 9 +#define SETUP_TOKEN_SHORTCUT_TAPE_STOP 10 +#define SETUP_TOKEN_SHORTCUT_TAPE_PAUSE 11 +#define SETUP_TOKEN_SHORTCUT_TAPE_RECORD 12 +#define SETUP_TOKEN_SHORTCUT_TAPE_PLAY 13 +#define SETUP_TOKEN_SHORTCUT_SOUND_SIMPLE 14 +#define SETUP_TOKEN_SHORTCUT_SOUND_LOOPS 15 +#define SETUP_TOKEN_SHORTCUT_SOUND_MUSIC 16 +#define SETUP_TOKEN_SHORTCUT_SNAP_LEFT 17 +#define SETUP_TOKEN_SHORTCUT_SNAP_RIGHT 18 +#define SETUP_TOKEN_SHORTCUT_SNAP_UP 19 +#define SETUP_TOKEN_SHORTCUT_SNAP_DOWN 20 + +#define NUM_SHORTCUT_SETUP_TOKENS 21 /* player setup */ #define SETUP_TOKEN_PLAYER_USE_JOYSTICK 0 @@ -9214,6 +9219,7 @@ static struct TokenInfo shortcut_setup_tokens[] = { TYPE_KEY_X11, &ssi.focus_player[3], "shortcut.focus_player_4" }, { TYPE_KEY_X11, &ssi.focus_player_all,"shortcut.focus_player_all" }, { TYPE_KEY_X11, &ssi.tape_eject, "shortcut.tape_eject" }, + { TYPE_KEY_X11, &ssi.tape_extra, "shortcut.tape_extra" }, { TYPE_KEY_X11, &ssi.tape_stop, "shortcut.tape_stop" }, { TYPE_KEY_X11, &ssi.tape_pause, "shortcut.tape_pause" }, { TYPE_KEY_X11, &ssi.tape_record, "shortcut.tape_record" }, @@ -9221,6 +9227,10 @@ static struct TokenInfo shortcut_setup_tokens[] = { TYPE_KEY_X11, &ssi.sound_simple, "shortcut.sound_simple" }, { TYPE_KEY_X11, &ssi.sound_loops, "shortcut.sound_loops" }, { TYPE_KEY_X11, &ssi.sound_music, "shortcut.sound_music" }, + { TYPE_KEY_X11, &ssi.snap_left, "shortcut.snap_left" }, + { TYPE_KEY_X11, &ssi.snap_right, "shortcut.snap_right" }, + { TYPE_KEY_X11, &ssi.snap_up, "shortcut.snap_up" }, + { TYPE_KEY_X11, &ssi.snap_down, "shortcut.snap_down" }, }; static struct TokenInfo player_setup_tokens[] = @@ -9338,6 +9348,7 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->shortcut.focus_player_all = DEFAULT_KEY_FOCUS_PLAYER_ALL; si->shortcut.tape_eject = DEFAULT_KEY_TAPE_EJECT; + si->shortcut.tape_extra = DEFAULT_KEY_TAPE_EXTRA; si->shortcut.tape_stop = DEFAULT_KEY_TAPE_STOP; si->shortcut.tape_pause = DEFAULT_KEY_TAPE_PAUSE; si->shortcut.tape_record = DEFAULT_KEY_TAPE_RECORD; @@ -9347,6 +9358,11 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->shortcut.sound_loops = DEFAULT_KEY_SOUND_LOOPS; si->shortcut.sound_music = DEFAULT_KEY_SOUND_MUSIC; + si->shortcut.snap_left = DEFAULT_KEY_SNAP_LEFT; + si->shortcut.snap_right = DEFAULT_KEY_SNAP_RIGHT; + si->shortcut.snap_up = DEFAULT_KEY_SNAP_UP; + si->shortcut.snap_down = DEFAULT_KEY_SNAP_DOWN; + for (i = 0; i < MAX_PLAYERS; i++) { si->input[i].use_joystick = FALSE; @@ -10857,8 +10873,9 @@ void CreateLevelSketchImages() filename1 = getPath2(global.create_images_dir, basename1); filename2 = getPath2(global.create_images_dir, basename2); - getGraphicSource(graphic, 0, &src_bitmap, &src_x, &src_y); - BlitBitmap(src_bitmap, bitmap1, src_x, src_y, TILEX, TILEY, 0, 0); + getFixedGraphicSource(graphic, 0, &src_bitmap, &src_x, &src_y); + BlitBitmap(src_bitmap, bitmap1, src_x, src_y, TILEX, TILEY, + 0, 0); if (SDL_SaveBMP(bitmap1->surface, filename1) != 0) Error(ERR_EXIT, "cannot save level sketch image file '%s'", filename1); @@ -10909,7 +10926,7 @@ void CreateCustomElementImages() TILEY * (NUM_CUSTOM_ELEMENTS + NUM_GROUP_ELEMENTS) / 16, DEFAULT_DEPTH); - getGraphicSource(dummy_graphic, 0, &src_bitmap, &src_x, &src_y); + getFixedGraphicSource(dummy_graphic, 0, &src_bitmap, &src_x, &src_y); for (i = 0; i < NUM_CUSTOM_ELEMENTS; i++) { @@ -10921,18 +10938,22 @@ void CreateCustomElementImages() BlitBitmap(src_bitmap, bitmap, 0, 0, TILEX, TILEY, TILEX * x, TILEY * y + yoffset_ce); - BlitBitmap(src_bitmap, bitmap, 0, TILEY, TILEX, TILEY, - TILEX * x + TILEX * 16, TILEY * y + yoffset_ce); + BlitBitmap(src_bitmap, bitmap, 0, TILEY, + TILEX, TILEY, + TILEX * x + TILEX * 16, + TILEY * y + yoffset_ce); for (j = 2; j >= 0; j--) { int c = ii % 10; - BlitBitmap(src_bitmap, bitmap, TILEX + c * 7, 0, 6, 10, + BlitBitmap(src_bitmap, bitmap, + TILEX + c * 7, 0, 6, 10, TILEX * x + 6 + j * 7, TILEY * y + 11 + yoffset_ce); - BlitBitmap(src_bitmap, bitmap, TILEX + c * 8, TILEY, 6, 10, + BlitBitmap(src_bitmap, bitmap, + TILEX + c * 8, TILEY, 6, 10, TILEX * 16 + TILEX * x + 6 + j * 8, TILEY * y + 10 + yoffset_ce); @@ -10950,8 +10971,10 @@ void CreateCustomElementImages() BlitBitmap(src_bitmap, bitmap, 0, 0, TILEX, TILEY, TILEX * x, TILEY * y + yoffset_ge); - BlitBitmap(src_bitmap, bitmap, 0, TILEY, TILEX, TILEY, - TILEX * x + TILEX * 16, TILEY * y + yoffset_ge); + BlitBitmap(src_bitmap, bitmap, 0, TILEY, + TILEX, TILEY, + TILEX * x + TILEX * 16, + TILEY * y + yoffset_ge); for (j = 1; j >= 0; j--) { @@ -10961,7 +10984,8 @@ void CreateCustomElementImages() TILEX * x + 6 + j * 10, TILEY * y + 11 + yoffset_ge); - BlitBitmap(src_bitmap, bitmap, TILEX + c * 8, TILEY + 12, 6, 10, + BlitBitmap(src_bitmap, bitmap, + TILEX + c * 8, TILEY + 12, 6, 10, TILEX * 16 + TILEX * x + 10 + j * 8, TILEY * y + 10 + yoffset_ge);