mirror of
https://github.com/The-Powder-Toy/The-Powder-Toy.git
synced 2025-09-01 20:12:50 +02:00
modifier keys are now checked when doing stamp stuff
This commit is contained in:
@@ -1289,50 +1289,7 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
|
|||||||
introText = 50;
|
introText = 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(selectMode!=SelectNone)
|
// these key events still work when placing / creating stamps
|
||||||
{
|
|
||||||
if(selectMode==PlaceSave)
|
|
||||||
{
|
|
||||||
switch(key)
|
|
||||||
{
|
|
||||||
case KEY_RIGHT:
|
|
||||||
case 'd':
|
|
||||||
c->TranslateSave(ui::Point(1, 0));
|
|
||||||
break;
|
|
||||||
case KEY_LEFT:
|
|
||||||
case 'a':
|
|
||||||
c->TranslateSave(ui::Point(-1, 0));
|
|
||||||
break;
|
|
||||||
case KEY_UP:
|
|
||||||
case 'w':
|
|
||||||
c->TranslateSave(ui::Point(0, -1));
|
|
||||||
break;
|
|
||||||
case KEY_DOWN:
|
|
||||||
case 's':
|
|
||||||
c->TranslateSave(ui::Point(0, 1));
|
|
||||||
break;
|
|
||||||
case 'r':
|
|
||||||
if (ctrl && shift)
|
|
||||||
{
|
|
||||||
//Vertical flip
|
|
||||||
c->TransformSave(m2d_new(1,0,0,-1));
|
|
||||||
}
|
|
||||||
else if (!ctrl && shift)
|
|
||||||
{
|
|
||||||
//Horizontal flip
|
|
||||||
c->TransformSave(m2d_new(-1,0,0,1));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//Rotate 90deg
|
|
||||||
c->TransformSave(m2d_new(0,1,-1,0));
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(key != ' ' && key != 'z')
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
switch (key)
|
switch (key)
|
||||||
{
|
{
|
||||||
case KEY_LALT:
|
case KEY_LALT:
|
||||||
@@ -1383,9 +1340,6 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
|
|||||||
case ' ': //Space
|
case ' ': //Space
|
||||||
c->SetPaused();
|
c->SetPaused();
|
||||||
break;
|
break;
|
||||||
case KEY_TAB: //Tab
|
|
||||||
c->ChangeBrush();
|
|
||||||
break;
|
|
||||||
case 'z':
|
case 'z':
|
||||||
if (ctrl)
|
if (ctrl)
|
||||||
{
|
{
|
||||||
@@ -1399,6 +1353,57 @@ void GameView::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool
|
|||||||
c->SetZoomEnabled(true);
|
c->SetZoomEnabled(true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (selectMode != SelectNone)
|
||||||
|
{
|
||||||
|
if (selectMode == PlaceSave)
|
||||||
|
{
|
||||||
|
switch (key)
|
||||||
|
{
|
||||||
|
case KEY_RIGHT:
|
||||||
|
case 'd':
|
||||||
|
c->TranslateSave(ui::Point(1, 0));
|
||||||
|
break;
|
||||||
|
case KEY_LEFT:
|
||||||
|
case 'a':
|
||||||
|
c->TranslateSave(ui::Point(-1, 0));
|
||||||
|
break;
|
||||||
|
case KEY_UP:
|
||||||
|
case 'w':
|
||||||
|
c->TranslateSave(ui::Point(0, -1));
|
||||||
|
break;
|
||||||
|
case KEY_DOWN:
|
||||||
|
case 's':
|
||||||
|
c->TranslateSave(ui::Point(0, 1));
|
||||||
|
break;
|
||||||
|
case 'r':
|
||||||
|
if (ctrl && shift)
|
||||||
|
{
|
||||||
|
//Vertical flip
|
||||||
|
c->TransformSave(m2d_new(1,0,0,-1));
|
||||||
|
}
|
||||||
|
else if (!ctrl && shift)
|
||||||
|
{
|
||||||
|
//Horizontal flip
|
||||||
|
c->TransformSave(m2d_new(-1,0,0,1));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//Rotate 90deg
|
||||||
|
c->TransformSave(m2d_new(0,1,-1,0));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (key != ' ' && key != 'z')
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
switch(key)
|
||||||
|
{
|
||||||
|
case KEY_TAB: //Tab
|
||||||
|
c->ChangeBrush();
|
||||||
|
break;
|
||||||
case '`':
|
case '`':
|
||||||
c->ShowConsole();
|
c->ShowConsole();
|
||||||
break;
|
break;
|
||||||
|
Reference in New Issue
Block a user