diff options
author | alberth <alberth@openttd.org> | 2015-11-20 10:04:28 +0000 |
---|---|---|
committer | alberth <alberth@openttd.org> | 2015-11-20 10:04:28 +0000 |
commit | e9f12d666d6fe58563167ba8d45bc164c36802ed (patch) | |
tree | 77c445121ef2b4f5147096b9b82845984b771166 | |
parent | 3ccfc954f3ff99af58732b69a185ea77d5c03060 (diff) | |
download | openttd-e9f12d666d6fe58563167ba8d45bc164c36802ed.tar.xz |
(svn r27451) -Feature[FS#6241]: Move sprite 8 positions in sprite aligner with ctrl+click. (based on work by juzza1)
-rw-r--r-- | src/lang/english.txt | 2 | ||||
-rw-r--r-- | src/newgrf_debug_gui.cpp | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/lang/english.txt b/src/lang/english.txt index ad29b3d59..0bd430bad 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -2874,7 +2874,7 @@ STR_SPRITE_ALIGNER_GOTO_TOOLTIP :{BLACK}Go to th 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 eight 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) diff --git a/src/newgrf_debug_gui.cpp b/src/newgrf_debug_gui.cpp index 0074af218..75b06967f 100644 --- a/src/newgrf_debug_gui.cpp +++ b/src/newgrf_debug_gui.cpp @@ -972,10 +972,11 @@ struct SpriteAlignerWindow : Window { 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 ? 8 : 1; break; + case WID_SA_DOWN: spr->y_offs += _ctrl_pressed ? 8 : 1; break; + case WID_SA_LEFT: spr->x_offs -= _ctrl_pressed ? 8 : 1; break; + case WID_SA_RIGHT: spr->x_offs += _ctrl_pressed ? 8 : 1; break; } /* Of course, we need to redraw the sprite, but where is it used? * Everywhere is a safe bet. */ |