you can now hold in map editor to paint multiple cells
This commit is contained in:
parent
483e335db8
commit
44ea56baf2
|
@ -8,6 +8,8 @@ bool leftclick, rightclick, targetclick, hiliteclick, anyshiftclick, wheelclick,
|
|||
forcetarget, lshiftclick, lctrlclick;
|
||||
bool gtouched;
|
||||
|
||||
bool holdmouse;
|
||||
|
||||
int getcstat, lgetcstat; ld getcshift; bool inslider;
|
||||
|
||||
function <void(int sym, int uni)> keyhandler;
|
||||
|
@ -638,6 +640,7 @@ void mainloopiter() {
|
|||
mousepressed = ev.type == SDL_MOUSEBUTTONDOWN;
|
||||
if(mousepressed) flashMessages();
|
||||
mousing = true;
|
||||
holdmouse = false;
|
||||
|
||||
bool act = false;
|
||||
|
||||
|
@ -710,6 +713,8 @@ void mainloopiter() {
|
|||
else
|
||||
#endif
|
||||
mouseh = gethyper(mousex, mousey);
|
||||
|
||||
if(holdmouse && getcstat == '-') sym = uni = getcstat;
|
||||
|
||||
if((rightclick || (SDL_GetMouseState(NULL, NULL) & SDL_BUTTON_MMASK)) && !mouseout2() &&
|
||||
mouseh[2] < 50 && mouseoh[2] < 50) {
|
||||
|
|
1
hyper.h
1
hyper.h
|
@ -2109,3 +2109,4 @@ template<class T> void generateLandList(T t);
|
|||
int isLandValid(eLand l);
|
||||
|
||||
bool inmirrororwall(eLand l);
|
||||
extern bool holdmouse;
|
||||
|
|
|
@ -421,8 +421,10 @@ namespace mapeditor {
|
|||
}
|
||||
|
||||
else if(u < 2) return 0;
|
||||
|
||||
|
||||
#if LOCAL
|
||||
printf("unhandled: u=%d\n", u);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
|
@ -1162,9 +1164,11 @@ namespace mapeditor {
|
|||
handlePanning(sym, uni);
|
||||
|
||||
// left-clicks are coded with '-', and right-clicks are coded with sym F1
|
||||
if(uni == '-') undoLock();
|
||||
if(uni == '-' && mouseover)
|
||||
if(uni == '-' && !holdmouse) undoLock();
|
||||
if(uni == '-' && mouseover) {
|
||||
allInPattern(mouseover, radius, neighborId(mouseover, mouseover2));
|
||||
holdmouse = true;
|
||||
}
|
||||
|
||||
if(mouseover) for(int i=0; i<mouseover->type; i++) createMov(mouseover, i);
|
||||
if(uni == 'u') applyUndo();
|
||||
|
|
Loading…
Reference in New Issue