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

View file

@ -1229,7 +1229,7 @@ void Selection_Clone_MakeUnique()
NudgeSelection(eNudgeDown, GetGridSize(), GlobalXYWnd_getCurrentViewType());
}
}
void ScaleMode();
// called when the escape key is used (either on the main window or on an inspector)
void Selection_Deselect()
{
@ -1247,11 +1247,6 @@ void Selection_Deselect()
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);
}
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;
Callback<void(const Callback<void(bool)> &)> g_translatemode_button_callback(g_translatemode_button_caller);
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);
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()
{
g_translatemode_button.update();
@ -1360,12 +1327,10 @@ void ToolChanged()
g_scalemode_button.update();
g_dragmode_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";
void 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";
@ -2292,12 +2200,9 @@ void Patch_registerShortcuts()
void Manipulators_registerShortcuts()
{
toggle_add_accelerator("MouseCreate");
toggle_add_accelerator("MouseCreateE");
toggle_add_accelerator("MouseCreateP");
toggle_add_accelerator("MouseRotate");
toggle_add_accelerator("MouseTranslate");
toggle_add_accelerator("MouseSelect");
toggle_add_accelerator("MouseScale");
toggle_add_accelerator("MouseDrag");
toggle_add_accelerator("ToggleClipper");
}
@ -2366,12 +2271,8 @@ void File_constructToolbar(ui::Toolbar toolbar)
void UndoRedo_constructToolbar(ui::Toolbar toolbar)
{
toolbar_append_toggle_button(toolbar, "Select Vertices", "modify_vertices.xpm", "DragVertices");
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");
toolbar_append_button(toolbar, "Undo (CTRL + Z)", "undo.xpm", "Undo");
toolbar_append_button(toolbar, "Redo (CTRL + Y)", "redo.xpm", "Redo");
}
void Rotate_constructToolbar(ui::Toolbar toolbar)
@ -2422,11 +2323,10 @@ void XYWnd_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", "select_mousetranslate.xpm", "MouseTranslate");
toolbar_append_toggle_button(toolbar, "Rotate", "select_mouserotate.xpm", "MouseRotate");
toolbar_append_toggle_button(toolbar, "Resize", "select_mouseresize.xpm", "MouseDrag");
toolbar_append_toggle_button(toolbar, "Create", "select_mousecreate.xpm", "MouseCreate");
toolbar_append_toggle_button(toolbar, "Translate (W)", "select_mousetranslate.xpm", "MouseTranslate");
toolbar_append_toggle_button(toolbar, "Rotate (R)", "select_mouserotate.xpm", "MouseRotate");
toolbar_append_toggle_button(toolbar, "Scale", "select_mousescale.xpm", "MouseScale");
toolbar_append_toggle_button(toolbar, "Resize (Q)", "select_mouseresize.xpm", "MouseDrag");
Clipper_constructToolbar(toolbar);
}
@ -2513,39 +2413,6 @@ ui::Widget create_main_statusbar(ui::Widget pStatusLabel[c_count_status])
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
@ -2926,9 +2793,6 @@ void MainFrame::Create()
auto split = create_split_views(camera, yz, xy, xz);
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);
{
@ -2965,7 +2829,7 @@ void MainFrame::Create()
SetActiveXY(m_pXYWnd);
AddGridChangeCallback(SetGridStatusCaller(*this));
AddGridChangeCallback(ReferenceCaller<MainFrame, void(), XY_UpdateAllWindows>(*this));
g_defaultToolMode = ScaleMode;
g_defaultToolMode = DragMode;
g_defaultToolMode();
SetStatusText(m_command_status, c_TranslateMode_status);
EverySecondTimer_enable();
@ -3227,12 +3091,9 @@ void MainFrame_Construct()
ToggleItem::AddCallbackCaller(g_translatemode_button));
GlobalToggles_insert("MouseRotate", makeCallbackF(RotateMode), ToggleItem::AddCallbackCaller(g_rotatemode_button),
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),
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("ColorSchemeOriginal", makeCallbackF(ColorScheme_Original));

View file

@ -610,8 +610,6 @@ ui::Window PatchInspector::BuildDialog()
window_connect_focus_in_clear_focus_widget(window);
gtk_window_set_resizable(window, FALSE);
{
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)
{
/*Vector3 current;
Vector3 current;
point_on_axis(current, m_axis, device2manip, x, y);
Vector3 delta = vector3_subtracted(current, m_start);
@ -401,7 +401,7 @@ public:
start[1] == 0 ? 1 : 1 + delta[1] / start[1],
start[2] == 0 ? 1 : 1 + delta[2] / start[2]
);
m_scalable.scale(scale);*/
m_scalable.scale(scale);
}
void SetAxis(const Vector3 &axis)
@ -427,7 +427,7 @@ public:
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);
Vector3 delta = vector3_subtracted(current, m_start);
@ -440,7 +440,7 @@ public:
start[1] == 0 ? 1 : 1 + delta[1] / start[1],
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_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_z.m_line, 2);
draw_quad(16, m_quad_screen.m_quad);*/
draw_quad(16, m_quad_screen.m_quad);
}
Pivot2World &getPivot()
@ -2899,9 +2899,6 @@ public:
case eDrag:
m_manipulator = &m_drag_manipulator;
break;
case eCreate:
m_manipulator = &m_drag_manipulator;
break;
case eClip:
m_manipulator = &m_clip_manipulator;
break;
@ -3020,14 +3017,14 @@ public:
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 )
g_render_clipped.destroy();
#endif
m_manipulator->setSelected(false);
if (!nothingSelected() || ((ManipulatorMode() == eDrag || ManipulatorMode() == eCreate) && Mode() == eComponent)) {
if (!nothingSelected() || (ManipulatorMode() == eDrag && Mode() == eComponent)) {
View scissored(view);
ConstructSelectionTest(scissored, SelectionBoxForPoint(device_point, device_epsilon));
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],
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");
if (modifier == eReplace) {
if (face) {
@ -3149,10 +3142,6 @@ public:
void SelectArea(const View &view, const float device_point[2], const float device_delta[2],
RadiantSelectionSystem::EModifier modifier, bool face)
{
if (m_manipulator_mode != eScale) {
return;
}
if (modifier == eReplace) {
if (face) {
setSelectedAllComponents(false);
@ -3295,7 +3284,7 @@ public:
/// \todo Support view-dependent nudge.
void NudgeManipulator(const Vector3 &nudge, const Vector3 &view)
{
if (ManipulatorMode() == eTranslate || (ManipulatorMode() == eDrag || ManipulatorMode() == eCreate)) {
if (ManipulatorMode() == eTranslate || ManipulatorMode() == eDrag) {
translateSelected(nudge);
}
}
@ -3529,7 +3518,7 @@ void RadiantSelectionSystem::endMove()
freezeTransforms();
if (Mode() == ePrimitive) {
if ((ManipulatorMode() == eDrag || ManipulatorMode() == eCreate)) {
if (ManipulatorMode() == eDrag) {
Scene_SelectAll_Component(false, SelectionSystem::eFace);
}
}
@ -3549,14 +3538,15 @@ void RadiantSelectionSystem::endMove()
command << "rotateTool";
outputRotation(command);
} else if (ManipulatorMode() == eScale) {
//command << "scaleTool";
//outputScale(command);
} else if ((ManipulatorMode() == eDrag || ManipulatorMode() == eCreate)) {
command << "scaleTool";
outputScale(command);
} else if (ManipulatorMode() == eDrag) {
command << "dragTool";
}
GlobalUndoSystem().finish(command.c_str());
}
}
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());
}
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:
break;
}
@ -3788,9 +3785,9 @@ Single<MouseEventCallback> g_mouseUpCallback;
const ButtonIdentifier c_button_select = c_buttonLeft;
const ButtonIdentifier c_button_texture = c_buttonMiddle;
const ModifierFlags c_modifier_manipulator = c_modifierNone;
const ModifierFlags c_modifier_toggle = c_modifierNone;
const ModifierFlags c_modifier_toggle_face = c_modifierShift;
const ModifierFlags c_modifier_face = c_modifierShift;
const ModifierFlags c_modifier_toggle = c_modifierShift;
const ModifierFlags c_modifier_toggle_face = c_modifierShift | c_modifierControl;
const ModifierFlags c_modifier_face = c_modifierControl;
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_apply_texture1 = c_modifierControl | c_modifierShift;
@ -3842,12 +3839,8 @@ public:
void testSelect(DeviceVector position)
{
if (getSelectionSystem().ManipulatorMode() != SelectionSystem::eScale) {
return;
}
RadiantSelectionSystem::EModifier modifier = modifier_for_state(m_state);
if (modifier != RadiantSelectionSystem::eManipulator) {
DeviceVector delta(position - m_start);
if (fabs(delta.x()) > m_epsilon.x() && fabs(delta.y()) > m_epsilon.y()) {
DeviceVector delta(position - m_start);
@ -3860,6 +3853,7 @@ public:
getSelectionSystem().SelectPoint(*m_view, &position[0], &m_epsilon[0], modifier,
(m_state & c_modifier_face) != c_modifierNone);
}
}
m_start = m_current = DeviceVector(0.0f, 0.0f);
draw_area();
@ -3867,10 +3861,7 @@ public:
bool selecting() const
{
if (getSelectionSystem().ManipulatorMode() != SelectionSystem::eScale) {
return 0;
}
return 1;
return m_state != c_modifier_manipulator;
}
void setState(ModifierFlags state)
@ -4006,10 +3997,6 @@ public:
g_mouseMovedCallback.insert(MouseEventCallback(Manipulator_::MouseMovedCaller(m_manipulator)));
g_mouseUpCallback.insert(MouseEventCallback(Manipulator_::MouseUpCaller(m_manipulator)));
} else {
/* TODO: Only when eScale is selected */
if (getSelectionSystem().ManipulatorMode() != SelectionSystem::eScale) {
return;
}
m_selector.mouseDown(devicePosition);
g_mouseMovedCallback.insert(MouseEventCallback(Selector_::MouseMovedCaller(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);
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;
}
bool IsCreateMode()
{
return GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eCreate;
}
bool IsCreateEMode()
{
return GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eEntSpawn;
}
void NewClipPoint(const Vector3 &point)
{
if (g_Clip1.Set() == false) {
@ -1245,9 +1235,16 @@ public:
void XYWnd::OnContextMenu()
{
if (g_xywindow_globals.m_bRightClick == false)
if (g_xywindow_globals.m_bRightClick == false) {
return;
}
/* first time, init */
if (!m_mnuDrop) {
auto menu1 = m_mnuDrop = ui::Menu(ui::New);
EntityClassMenuInserter inserter(menu1);
GlobalEntityClassManager().forEachPoint(inserter);
}
if (!m_mnuDropSingle) {
auto menu2 = m_mnuDropSingle = ui::Menu(ui::New);
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");
}
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);
} else {
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;
unsigned int Move_buttons()
@ -1311,8 +1294,6 @@ unsigned int Move_buttons()
void XYWnd_moveDelta(int x, int y, unsigned int state, void *data)
{
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);
}
@ -1424,24 +1405,21 @@ void XYWnd::mouseDown(const WindowVector &position, ButtonIdentifier button, Mod
}
void CamWnd_DisableMovement();
void XYWnd::XY_MouseDown(int x, int y, unsigned int buttons)
{
#if 0
if (IsCreateEMode()) {
PointCreate_MouseDown(x, y);
if (buttons == Move_buttons()) {
Move_Begin();
EntityCreate_MouseDown(x, y);
} else if (buttons == Zoom_buttons()) {
Zoom_Begin();
} else if (ClipMode() && buttons == Clipper_buttons()) {
Clipper_OnLButtonDown(x, y);
} else if (IsCreateMode() && buttons == NewBrushDrag_buttons() && GlobalSelectionSystem().countSelected() == 0) {
/* Only do it in eCreate mode */
} else if (buttons == NewBrushDrag_buttons() && GlobalSelectionSystem().countSelected() == 0) {
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
else if (buttons == MoveCamera_buttons()) {
XYWnd_PositionCamera(this, x, y, *g_pParentWnd->GetCamWnd());
}
// 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),
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();
}
void Patch_Plane();
void XYWnd::XY_MouseUp(int x, int y, unsigned int buttons)
{
#if 0
if (IsCreateEMode()) {
PointCreate_MouseUp(x, y);
} else if (IsCreateMode() && buttons == Move_buttons()) {
BrushCreate_MouseUp(x, y);
} else if (m_move_started) {
if (m_move_started) {
Move_End();
EntityCreate_MouseUp(x, y);
} else if (m_zoom_started) {
Zoom_End();
} else if (ClipMode() && buttons == Clipper_buttons()) {
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) {
m_bNewBrushDrag = false;
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),
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)
@ -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)
{
return ((2.0f * pos) / size) - 1.0f;

View file

@ -231,8 +231,6 @@ private:
void OriginalButtonDown(guint32 nFlags, int point, int pointy);
void OnContextMenu();
void OnBrushMenu();
void OnPointMenu();
void PaintSizeInfo(int nDim1, int nDim2, Vector3 &vMinBounds, Vector3 &vMaxBounds);
@ -256,17 +254,11 @@ public:
}
void EntityCreate_MouseDown(int x, int y);
void EntityCreate_MouseMove(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);
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.
So, for preserving the directional lights contributions, we scale down the radiosity
contribution. It's a hack, but there's a reason behind it */
#if 1
if ( bouncing ) {
addDeluxe *= addDeluxeBounceScale;
/* better NOT increase it beyond the original value
@ -1378,7 +1377,6 @@ int LightContributionToSample( trace_t *trace ){
addDeluxe = 0.00390625f;
*/
}
#endif
if ( doAddDeluxe ) {
VectorScale( trace->direction, addDeluxe, trace->directionContribution );
@ -3113,8 +3111,6 @@ int LightMain( int argc, char **argv ){
}
}
lightAngleHL = qfalse;
/* fix up lightmap search power */
if ( lightmapMergeSize ) {
lightmapSearchBlockSize = ( lightmapMergeSize / lmCustomSize ) * ( lightmapMergeSize / lmCustomSize );