(svn r27451) -Feature[FS#6241]: Move sprite 8 positions in sprite aligner with ctrl+click. (based on work by juzza1)

pull/155/head
alberth 9 years ago
parent e32afcc4ea
commit e1a00bc244

@ -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)

@ -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. */

Loading…
Cancel
Save