Jump to content
The Dark Mod Forums

DarkRadiant 2.8.0 pre-release testing


Recommended Posts

Here's the DR 2.8.0pre5 build for motivated mappers to test. I'm not done yet with what I planned to pack into 2.8.0, so this pre-release build has been uploaded to get some early feedback for myself to fix things along the way. I'd appreciate it if folks could try and have a look.

There are two major things I'd like people to test, specifically:

First, I've added a way to copy/paste stuff between two different DR sessions while keeping the grouping information intact. To achieve this, I had to introduce a new (internal, but not only) map format to transfer all info through the clipboard. New saving format and refactoring the save/load code is always a bit hairy, so I'd like to get some reassurance that saving / loading is working as reliable as it used to.

Second, there's a new feature for selecting stuff using the Filter definitions. You can right-click in the orthoviews to select or deselect stuff matching a certain filter:

select_by_filter.gif

For more things that have changed or fixed, see the list below.

Download Windows Portable x64: https://drive.google.com/open?id=1oDAPZnYoANbgjnsMRxdYPKKCnJ4fApt-
Download Windows Installer x64: https://drive.google.com/open?id=1JgORkG-Q50cMuiHBVByXn8Us5K-60b0F

Linux folks need to compile this stuff from source, instructions for various distributions are on the wiki.

If you happen to run into a crash, please record a crashdump: How to record a crashdump

Changes since 2.7.0 can be seen on the Bugtracker changelog, important stuff includes so far:

#5203: Feature: Let DR look for either 32-bit or 64-bit TDM .exe's
#5122: Feature: Selection by Filter
#5090: Feature: Preserve grouping information when copy-pasting between multiple open instances of DR
#5175: Feature: Add Portable Map Format storing map and additional data in one single file
#5089: Feature: Preserve grouping information in prefabs
#5155: Feature: Model chooser doesn't list .md3 models
#5154: Fixed: Edit Objectives dialog doesn't adjust its height when selecting a component
#5188: Fixed: DR can't find materials whose names start with table
#5199: Fixed: It's possible to delete the classname spawnarg through the context menu
#5196: Fixed: All spawnargs with the same value as the "name" spawnarg iterate when the entity is cloned
#5193: Fixed: Removing a Stim/Response entry can break the remaining entries
#5174: Fixed: Loading error caused by non-Latin character in filename
#5135: Fixed: Texture Tool: crashes on brush surfaces with texture scale 0
#5132: Fixed: Undo after thickening a cylinder cap along vertex normals causes crash
#5149: Fixed: Readable Editor Crash
#5131: Fixed: Python 3.8 does not get linked (Linux)
#5173: Fixed: ConnectNamespacedWalker Warning when cloning selection containing links and targets

Changes since 2.8.0pre1

#5210: Show English difficulty names in the Difficulty Editor instead of the #strNNNNN IDs
#5211: Added ability to edit difficulty names
#5207: Add Move up/down buttons to Conversation Editor
#5159: Add type-to-search ability to AI vocal set and head chooser dialogs
#5209: Removed/disabled close button from all dialogs
Fix a crash when loading materials referring to tables

Changes since 2.8.0pre2

#5176: Feature: Let DR remember the shader in ShaderClipboard after closing
#5219: Feature: Add option to show "Other Materials" in Texture Browser
#5134: Fixed: 'Reload models' reveals hidden models
#5147: Fixed: 'Show help' etc. checkboxes in entity inspector aren't remembered by DR
#5148: Fixed: 'Show help' tooltip text updates incorrectly
#5214: Fixed: Changing classname ties entity's visibility to 'Default' layer
#5220: Fixed: Resized Models lose their scale in auto-saved maps
#5168: Fixed: Autosaves don't save last camera angle & position
#5166: Tweak: Allow fixed Subdivisions to go higher than 32
#5151: Tweak: Targeting projected lights: let the line point to the light source instead of the light volume's midpoint
#5222: Tweak: Collapsing a folder in a treeview now collapses all child elements too

Changes since 2.8.0pre3

#5140: Fixed ToggleFullScreenCamera command for Embedded and RegularLeft layouts
#5176 improved: Newly created brushes now use the material remembered from the last session
#5175 improved: mapx file extension is listed in the Map Open file chooser dialog
#5199 improved: The "classname" spawnarg can no longer be removed by Cutting
#5089 improved: Made pfbx the default prefab export format

Changes since 2.8.0pre4

#5229: Fixed: Layers information gets duplicated in consecutive save operations

Thanks for testing, as always!

Link to comment
Share on other sites

So, does this pull the 2.8.0pre-release, or the 2.7.0? 

git clone git://github.com/codereader/DarkRadiant.git

Anyway, I get this when attempting to build, so I run DR with wine instead:

In file included from /usr/include/c++/9/istream:39,
                 from ../include/itextstream.h:10,
                 from ../include/imodule.h:15,
                 from ../include/iarchive.h:11,
                 from vfs/Archive.h:3,
                 from vfs/DirectoryArchive.h:3,
                 from vfs/DirectoryArchive.cpp:1:
/usr/include/c++/9/ostream:691:5: note: candidate: ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&)’
  691 |     operator<<(_Ostream&& __os, const _Tp& __x)
      |     ^~~~~~~~
/usr/include/c++/9/ostream:691:5: note:   template argument deduction/substitution failed:
/usr/include/c++/9/ostream: In substitution of ‘template<class _Ostream, class _Tp> typename std::enable_if<std::__and_<std::__not_<std::is_lvalue_reference<_Tp> >, std::__is_convertible_to_basic_ostream<_Ostream>, std::__is_insertable<typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type, const _Tp&, void> >::value, typename std::__is_convertible_to_basic_ostream<_Tp>::__ostream_type>::type std::operator<<(_Ostream&&, const _Tp&) [with _Ostream = std::basic_ostream<char>&; _Tp = std::__cxx11::basic_string<wchar_t>]’:
vfs/DirectoryArchive.cpp:94:73:   required from here
/usr/include/c++/9/ostream:691:5: error: no type named ‘type’ in ‘struct std::enable_if<false, std::basic_ostream<char>&>’

 

Edited by PranQster
  • Like 1

System: Mageia Linux Cauldron, aka Mageia 8

Link to comment
Share on other sites

I didn't create any bugtracker entries for these, but if you pull my latest repo you'll get the following:

  • Modal dialogs (e.g. difficulty and objectives editors) no longer have 'X' close buttons, so users are less likely to accidentally close the dialog without saving changes.
  • Difficulty dialog now shows English difficulty names, rather than meaningless string table entries.
  • Difficulty dialog now allows editing of the current difficulty name and saving the modifications onto the worldspawn.
Link to comment
Share on other sites

I'll create the bug tracker entries — I didn't before because these always felt like simple issues I was only casually working on, but I forgot about the release changelog aspect which of course makes it important to have entries even for relatively simple changes.

Link to comment
Share on other sites

Creating tracker entries for every small issue is tiresome indeed, and I wouldn't want to push this sort of thing. I myself like to stay flexible in terms of smaller or medium-scale refactoring without having to reflect this on the tracker. Having a proper changelog is incredibly useful at release time though, so thanks for creating those.

I get a lot of issue tracking blood injected during my day job, where not a single commit is allowed without being attached to a tracker entry. I sometimes hate this, but it has its benefits when done properly. The downside is that I sometimes find myself not fixing smaller stuff I encounter when working on an issue, just because it's not related to that exact problem.

Btw, it is possible as of lately to attach commits to tracker entries (like this). Sometimes it's happening automatically if the commit message is tagged properly, but one can do it manually as well. I certainly don't expect anyone to do it manually, but I do like that feature in general as I can conveniently browse the tracker and see the corresponding commits.

Link to comment
Share on other sites

14 hours ago, greebo said:

Should be compiling again now, @PranQster Thanks for the heads up.

Thanks. I'll try again.

Now it completed compilation, but I get a segfault when running. No other info.

Segmentation fault (core dumped)

 

Edited by PranQster

System: Mageia Linux Cauldron, aka Mageia 8

Link to comment
Share on other sites

3 hours ago, greebo said:

Creating tracker entries for every small issue is tiresome indeed, and I wouldn't want to push this sort of thing. I myself like to stay flexible in terms of smaller or medium-scale refactoring without having to reflect this on the tracker. Having a proper changelog is incredibly useful at release time though, so thanks for creating those.

No problem ­— all three issues are now added and are showing up in the release roadmap.

I agree that creating issues just for refactoring would be excessive, and wouldn't really serve any purpose. I suppose the question we should ask is "Would a user be interested in seeing this change in the changelog?", and if the answer is "Yes", then an issue should be created so that the changelog can be appropriately generated.

3 hours ago, greebo said:

I get a lot of issue tracking blood injected during my day job, where not a single commit is allowed without being attached to a tracker entry. I sometimes hate this, but it has its benefits when done properly. The downside is that I sometimes find myself not fixing smaller stuff I encounter when working on an issue, just because it's not related to that exact problem.

That's exactly my company's policy as well (we actually enforced it with an SVN pre-commit hook originally, but then we switched to Git and it is impossible, so we just have to rely on people abiding by the policy). Although it does not exclude the possibility of doing cleanups and refactoring too; we just consider such refactoring "in scope of" the current work, and tag it with the same tracker issue we are using to fix the final problem.

3 hours ago, greebo said:

Btw, it is possible as of lately to attach commits to tracker entries (like this). Sometimes it's happening automatically if the commit message is tagged properly, but one can do it manually as well. I certainly don't expect anyone to do it manually, but I do like that feature in general as I can conveniently browse the tracker and see the corresponding commits.

Oh, that is nice. I'll definitely start doing that from now on. I assume (from looking at your commit log) that all that is needed to make this work is to prefix the commit summary with a issue number e.g "#12345: fixed something"?

Link to comment
Share on other sites

7 hours ago, OrbWeaver said:

Oh, that is nice. I'll definitely start doing that from now on. I assume (from looking at your commit log) that all that is needed to make this work is to prefix the commit summary with a issue number e.g "#12345: fixed something"?

Yes, the commit message will be run against a regex that is configured in Mantis. The #NNNN pattern should be fine in principle, but I found it to be unreliable. Not sure exactly why it's working sometimes and sometimes it isn't. It's rather easy though to attach the commits to issues, I just browse the changesets in the "Repositories" > "DarkRadiant" page to see where I can fill in an issue number. It's only connected to Github at the moment though.

Thanks for creating the issues, in any case!

8 hours ago, PranQster said:

Now it completed compilation, but I get a segfault when running. No other info.

It's not crashing in my VM... can you please try to get a stacktrace of that crash running it through gdb? (Assuming that you know how to do that?)

Link to comment
Share on other sites

@grayman It's crashing when realising the cave water source shader. I suspect it's related to the "sintable" resolution in the material, but strangely enough it's not crashing on my end, so I cannot tell yet what's the exact cause. It should have written a message to the DarkRadiant.log file in your users roaming folder, can you please have a look what's printed there after it crashes? That message might help me a lot.

edit: Maybe you can also zip up the contents of your materials folder for me? Your shaders might differ to what I have (I'm using the current release PK4s).

Link to comment
Share on other sites

If you download the current WS1 mission in-game, you'll have everything inside the pk4. Though the original crashes occurred in my WIP folder for WS1, I've verified that the released pk4 also crashes.

Here's the DR log file.

darkradiant.log

EDIT: Hang on, that's more current than when the crash occurred. Getting crash version ...

EDIT2: Okay, log file updated.

Link to comment
Share on other sites

I think I found the reason for the crash, I might have already fixed that in the commits after the pre1 build. I'll upload a new version soon, thanks so far!

edit: Thanks for the updated log file, it's as I suspected.

Link to comment
Share on other sites

This material doesn't show up in DR now:

textures/nature/foliage/tree02_branch

It paints correctly in-game.
 

There's no *_ed file for this material, and I thought DR used the diffuse file if an ed file wasn't present.

It worked okay in the previous version of DR.

 

This appears to be a side-effect of dealing with the crash.

I tried upgrading to pre-2, but DR kept crashing when trying to open a map.

I ended up uninstalling DR, then installing pre-2, and the crashing stopped.

The material mentioned above also reappeared, so apparently there's no problem w/it.

 

Link to comment
Share on other sites

19 hours ago, greebo said:

It's not crashing in my VM... can you please try to get a stacktrace of that crash running it through gdb? (Assuming that you know how to do that?)

I will. Never have done that, but looked it up and went to do so. But I had never maintained debug package mirrors and my system is having an issue with those right now. Once I get the debug repositories updated, I'll get that done. For now I am only getting this (and I get errors stating the mirror lists are empty when I try to install the debug info for these packages):

gdb darkradiant
GNU gdb (GDB) 9.1-2.mga8 (Mageia release 8)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-mageia-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from darkradiant...
(gdb) run
Starting program: /usr/bin/darkradiant 
Missing separate debuginfos, use: debuginfo-install glibc-2.31-4.mga8.x86_64
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[New Thread 0x7ffff0479700 (LWP 14848)]
[New Thread 0x7fffefc78700 (LWP 14849)]

Thread 2 "gmain" received signal SIG33, Real-time event 33.
[Switching to Thread 0x7ffff0479700 (LWP 14848)]
0x00007ffff61dc3af in poll () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install gvfs-1.44.1-1.mga8.x86_64 lib64atk-bridge2.0_0-2.34.2-1.mga8.x86_64 lib64atk1.0_0-2.36.0-1.mga8.x86_64 lib64atspi0-2.36.0-1.mga8.x86_64 lib64bsd0-0.10.0-2.mga8.x86_64 lib64bz2_1-1.0.8-2.mga8.x86_64 lib64cairo2-1.16.0-3.mga8.x86_64 lib64canberra-gtk3_0-0.30-13.mga8.x86_64 lib64canberra0-0.30-13.mga8.x86_64 lib64datrie1-0.2.12-2.mga8.x86_64 lib64dbus1_3-1.13.8-6.mga8.x86_64 lib64epoxy0-1.5.4-2.mga8.x86_64 lib64expat1-2.2.9-2.mga8.x86_64 lib64ffi6-3.2.1-8.mga8.x86_64 lib64fontconfig1-2.13.1-2.mga8.x86_64 lib64fribidi0-1.0.9-1.mga8.x86_64 lib64ftgl2-2.1.3-0.rc5.16.mga8.x86_64 lib64gcrypt20-1.8.5-4.mga8.x86_64 lib64gdk_pixbuf2.0_0-2.40.0-2.mga8.x86_64 lib64gio2.0_0-2.64.1-1.mga8.x86_64 lib64glew2.1-2.1.0-5.mga8.x86_64 lib64glib2.0_0-2.64.1-1.mga8.x86_64 lib64gpg-error0-1.36-3.mga8.x86_64 lib64gtk+3_0-3.24.17-1.mga8.x86_64 lib64harfbuzz0-2.6.4-3.mga8.x86_64 lib64ice6-1.0.10-2.mga8.x86_64 lib64jbig1-2.1-7.mga8.x86_64 lib64ltdl7-2.4.6-10.mga8.x86_64 lib64lz4_1-1.9.2-2.mga8.x86_64 lib64lzma5-5.2.5-1.mga8.x86_64 lib64mesaglu1-9.0.1-2.mga8.x86_64 lib64mount1-2.35.1-3.mga8.x86_64 lib64mspack0-0.10.1-0.alpha.2.mga8.x86_64 lib64notify4-0.7.9-1.mga8.x86_64 lib64ogg0-1.3.4-2.mga8.x86_64 lib64pango1.0_0-1.44.7-2.mga8.x86_64 lib64pcre1-8.44-1.mga8.x86_64 lib64pixman1_0-0.38.4-3.mga8.x86_64 lib64png16_16-1.6.37-2.mga8.x86_64 lib64sdl2.0_0-2.0.12-1.mga8.x86_64 lib64secret1_0-0.20.2-1.mga8.x86_64 lib64sigc++2.0_0-2.10.3-1.mga8.x86_64 lib64tdb1-1.3.18-3.mga8.x86_64 lib64thai0-0.1.28-2.mga8.x86_64 lib64tiff5-4.1.0-2.git20200403.1.mga8.x86_64 lib64vorbis0-1.3.6-4.mga8.x86_64 lib64vorbisfile3-1.--Type <RET> for more, q to quit, c to continue without paging--
3.6-4.mga8.x86_64 lib64wayland-client0-1.18.0-2.mga8.x86_64 lib64wayland-egl1-1.18.0-2.mga8.x86_64 lib64webp7-1.1.0-2.mga8.x86_64 lib64wx_baseu3.1_3-3.1.3-2.mga8.x86_64 lib64wx_baseu_net3.1_3-3.1.3-2.mga8.x86_64 lib64wx_baseu_xml3.1_3-3.1.3-2.mga8.x86_64 lib64wx_gtk3u_core3.1_3-3.1.3-2.mga8.x86_64 lib64wx_gtk3u_gl3.1_3-3.1.3-2.mga8.x86_64 lib64wx_gtk3u_html3.1_3-3.1.3-2.mga8.x86_64 lib64wx_gtk3u_qa3.1_3-3.1.3-2.mga8.x86_64 lib64wx_gtk3u_stc3.1_3-3.1.3-2.mga8.x86_64 lib64wx_gtk3u_xrc3.1_3-3.1.3-2.mga8.x86_64 lib64x11_6-1.6.9-2.mga8.x86_64 lib64xau6-1.0.9-2.mga8.x86_64 lib64xcb-shm0-1.14-1.mga8.x86_64 lib64xcomposite1-0.4.5-2.mga8.x86_64 lib64xcrypt1-4.4.15-1.mga8.x86_64 lib64xcursor1-1.2.0-2.mga8.x86_64 lib64xdamage1-1.1.5-2.mga8.x86_64 lib64xext6-1.3.4-2.mga8.x86_64 lib64xfixes3-5.0.3-3.mga8.x86_64 lib64xi6-1.7.10-2.mga8.x86_64 lib64xinerama1-1.1.4-3.mga8.x86_64 lib64xkbcommon0-0.10.0-2.mga8.x86_64 lib64xml2_2-2.9.10-4.mga8.x86_64 lib64xrender1-0.9.10-3.mga8.x86_64 lib64xtst6-1.2.3-3.mga8.x86_64 lib64xxf86vm1-1.1.4-4.mga8.x86_64 lib64zlib1-1.2.11-9.mga8.x86_64 libgcc1-9.3.0-1.mga8.x86_64
(gdb)

 

Edited by PranQster

System: Mageia Linux Cauldron, aka Mageia 8

Link to comment
Share on other sites

The contents of my darkradiant.log file:

 (140385119140288) Started logging to /home/john/.darkradiant/darkradiant.log
 (140385119140288) This is DarkRadiant 2.8.0 x64 
 (140385119140288) wxWidgets Version: 3.1.3
 (140385119140288) ModuleRegistry Compatibility Level is 20180104
 (140385119140288) ModuleLoader: loading modules from /usr/lib/darkradiant
 (140385119140288) ModuleLoader: Loading module '/usr/lib/darkradiant/modules/md5model.so'

 

System: Mageia Linux Cauldron, aka Mageia 8

Link to comment
Share on other sites

You don't need to install debug packages to get a backtrace of DarkRadiant. Since the error is most likely in DR's own code, not system libraries, there is no need to have debug packages available for those system libraries.

What you do need to do is issue the "bt" command after gdb stops, so you get a full backtrace of the stack, rather than just the reason for stopping.

  • Like 1
Link to comment
Share on other sites

17 hours ago, OrbWeaver said:

You don't need to install debug packages to get a backtrace of DarkRadiant. Since the error is most likely in DR's own code, not system libraries, there is no need to have debug packages available for those system libraries.

What you do need to do is issue the "bt" command after gdb stops, so you get a full backtrace of the stack, rather than just the reason for stopping.

Thanks! Which results in this:

(gdb) bt
#0  0x00007ffff61dc3af in poll () at /lib64/libc.so.6
#1  0x00007ffff50ef5de in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007ffff50ef943 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#3  0x00007ffff52d6356 in gdbus_shared_thread_func () at /lib64/libgio-2.0.so.0
#4  0x00007ffff511774e in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5  0x00007ffff62b8f90 in start_thread () at /lib64/libpthread.so.0
#6  0x00007ffff61e7faf in clone () at /lib64/libc.so.6
(gdb) 

 

System: Mageia Linux Cauldron, aka Mageia 8

Link to comment
Share on other sites

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

    • Petike the Taffer  »  DeTeEff

      I've updated the articles for your FMs and your author category at the wiki. Your newer nickname (DeTeEff) now comes first, and the one in parentheses is your older nickname (Fieldmedic). Just to avoid confusing people who played your FMs years ago and remember your older nickname. I've added a wiki article for your latest FM, Who Watches the Watcher?, as part of my current updating efforts. Unless I overlooked something, you have five different FMs so far.
      · 0 replies
    • Petike the Taffer

      I've finally managed to log in to The Dark Mod Wiki. I'm back in the saddle and before the holidays start in full, I'll be adding a few new FM articles and doing other updates. Written in Stone is already done.
      · 4 replies
    • nbohr1more

      TDM 15th Anniversary Contest is now active! Please declare your participation: https://forums.thedarkmod.com/index.php?/topic/22413-the-dark-mod-15th-anniversary-contest-entry-thread/
       
      · 0 replies
    • JackFarmer

      @TheUnbeholden
      You cannot receive PMs. Could you please be so kind and check your mailbox if it is full (or maybe you switched off the function)?
      · 1 reply
    • OrbWeaver

      I like the new frob highlight but it would nice if it was less "flickery" while moving over objects (especially barred metal doors).
      · 4 replies
×
×
  • Create New...