Jump to content

Recommended Posts

  • greebo pinned this topic
Posted

Thanks guys :)

I forgot to mention another feature, which was quite some work: the Entity Inspector can now deal with multiple selected entities. It will show the shared values of the selection, or "differing values" if the entities don't share the same value. Spawnargs that don't exist on all the selected entities are not displayed.

https://bugs.thedarkmod.com/file_download.php?file_id=1179&type=bug

  • Thanks 3
Posted

Thank you so much greebo! 3 cheers for your hard work! 🤩

Yer the nicest func_mover I've ever met.

Posted (edited)

ok I am having issues with scrolling in the xy panes. doesn't seem to be a way to control the incremental zoom on the mmb . Zooming and movement in cam view is perfect. Where do I adjust the zoom increment from 10,000 down to where it should be for the xy views?

- it is wildly powerful right now, and I ultimately lose where the entire grid is... anyone else having this happen? Always leery for this reason when it comes to "updates". BUT it could also be a setting I'm unaware of.

Edited by Deep

Yer the nicest func_mover I've ever met.

Posted

Yes, this has been reported before on the tracker. At first, I was sure it was coming from the mouse wheel delta that is being sent by the operating system - so I removed that part and now it looks like it's the same code that has been active before. Still people are seeing this over-sensitive zooming behaviour, there must be differences between systems.

Can you briefly check how the zooming behaves when you hold down shift? I assume it is over-sensitive too?

I'll have to prepare a special build with more extensive logging to understand what your OS is sending to your DarkRadiant session.

Posted

I've added some logging in a special build, which is currently compiled at: https://github.com/codereader/DarkRadiant/actions/runs/1406515381 You'll need a Github account to see it, I think.

It will write the scroll events to the darkradiant.log file in c:\users\<user>\appdata\roaming\DarkRadiant

@DeepWhen the build's done, please download the portable package and do some scrolling tests. Try to do a single scroll step, and pause a bit between the steps, so I can distinguish them by the timestamps in the log file. Then please send me the log, or post it here.

  • Thanks 1
Posted

Sadly, I'm getting an error on startup with this latest version.

Error
ModuleRegistry: Module doesn't exist: ScriptingSystem

And then DR crashes.  I tried after deleting the "AppData\Roaming\DarkRadiant" to start fresh and that didn't make a difference.  2.13.0 worked fine.

 

Posted
1 hour ago, LDAsh said:

Sadly, I'm getting an error on startup with this latest version.

That's probably because you're on Windows 7. When upgrading to Python 3.10 I missed that it doesn't support Win7 anymore, so I had to downgrade the Python libraries to 3.7.9. It is fixed in the most recent snapshot build on Github:

https://github.com/codereader/DarkRadiant/actions/runs/1406580396

Posted

Great, that works fine now.  Thanks for still supporting Win7.  A shame about Python falling off already but eh, times they are a changin'.  Anyway, I've played with the build for about an hour, mostly with the texturing stuff and I can't say I've found any issues yet.  Great work!  Your efforts are really appreciated.

  • Thanks 1
Posted

I have some UI suggestions for the new Surface Inspector, which I will discuss here rather than changing unilaterally myself since you've obviously done a lot of work on this and might have more changes planned.

  • We're going to need to #ifdef the pixel-based widget minimum sizes, since unfortunately these result in crushed/unreadable widgets on Linux with certain GTK themes. In general we can't use fixed pixel sizes on GTK because the combination of user-selectable themes and variable DPI (mine is 110%) make the relationship between widgets and pixels unpredictable.
  • The new icons look good. I suggest removing the light blue ellipse in between the arrows in the horizontal and vertical scale buttons, since from a distance this makes the arrows slightly harder to read (it just looks like blur).
  • I don't recommend using the exact same icons for buttons which do different things (vert shift buttons and h/v scale assignment buttons), since this is potentially confusing. They should be distinguished in some way, even if it's just a different colour and a square at the base of the arrow or something.
  • The large vertical gap between H and V scale (to fit the buttons in) makes things a little odd: H and V scale are actually the most "tightly bound" parameters because of the new transfer buttons, but the layout makes them look like they are in completely different sections! However, I can't immediately think of a easy way to improve this — the buttons need to go somewhere, and placing them off to one side isn't obviously ideal either (and would widen the dialog further).
Posted

Fantastic work Greebo! When you mentioned you were revamping the texture editor in DR, I had no idea it was going to be this in depth. This is nearing modeling app levels of accessibility and I know we've got a lot of mappers who are still purely working in the editor, vs making & importing meshes. Being able to skew UVs like that in a handy UI, is gonna be a godsend for people. 

  • Like 1
  • Thanks 1

Modeler galore & co-authors literally everything

 

 

Posted
5 hours ago, OrbWeaver said:

I have some UI suggestions for the new Surface Inspector, which I will discuss here rather than changing unilaterally myself since you've obviously done a lot of work on this and might have more changes planned.

No more changes that I have immediately planned. I'm not clinging to any of the work I've done, so if you feel like improving them, please go ahead!

I'm totally aware that doing stuff in pixels is somewhat 1998 in terms of UI design, but I can't think of any other way to restrict the sizes. Same for the spin buttons, which look different on every system. I can see why some of the larger projects don't bother with cross-UI frameworks and just do their entire UI on their own in openGL, like Blender or Lightwave. Overall I'm fine with #ifdefs, let's hope we don't need dozens of them.

Didn't spend much time on the buttons, just wanted to get something going. I can upload the small photoshop file I've used to create the arrows, if needed. I'm pretty sure the grey background is in a separate layer. It'd be nice if the whole icon set of DarkRadiant underwent a full revamp, revisiting every icon, such that style, colours, contrast are consistent, keeping dark and light UI mode in mind. At the moment it has a bit of a Frankenstein touch.

  • Like 3
Posted

So greebo... you said: When the build's done, please download the portable package and do some scrolling tests."

my question is am I unzipping this portable package in the Dark Radiant folder (that contains 2.13)? unzipping it to a stick? - I'm sorry , Please forgive me .... don't get it 🙄

i want to upload the data log to you

 

Yer the nicest func_mover I've ever met.

Posted

You can extract it to a new folder.

(No need to overwrite your existing installation, the test version shouldn't interfere with 2.13.)

Posted
18 hours ago, greebo said:

I'm totally aware that doing stuff in pixels is somewhat 1998 in terms of UI design, but I can't think of any other way to restrict the sizes. Same for the spin buttons, which look different on every system. I can see why some of the larger projects don't bother with cross-UI frameworks and just do their entire UI on their own in openGL, like Blender or Lightwave. Overall I'm fine with #ifdefs, let's hope we don't need dozens of them.

This is what I have so far; it looks good on Linux, but obviously I haven't confirmed that the #ifdefs work correctly on Windows. If you have time, perhaps check if it is still looking good on Windows and does not expand the dialog and attract complaints? I'd be interested in how the pixel sizes interact with Windows' own DPI scaling functionality too — if you set your scale factor to 200%, does Windows/wxWidgets take this into account automatically or do you get cut off widgets there too?

Spoiler
diff --git a/radiant/ui/surfaceinspector/SurfaceInspector.cpp b/radiant/ui/surfaceinspector/SurfaceInspector.cpp
index 3a8f7ab91..1431f2dcb 100644
--- a/radiant/ui/surfaceinspector/SurfaceInspector.cpp
+++ b/radiant/ui/surfaceinspector/SurfaceInspector.cpp
@@ -86,6 +86,20 @@ namespace
     const std::string RKEY_WINDOW_STATE = RKEY_ROOT + "window";
 
     const double MAX_FLOAT_RESOLUTION = 1.0E-5;
+
+    // Widget minimum sizes. Different values needed on Linux (which has various
+    // GTK styles) vs Windows.
+#if defined(_WIN32)
+    const int SPINBOX_WIDTH_CHARS = 7;
+
+    // Only Windows can use fixed pixel sizes for widgets; on Linux, the
+    // availability of GTK themes + configurable DPI (e.g. via gnome-tweak-tool)
+    // make it impossible to predict how many pixels are needed to show a
+    // widget.
+    #define ALLOW_FIXED_PIXEL_SIZES
+#else
+    const int SPINBOX_WIDTH_CHARS = 16;
+#endif
 }
 
 void SurfaceInspector::ManipulatorRow::setValue(double v)
@@ -247,7 +261,7 @@ wxSpinCtrlDouble* SurfaceInspector::makeFitSpinBox(Axis axis)
     wxSpinCtrlDouble* box = new wxSpinCtrlDouble(this, wxID_ANY);
 
     // Set visual parameters
-    box->SetMinSize(wxSize(box->GetCharWidth() * 7, -1));
+    box->SetMinSize(wxSize(box->GetCharWidth() * SPINBOX_WIDTH_CHARS, -1));
     box->SetRange(0.0, 1000.0);
     box->SetIncrement(1.0);
     box->SetValue(1.0);
@@ -292,8 +306,10 @@ wxBoxSizer* SurfaceInspector::createFitTextureRow()
           "other axis automatically to preserve texture aspect ratio")
     );
 
+#if defined(ALLOW_FIXED_PIXEL_SIZES)
     _fitTexture.preserveAspectButton->SetMinSize(wxSize(30, -1));
     _fitTexture.fitButton->SetMinSize(wxSize(30, -1));
+#endif
 
     // Add widgets to the sizer
     auto* widthTimesHeight = new wxBoxSizer(wxHORIZONTAL);
@@ -414,10 +430,12 @@ void SurfaceInspector::populateWindow()
 	_alignTexture.left = new wxButton(this, wxID_ANY, _(LABEL_ALIGN_LEFT));
 	_alignTexture.right = new wxButton(this, wxID_ANY, _(LABEL_ALIGN_RIGHT));
 
+#if defined(ALLOW_FIXED_PIXEL_SIZES)
     _alignTexture.top->SetMinSize(wxSize(20, -1));
     _alignTexture.bottom->SetMinSize(wxSize(20, -1));
     _alignTexture.left->SetMinSize(wxSize(20, -1));
     _alignTexture.right->SetMinSize(wxSize(20, -1));
+#endif
 
 	auto* alignTextureBox = new wxGridSizer(1, 4, 0, 6);
 
@@ -501,7 +519,9 @@ SurfaceInspector::ManipulatorRow SurfaceInspector::createManipulatorRow(
 
 	// Create the entry field
 	manipRow.value = new wxTextCtrl(parent, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER);
+#if defined(ALLOW_FIXED_PIXEL_SIZES)
 	manipRow.value->SetMinSize(wxSize(50, -1));
+#endif
 	manipRow.value->Bind(wxEVT_TEXT_ENTER, &SurfaceInspector::onValueEntryActivate, this);
 
     // Create the nudge buttons
@@ -517,7 +537,9 @@ SurfaceInspector::ManipulatorRow SurfaceInspector::createManipulatorRow(
 
 	// Create the entry field
 	manipRow.stepEntry = new wxTextCtrl(parent, wxID_ANY, "");
+#if defined(ALLOW_FIXED_PIXEL_SIZES)
     manipRow.stepEntry->SetMinSize(wxSize(30, -1));
+#endif
 
 	// Arrange all items in a row
     hbox->Add(manipRow.value, 1, wxALIGN_CENTER_VERTICAL);

 

 

18 hours ago, greebo said:

Didn't spend much time on the buttons, just wanted to get something going. I can upload the small photoshop file I've used to create the arrows, if needed. I'm pretty sure the grey background is in a separate layer.

Don't worry about it, I can trace that in about 2 minutes in Inkscape.

18 hours ago, greebo said:

It'd be nice if the whole icon set of DarkRadiant underwent a full revamp, revisiting every icon, such that style, colours, contrast are consistent, keeping dark and light UI mode in mind. At the moment it has a bit of a Frankenstein touch.

I agree. I've been gradually refreshing them where I can — although I don't claim to be the most talented artist, some of the existing icons are barely legible on a large screen with their small details and 1-pixel lines. Colour is still a challenge, since we don't have any way to switch between icons sets for light and dark mode, so I've generally been hacking it by using colours around 50% brightness which hopefully show up on most themes (but of course this isn't guaranteed).

Posted
7 hours ago, OrbWeaver said:

I'd be interested in how the pixel sizes interact with Windows' own DPI scaling functionality too — if you set your scale factor to 200%, does Windows/wxWidgets take this into account automatically or do you get cut off widgets there too?

I think DR is considered a "legacy" app in Windows, wxWidgets is not using any of the newer UI frameworks. When increasing the zoom level, everything gets scaled up, so you get slightly blurry controls and icons. This is what the Surface Inspector looks like with 175% zoom level, you can see the text in the window panel is scaled, whereas the title is handled by Windows itself.

grafik.png

  • Thanks 1
Posted
8 hours ago, OrbWeaver said:

This is what I have so far; it looks good on Linux, but obviously I haven't confirmed that the #ifdefs work correctly on Windows. If you have time, perhaps check if it is still looking good on Windows and does not expand the dialog and attract complaints?

Checked out, looking the same as before for me => commited to master.

  • Thanks 1
Posted (edited)

greebo here is the darkradiant log file you requested for scrolling.

note: While I was doing this it behaved properly as it should. ( I am using 2.13 not the super zoomy verion 2.14###

darkradiant.log

Edited by Deep

Yer the nicest func_mover I've ever met.

Posted

Did you want me to to upload a log from the super zoomie version 2.14###? i can if you want

 

Yer the nicest func_mover I've ever met.

Posted

That's fine, thanks. So you can confirm that the 2.14 test version is not zooming correctly, i.e. the zoom is not focusing on the mouse cursor as it is supposed to?

Posted

well that was hard to tell as the zoom increments were massive in 2.14

Yer the nicest func_mover I've ever met.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent Status Updates

    • JackFarmer

      "The Year of the Rat." 
      😄

      Al Stewart must be proud of you!
      Happy testing!
      @MirceaKitsune
      · 1 reply
    • datiswous

      I posted about it before, but I think the default tdm logo video looks outdated. For a (i.m.o.) better looking version, you can download the pk4 attached to this post and plonk it in your tdm root folder. Every mission that starts with the tdm logo then starts with the better looking one. Try for example mission COS1 Pearls and Swine.
      tdm_logo_video.pk4
      · 2 replies
    • JackFarmer

      Kill the bots! (see the "Who is online" bar)
      · 3 replies
    • STiFU

      I finished DOOM - The Dark Ages the other day. It is a decent shooter, but not as great as its predecessors, especially because of the soundtrack.
      · 5 replies
    • JackFarmer

      What do you know about a 40 degree day?
      @demagogue
      · 4 replies
×
×
  • Create New...