diff --git a/include/iselection.h b/include/iselection.h index eb38a63..9207271 100644 --- a/include/iselection.h +++ b/include/iselection.h @@ -89,9 +89,6 @@ enum EManipulatorMode eScale, eDrag, eClip, - eCreate, - eEntSpawn, - ePatchSpawn }; virtual void SetMode( EMode mode ) = 0; diff --git a/resources/bitmaps/side_clipper.xpm b/resources/bitmaps/side_clipper.xpm new file mode 100644 index 0000000..bcb87e1 --- /dev/null +++ b/resources/bitmaps/side_clipper.xpm @@ -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 ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/resources/bitmaps/side_entities.xpm b/resources/bitmaps/side_entities.xpm new file mode 100644 index 0000000..adf3bea --- /dev/null +++ b/resources/bitmaps/side_entities.xpm @@ -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 ", +" + + + ", +" ", +" ", +" " +}; diff --git a/resources/bitmaps/side_find.xpm b/resources/bitmaps/side_find.xpm new file mode 100644 index 0000000..2e5ef63 --- /dev/null +++ b/resources/bitmaps/side_find.xpm @@ -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+ ", +" ", +" ", +" ", +" ", +" ", +" ", +" " +}; diff --git a/resources/bitmaps/side_patch.xpm b/resources/bitmaps/side_patch.xpm new file mode 100644 index 0000000..1645017 --- /dev/null +++ b/resources/bitmaps/side_patch.xpm @@ -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. ", +" ", +" ", +" " +}; diff --git a/resources/bitmaps/side_resize.xpm b/resources/bitmaps/side_resize.xpm new file mode 100644 index 0000000..354f6f5 --- /dev/null +++ b/resources/bitmaps/side_resize.xpm @@ -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 ", +" ", +" " +}; diff --git a/resources/bitmaps/side_rotate.xpm b/resources/bitmaps/side_rotate.xpm new file mode 100644 index 0000000..ab8d223 --- /dev/null +++ b/resources/bitmaps/side_rotate.xpm @@ -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 ", +" ", +" " +}; diff --git a/resources/bitmaps/side_scale.xpm b/resources/bitmaps/side_scale.xpm new file mode 100644 index 0000000..0362663 --- /dev/null +++ b/resources/bitmaps/side_scale.xpm @@ -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 ", +" ", +" " +}; diff --git a/resources/bitmaps/side_surface.xpm b/resources/bitmaps/side_surface.xpm new file mode 100644 index 0000000..c5849fa --- /dev/null +++ b/resources/bitmaps/side_surface.xpm @@ -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 ", +" ", +" " +}; diff --git a/resources/bitmaps/side_textures.xpm b/resources/bitmaps/side_textures.xpm new file mode 100644 index 0000000..25c2197 --- /dev/null +++ b/resources/bitmaps/side_textures.xpm @@ -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 ", +" ", +" " +}; diff --git a/resources/bitmaps/side_transform.xpm b/resources/bitmaps/side_transform.xpm new file mode 100644 index 0000000..b7e6f85 --- /dev/null +++ b/resources/bitmaps/side_transform.xpm @@ -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 ", +" ", +" " +}; diff --git a/resources/defaultkeys.ini b/resources/defaultkeys.ini index 460971b..e644ca2 100644 --- a/resources/defaultkeys.ini +++ b/resources/defaultkeys.ini @@ -5,13 +5,13 @@ number=1.0-gtk-accelnames AddTag= ArbitraryRotation= ArbitraryScale= -Brush3Sided= -Brush4Sided= -Brush5Sided= -Brush6Sided= -Brush7Sided= -Brush8Sided= -Brush9Sided= +Brush3Sided=3 +Brush4Sided=4 +Brush5Sided=5 +Brush6Sided=6 +Brush7Sided=7 +Brush8Sided=8 +Brush9Sided=9 BrushCone= BrushPrism= BrushRock= @@ -19,26 +19,26 @@ BrushSphere= BuildMenuCustomize= CSGMakeHollow= CSGMakeRoom= -CSGMerge= -CSGSubtract= -CameraAngleDown= -CameraAngleUp= -CameraBack= -CameraDown= -CameraForward= -CameraFreeMoveBack=s +CSGMerge=u +CSGSubtract=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=KP_Subtract CameraSpeedInc=KP_Add CameraStrafeLeft=comma CameraStrafeRight=period -CameraUp= +CameraUp=d CapCurrentCurve=c CenterView=End CenterXYView=Tab @@ -56,119 +56,112 @@ ChooseSelectedBrushColor= ChooseSmallGridMajorColor= ChooseSmallGridMinorColor= ChooseTextureBackgroundColor= -ClearPatchOverlays= -ClipSelected= -CloneSelection= -CloneSelectionAndMakeUnique= +ClearPatchOverlays=l +ClipSelected=Return +CloneSelection=space +CloneSelectionAndMakeUnique=space ColorSchemeBlackAndGreen= ColorSchemeOriginal= ColorSchemeQER= -ColorSchemeWS= ColorSchemeYdnar= -ConnectSelection= -Copy= +ConnectSelection=k +Copy=c CopyTag= -CreateFuncGroup= -CubicClipZoomIn= -CubicClipZoomOut= -CycleCapTexturePatch= -DeleteSelection=Delete +CubicClipZoomIn=bracketleft +CubicClipZoomOut=bracketright +CycleCapTexturePatch=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=e ExportSelected= FaceCopyTexture= FacePasteTexture= -FilterAreaportals= -FilterBotClips= -FilterCaulk= -FilterClips= -FilterClusterportals= -FilterDecals= -FilterDetails= -FilterEntities= +FilterAreaportals=3 +FilterBotClips=m +FilterCaulk=6 +FilterClips=7 +FilterClusterportals=9 +FilterDecals=d +FilterDetails=d +FilterEntities=2 FilterFallback= -FilterGroupBrushes= -FilterHintsSkips= +FilterHintsSkips=h FilterLightgrid= -FilterLights= -FilterLiquids= +FilterLights=0 +FilterLiquids=5 FilterMissing= -FilterModels= -FilterPatches= -FilterPaths= -FilterStructural= -FilterTranslucent= -FilterTriggers= -FilterWorldBrushes= +FilterModels=m +FilterPatches=p +FilterPaths=8 +FilterStructural=d +FilterTranslucent=4 +FilterTriggers=t +FilterWorldBrushes=1 FindBrush= FindReplaceTextures= -FitTexture= +FitTexture=b FixedSize= -FlipClip= -GoToZero= -GridDown= -GridUp= +FlipClip=Return +GridDown=bracketleft +GridUp=bracketright GroupSelection= HideSelected=h HideUnselected= ImportMap= -InvertCurve= -InvertCurveTextureX= -InvertCurveTextureY= +InvertCurve=i +InvertCurveTextureX=i +InvertCurveTextureY=i InvertFilters= -InvertSelection= -KillConnectSelection= +InvertSelection=i +KillConnectSelection=k LookThroughCamera= LookThroughSelected= -MakeDetail=d -MakeOverlayPatch= -MakeStructural= -MapInfo= -MatrixTranspose= +MakeDetail=m +MakeOverlayPatch=y +MakeStructural=s +MapInfo=m +MatrixTranspose=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=n NewMap= -NextLeakSpot= -NextView= +NextLeakSpot=k +NextView=Tab NormalizeColor= -OpenMap= +OpenMap=o ParentSelection= -Paste= +Paste=v PasteTag= -PasteToCamera= +PasteToCamera=v PatchBevel= PatchCone= PatchCylinder= PatchDeleteFirstColumn= -PatchDeleteFirstRow= -PatchDeleteLastColumn= +PatchDeleteFirstRow=KP_Subtract +PatchDeleteLastColumn=KP_Subtract PatchDeleteLastRow= PatchDenseCylinder= PatchEndCap= PatchInsertAddColumn= PatchInsertAddRow= -PatchInsertInsertColumn= -PatchInsertInsertRow= -PatchInspector= +PatchInsertInsertColumn=KP_Add +PatchInsertInsertRow=KP_Add +PatchInspector=s PatchSphere= PatchSquareBevel= PatchSquareCylinder= @@ -177,17 +170,17 @@ PatchVeryDenseCylinder= PatchXactCone= PatchXactCylinder= PatchXactSphere= -Preferences= -PrevLeakSpot= +Preferences=p +PrevLeakSpot=l ProjectSettings= -RedisperseCols= -RedisperseRows= +RedisperseCols=e +RedisperseRows=e Redo=y RefreshReferences= RefreshShaders= RegionOff= RegionSetBrush= -RegionSetSelection= +RegionSetSelection=r RegionSetXY= RenameTag= ResetFilters= @@ -199,10 +192,10 @@ SaveMapAs= SaveRegion= SelectAllOfType=a SelectInside= -SelectNudgeDown=Down -SelectNudgeLeft=Left -SelectNudgeRight=Right -SelectNudgeUp=Up +SelectNudgeDown=Down +SelectNudgeLeft=Left +SelectNudgeRight=Right +SelectNudgeUp=Up SelectTouching= SetGrid0.125= SetGrid0.25= @@ -217,43 +210,42 @@ SetGrid4=3 SetGrid64=7 SetGrid8=4 ShaderInfo= -ShowAllTextures= -ShowAlpha= +ShowAllTextures=a ShowAngles= ShowAxes= ShowBlocks= ShowCoordinates= -ShowHidden= -ShowInUse= -ShowLighting= +ShowHidden=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=p +Sleep=p +SmoothCols=w +SmoothRows=w +SnapToGrid=g +SplitSelected=Return +SurfaceInspector=s +TexRotateClock=Page_Down +TexRotateCounter=Page_Up +TexScaleDown=Down +TexScaleLeft=Left +TexScaleRight=Right +TexScaleUp=Up +TexShiftDown=Down +TexShiftLeft=Left +TexShiftRight=Right +TexShiftUp=Up +TogTexLock=t +ToggleCamera=c +ToggleClipper=x +ToggleConsole=o +ToggleCrosshairs=x +ToggleCubicClip=backslash +ToggleEntityInspector=n ToggleFrontView= ToggleGrid=0 ToggleGridSnap= @@ -261,17 +253,17 @@ TogglePointfile= ToggleShowShaderlistOnly= ToggleShowShaders= ToggleSideView= -ToggleSizePaint= -ToggleTextures= -ToggleView= +ToggleSizePaint=j +ToggleTextures=t +ToggleView=v UnSelectSelection=Escape Undo=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 diff --git a/src/mainframe.cpp b/src/mainframe.cpp index 3a5bd6c..7eb9641 100644 --- a/src/mainframe.cpp +++ b/src/mainframe.cpp @@ -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 &importCallback) importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eClip); } -void CreateToolExport(const Callback &importCallback) -{ - importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eCreate); -} - -void CreateEToolExport(const Callback &importCallback) -{ - importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::eEntSpawn); -} - -void CreatePToolExport(const Callback &importCallback) -{ - importCallback(GlobalSelectionSystem().ManipulatorMode() == SelectionSystem::ePatchSpawn); -} - - FreeCaller &), TranslateToolExport> g_translatemode_button_caller; Callback &)> g_translatemode_button_callback(g_translatemode_button_caller); ToggleItem g_translatemode_button(g_translatemode_button_callback); @@ -1341,18 +1320,6 @@ FreeCaller &), ClipperToolExport> g_clipper_butt Callback &)> g_clipper_button_callback(g_clipper_button_caller); ToggleItem g_clipper_button(g_clipper_button_callback); -FreeCaller &), CreateToolExport> g_create_button_caller; -Callback &)> g_create_button_callback(g_create_button_caller); -ToggleItem g_create_button(g_create_button_callback); - -FreeCaller &), CreateEToolExport> g_createE_button_caller; -Callback &)> g_createE_button_callback(g_createE_button_caller); -ToggleItem g_createE_button(g_createE_button_callback); - -FreeCaller &), CreatePToolExport> g_createP_button_caller; -Callback &)> 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 @@ -2925,9 +2792,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(*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)); diff --git a/src/patchdialog.cpp b/src/patchdialog.cpp index 0ef4ff3..79426e7 100644 --- a/src/patchdialog.cpp +++ b/src/patchdialog.cpp @@ -609,8 +609,6 @@ ui::Window PatchInspector::BuildDialog() global_accel_connect_window(window); window_connect_focus_in_clear_focus_widget(window); - - gtk_window_set_resizable(window, FALSE); { diff --git a/src/selection.cpp b/src/selection.cpp index 74f40df..a8666cc 100644 --- a/src/selection.cpp +++ b/src/selection.cpp @@ -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 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))); diff --git a/src/surfacedialog.cpp b/src/surfacedialog.cpp index e6a020b..e3b2299 100644 --- a/src/surfacedialog.cpp +++ b/src/surfacedialog.cpp @@ -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); { diff --git a/src/xywindow.cpp b/src/xywindow.cpp index b1ec041..b6f8bcc 100644 --- a/src/xywindow.cpp +++ b/src/xywindow.cpp @@ -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( data )->EntityCreate_MouseMove(x, y); - reinterpret_cast( data )->PointCreate_MouseMove(x, y); - reinterpret_cast( data )->BrushCreate_MouseMove(x, y); reinterpret_cast( 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,184 +1429,25 @@ 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) { + } else if (m_bNewBrushDrag) { m_bNewBrushDrag = false; NewBrushDrag_End(x, y); - }else { + } 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); - } else { - 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; diff --git a/src/xywindow.h b/src/xywindow.h index 1ccef30..4edfc63 100644 --- a/src/xywindow.h +++ b/src/xywindow.h @@ -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() diff --git a/tools/vmap/light.c b/tools/vmap/light.c index 4472003..81ff514 100644 --- a/tools/vmap/light.c +++ b/tools/vmap/light.c @@ -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,8 +1377,7 @@ int LightContributionToSample( trace_t *trace ){ addDeluxe = 0.00390625f; */ } -#endif - + if ( doAddDeluxe ) { VectorScale( trace->direction, addDeluxe, trace->directionContribution ); } @@ -3112,8 +3110,6 @@ int LightMain( int argc, char **argv ){ } } } - - lightAngleHL = qfalse; /* fix up lightmap search power */ if ( lightmapMergeSize ) {