Change back some of the behaviour, because it'd break usability with

specialized functions.
This commit is contained in:
Marco Cawthorne 2021-08-04 12:09:49 +02:00
parent 661d11c87a
commit 4e16e2dd49
19 changed files with 858 additions and 600 deletions

View file

@ -89,9 +89,6 @@ enum EManipulatorMode
eScale, eScale,
eDrag, eDrag,
eClip, eClip,
eCreate,
eEntSpawn,
ePatchSpawn
}; };
virtual void SetMode( EMode mode ) = 0; virtual void SetMode( EMode mode ) = 0;

View file

@ -0,0 +1,45 @@
/* XPM */
static char *side_clipper[] = {
/* columns rows colors chars-per-pixel */
"40 32 7 1 ",
" c None",
". c black",
"X c #800000",
"o c red",
"O c #008000",
"+ c green",
"@ c #808080",
/* pixels */
" ",
" ",
" ",
" ",
" ",
" ",
" ",
" +++++X ",
" ++++++XoXX ",
" +++++++oXoXXXX ",
" ++++++XoXoXoXXXX ",
" OOOOO@oXoXoXoXXXX ",
" OOOOOO@oXoXoXXXXXX ",
" OOOOOOO@oXoXoXXXXXX ",
" OOOOOOOO@oXoXXXXXX@ ",
" OOOOOOOOO@oXoXXXX@@ ",
" OOOOOOOOO@oXoXX@@@ ",
" OOOOOOOOOO@oXX@@@. ",
" OOOOOOOOOOO@o@@@@ ",
" OOOOOOOOOOOO@@@@@ ",
" OOOOOOOOOOOO@@@@ ",
" OOOOOOOOOOO@@@ ",
" OOOOOOOOOO@@@ ",
" OOOOOOO@@ ",
" OOOO@ ",
" OO ",
" ",
" ",
" ",
" ",
" ",
" "
};

View file

@ -0,0 +1,45 @@
/* XPM */
static char *side_entities[] = {
/* columns rows colors chars-per-pixel */
"40 32 7 1 ",
" c None",
". c black",
"X c #0C0C0C",
"o c #808080",
"O c #C0C0C0",
"+ c #F3F3F3",
"@ c white",
/* pixels */
" ",
" ",
" ",
" ",
" @ ",
" @ @ ",
" @ @O@O@ooo ",
" @@O@O@Oo.oo ",
" @@@@@OOoo.oo ",
" @@@@OOOOo..o ",
" O@@@OOOOo..o ",
" @@@@OOOOo..o ",
" @@OOO@OOOo..o ",
" @OOOOO@Oo...o ",
" @ OOOOOO@O..oo ",
" @ OOOooo@o.o ",
" @ Oooo.oOo ",
" ooo..o o ",
" Oo...o o ",
" Ooo..o ",
" OOoooo ",
" OOOo.. ",
" @@@OOO.. ",
" OOoo.. ",
" O@@Ooo.. ",
" OOoo.o ",
" @ o ",
" X X X ",
" + + + ",
" ",
" ",
" "
};

View file

@ -0,0 +1,44 @@
/* XPM */
static char *side_find[] = {
/* columns rows colors chars-per-pixel */
"40 32 6 1 ",
" c None",
". c black",
"X c #800000",
"o c red",
"O c #808000",
"+ c #808080",
/* pixels */
" ",
" ",
" ",
" ",
" ",
" oooX+ ",
" ooXXooX+ ",
" oXXooXXoX+ ",
" XoooooXXoX ",
" oXoooooXXoX+ ",
" o.ooooXXXoo. ",
" oXoooXXX.Xo+ ",
" +XooXoXX+Xo. ",
" .XXoXXX.OXX ",
" XXoXXX..oX+ ",
" o.XXX+.+oX ",
" X.X+.+oX+ ",
" oooooXX.+ ",
" oXXoX.+ ",
" XoX.+ ",
" XoX. ",
" ooX.+ ",
" XoX.. ",
" XoX+ ",
" oX+ ",
" ",
" ",
" ",
" ",
" ",
" ",
" "
};

View file

@ -0,0 +1,157 @@
/* XPM */
static char *side_patch[] = {
/* columns rows colors chars-per-pixel */
"40 32 119 2 ",
" c None",
". c #0C0C0C",
"X c #0C0E23",
"o c #0C0E24",
"O c #0D0F27",
"+ c #0D1028",
"@ c #0F122D",
"# c #101330",
"$ c #111433",
"% c #131638",
"& c #13173A",
"* c #450000",
"= c #4F0000",
"- c #520000",
"; c #5C0000",
": c #5D0000",
"> c #670000",
", c #690000",
"< c #740000",
"1 c #7F0000",
"2 c #7F0100",
"3 c #7F0001",
"4 c #7F0101",
"5 c #171B42",
"6 c #1E235A",
"7 c #1E245B",
"8 c #232968",
"9 c #232969",
"0 c #242A6B",
"q c #242A6C",
"w c #262D72",
"e c #272D74",
"r c #2E3477",
"t c #29307B",
"y c #29317C",
"u c #800100",
"i c #800001",
"p c #800101",
"a c #820202",
"s c #8C0C0C",
"d c #8D0E0C",
"f c #8D0C0E",
"g c #8D0E0E",
"h c #981919",
"j c #991919",
"k c #981A19",
"l c #991A19",
"z c #98191A",
"x c #99191A",
"c c #981A1A",
"v c #991A1A",
"b c #9F2420",
"n c #9F2421",
"m c #A12420",
"M c #A12421",
"N c #A42424",
"B c #AC302D",
"V c #AD312E",
"C c #B03131",
"Z c #B13131",
"A c #B33331",
"S c #B33133",
"D c #B13333",
"F c #B33333",
"G c #B73C38",
"H c #B93D3A",
"J c #C44846",
"K c #D05452",
"L c #DC5F5C",
"P c #DD5F5C",
"I c #DC5F5D",
"U c #DC615C",
"Y c #DD615C",
"T c #DE625E",
"R c #E76B69",
"E c #EA6D6A",
"W c #F47876",
"Q c #F47976",
"! c #F47877",
"~ c #F67876",
"^ c #2C3485",
"/ c #2D3586",
"( c #2E3689",
") c #2E368B",
"_ c #323983",
"` c #30388F",
"' c #313A93",
"] c #323A95",
"[ c #323B96",
"{ c #383F91",
"} c #333D9A",
"| c #343D9C",
" . c #3E4492",
".. c #4C52A5",
"X. c #565CB1",
"o. c #6B70B7",
"O. c #7B7FBA",
"+. c #4550C1",
"@. c #4651C1",
"#. c #4E58C4",
"$. c #4F59C4",
"%. c #535DC6",
"&. c #606ACA",
"*. c #7980CB",
"=. c #7F86D4",
"-. c #FF8482",
";. c #FF8582",
":. c #FF8584",
">. c #878DD0",
",. c #8189D5",
"<. c #838BD6",
"1. c #868DD7",
"2. c #8990D8",
"3. c #8A91D8",
"4. c #8B92D8",
"5. c #9198DA",
"6. c #9399DB",
"7. c #989EDD",
"8. c #F3F3F3",
/* pixels */
" ",
" ",
" D * ",
" D :.N W B - m * ",
" D -.N W k E g T a K < J , H ; B = b * ",
" r D -.N W j E g T a K < J , H ; C = m * ",
" .O D :.N W j E g T a K < J , H : B = b * ",
" O & _ S -.N W j E f T a K < J , H ; C = m * ",
" ..X 7 q Z -.N W k E g T 1 K < J , H : B = m * ",
" @ + e y { Z -.N ! k E f T 1 K < J , H : B = b * ",
" X.X 6 9 ' } D -.N ~ k E f T a K < J , H ; B = b * ",
" $ O ^ w ) $.*. Z -.N W x E g T 1 K < J , H : B = b * ",
" o.O & 9 ] | %.2. D -.N W k E g T 1 K < J , H ; B = b * ",
" 5 X ^ w ` +.=.=.1. D -.N W k E g T 1 K < J , H ; B = m * ",
" O.O & 9 t ) #.=.2.6. C -.N W k E g L 1 K < J , H ; B = m * ",
" # X 6 9 ` X.&.5.2.7. C -.N W k E g L a K < J , H ; C = b * ",
" + + e y ^ $.,.2.6.7. D -.N W k E g L a K < J , H ; B = b * ",
" q ] | &.6.2. C -.N W x E f L 1 K < J , H ; B = b * ",
" C -.N W k E s P a K < J , H ; B = m * ",
" C -.N W k E s P 1 K < J , G ; B = b * ",
" C -.N W k E s L 1 K < J , G ; B = m * ",
" C -.N W k E s T 1 K < J , G ; B = m * ",
" D -.N W h R s L 1 K < J , G ; B = m * ",
" C -.N W h R s U 1 K < J , G : B = b * ",
" -.N W k R s L 1 K < J > G : B = m ",
" k R s L a K < J > G : ",
" ",
" . . . ",
" 8. 8. 8. ",
" ",
" ",
" "
};

View file

@ -0,0 +1,43 @@
/* XPM */
static char *side_resize[] = {
/* columns rows colors chars-per-pixel */
"40 32 5 1 ",
" c None",
". c black",
"X c #3E3E3E",
"o c gray43",
"O c #F8F8F8",
/* pixels */
" ",
" ",
" ... ... ... ",
" . ",
" . . ",
" . . ",
" . ",
" . ",
" . . ",
" . . ",
" . ",
" . OOOOOOO ",
" . . OOOOOOOOOOOOOOOo ",
" . . XOOOOOOOOOOOOOOOOoo ",
" . XXXXXXOOOOOOOOOoooo ",
" ... ... ... XXXXXXXXXXOOOOooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXoooo ",
" XXXXXXXXXXooo ",
" XXXXXXXoo ",
" XXXXo ",
" X ",
" ",
" "
};

View file

@ -0,0 +1,44 @@
/* XPM */
static char *side_rotate[] = {
/* columns rows colors chars-per-pixel */
"40 32 6 1 ",
" c None",
". c black",
"X c #3E3E3E",
"o c gray43",
"O c blue",
"+ c #F8F8F8",
/* pixels */
" ",
" ",
" ",
" OOOO ",
" OO OO ",
" O O ",
" O ........ O ",
" O . . O ",
" O . . O ",
" O . .OOOOO ",
" O . . OOO ",
" O . . O +++++++ ",
" O . . +++++++++++++++o ",
" O ........ X++++++++++++++++oo ",
" O XXXXXX+++++++++oooo ",
" OO XXXXXXXXXX++++ooooo ",
" OO XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXoooo ",
" XXXXXXXXXXooo ",
" XXXXXXXoo ",
" XXXXo ",
" X ",
" ",
" "
};

View file

@ -0,0 +1,44 @@
/* XPM */
static char *side_scale[] = {
/* columns rows colors chars-per-pixel */
"40 32 6 1 ",
" c None",
". c black",
"X c #3E3E3E",
"o c gray43",
"O c blue",
"+ c #F8F8F8",
/* pixels */
" ",
" ",
" ",
" OOO OOO OOO ",
" ",
" O OOOOO O ",
" O OOOO O ",
" O OOO O ",
" O OO ",
" ........ O O ",
" . . O ",
" . . O +++++++ ",
" . . +++++++++++++++o ",
" . . O++++++++++++++++oo ",
" . . OXXXXX+++++++++oooo ",
" . . OXXXXXXXXX++++ooooo ",
" ........ OOO XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXoooo ",
" XXXXXXXXXXooo ",
" XXXXXXXoo ",
" XXXXo ",
" X ",
" ",
" "
};

View file

@ -0,0 +1,48 @@
/* XPM */
static char *side_surface[] = {
/* columns rows colors chars-per-pixel */
"40 32 10 1 ",
" c None",
". c #0C0C0C",
"X c #800000",
"o c red",
"O c #FF0100",
"+ c #FF0001",
"@ c #008000",
"# c yellow",
"$ c #C3C3C3",
"% c #F3F3F3",
/* pixels */
" ",
" ",
" $$$$ ",
" $oooo$$$ ",
" $o$$$$ooo$ ",
" $o$ $$o$ ",
" $oo$ $o$ ",
" $oo$ $o$ ",
" $oo$ $o$ ",
" $oo$$$$ $ ",
" $oooooo$$ ",
" $ooooooo$ ####### ",
" $$$ooooo$ ###############@ ",
" $$$ooo$ X################@@ ",
" $ $oo$ XXXXXX#########@@@@ ",
" $o$ $oo$ XXXXXXXXXX####@@@@@ ",
" $o$ $oo$ XXXXXXXXXXXXX@@@@@ ",
" $oo$ $oo$ XXXXXXXXXXXXX@@@@@ ",
" $oo$$ $$o$ XXXXXXXXXXXXX@@@@@ ",
" $o$oo$$$oo$ XXXXXXXXXXXX@@@@@ ",
" $ $$ooo$$ XXXXXXXXXXXX@@@@@ ",
" $$$ XXXXXXXXXXXX@@@@@ ",
" XXXXXXXXXXXX@@@@@ ",
" XXXXXXXXXXXX@@@@@ ",
" XXXXXXXXXXXX@@@@@ ",
" XXXXXXXXXXX@@@@ ",
" XXXXXXXXXX@@@ ",
" . . . XXXXXXX@@ ",
" % % % XXXX@ ",
" X ",
" ",
" "
};

View file

@ -0,0 +1,148 @@
/* XPM */
static char *side_textures[] = {
/* columns rows colors chars-per-pixel */
"40 32 110 2 ",
" c None",
". c #0C0C0C",
"X c #240C04",
"o c #291207",
"O c #3C1D09",
"+ c #381D14",
"@ c #372116",
"# c #3E271F",
"$ c #452B21",
"% c #4E372F",
"& c #533C33",
"* c #5A3F34",
"= c #5B402B",
"- c #62463A",
"; c #63483D",
": c #6F543F",
"> c #634B44",
", c #694F42",
"< c #6A5248",
"1 c #725647",
"2 c #72574B",
"3 c #775D50",
"4 c #7C6251",
"5 c #FF0000",
"6 c #9E5113",
"7 c #AC4F0C",
"8 c #A5540F",
"9 c #B2530F",
"0 c #A05116",
"q c #AD5514",
"w c #AC5B1D",
"e c #B45514",
"r c #B35A15",
"t c #B95914",
"y c #B45C1B",
"u c #BB5E1B",
"i c #B36317",
"p c #B6641F",
"a c #BB631C",
"s c #BB6B1C",
"d c #AD5F22",
"f c #B55F20",
"g c #B85D22",
"h c #B46425",
"j c #BB6621",
"k c #BB6A22",
"l c #B76729",
"z c #B46C2B",
"x c #BC6E2B",
"c c #BF702B",
"v c #BC6932",
"b c #BE7130",
"n c #C16A1E",
"m c #C26724",
"M c #C26C25",
"N c #C36C29",
"B c #C96D28",
"V c #C77326",
"C c #C4732B",
"Z c #C9732C",
"A c #CA792E",
"S c #C37432",
"D c #CB7431",
"F c #C77C33",
"G c #C97A33",
"H c #C27738",
"J c #CC7D3B",
"K c #D27737",
"L c #D17A3E",
"P c #856856",
"I c #8E7362",
"U c #927565",
"Y c #CC7E42",
"T c #CE823B",
"R c #D1853E",
"E c #A28975",
"W c #A3877B",
"Q c #AE917F",
"! c #CE8342",
"~ c #D78941",
"^ c #D18E4D",
"/ c #DD9555",
"( c #637BB5",
") c #6681B5",
"_ c #6A82B7",
"` c #6781B9",
"' c #6C85BB",
"] c #6F88BD",
"[ c #728CBD",
"{ c #728CC1",
"} c #788EC0",
"| c #7791C4",
" . c #7B94C3",
".. c #7F9AC5",
"X. c #7C95C9",
"o. c #7F9AC8",
"O. c #B29681",
"+. c #B29583",
"@. c #B59888",
"#. c #B99C8A",
"$. c #BAA393",
"%. c #C8AD98",
"&. c #839ECE",
"*. c #84A0C9",
"=. c #88A4C8",
"-. c #87A2D1",
";. c #8FA9D6",
":. c #9CB5DD",
">. c #C3C3C3",
",. c #F3F3F3",
/* pixels */
" ",
" ",
" ",
" >.>.>.>.>.>.>.>.>.>.>.>.>.>. ",
" >.5 5 5 5 5 5 5 5 5 5 5 5 5 5 >. ",
" >.5 >.>.>.>.>.5 5 >.>.>.>.>.5 >. ",
" >.5 >. >.5 5 >. >.5 >. ",
" >.5 >. >.5 5 >. >.5 >. ",
" >.5 >. >.5 5 >. >.5 >. ",
" >. >.5 5 >. >. ",
" >.5 5 >. ",
" >.5 5 >. O +.1 W - + $ ",
" >.5 5 >. E : O.#.@.U < * > X & X 3 4 * ' ",
" >.5 5 >. k o $.I %.Q I U - > $ * # % o ; I ' [ ",
" >.5 5 >. C F x x k v P 1 2 - < > % X @ ' _ ) ' ",
" >.5 5 >. C F F k h S 6 x J q & & * X { ] ] | [ ",
" >.5 5 >. h G F j r S w w Y e u p N { } X.| . ",
" >.5 5 >. 8 T C D a S c d S q N N j [ [ X.&.&. ",
" >.>.>.5 5 >.>.>. p R S Z N G c b z q j j k { { ' ' ' ",
" >.5 5 5 5 5 5 5 5 >. R R j B J z / ! S N M x | [ ( ( ( ",
" >.>.>.>.>.>.>.>. G C C a x z ^ / g N D G &.;.&.[ ' ",
" ! x j d l h J L w n m V _ [ .:.' ",
" R m m N Y d x S g t s C ( ( X. .( ",
" F N 7 C v 6 Y D e u B M ( ( ` ( ( ",
" F M 9 m h f K B r u B V ( ( ( ( ( ",
" n a r u e r a s B k C ' ( ( _ ",
" a i s n 9 n s A A s | ' [ ",
" . . . n s s s s A V ..-. ",
" ,. ,. ,. V s G C =. ",
" C ",
" ",
" "
};

View file

@ -0,0 +1,44 @@
/* XPM */
static char *side_transform[] = {
/* columns rows colors chars-per-pixel */
"40 32 6 1 ",
" c None",
". c black",
"X c #3E3E3E",
"o c gray43",
"O c blue",
"+ c #F8F8F8",
/* pixels */
" ",
" ",
" ",
" ....... ",
" . . ",
" . . ",
" . . O ",
" . . OO ",
" . . OOO ",
" . .OOOOOOO ",
" . . OOO ",
" . . OO +++++++ ",
" . . O +++++++++++++++o ",
" . . X++++++++++++++++oo ",
" . . XXXXXX+++++++++oooo ",
" . . XXXXXXXXXX++++ooooo ",
" ....... XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXXooooo ",
" XXXXXXXXXXXoooo ",
" XXXXXXXXXXooo ",
" XXXXXXXoo ",
" XXXXo ",
" X ",
" ",
" "
};

View file

@ -5,13 +5,13 @@ number=1.0-gtk-accelnames
AddTag= AddTag=
ArbitraryRotation= ArbitraryRotation=
ArbitraryScale= ArbitraryScale=
Brush3Sided= Brush3Sided=<Primary>3
Brush4Sided= Brush4Sided=<Primary>4
Brush5Sided= Brush5Sided=<Primary>5
Brush6Sided= Brush6Sided=<Primary>6
Brush7Sided= Brush7Sided=<Primary>7
Brush8Sided= Brush8Sided=<Primary>8
Brush9Sided= Brush9Sided=<Primary>9
BrushCone= BrushCone=
BrushPrism= BrushPrism=
BrushRock= BrushRock=
@ -19,26 +19,26 @@ BrushSphere=
BuildMenuCustomize= BuildMenuCustomize=
CSGMakeHollow= CSGMakeHollow=
CSGMakeRoom= CSGMakeRoom=
CSGMerge= CSGMerge=<Primary>u
CSGSubtract= CSGSubtract=<Shift>u
CameraAngleDown= CameraAngleDown=z
CameraAngleUp= CameraAngleUp=a
CameraBack= CameraBack=Down
CameraDown= CameraDown=c
CameraForward= CameraForward=Up
CameraFreeMoveBack=s CameraFreeMoveBack=Down
CameraFreeMoveDown=c CameraFreeMoveDown=c
CameraFreeMoveForward=w CameraFreeMoveForward=Up
CameraFreeMoveLeft=a CameraFreeMoveLeft=Left
CameraFreeMoveRight=d CameraFreeMoveRight=Right
CameraFreeMoveUp=d CameraFreeMoveUp=d
CameraLeft= CameraLeft=Left
CameraRight= CameraRight=Right
CameraSpeedDec=<Shift>KP_Subtract CameraSpeedDec=<Shift>KP_Subtract
CameraSpeedInc=<Shift>KP_Add CameraSpeedInc=<Shift>KP_Add
CameraStrafeLeft=comma CameraStrafeLeft=comma
CameraStrafeRight=period CameraStrafeRight=period
CameraUp= CameraUp=d
CapCurrentCurve=<Shift>c CapCurrentCurve=<Shift>c
CenterView=End CenterView=End
CenterXYView=<Primary><Shift>Tab CenterXYView=<Primary><Shift>Tab
@ -56,119 +56,112 @@ ChooseSelectedBrushColor=
ChooseSmallGridMajorColor= ChooseSmallGridMajorColor=
ChooseSmallGridMinorColor= ChooseSmallGridMinorColor=
ChooseTextureBackgroundColor= ChooseTextureBackgroundColor=
ClearPatchOverlays= ClearPatchOverlays=<Primary>l
ClipSelected= ClipSelected=Return
CloneSelection= CloneSelection=space
CloneSelectionAndMakeUnique= CloneSelectionAndMakeUnique=<Shift>space
ColorSchemeBlackAndGreen= ColorSchemeBlackAndGreen=
ColorSchemeOriginal= ColorSchemeOriginal=
ColorSchemeQER= ColorSchemeQER=
ColorSchemeWS=
ColorSchemeYdnar= ColorSchemeYdnar=
ConnectSelection= ConnectSelection=<Primary>k
Copy= Copy=<Primary>c
CopyTag= CopyTag=
CreateFuncGroup= CubicClipZoomIn=<Primary>bracketleft
CubicClipZoomIn= CubicClipZoomOut=<Primary>bracketright
CubicClipZoomOut= CycleCapTexturePatch=<Primary><Shift>n
CycleCapTexturePatch= DeleteSelection=BackSpace
DeleteSelection=Delete
DeleteTag= DeleteTag=
DownFloor= DownFloor=Page_Down
DragEdges= DragEdges=e
DragFaces= DragFaces=f
DragVertices= DragVertices=v
EnableAlpha= EnableAlpha=
EntityColor= EntityColor=k
EntityList= EntityList=l
Exit= Exit=
ExpandSelectionToEntities= ExpandSelectionToEntities=<Primary><Alt>e
ExportSelected= ExportSelected=
FaceCopyTexture= FaceCopyTexture=
FacePasteTexture= FacePasteTexture=
FilterAreaportals= FilterAreaportals=<Alt>3
FilterBotClips= FilterBotClips=<Alt>m
FilterCaulk= FilterCaulk=<Alt>6
FilterClips= FilterClips=<Alt>7
FilterClusterportals= FilterClusterportals=<Alt>9
FilterDecals= FilterDecals=<Shift>d
FilterDetails= FilterDetails=<Primary>d
FilterEntities= FilterEntities=<Alt>2
FilterFallback= FilterFallback=
FilterGroupBrushes= FilterHintsSkips=<Primary>h
FilterHintsSkips=
FilterLightgrid= FilterLightgrid=
FilterLights= FilterLights=<Alt>0
FilterLiquids= FilterLiquids=<Alt>5
FilterMissing= FilterMissing=
FilterModels= FilterModels=<Shift>m
FilterPatches= FilterPatches=<Primary>p
FilterPaths= FilterPaths=<Alt>8
FilterStructural= FilterStructural=<Primary><Shift>d
FilterTranslucent= FilterTranslucent=<Alt>4
FilterTriggers= FilterTriggers=<Primary><Shift>t
FilterWorldBrushes= FilterWorldBrushes=<Alt>1
FindBrush= FindBrush=
FindReplaceTextures= FindReplaceTextures=
FitTexture= FitTexture=<Shift>b
FixedSize= FixedSize=
FlipClip= FlipClip=<Primary>Return
GoToZero= GridDown=bracketleft
GridDown= GridUp=bracketright
GridUp=
GroupSelection= GroupSelection=
HideSelected=h HideSelected=h
HideUnselected= HideUnselected=
ImportMap= ImportMap=
InvertCurve= InvertCurve=<Primary>i
InvertCurveTextureX= InvertCurveTextureX=<Primary><Shift>i
InvertCurveTextureY= InvertCurveTextureY=<Shift>i
InvertFilters= InvertFilters=
InvertSelection= InvertSelection=i
KillConnectSelection= KillConnectSelection=<Shift>k
LookThroughCamera= LookThroughCamera=
LookThroughSelected= LookThroughSelected=
MakeDetail=<Primary>d MakeDetail=<Primary>m
MakeOverlayPatch= MakeOverlayPatch=y
MakeStructural= MakeStructural=<Primary><Shift>s
MapInfo= MapInfo=m
MatrixTranspose= MatrixTranspose=<Primary><Shift>m
MirrorSelectionX= MirrorSelectionX=
MirrorSelectionY= MirrorSelectionY=
MirrorSelectionZ= MirrorSelectionZ=
MouseCreate= MouseDrag=q
MouseCreateE= MouseRotate=r
MouseCreateP= MouseScale=
MouseDrag= MouseTranslate=w
MouseRotate= MoveSelectionDOWN=KP_Subtract
MouseSelect= MoveSelectionUP=KP_Add
MouseTranslate= NaturalizePatch=<Primary>n
MoveSelectionDOWN=
MoveSelectionUP=
NaturalizePatch=
NewMap= NewMap=
NextLeakSpot= NextLeakSpot=<Primary><Shift>k
NextView= NextView=<Primary>Tab
NormalizeColor= NormalizeColor=
OpenMap= OpenMap=<Primary>o
ParentSelection= ParentSelection=
Paste= Paste=<Primary>v
PasteTag= PasteTag=
PasteToCamera= PasteToCamera=<Alt>v
PatchBevel= PatchBevel=
PatchCone= PatchCone=
PatchCylinder= PatchCylinder=
PatchDeleteFirstColumn= PatchDeleteFirstColumn=
PatchDeleteFirstRow= PatchDeleteFirstRow=<Primary>KP_Subtract
PatchDeleteLastColumn= PatchDeleteLastColumn=<Primary><Shift>KP_Subtract
PatchDeleteLastRow= PatchDeleteLastRow=
PatchDenseCylinder= PatchDenseCylinder=
PatchEndCap= PatchEndCap=
PatchInsertAddColumn= PatchInsertAddColumn=
PatchInsertAddRow= PatchInsertAddRow=
PatchInsertInsertColumn= PatchInsertInsertColumn=<Primary><Shift>KP_Add
PatchInsertInsertRow= PatchInsertInsertRow=<Primary>KP_Add
PatchInspector= PatchInspector=<Shift>s
PatchSphere= PatchSphere=
PatchSquareBevel= PatchSquareBevel=
PatchSquareCylinder= PatchSquareCylinder=
@ -177,17 +170,17 @@ PatchVeryDenseCylinder=
PatchXactCone= PatchXactCone=
PatchXactCylinder= PatchXactCylinder=
PatchXactSphere= PatchXactSphere=
Preferences= Preferences=p
PrevLeakSpot= PrevLeakSpot=<Primary><Shift>l
ProjectSettings= ProjectSettings=
RedisperseCols= RedisperseCols=<Primary><Shift>e
RedisperseRows= RedisperseRows=<Primary>e
Redo=<Primary>y Redo=<Primary>y
RefreshReferences= RefreshReferences=
RefreshShaders= RefreshShaders=
RegionOff= RegionOff=
RegionSetBrush= RegionSetBrush=
RegionSetSelection= RegionSetSelection=<Primary><Shift>r
RegionSetXY= RegionSetXY=
RenameTag= RenameTag=
ResetFilters= ResetFilters=
@ -199,10 +192,10 @@ SaveMapAs=
SaveRegion= SaveRegion=
SelectAllOfType=<Shift>a SelectAllOfType=<Shift>a
SelectInside= SelectInside=
SelectNudgeDown=Down SelectNudgeDown=<Alt>Down
SelectNudgeLeft=Left SelectNudgeLeft=<Alt>Left
SelectNudgeRight=Right SelectNudgeRight=<Alt>Right
SelectNudgeUp=Up SelectNudgeUp=<Alt>Up
SelectTouching= SelectTouching=
SetGrid0.125= SetGrid0.125=
SetGrid0.25= SetGrid0.25=
@ -217,43 +210,42 @@ SetGrid4=3
SetGrid64=7 SetGrid64=7
SetGrid8=4 SetGrid8=4
ShaderInfo= ShaderInfo=
ShowAllTextures= ShowAllTextures=<Primary>a
ShowAlpha=
ShowAngles= ShowAngles=
ShowAxes= ShowAxes=
ShowBlocks= ShowBlocks=
ShowCoordinates= ShowCoordinates=
ShowHidden= ShowHidden=<Shift>h
ShowInUse= ShowInUse=u
ShowLighting=
ShowNames= ShowNames=
ShowStats= ShowStats=
ShowUntagged= ShowUntagged=
ShowWindowOutline= ShowWindowOutline=
ShowWorkzone= ShowWorkzone=
SimplePatchMesh= SimplePatchMesh=<Shift>p
SmoothCols= Sleep=<Primary><Shift>p
SmoothRows= SmoothCols=<Primary><Shift>w
SnapToGrid= SmoothRows=<Primary>w
SplitSelected= SnapToGrid=<Primary>g
SurfaceInspector= SplitSelected=<Shift>Return
TexRotateClock= SurfaceInspector=s
TexRotateCounter= TexRotateClock=<Shift>Page_Down
TexScaleDown= TexRotateCounter=<Shift>Page_Up
TexScaleLeft= TexScaleDown=<Primary>Down
TexScaleRight= TexScaleLeft=<Primary>Left
TexScaleUp= TexScaleRight=<Primary>Right
TexShiftDown= TexScaleUp=<Primary>Up
TexShiftLeft= TexShiftDown=<Shift>Down
TexShiftRight= TexShiftLeft=<Shift>Left
TexShiftUp= TexShiftRight=<Shift>Right
TogTexLock= TexShiftUp=<Shift>Up
ToggleCamera= TogTexLock=<Shift>t
ToggleClipper= ToggleCamera=<Primary><Shift>c
ToggleCrosshairs= ToggleClipper=x
ToggleCubicClip= ToggleConsole=o
ToggleEntityInspector= ToggleCrosshairs=<Shift>x
ToggleExpansion= ToggleCubicClip=<Primary>backslash
ToggleEntityInspector=n
ToggleFrontView= ToggleFrontView=
ToggleGrid=0 ToggleGrid=0
ToggleGridSnap= ToggleGridSnap=
@ -261,17 +253,17 @@ TogglePointfile=
ToggleShowShaderlistOnly= ToggleShowShaderlistOnly=
ToggleShowShaders= ToggleShowShaders=
ToggleSideView= ToggleSideView=
ToggleSizePaint= ToggleSizePaint=j
ToggleTextures= ToggleTextures=t
ToggleView= ToggleView=<Primary><Shift>v
UnSelectSelection=Escape UnSelectSelection=Escape
Undo=<Primary>z Undo=<Primary>z
UngroupSelection= UngroupSelection=
UpFloor= UpFloor=Page_Up
ViewEntityInfo= ViewEntityInfo=n
ViewFront= ViewFront=KP_End
ViewSide= ViewSide=KP_Page_Down
ViewTop= ViewTop=KP_Home
Zoom100= Zoom100=
ZoomIn= ZoomIn=Delete
ZoomOut= ZoomOut=Insert

View file

@ -1229,7 +1229,7 @@ void Selection_Clone_MakeUnique()
NudgeSelection(eNudgeDown, GetGridSize(), GlobalXYWnd_getCurrentViewType()); NudgeSelection(eNudgeDown, GetGridSize(), GlobalXYWnd_getCurrentViewType());
} }
} }
void ScaleMode();
// called when the escape key is used (either on the main window or on an inspector) // called when the escape key is used (either on the main window or on an inspector)
void Selection_Deselect() void Selection_Deselect()
{ {
@ -1247,11 +1247,6 @@ void Selection_Deselect()
GlobalSelectionSystem().setSelectedAll(false); GlobalSelectionSystem().setSelectedAll(false);
} }
} }
if (GlobalSelectionSystem().ManipulatorMode() != SelectionSystem::eCreate)
if (GlobalSelectionSystem().ManipulatorMode() != SelectionSystem::eEntSpawn)
if (GlobalSelectionSystem().ManipulatorMode() != SelectionSystem::ePatchSpawn)
ScaleMode();
} }
@ -1305,22 +1300,6 @@ void ClipperToolExport(const Callback<void(bool)> &importCallback)
importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eClip); importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eClip);
} }
void CreateToolExport(const Callback<void(bool)> &importCallback)
{
importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eCreate);
}
void CreateEToolExport(const Callback<void(bool)> &importCallback)
{
importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eEntSpawn);
}
void CreatePToolExport(const Callback<void(bool)> &importCallback)
{
importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::ePatchSpawn);
}
FreeCaller<void(const Callback<void(bool)> &), TranslateToolExport> g_translatemode_button_caller; FreeCaller<void(const Callback<void(bool)> &), TranslateToolExport> g_translatemode_button_caller;
Callback<void(const Callback<void(bool)> &)> g_translatemode_button_callback(g_translatemode_button_caller); Callback<void(const Callback<void(bool)> &)> g_translatemode_button_callback(g_translatemode_button_caller);
ToggleItem g_translatemode_button(g_translatemode_button_callback); ToggleItem g_translatemode_button(g_translatemode_button_callback);
@ -1341,18 +1320,6 @@ FreeCaller<void(const Callback<void(bool)> &), ClipperToolExport> g_clipper_butt
Callback<void(const Callback<void(bool)> &)> g_clipper_button_callback(g_clipper_button_caller); Callback<void(const Callback<void(bool)> &)> g_clipper_button_callback(g_clipper_button_caller);
ToggleItem g_clipper_button(g_clipper_button_callback); ToggleItem g_clipper_button(g_clipper_button_callback);
FreeCaller<void(const Callback<void(bool)> &), CreateToolExport> g_create_button_caller;
Callback<void(const Callback<void(bool)> &)> g_create_button_callback(g_create_button_caller);
ToggleItem g_create_button(g_create_button_callback);
FreeCaller<void(const Callback<void(bool)> &), CreateEToolExport> g_createE_button_caller;
Callback<void(const Callback<void(bool)> &)> g_createE_button_callback(g_createE_button_caller);
ToggleItem g_createE_button(g_createE_button_callback);
FreeCaller<void(const Callback<void(bool)> &), CreatePToolExport> g_createP_button_caller;
Callback<void(const Callback<void(bool)> &)> g_createP_button_callback(g_createP_button_caller);
ToggleItem g_createP_button(g_createP_button_callback);
void ToolChanged() void ToolChanged()
{ {
g_translatemode_button.update(); g_translatemode_button.update();
@ -1360,12 +1327,10 @@ void ToolChanged()
g_scalemode_button.update(); g_scalemode_button.update();
g_dragmode_button.update(); g_dragmode_button.update();
g_clipper_button.update(); g_clipper_button.update();
g_create_button.update();
g_createE_button.update();
g_createP_button.update();
} }
const char *const c_ResizeMode_status = "Drag Tool: move and resize objects"; const char *const c_ResizeMode_status = "Drag Tool: move and resize objects";
void DragMode() void DragMode()
{ {
if (g_currentToolMode == DragMode && g_defaultToolMode != DragMode) { if (g_currentToolMode == DragMode && g_defaultToolMode != DragMode) {
@ -1383,63 +1348,6 @@ void DragMode()
} }
} }
const char *const c_CreateMode_status = "Create Tool: draw brush models";
void CreateMode()
{
Selection_Deselect();
if (g_currentToolMode == CreateMode && g_defaultToolMode != CreateMode) {
g_defaultToolMode();
} else {
g_currentToolMode = CreateMode;
g_currentToolModeSupportsComponentEditing = true;
OnClipMode(false);
Sys_Status(c_CreateMode_status);
GlobalSelectionSystem().SetManipulatorMode(SelectionSystem::eCreate);
ToolChanged();
ModeChangeNotify();
}
}
const char *const c_CreateEMode_status = "Create Entity Tool: spawn point entities";
void CreateEMode()
{
Selection_Deselect();
if (g_currentToolMode == CreateEMode && g_defaultToolMode != CreateEMode) {
g_defaultToolMode();
} else {
g_currentToolMode = CreateEMode;
g_currentToolModeSupportsComponentEditing = true;
OnClipMode(false);
Sys_Status(c_CreateEMode_status);
GlobalSelectionSystem().SetManipulatorMode(SelectionSystem::eEntSpawn);
ToolChanged();
ModeChangeNotify();
}
}
const char *const c_CreatePMode_status = "Create Patch Tool: spawn patches";
void CreatePMode()
{
Selection_Deselect();
if (g_currentToolMode == CreatePMode && g_defaultToolMode != CreatePMode) {
g_defaultToolMode();
} else {
g_currentToolMode = CreatePMode;
g_currentToolModeSupportsComponentEditing = true;
OnClipMode(false);
Sys_Status(c_CreatePMode_status);
GlobalSelectionSystem().SetManipulatorMode(SelectionSystem::ePatchSpawn);
ToolChanged();
ModeChangeNotify();
}
}
const char *const c_TranslateMode_status = "Translate Tool: translate objects and components"; const char *const c_TranslateMode_status = "Translate Tool: translate objects and components";
@ -2292,12 +2200,9 @@ void Patch_registerShortcuts()
void Manipulators_registerShortcuts() void Manipulators_registerShortcuts()
{ {
toggle_add_accelerator("MouseCreate");
toggle_add_accelerator("MouseCreateE");
toggle_add_accelerator("MouseCreateP");
toggle_add_accelerator("MouseRotate"); toggle_add_accelerator("MouseRotate");
toggle_add_accelerator("MouseTranslate"); toggle_add_accelerator("MouseTranslate");
toggle_add_accelerator("MouseSelect"); toggle_add_accelerator("MouseScale");
toggle_add_accelerator("MouseDrag"); toggle_add_accelerator("MouseDrag");
toggle_add_accelerator("ToggleClipper"); toggle_add_accelerator("ToggleClipper");
} }
@ -2366,12 +2271,8 @@ void File_constructToolbar(ui::Toolbar toolbar)
void UndoRedo_constructToolbar(ui::Toolbar toolbar) void UndoRedo_constructToolbar(ui::Toolbar toolbar)
{ {
toolbar_append_button(toolbar, "Undo (CTRL + Z)", "undo.xpm", "Undo");
toolbar_append_toggle_button(toolbar, "Select Vertices", "modify_vertices.xpm", "DragVertices"); toolbar_append_button(toolbar, "Redo (CTRL + Y)", "redo.xpm", "Redo");
toolbar_append_toggle_button(toolbar, "Select Edges", "modify_edges.xpm", "DragEdges");
toolbar_append_toggle_button(toolbar, "Select Faces", "modify_faces.xpm", "DragFaces");
toolbar_append_button(toolbar, "Undo", "undo.xpm", "Undo");
toolbar_append_button(toolbar, "Redo", "redo.xpm", "Redo");
} }
void Rotate_constructToolbar(ui::Toolbar toolbar) void Rotate_constructToolbar(ui::Toolbar toolbar)
@ -2422,11 +2323,10 @@ void XYWnd_constructToolbar(ui::Toolbar toolbar)
void Manipulators_constructToolbar(ui::Toolbar toolbar) void Manipulators_constructToolbar(ui::Toolbar toolbar)
{ {
toolbar_append_toggle_button(toolbar, "Select", "select_mousescale.xpm", "MouseSelect"); toolbar_append_toggle_button(toolbar, "Translate (W)", "select_mousetranslate.xpm", "MouseTranslate");
toolbar_append_toggle_button(toolbar, "Translate", "select_mousetranslate.xpm", "MouseTranslate"); toolbar_append_toggle_button(toolbar, "Rotate (R)", "select_mouserotate.xpm", "MouseRotate");
toolbar_append_toggle_button(toolbar, "Rotate", "select_mouserotate.xpm", "MouseRotate"); toolbar_append_toggle_button(toolbar, "Scale", "select_mousescale.xpm", "MouseScale");
toolbar_append_toggle_button(toolbar, "Resize", "select_mouseresize.xpm", "MouseDrag"); toolbar_append_toggle_button(toolbar, "Resize (Q)", "select_mouseresize.xpm", "MouseDrag");
toolbar_append_toggle_button(toolbar, "Create", "select_mousecreate.xpm", "MouseCreate");
Clipper_constructToolbar(toolbar); Clipper_constructToolbar(toolbar);
} }
@ -2513,39 +2413,6 @@ ui::Widget create_main_statusbar(ui::Widget pStatusLabel[c_count_status])
return ui::Widget(table); return ui::Widget(table);
} }
ui::Toolbar create_main_sidebar()
{
auto toolbar = ui::Toolbar::from(gtk_toolbar_new());
gtk_orientable_set_orientation(GTK_ORIENTABLE(toolbar), GTK_ORIENTATION_VERTICAL);
gtk_toolbar_set_style(toolbar, GTK_TOOLBAR_ICONS);
toolbar.show();
auto space = [&]() {
auto btn = ui::ToolItem::from(gtk_separator_tool_item_new());
btn.show();
toolbar.add(btn);
};
toolbar_append_toggle_button(toolbar, "Select", "side_select.png", "MouseSelect");
toolbar_append_toggle_button(toolbar, "Translate", "side_move.png", "MouseTranslate");
toolbar_append_toggle_button(toolbar, "Rotate", "side_rotate.png", "MouseRotate");
toolbar_append_toggle_button(toolbar, "Resize", "side_scale.png", "MouseDrag");
toolbar_append_toggle_button(toolbar, "Clipper", "side_cut.png", "ToggleClipper");
space();
toolbar_append_toggle_button(toolbar, "Create", "side_brush.png", "MouseCreate");
toolbar_append_toggle_button(toolbar, "Create Entity", "side_entities.png", "MouseCreateE");
toolbar_append_toggle_button(toolbar, "Create Patch", "side_patch.png", "MouseCreateP");
space();
toolbar_append_button(toolbar, "Texture Browser", "side_tex.png", "ToggleTextures");
toolbar_append_button(toolbar, "Entity Inspector", "side_entspec.png", "ToggleEntityInspector");
toolbar_append_button(toolbar, "Surface Inspector", "side_surfspec.png", "SurfaceInspector");
toolbar_append_button(toolbar, "Patch Inspector", "side_patchspec.png", "PatchInspector");
return toolbar;
}
#if 0 #if 0
@ -2926,9 +2793,6 @@ void MainFrame::Create()
auto split = create_split_views(camera, yz, xy, xz); auto split = create_split_views(camera, yz, xy, xz);
vbox.pack_start(hbox, TRUE, TRUE, 0); vbox.pack_start(hbox, TRUE, TRUE, 0);
auto main_sidebar = create_main_sidebar();
hbox.pack_start(main_sidebar, FALSE, FALSE, 2);
hbox.pack_start(split, TRUE, TRUE, 0); hbox.pack_start(split, TRUE, TRUE, 0);
{ {
@ -2965,7 +2829,7 @@ void MainFrame::Create()
SetActiveXY(m_pXYWnd); SetActiveXY(m_pXYWnd);
AddGridChangeCallback(SetGridStatusCaller(*this)); AddGridChangeCallback(SetGridStatusCaller(*this));
AddGridChangeCallback(ReferenceCaller<MainFrame, void(), XY_UpdateAllWindows>(*this)); AddGridChangeCallback(ReferenceCaller<MainFrame, void(), XY_UpdateAllWindows>(*this));
g_defaultToolMode = ScaleMode; g_defaultToolMode = DragMode;
g_defaultToolMode(); g_defaultToolMode();
SetStatusText(m_command_status, c_TranslateMode_status); SetStatusText(m_command_status, c_TranslateMode_status);
EverySecondTimer_enable(); EverySecondTimer_enable();
@ -3227,12 +3091,9 @@ void MainFrame_Construct()
ToggleItem::AddCallbackCaller(g_translatemode_button)); ToggleItem::AddCallbackCaller(g_translatemode_button));
GlobalToggles_insert("MouseRotate", makeCallbackF(RotateMode), ToggleItem::AddCallbackCaller(g_rotatemode_button), GlobalToggles_insert("MouseRotate", makeCallbackF(RotateMode), ToggleItem::AddCallbackCaller(g_rotatemode_button),
Accelerator('R')); Accelerator('R'));
GlobalToggles_insert("MouseSelect", makeCallbackF(ScaleMode), ToggleItem::AddCallbackCaller(g_scalemode_button)); GlobalToggles_insert("MouseScale", makeCallbackF(ScaleMode), ToggleItem::AddCallbackCaller(g_scalemode_button));
GlobalToggles_insert("MouseDrag", makeCallbackF(DragMode), ToggleItem::AddCallbackCaller(g_dragmode_button), GlobalToggles_insert("MouseDrag", makeCallbackF(DragMode), ToggleItem::AddCallbackCaller(g_dragmode_button),
Accelerator('Q')); Accelerator('Q'));
GlobalToggles_insert("MouseCreate", makeCallbackF(CreateMode), ToggleItem::AddCallbackCaller(g_create_button));
GlobalToggles_insert("MouseCreateE", makeCallbackF(CreateEMode), ToggleItem::AddCallbackCaller(g_createE_button));
GlobalToggles_insert("MouseCreateP", makeCallbackF(CreatePMode), ToggleItem::AddCallbackCaller(g_createP_button));
GlobalCommands_insert("ColorSchemeWS", makeCallbackF(ColorScheme_WorldSpawn)); GlobalCommands_insert("ColorSchemeWS", makeCallbackF(ColorScheme_WorldSpawn));
GlobalCommands_insert("ColorSchemeOriginal", makeCallbackF(ColorScheme_Original)); GlobalCommands_insert("ColorSchemeOriginal", makeCallbackF(ColorScheme_Original));

View file

@ -610,8 +610,6 @@ ui::Window PatchInspector::BuildDialog()
window_connect_focus_in_clear_focus_widget(window); window_connect_focus_in_clear_focus_widget(window);
gtk_window_set_resizable(window, FALSE);
{ {
auto vbox = ui::VBox(FALSE, 5); auto vbox = ui::VBox(FALSE, 5);

View file

@ -388,7 +388,7 @@ public:
void Transform(const Matrix4 &manip2object, const Matrix4 &device2manip, const float x, const float y) void Transform(const Matrix4 &manip2object, const Matrix4 &device2manip, const float x, const float y)
{ {
/*Vector3 current; Vector3 current;
point_on_axis(current, m_axis, device2manip, x, y); point_on_axis(current, m_axis, device2manip, x, y);
Vector3 delta = vector3_subtracted(current, m_start); Vector3 delta = vector3_subtracted(current, m_start);
@ -401,7 +401,7 @@ public:
start[1] == 0 ? 1 : 1 + delta[1] / start[1], start[1] == 0 ? 1 : 1 + delta[1] / start[1],
start[2] == 0 ? 1 : 1 + delta[2] / start[2] start[2] == 0 ? 1 : 1 + delta[2] / start[2]
); );
m_scalable.scale(scale);*/ m_scalable.scale(scale);
} }
void SetAxis(const Vector3 &axis) void SetAxis(const Vector3 &axis)
@ -427,7 +427,7 @@ public:
void Transform(const Matrix4 &manip2object, const Matrix4 &device2manip, const float x, const float y) void Transform(const Matrix4 &manip2object, const Matrix4 &device2manip, const float x, const float y)
{ {
/*Vector3 current; Vector3 current;
point_on_plane(current, device2manip, x, y); point_on_plane(current, device2manip, x, y);
Vector3 delta = vector3_subtracted(current, m_start); Vector3 delta = vector3_subtracted(current, m_start);
@ -440,7 +440,7 @@ public:
start[1] == 0 ? 1 : 1 + delta[1] / start[1], start[1] == 0 ? 1 : 1 + delta[1] / start[1],
start[2] == 0 ? 1 : 1 + delta[2] / start[2] start[2] == 0 ? 1 : 1 + delta[2] / start[2]
); );
m_scalable.scale(scale);*/ m_scalable.scale(scale);
} }
}; };
@ -1631,11 +1631,11 @@ public:
m_free(scalable), m_free(scalable),
m_axis(scalable) m_axis(scalable)
{ {
/* draw_arrowline(length, m_arrow_x.m_line, 0); draw_arrowline(length, m_arrow_x.m_line, 0);
draw_arrowline(length, m_arrow_y.m_line, 1); draw_arrowline(length, m_arrow_y.m_line, 1);
draw_arrowline(length, m_arrow_z.m_line, 2); draw_arrowline(length, m_arrow_z.m_line, 2);
draw_quad(16, m_quad_screen.m_quad);*/ draw_quad(16, m_quad_screen.m_quad);
} }
Pivot2World &getPivot() Pivot2World &getPivot()
@ -2899,9 +2899,6 @@ public:
case eDrag: case eDrag:
m_manipulator = &m_drag_manipulator; m_manipulator = &m_drag_manipulator;
break; break;
case eCreate:
m_manipulator = &m_drag_manipulator;
break;
case eClip: case eClip:
m_manipulator = &m_clip_manipulator; m_manipulator = &m_clip_manipulator;
break; break;
@ -3020,14 +3017,14 @@ public:
bool SelectManipulator(const View &view, const float device_point[2], const float device_epsilon[2]) bool SelectManipulator(const View &view, const float device_point[2], const float device_epsilon[2])
{ {
if (!nothingSelected() || ((ManipulatorMode() == eDrag || ManipulatorMode() == eCreate) && Mode() == eComponent)) { if (!nothingSelected() || (ManipulatorMode() == eDrag && Mode() == eComponent)) {
#if defined ( DEBUG_SELECTION ) #if defined ( DEBUG_SELECTION )
g_render_clipped.destroy(); g_render_clipped.destroy();
#endif #endif
m_manipulator->setSelected(false); m_manipulator->setSelected(false);
if (!nothingSelected() || ((ManipulatorMode() == eDrag || ManipulatorMode() == eCreate) && Mode() == eComponent)) { if (!nothingSelected() || (ManipulatorMode() == eDrag && Mode() == eComponent)) {
View scissored(view); View scissored(view);
ConstructSelectionTest(scissored, SelectionBoxForPoint(device_point, device_epsilon)); ConstructSelectionTest(scissored, SelectionBoxForPoint(device_point, device_epsilon));
m_manipulator->testSelect(scissored, GetPivot2World()); m_manipulator->testSelect(scissored, GetPivot2World());
@ -3070,10 +3067,6 @@ public:
void SelectPoint(const View &view, const float device_point[2], const float device_epsilon[2], void SelectPoint(const View &view, const float device_point[2], const float device_epsilon[2],
RadiantSelectionSystem::EModifier modifier, bool face) RadiantSelectionSystem::EModifier modifier, bool face)
{ {
if (m_manipulator_mode != eScale) {
return;
}
ASSERT_MESSAGE(fabs(device_point[0]) <= 1.0f && fabs(device_point[1]) <= 1.0f, "point-selection error"); ASSERT_MESSAGE(fabs(device_point[0]) <= 1.0f && fabs(device_point[1]) <= 1.0f, "point-selection error");
if (modifier == eReplace) { if (modifier == eReplace) {
if (face) { if (face) {
@ -3149,10 +3142,6 @@ public:
void SelectArea(const View &view, const float device_point[2], const float device_delta[2], void SelectArea(const View &view, const float device_point[2], const float device_delta[2],
RadiantSelectionSystem::EModifier modifier, bool face) RadiantSelectionSystem::EModifier modifier, bool face)
{ {
if (m_manipulator_mode != eScale) {
return;
}
if (modifier == eReplace) { if (modifier == eReplace) {
if (face) { if (face) {
setSelectedAllComponents(false); setSelectedAllComponents(false);
@ -3295,7 +3284,7 @@ public:
/// \todo Support view-dependent nudge. /// \todo Support view-dependent nudge.
void NudgeManipulator(const Vector3 &nudge, const Vector3 &view) void NudgeManipulator(const Vector3 &nudge, const Vector3 &view)
{ {
if (ManipulatorMode() == eTranslate || (ManipulatorMode() == eDrag || ManipulatorMode() == eCreate)) { if (ManipulatorMode() == eTranslate || ManipulatorMode() == eDrag) {
translateSelected(nudge); translateSelected(nudge);
} }
} }
@ -3529,7 +3518,7 @@ void RadiantSelectionSystem::endMove()
freezeTransforms(); freezeTransforms();
if (Mode() == ePrimitive) { if (Mode() == ePrimitive) {
if ((ManipulatorMode() == eDrag || ManipulatorMode() == eCreate)) { if (ManipulatorMode() == eDrag) {
Scene_SelectAll_Component(false, SelectionSystem::eFace); Scene_SelectAll_Component(false, SelectionSystem::eFace);
} }
} }
@ -3549,14 +3538,15 @@ void RadiantSelectionSystem::endMove()
command << "rotateTool"; command << "rotateTool";
outputRotation(command); outputRotation(command);
} else if (ManipulatorMode() == eScale) { } else if (ManipulatorMode() == eScale) {
//command << "scaleTool"; command << "scaleTool";
//outputScale(command); outputScale(command);
} else if ((ManipulatorMode() == eDrag || ManipulatorMode() == eCreate)) { } else if (ManipulatorMode() == eDrag) {
command << "dragTool"; command << "dragTool";
} }
GlobalUndoSystem().finish(command.c_str()); GlobalUndoSystem().finish(command.c_str());
} }
} }
inline AABB Instance_getPivotBounds(scene::Instance &instance) inline AABB Instance_getPivotBounds(scene::Instance &instance)
@ -3687,6 +3677,13 @@ void RadiantSelectionSystem::ConstructPivot() const
matrix4_assign_rotation_for_pivot(m_pivot2world, m_selection.back()); matrix4_assign_rotation_for_pivot(m_pivot2world, m_selection.back());
} }
break; break;
case eScale:
if (Mode() == eComponent) {
matrix4_assign_rotation_for_pivot(m_pivot2world, m_component_selection.back());
} else {
matrix4_assign_rotation_for_pivot(m_pivot2world, m_selection.back());
}
break;
default: default:
break; break;
} }
@ -3788,9 +3785,9 @@ Single<MouseEventCallback> g_mouseUpCallback;
const ButtonIdentifier c_button_select = c_buttonLeft; const ButtonIdentifier c_button_select = c_buttonLeft;
const ButtonIdentifier c_button_texture = c_buttonMiddle; const ButtonIdentifier c_button_texture = c_buttonMiddle;
const ModifierFlags c_modifier_manipulator = c_modifierNone; const ModifierFlags c_modifier_manipulator = c_modifierNone;
const ModifierFlags c_modifier_toggle = c_modifierNone; const ModifierFlags c_modifier_toggle = c_modifierShift;
const ModifierFlags c_modifier_toggle_face = c_modifierShift; const ModifierFlags c_modifier_toggle_face = c_modifierShift | c_modifierControl;
const ModifierFlags c_modifier_face = c_modifierShift; const ModifierFlags c_modifier_face = c_modifierControl;
const ModifierFlags c_modifier_replace = c_modifierShift | c_modifierAlt; const ModifierFlags c_modifier_replace = c_modifierShift | c_modifierAlt;
const ModifierFlags c_modifier_replace_face = c_modifier_replace | c_modifier_face; const ModifierFlags c_modifier_replace_face = c_modifier_replace | c_modifier_face;
const ModifierFlags c_modifier_apply_texture1 = c_modifierControl | c_modifierShift; const ModifierFlags c_modifier_apply_texture1 = c_modifierControl | c_modifierShift;
@ -3842,12 +3839,8 @@ public:
void testSelect(DeviceVector position) void testSelect(DeviceVector position)
{ {
if (getSelectionSystem().ManipulatorMode() != SelectionSystem::eScale) {
return;
}
RadiantSelectionSystem::EModifier modifier = modifier_for_state(m_state); RadiantSelectionSystem::EModifier modifier = modifier_for_state(m_state);
if (modifier != RadiantSelectionSystem::eManipulator) {
DeviceVector delta(position - m_start); DeviceVector delta(position - m_start);
if (fabs(delta.x()) > m_epsilon.x() && fabs(delta.y()) > m_epsilon.y()) { if (fabs(delta.x()) > m_epsilon.x() && fabs(delta.y()) > m_epsilon.y()) {
DeviceVector delta(position - m_start); DeviceVector delta(position - m_start);
@ -3860,6 +3853,7 @@ public:
getSelectionSystem().SelectPoint(*m_view, &position[0], &m_epsilon[0], modifier, getSelectionSystem().SelectPoint(*m_view, &position[0], &m_epsilon[0], modifier,
(m_state & c_modifier_face) != c_modifierNone); (m_state & c_modifier_face) != c_modifierNone);
} }
}
m_start = m_current = DeviceVector(0.0f, 0.0f); m_start = m_current = DeviceVector(0.0f, 0.0f);
draw_area(); draw_area();
@ -3867,10 +3861,7 @@ public:
bool selecting() const bool selecting() const
{ {
if (getSelectionSystem().ManipulatorMode() != SelectionSystem::eScale) { return m_state != c_modifier_manipulator;
return 0;
}
return 1;
} }
void setState(ModifierFlags state) void setState(ModifierFlags state)
@ -4006,10 +3997,6 @@ public:
g_mouseMovedCallback.insert(MouseEventCallback(Manipulator_::MouseMovedCaller(m_manipulator))); g_mouseMovedCallback.insert(MouseEventCallback(Manipulator_::MouseMovedCaller(m_manipulator)));
g_mouseUpCallback.insert(MouseEventCallback(Manipulator_::MouseUpCaller(m_manipulator))); g_mouseUpCallback.insert(MouseEventCallback(Manipulator_::MouseUpCaller(m_manipulator)));
} else { } else {
/* TODO: Only when eScale is selected */
if (getSelectionSystem().ManipulatorMode() != SelectionSystem::eScale) {
return;
}
m_selector.mouseDown(devicePosition); m_selector.mouseDown(devicePosition);
g_mouseMovedCallback.insert(MouseEventCallback(Selector_::MouseMovedCaller(m_selector))); g_mouseMovedCallback.insert(MouseEventCallback(Selector_::MouseMovedCaller(m_selector)));
g_mouseUpCallback.insert(MouseEventCallback(Selector_::MouseUpCaller(m_selector))); g_mouseUpCallback.insert(MouseEventCallback(Selector_::MouseUpCaller(m_selector)));

View file

@ -634,7 +634,6 @@ ui::Window SurfaceInspector::BuildDialog()
global_accel_connect_window(window); global_accel_connect_window(window);
window_connect_focus_in_clear_focus_widget(window); window_connect_focus_in_clear_focus_widget(window);
gtk_window_set_resizable(window, FALSE);
{ {

View file

@ -324,16 +324,6 @@ bool ClipMode()
return GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eClip; return GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eClip;
} }
bool IsCreateMode()
{
return GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eCreate;
}
bool IsCreateEMode()
{
return GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eEntSpawn;
}
void NewClipPoint(const Vector3 &point) void NewClipPoint(const Vector3 &point)
{ {
if (g_Clip1.Set() == false) { if (g_Clip1.Set() == false) {
@ -1245,9 +1235,16 @@ public:
void XYWnd::OnContextMenu() void XYWnd::OnContextMenu()
{ {
if (g_xywindow_globals.m_bRightClick == false) if (g_xywindow_globals.m_bRightClick == false) {
return; return;
}
/* first time, init */
if (!m_mnuDrop) {
auto menu1 = m_mnuDrop = ui::Menu(ui::New);
EntityClassMenuInserter inserter(menu1);
GlobalEntityClassManager().forEachPoint(inserter);
}
if (!m_mnuDropSingle) { if (!m_mnuDropSingle) {
auto menu2 = m_mnuDropSingle = ui::Menu(ui::New); auto menu2 = m_mnuDropSingle = ui::Menu(ui::New);
create_menu_item_with_mnemonic(menu2, "Make detail", "MakeDetail"); create_menu_item_with_mnemonic(menu2, "Make detail", "MakeDetail");
@ -1278,29 +1275,15 @@ void XYWnd::OnContextMenu()
create_menu_item_with_mnemonic(menu3, "_Normalize Color...", "NormalizeColor"); create_menu_item_with_mnemonic(menu3, "_Normalize Color...", "NormalizeColor");
} }
if (GlobalSelectionSystem().countSelected() == 1) { if (GlobalSelectionSystem().countSelected() == 0) {
gtk_menu_popup(m_mnuDrop, 0, 0, 0, 0, 1, GDK_CURRENT_TIME);
} else if (GlobalSelectionSystem().countSelected() == 1) {
gtk_menu_popup(m_mnuDropSingle, 0, 0, 0, 0, 1, GDK_CURRENT_TIME); gtk_menu_popup(m_mnuDropSingle, 0, 0, 0, 0, 1, GDK_CURRENT_TIME);
} else { } else {
gtk_menu_popup(m_mnuDropMultiple, 0, 0, 0, 0, 1, GDK_CURRENT_TIME); gtk_menu_popup(m_mnuDropMultiple, 0, 0, 0, 0, 1, GDK_CURRENT_TIME);
} }
} }
void Selection_Deselect();
void XYWnd::OnPointMenu()
{
/* first time, init */
if (!m_mnuDrop) {
auto menu1 = m_mnuDrop = ui::Menu(ui::New);
EntityClassMenuInserter inserter(menu1);
GlobalEntityClassManager().forEachPoint(inserter);
}
if (GlobalSelectionSystem().countSelected() != 0)
Selection_Deselect();
gtk_menu_popup(m_mnuDrop, 0, 0, 0, 0, 1, GDK_CURRENT_TIME);
}
FreezePointer g_xywnd_freezePointer; FreezePointer g_xywnd_freezePointer;
unsigned int Move_buttons() unsigned int Move_buttons()
@ -1311,8 +1294,6 @@ unsigned int Move_buttons()
void XYWnd_moveDelta(int x, int y, unsigned int state, void *data) void XYWnd_moveDelta(int x, int y, unsigned int state, void *data)
{ {
reinterpret_cast<XYWnd *>( data )->EntityCreate_MouseMove(x, y); reinterpret_cast<XYWnd *>( data )->EntityCreate_MouseMove(x, y);
reinterpret_cast<XYWnd *>( data )->PointCreate_MouseMove(x, y);
reinterpret_cast<XYWnd *>( data )->BrushCreate_MouseMove(x, y);
reinterpret_cast<XYWnd *>( data )->Scroll(-x, y); reinterpret_cast<XYWnd *>( data )->Scroll(-x, y);
} }
@ -1424,24 +1405,21 @@ void XYWnd::mouseDown(const WindowVector &position, ButtonIdentifier button, Mod
} }
void CamWnd_DisableMovement(); void CamWnd_DisableMovement();
void XYWnd::XY_MouseDown(int x, int y, unsigned int buttons) void XYWnd::XY_MouseDown(int x, int y, unsigned int buttons)
{ {
#if 0 if (buttons == Move_buttons()) {
if (IsCreateEMode()) { Move_Begin();
PointCreate_MouseDown(x, y); EntityCreate_MouseDown(x, y);
} else if (buttons == Zoom_buttons()) { } else if (buttons == Zoom_buttons()) {
Zoom_Begin(); Zoom_Begin();
} else if (ClipMode() && buttons == Clipper_buttons()) { } else if (ClipMode() && buttons == Clipper_buttons()) {
Clipper_OnLButtonDown(x, y); Clipper_OnLButtonDown(x, y);
} else if (IsCreateMode() && buttons == NewBrushDrag_buttons() && GlobalSelectionSystem().countSelected() == 0) { } else if (buttons == NewBrushDrag_buttons() && GlobalSelectionSystem().countSelected() == 0) {
/* Only do it in eCreate mode */
NewBrushDrag_Begin(x, y); NewBrushDrag_Begin(x, y);
} if (IsCreateMode()) { }
BrushCreate_MouseDown(x, y);
} else if (buttons == Move_buttons()) {
Move_Begin();
} else if (buttons == MoveCamera_buttons()) {
// control mbutton = move camera // control mbutton = move camera
else if (buttons == MoveCamera_buttons()) {
XYWnd_PositionCamera(this, x, y, *g_pParentWnd->GetCamWnd()); XYWnd_PositionCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} }
// mbutton = angle camera // mbutton = angle camera
@ -1451,142 +1429,18 @@ void XYWnd::XY_MouseDown(int x, int y, unsigned int buttons)
m_window_observer->onMouseDown(WindowVector_forInteger(x, y), button_for_flags(buttons), m_window_observer->onMouseDown(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons)); modifiers_for_flags(buttons));
} }
#else
switch (GlobalSelectionSystem().ManipulatorMode()) {
case SelectionSystem::eScale:
case SelectionSystem::eRotate:
case SelectionSystem::eDrag:
case SelectionSystem::eTranslate:
if (buttons == Zoom_buttons()) {
Zoom_Begin();
} else if (buttons == Move_buttons()) {
Move_Begin();
} else if (buttons == MoveCamera_buttons()) {
// control mbutton = move camera
XYWnd_PositionCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} else if (buttons == OrientCamera_buttons()) {
// mbutton = angle camera
XYWnd_OrientCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} else {
m_window_observer->onMouseDown(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
break;
case SelectionSystem::eClip:
if (buttons == Clipper_buttons()) {
Clipper_OnLButtonDown(x, y);
} else if (buttons == Move_buttons()) {
Move_Begin();
} else if (buttons == MoveCamera_buttons()) {
// control mbutton = move camera
XYWnd_PositionCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} else if (buttons == OrientCamera_buttons()) {
// mbutton = angle camera
XYWnd_OrientCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} else {
m_window_observer->onMouseDown(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
break;
case SelectionSystem::ePatchSpawn:
case SelectionSystem::eCreate:
if (buttons == NewBrushDrag_buttons() && GlobalSelectionSystem().countSelected() == 0)
NewBrushDrag_Begin(x, y);
else if (buttons == Move_buttons() && GlobalSelectionSystem().countSelected() == 0) {
Move_Begin();
} else if (buttons == MoveCamera_buttons()) {
// control mbutton = move camera
XYWnd_PositionCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} else if (buttons == OrientCamera_buttons()) {
// mbutton = angle camera
XYWnd_OrientCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} else {
m_window_observer->onMouseDown(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
break;
case SelectionSystem::eEntSpawn:
if (buttons == NewBrushDrag_buttons())
PointCreate_MouseDown(x, y);
else if (buttons == Move_buttons() && GlobalSelectionSystem().countSelected() == 0) {
Move_Begin();
} else if (buttons == MoveCamera_buttons()) {
// control mbutton = move camera
XYWnd_PositionCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} else if (buttons == OrientCamera_buttons()) {
// mbutton = angle camera
XYWnd_OrientCamera(this, x, y, *g_pParentWnd->GetCamWnd());
} else {
m_window_observer->onMouseDown(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
break;
}
#endif
CamWnd_DisableMovement(); CamWnd_DisableMovement();
} }
void Patch_Plane();
void XYWnd::XY_MouseUp(int x, int y, unsigned int buttons) void XYWnd::XY_MouseUp(int x, int y, unsigned int buttons)
{ {
#if 0 if (m_move_started) {
if (IsCreateEMode()) {
PointCreate_MouseUp(x, y);
} else if (IsCreateMode() && buttons == Move_buttons()) {
BrushCreate_MouseUp(x, y);
} else if (m_move_started) {
Move_End(); Move_End();
EntityCreate_MouseUp(x, y); EntityCreate_MouseUp(x, y);
} else if (m_zoom_started) { } else if (m_zoom_started) {
Zoom_End(); Zoom_End();
} else if (ClipMode() && buttons == Clipper_buttons()) { } else if (ClipMode() && buttons == Clipper_buttons()) {
Clipper_OnLButtonUp(x, y); Clipper_OnLButtonUp(x, y);
}else if (m_bNewBrushDrag) {
m_bNewBrushDrag = false;
NewBrushDrag_End(x, y);
}else {
m_window_observer->onMouseUp(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
#else
switch (GlobalSelectionSystem().ManipulatorMode()) {
case SelectionSystem::eScale:
case SelectionSystem::eRotate:
case SelectionSystem::eDrag:
case SelectionSystem::eTranslate:
if (m_move_started) {
Move_End();
EntityCreate_MouseUp(x, y);
} else if (m_zoom_started) {
Zoom_End();
} else {
m_window_observer->onMouseUp(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
break;
case SelectionSystem::eClip:
if (buttons == Clipper_buttons())
Clipper_OnLButtonUp(x, y);
else if (m_move_started) {
Move_End();
EntityCreate_MouseUp(x, y);
} else if (m_zoom_started) {
Zoom_End();
} else {
m_window_observer->onMouseUp(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
break;
case SelectionSystem::eCreate:
if (buttons == Move_buttons() && GlobalSelectionSystem().countSelected() != 0) {
BrushCreate_MouseUp(x, y);
Selection_Deselect();
} else if (m_move_started) {
Move_End();
EntityCreate_MouseUp(x, y);
} else if (m_zoom_started) {
Zoom_End();
} else if (m_bNewBrushDrag) { } else if (m_bNewBrushDrag) {
m_bNewBrushDrag = false; m_bNewBrushDrag = false;
NewBrushDrag_End(x, y); NewBrushDrag_End(x, y);
@ -1594,41 +1448,6 @@ void XYWnd::XY_MouseUp(int x, int y, unsigned int buttons)
m_window_observer->onMouseUp(WindowVector_forInteger(x, y), button_for_flags(buttons), m_window_observer->onMouseUp(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons)); modifiers_for_flags(buttons));
} }
break;
case SelectionSystem::eEntSpawn:
if (buttons == Move_buttons() && GlobalSelectionSystem().countSelected() != 0) {
Selection_Deselect();
} else if (buttons == NewBrushDrag_buttons())
PointCreate_MouseUp(x, y);
else if (m_move_started) {
Move_End();
EntityCreate_MouseUp(x, y);
} else if (m_zoom_started) {
Zoom_End();
} else {
m_window_observer->onMouseUp(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
break;
case SelectionSystem::ePatchSpawn:
if (buttons == Move_buttons() && GlobalSelectionSystem().countSelected() != 0) {
BrushCreate_MouseUp(x, y);
Patch_Plane();
} else if (m_move_started) {
Move_End();
EntityCreate_MouseUp(x, y);
} else if (m_zoom_started) {
Zoom_End();
} else if (m_bNewBrushDrag) {
m_bNewBrushDrag = false;
NewBrushDrag_End(x, y);
} else {
m_window_observer->onMouseUp(WindowVector_forInteger(x, y), button_for_flags(buttons),
modifiers_for_flags(buttons));
}
break;
}
#endif
} }
void XYWnd::XY_MouseMoved(int x, int y, unsigned int buttons) void XYWnd::XY_MouseMoved(int x, int y, unsigned int buttons)
@ -1697,51 +1516,6 @@ void XYWnd::EntityCreate_MouseUp(int x, int y)
} }
} }
void XYWnd::BrushCreate_MouseDown(int x, int y)
{
m_entityCreate = true;
m_entityCreate_x = x;
m_entityCreate_y = y;
}
void XYWnd::BrushCreate_MouseMove(int x, int y)
{
if (m_entityCreate && (m_entityCreate_x != x || m_entityCreate_y != y)) {
m_entityCreate = false;
}
}
void XYWnd::BrushCreate_MouseUp(int x, int y)
{
if (m_entityCreate) {
m_entityCreate = false;
m_bNewBrushDrag = false;
NewBrushDrag_End(x, y);
}
}
void XYWnd::PointCreate_MouseDown(int x, int y)
{
m_entityCreate = true;
m_entityCreate_x = x;
m_entityCreate_y = y;
}
void XYWnd::PointCreate_MouseMove(int x, int y)
{
if (m_entityCreate && (m_entityCreate_x != x || m_entityCreate_y != y)) {
m_entityCreate = false;
}
}
void XYWnd::PointCreate_MouseUp(int x, int y)
{
if (m_entityCreate) {
m_entityCreate = false;
OnPointMenu();
}
}
inline float screen_normalised(int pos, unsigned int size) inline float screen_normalised(int pos, unsigned int size)
{ {
return ((2.0f * pos) / size) - 1.0f; return ((2.0f * pos) / size) - 1.0f;

View file

@ -231,8 +231,6 @@ private:
void OriginalButtonDown(guint32 nFlags, int point, int pointy); void OriginalButtonDown(guint32 nFlags, int point, int pointy);
void OnContextMenu(); void OnContextMenu();
void OnBrushMenu();
void OnPointMenu();
void PaintSizeInfo(int nDim1, int nDim2, Vector3 &vMinBounds, Vector3 &vMaxBounds); void PaintSizeInfo(int nDim1, int nDim2, Vector3 &vMinBounds, Vector3 &vMaxBounds);
@ -256,17 +254,11 @@ public:
} }
void EntityCreate_MouseDown(int x, int y); void EntityCreate_MouseDown(int x, int y);
void EntityCreate_MouseMove(int x, int y); void EntityCreate_MouseMove(int x, int y);
void EntityCreate_MouseUp(int x, int y); void EntityCreate_MouseUp(int x, int y);
void BrushCreate_MouseDown(int x, int y);
void BrushCreate_MouseMove(int x, int y);
void BrushCreate_MouseUp(int x, int y);
void PointCreate_MouseDown(int x, int y);
void PointCreate_MouseMove(int x, int y);
void PointCreate_MouseUp(int x, int y);
void OnEntityCreate(const char *item); void OnEntityCreate(const char *item);
VIEWTYPE GetViewType() VIEWTYPE GetViewType()

View file

@ -1370,7 +1370,6 @@ int LightContributionToSample( trace_t *trace ){
to the surface normal the bigger is the amount of radiosity received. to the surface normal the bigger is the amount of radiosity received.
So, for preserving the directional lights contributions, we scale down the radiosity So, for preserving the directional lights contributions, we scale down the radiosity
contribution. It's a hack, but there's a reason behind it */ contribution. It's a hack, but there's a reason behind it */
#if 1
if ( bouncing ) { if ( bouncing ) {
addDeluxe *= addDeluxeBounceScale; addDeluxe *= addDeluxeBounceScale;
/* better NOT increase it beyond the original value /* better NOT increase it beyond the original value
@ -1378,7 +1377,6 @@ int LightContributionToSample( trace_t *trace ){
addDeluxe = 0.00390625f; addDeluxe = 0.00390625f;
*/ */
} }
#endif
if ( doAddDeluxe ) { if ( doAddDeluxe ) {
VectorScale( trace->direction, addDeluxe, trace->directionContribution ); VectorScale( trace->direction, addDeluxe, trace->directionContribution );
@ -3113,8 +3111,6 @@ int LightMain( int argc, char **argv ){
} }
} }
lightAngleHL = qfalse;
/* fix up lightmap search power */ /* fix up lightmap search power */
if ( lightmapMergeSize ) { if ( lightmapMergeSize ) {
lightmapSearchBlockSize = ( lightmapMergeSize / lmCustomSize ) * ( lightmapMergeSize / lmCustomSize ); lightmapSearchBlockSize = ( lightmapMergeSize / lmCustomSize ) * ( lightmapMergeSize / lmCustomSize );