Index: src/lang/english.txt =================================================================== --- src/lang/english.txt (revision 27174) +++ src/lang/english.txt (working copy) @@ -2878,7 +2878,7 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Previous sprite STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Proceed to the previous normal sprite, skipping any pseudo/recolour/font sprites and wrapping around from the first sprite to the last STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Representation of the currently selected sprite. The alignment is ignored when drawing this sprite -STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move the sprite around, changing the X and Y offsets +STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Move the sprite around, changing the X and Y offsets. Ctrl+Click to move the sprite ten units at a time STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Reset relative STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Reset the current relative offsets STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X offset: {NUM}, Y offset: {NUM} (Absolute) Index: src/newgrf_debug_gui.cpp =================================================================== --- src/newgrf_debug_gui.cpp (revision 27174) +++ src/newgrf_debug_gui.cpp (working copy) @@ -972,10 +972,11 @@ this->offs_start_map.Insert(this->current_sprite, XyOffs(spr->x_offs, spr->y_offs)); } switch (widget) { - case WID_SA_UP: spr->y_offs--; break; - case WID_SA_DOWN: spr->y_offs++; break; - case WID_SA_LEFT: spr->x_offs--; break; - case WID_SA_RIGHT: spr->x_offs++; break; + /* Move ten units at a time if ctrl is pressed. */ + case WID_SA_UP: spr->y_offs -= _ctrl_pressed ? 10 : 1; break; + case WID_SA_DOWN: spr->y_offs += _ctrl_pressed ? 10 : 1; break; + case WID_SA_LEFT: spr->x_offs -= _ctrl_pressed ? 10 : 1; break; + case WID_SA_RIGHT: spr->x_offs += _ctrl_pressed ? 10 : 1; break; } /* Of course, we need to redraw the sprite, but where is it used? * Everywhere is a safe bet. */