Jump to content
The Dark Mod Forums
Sign in to follow this  
greebo

DarkRadiant 2.0.1 pre-release test

Recommended Posts

If I click on the 'Layers window', the main application window becomes de-selected. If I want to do 'anything' in the main DR window, or the transform & surface-inspe. windows I have to click on the main DR window.

I don't understand the situation yet - when you want to do something with the DR main window, don't you have to click on it anyway? Are we talking about keyboard shortcuts (these should be propagated to the main window even if the Layer dialog is in focus).

 

Yes, but whats happening under 201 is that I can't reduce the size of the layers window to the same size (horizontialy) as I could under 181. But I've just realised that is because you have moved the 'new layer' button so its inline with the other buttons, so if you cant make it so the layers window is any more shrinkable I understand.

I've moved the new button to a separate row again. I thought that having the buttons in one row would be beneficial such that users have more space for the actual layer buttons, but if horizontal space is more important then that's ok with me as well.

 

And with rgeard to the layers window I have just noticed that there is a bigger gap between the last layer and the 'new', 'show all' & 'hide all' buttons.

I adjusted some of the spacings, it should be a bit tighter now.

 

A new build (pre5) is going to be uploaded in a few minutes.

Share this post


Link to post
Share on other sites
  • I don't understand the situation yet - when you want to do something with the DR main window, don't you have to click on it anyway? Are we talking about keyboard shortcuts (these should be propagated to the main window even if the Layer dialog is in focus).
  • I've moved the new button to a separate row again. I thought that having the buttons in one row would be beneficial such that users have more space for the actual layer buttons, but if horizontal space is more important then that's ok with me as well.

  • I will make a video.
  • having all 3 buttons on the same row is beneficial, so I was happy with that when I realised thats thats what you had done - if you want maybe make all 3 button smaller? but no porblem if you cant.
  • Downloading pre5

Share this post


Link to post
Share on other sites

Wow, that's what I'd call a bug explanation. Thanks a lot for going through recording and explaining the behaviour - I can see what the issue is, I'm going to try to repro it on my system.

Share this post


Link to post
Share on other sites

I made a few minor fixes to the build on Linux, but now there is this new crash on startup:

 

#0  0x00007ffff577df51 in wxListBase::Append(void*) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#1  0x00007ffff6398f15 in wxDataViewModel::AddNotifier(wxDataViewModelNotifier*) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#2  0x00007ffff641fff5 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#3  0x00007ffff6426048 in wxDataViewCtrl::AssociateModel(wxDataViewModel*) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#4  0x00007ffff4fcdc98 in wxutil::TreeView::AssociateModel (this=0x869ab60, model=0x7fffd4000fa0) at TreeView.cpp:65
#5  0x0000000000580208 in ui::MediaBrowser::onTreeStorePopulationFinished (this=0x8696100, ev=...) at ui/mediabrowser/MediaBrowser.cpp:573
#6  0x00007ffff56e311e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#7  0x00007ffff5856282 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#8  0x00007ffff58565e6 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#9  0x00007ffff585666e in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#10 0x00007ffff5856703 in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#11 0x00007ffff5856765 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#12 0x00007ffff5857783 in wxEvtHandler::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#13 0x00007ffff56e6cd7 in wxAppConsoleBase::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#14 0x00007ffff5d6f2ea in wxGUIEventLoop::YieldFor(long) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#15 0x0000000000655b98 in ui::EmbeddedLayout::restoreStateFromPath (this=0x8857f70, path=...) at ui/mainframe/EmbeddedLayout.cpp:167
#16 0x00000000006554ba in ui::EmbeddedLayout::activate (this=0x8857f70) at ui/mainframe/EmbeddedLayout.cpp:94
#17 0x00000000006498b6 in ui::MainFrame::applyLayout (this=0xc73c40, name=...) at ui/mainframe/MainFrame.cpp:492
#18 0x000000000064849b in ui::MainFrame::construct (this=0xc73c40) at ui/mainframe/MainFrame.cpp:212
#19 0x000000000047f0b3 in radiant::RadiantModule::postModuleInitialisation (this=0xc5c0e0) at RadiantModule.cpp:245
#20 0x000000000047d5e5 in RadiantApp::onStartupEvent (this=0xc98280, ev=...) at main.cpp:166
#21 0x00007ffff56e311e in wxAppConsoleBase::CallEventHandler(wxEvtHandler*, wxEventFunctor&, wxEvent&) const () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#22 0x00007ffff5856282 in wxEvtHandler::ProcessEventIfMatchesId(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#23 0x00007ffff58565e6 in wxEvtHandler::SearchDynamicEventTable(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#24 0x00007ffff585666e in wxEvtHandler::TryHereOnly(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#25 0x00007ffff5856703 in wxEvtHandler::ProcessEventLocally(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#26 0x00007ffff5856765 in wxEvtHandler::ProcessEvent(wxEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#27 0x00007ffff5857783 in wxEvtHandler::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#28 0x00007ffff56e6cd7 in wxAppConsoleBase::ProcessPendingEvents() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#29 0x00007ffff5d5c902 in wxApp::DoIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#30 0x00007ffff5d5ca13 in ?? () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#31 0x00007ffff15cece5 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007ffff15cf048 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007ffff15cf30a in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007ffff2b36447 in gtk_main () from /usr/lib/x86_64-linux-gnu/libgtk-x11-2.0.so.0
#35 0x00007ffff5d6f145 in wxGUIEventLoop::DoRun() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#36 0x00007ffff5725440 in wxEventLoopBase::Run() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#37 0x00007ffff56e51fd in wxAppConsoleBase::MainLoop() () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#38 0x00007ffff577104d in wxEntry(int&, wchar_t**) () from /usr/lib/x86_64-linux-gnu/libwx_baseu-3.0.so.0
#39 0x000000000047adc5 in main (argc=1, argv=0x7fffffffde78) at main.cpp:176

 

Currently I'm investigating whether changing all of the wxUtil::TreeModel* raw pointers to wxObjectDataPtr<wxUtil::TreeModel> smart pointers fixes the issue (when in doubt, systematically switching to smart pointers does occasionally fix subtle memory issues).

Share this post


Link to post
Share on other sites

Is the crash something new in the last few builds?

 

Anyway, you could add some debug output in wxutil::TreeView::AssociateModel, to see whether calling wxDataViewCtrl::AssociateModel(NULL) is causing the problems. I had to add that call to clear treeview selections on model change, and it works fine in the windows implementation, but maybe the wxGTK port has problems with this?

 

One could also check if the TreeStore returned in MediaBrowser::onTreeStorePopulationFinished() is non-NULL (I believe this is always the case).

Share this post


Link to post
Share on other sites
Is the crash something new in the last few builds?

 

It didn't happen until I merged the codereader/master branch, but I haven't yet isolated the problem to a specific commit.

 

Anyway, you could add some debug output in wxutil::TreeView::AssociateModel, to see whether calling wxDataViewCtrl::AssociateModel(NULL) is causing the problems. I had to add that call to clear treeview selections on model change, and it works fine in the windows implementation, but maybe the wxGTK port has problems with this?

 

One could also check if the TreeStore returned in MediaBrowser::onTreeStorePopulationFinished() is non-NULL (I believe this is always the case).

 

Thanks, I will try these suggestions.

Share this post


Link to post
Share on other sites

Using pre5 atm

 

Bugs -

  • If you select a entity in 181 you were then able to scroll up and down in the entity inspector window, under 201 you have to click on the entity and then in the inspector window before scrolling works.
  • While in the 'Choose Sound' inspector, if you have a sound selected, then play it under 181 you could still scroll up and down through the sounds, under 201 you cannot.
  • When choosing a sound shader for an entity, under 181 you would be taken to its location in the SoundShader tree, under 201 that vew is reset every time.
  • After closing the SoundShader window, hitting the save shortcut key dosent work untill I click into the main DR window.
  • The divider between the left & right windows in the skins selector isnt moveable under 201 like it is under 181, this is a problem as its obstructing the vew of the skin descriptions.
  • if you have a model/brush or brush face selected and then go to press the escape to de-select, that no longer works. You have to click in the main DR windows before exscape to de-select works again.
  • While browsing for prefabs, if you clicked on any non-prefile file you get an error popup, see attached. Also I dont remember the .darkradiant file being visible under 181.
  • The prefabs selector is missing the paths window and the ability to add remembered paths under 201, see attached.

Feedback -

  • Loading and saving maps is a bit slower than 181, this is minor so understand if this dosent get and bugfix time.

post-496-0-74641300-1415198755_thumb.jpg

post-496-0-37388100-1415199137_thumb.jpg

post-496-0-80208900-1415199155_thumb.jpg

Share this post


Link to post
Share on other sites
Anyway, you could add some debug output in wxutil::TreeView::AssociateModel, to see whether calling wxDataViewCtrl::AssociateModel(NULL) is causing the problems. I had to add that call to clear treeview selections on model change, and it works fine in the windows implementation, but maybe the wxGTK port has problems with this?

 

Well switching to wxObjectDataPtr didn't magically fix the crash, although it was probably still worth doing since it's cleaner and avoids lots of manual calls to IncRef() and DecRef(). However, the debugger does confirm your hypothesis that AssociateModel(NULL) is the cause of the problem. I guess the wx developers never considered this possibility, which seems careless since they should have used a reference if the argument is required to never be NULL.

 

If the problem is with clearing selections, do you think that calling UnselectAll() prior to changing the model in the AssociateModel() implementation would work instead of using a NULL model?

Share this post


Link to post
Share on other sites

If the problem is with clearing selections, do you think that calling UnselectAll() prior to changing the model in the AssociateModel() implementation would work instead of using a NULL model?

That's probably the way to go, and a simple one as well. I'll give it a try to see if it works, but it should. I couldn't solve the problem of internal notifier instances stacking up anyway. It's happening in the ModelSelector, which is never destroying its models, it's just switching them back and forth, which leads to notifiers being added to the models infinitely. I was going to try refactoring the ModelSelector to using a single TreeModel plus a TreeModelFilter but I haven't got around to it.

Share this post


Link to post
Share on other sites

Looking good, it's committed to my master branch. Does it work better in Linux now?

Share this post


Link to post
Share on other sites

I've posted this in Github but let me post it here too:

 

Ubuntu 14.10 I can't compile it at "make" stage

 

I get the following after ./configure

 

biel@Biel-laptop:/usr/local/share/d3bfg/src/DarkRadiant$ ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/usr/local/share/d3bfg/src/DarkRadiant/missing: Unknown `--is-lightweight' option
Try `/usr/local/share/d3bfg/src/DarkRadiant/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for ld used by GCC... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm - interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for ANSI C header files... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... yes
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for inflateEnd in -lz... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for jpeg_start_compress in -ljpeg... yes
checking for wx-config... /usr/bin/wx-config
checking for wxWidgets version >= 3.0.0... yes (version 3.0.1)
checking for wxWidgets static library... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for XML... yes
checking for LIBSIGC... yes
checking for PNG... yes
checking for FTGL... yes
checking GL/glew.h usability... yes
checking GL/glew.h presence... yes
checking for GL/glew.h... yes
checking for main in -lGLEW... yes
checking for main in -lGL... yes
checking for gluBuild2DMipmaps in -lGLU... yes
checking for Boost headers version >= 1.46.1... yes
checking for Boost's header version... 1_55
checking boost/bind.hpp usability... yes
checking boost/bind.hpp presence... yes
checking for boost/bind.hpp... yes
checking boost/foreach.hpp usability... yes
checking boost/foreach.hpp presence... yes
checking for boost/foreach.hpp... yes
checking boost/format.hpp usability... yes
checking boost/format.hpp presence... yes
checking for boost/format.hpp... yes
checking boost/function.hpp usability... yes
checking boost/function.hpp presence... yes
checking for boost/function.hpp... yes
checking boost/scoped_ptr.hpp usability... yes
checking boost/scoped_ptr.hpp presence... yes
checking for boost/scoped_ptr.hpp... yes
checking boost/shared_ptr.hpp usability... yes
checking boost/shared_ptr.hpp presence... yes
checking for boost/shared_ptr.hpp... yes
checking boost/tokenizer.hpp usability... yes
checking boost/tokenizer.hpp presence... yes
checking for boost/tokenizer.hpp... yes
checking for the toolset name used by Boost for g++... configure: WARNING: could not figure out which toolset name to use for g++
checking boost/regex.hpp usability... yes
checking boost/regex.hpp presence... yes
checking for boost/regex.hpp... yes
checking for the Boost regex library... yes
checking boost/system/error_code.hpp usability... yes
checking boost/system/error_code.hpp presence... yes
checking for boost/system/error_code.hpp... yes
checking for the Boost system library... yes
checking boost/filesystem/path.hpp usability... yes
checking boost/filesystem/path.hpp presence... yes
checking for boost/filesystem/path.hpp... yes
checking for the Boost filesystem library... yes
checking for boost/system/error_code.hpp... (cached) yes
checking for the Boost system library... (cached) yes
checking boost/test/unit_test.hpp usability... yes
checking boost/test/unit_test.hpp presence... yes
checking for boost/test/unit_test.hpp... yes
checking for the Boost unit_test_framework library... yes
checking for python2-config... python2-config
checking boost/python.hpp usability... yes
checking boost/python.hpp presence... yes
checking for boost/python.hpp... yes
checking for the Boost python library... yes
checking for main in -ldl... yes
checking boost/serialization/access.hpp usability... yes
checking boost/serialization/access.hpp presence... yes
checking for boost/serialization/access.hpp... yes
checking AL/alut.h usability... yes
checking AL/alut.h presence... yes
checking for AL/alut.h... yes
checking for ov_clear in -lvorbisfile... yes
checking for alGetError in -lopenal... yes
checking for main in -lalut... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating install/darkradiant.desktop
config.status: creating install/i18n//Makefile.in
config.status: creating Makefile
config.status: creating radiant/Makefile
config.status: creating install/i18n/Makefile.in
config.status: creating libs/Makefile
config.status: creating libs/ddslib/Makefile
config.status: creating libs/wxutil/Makefile
config.status: creating libs/math/Makefile
config.status: creating libs/picomodel/Makefile
config.status: creating libs/scene/Makefile
config.status: creating libs/xmlutil/Makefile
config.status: creating plugins/Makefile
config.status: creating plugins/archivezip/Makefile
config.status: creating plugins/commandsystem/Makefile
config.status: creating plugins/eclassmgr/Makefile
config.status: creating plugins/eclasstree/Makefile
config.status: creating plugins/entity/Makefile
config.status: creating plugins/entitylist/Makefile
config.status: creating plugins/eventmanager/Makefile
config.status: creating plugins/filetypes/Makefile
config.status: creating plugins/filters/Makefile
config.status: creating plugins/fonts/Makefile
config.status: creating plugins/grid/Makefile
config.status: creating plugins/image/Makefile
config.status: creating plugins/mapdoom3/Makefile
config.status: creating plugins/md5model/Makefile
config.status: creating plugins/model/Makefile
config.status: creating plugins/particles/Makefile
config.status: creating plugins/scenegraph/Makefile
config.status: creating plugins/script/Makefile
config.status: creating plugins/shaders/Makefile
config.status: creating plugins/skins/Makefile
config.status: creating plugins/sound/Makefile
config.status: creating plugins/uimanager/Makefile
config.status: creating plugins/undo/Makefile
config.status: creating plugins/vfspk3/Makefile
config.status: creating plugins/wavefront/Makefile
config.status: creating plugins/xmlregistry/Makefile
config.status: creating plugins/dm.stimresponse/Makefile
config.status: creating plugins/dm.objectives/Makefile
config.status: creating plugins/dm.difficulty/Makefile
config.status: creating plugins/dm.gui/Makefile
config.status: creating plugins/dm.editing/Makefile
config.status: creating plugins/dm.conversation/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing po-directories commands
config.status: creating install/i18n//POTFILES
config.status: creating install/i18n//Makefile
config.status: creating install/i18n/POTFILES
config.status: creating install/i18n/Makefile
config.status: executing depfiles commands
config.status: executing libtool commands
Configuration options:
Installation prefix: /usr/local
Sound:			   yes
Darkmod plugins:	 no
Python scripting:	yes

 

then at "make":

 

iel@Biel-laptop:/usr/local/share/d3bfg/src/DarkRadiant$ make
cd . && automake-1.14 --foreign
configure.ac:8: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
configure.ac:8: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
configure.ac:8: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
configure.ac:8: error: required file './compile' not found
configure.ac:8:   'automake --add-missing' can install 'compile'
parallel-tests: error: required file './test-driver' not found
parallel-tests:   'automake --add-missing' can install 'test-driver'
Makefile:488: recipe for target 'Makefile.in' failed
make: *** [Makefile.in] Error 1

 

any idea what might be failing?

Edited by 7318

Biel Bestué de Luna - Github

Share this post


Link to post
Share on other sites

but I can't find those files in synaptic, and in the case of libtool I already have it installed.

 

They are not system files owned by a package, they are generated by the Automake script. If you have the automake package installed, you should be able to run ./autogen.sh in the DarkRadiant directory to create them.

Share this post


Link to post
Share on other sites

Looking good, it's committed to my master branch. Does it work better in Linux now?

 

Looks good as regards the crash on startup, but I get a crash when trying to show the Models selector:

 

#0  0x00007ffff641e0f7 in wxDataViewCtrl::OnInternalIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_adv-3.0.so.0
#1  0x00007ffff5ee5eb9 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#2  0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#3  0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#4  0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#5  0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#6  0x00007ffff5ee5f08 in wxWindowBase::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#7  0x00007ffff5dd15af in wxFrame::SendIdleEvents(wxIdleEvent&) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#8  0x00007ffff5e06dbd in wxAppBase::ProcessIdle() () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#9  0x00007ffff5d6f2f9 in wxGUIEventLoop::YieldFor(long) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#10 0x00007ffff5f25481 in wxGenericProgressDialog::DoBeforeUpdate(bool*) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#11 0x00007ffff5f27094 in wxGenericProgressDialog::Pulse(wxString const&, bool*) () from /usr/lib/x86_64-linux-gnu/libwx_gtk2u_core-3.0.so.0
#12 0x00007ffff4fd1f7f in wxutil::ModalProgressDialog::setText (this=0x7fffffffbc78, text=...) at ModalProgressDialog.cpp:20
#13 0x0000000000612606 in ui::ModelFileFunctor::ModelFileFunctor (this=0x7fffffffbc60, pop=..., pop2=...) at ui/modelselector/ModelFileFunctor.h:54
#14 0x0000000000610b35 in ui::ModelSelector::populateModels (this=0xeeb670) at ui/modelselector/ModelSelector.cpp:271
#15 0x0000000000610310 in ui::ModelSelector::showAndBlock (this=0xeeb670, curModel=..., showOptions=true, showSkins=true) at ui/modelselector/ModelSelector.cpp:179
#16 0x00000000006107b5 in ui::ModelSelector::chooseModel (curModel=..., showOptions=true, showSkins=true) at ui/modelselector/ModelSelector.cpp:232
#17 0x00000000005a7554 in ui::OrthoContextMenu::callbackAddModel (this=0xc6b1d0) at ui/ortho/OrthoContextMenu.cpp:401
#18 0x00000000005b25f7 in boost::_mfi::mf0<void, ui::OrthoContextMenu>::operator() (this=0x812f0d8, p=0xc6b1d0) at /usr/include/boost/bind/mem_fn_template.hpp:49
#19 0x00000000005b1f3a in boost::_bi::list1<boost::_bi::value<ui::OrthoContextMenu*> >::operator()<boost::_mfi::mf0<void, ui::OrthoContextMenu>, boost::_bi::list0> (this=0x812f0e8, f=..., a=...) at /usr/include/boost/bind/bind.hpp:253
#20 0x00000000005b16ad in boost::_bi::bind_t<void, boost::_mfi::mf0<void, ui::OrthoContextMenu>, boost::_bi::list1<boost::_bi::value<ui::OrthoContextMenu*> > >::operator() (this=0x812f0d8) at /usr/include/boost/bind/bind_template.hpp:20
#21 0x00000000005b0d4d in boost::detail::function::void_function_obj_invoker0<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ui::OrthoContextMenu>, boost::_bi::list1<boost::_bi::value<ui::OrthoContextMenu*> > >, void>::invoke (
function_obj_ptr=...) at /usr/include/boost/function/function_template.hpp:153
#22 0x0000000000486366 in boost::function0<void>::operator() (this=0x812f0d0) at /usr/include/boost/function/function_template.hpp:767
#23 0x00000000005acd36 in wxutil::MenuItem::execute (this=0x812f0c0) at ../libs/wxutil/menu/MenuItem.h:38
#24 0x00000000005aafba in ui::OrthoContextMenu::onItemClick (this=0xc6b1d0, ev=...) at ui/ortho/OrthoContextMenu.cpp:572

 

This occurs with or without my changes to the TreeModel pointers, and may in fact be an old problem since I think this is the first time I've actually tried the Insert Model command since the wxWidgets changes. However I have no idea what the problem can be. There doesn't seem to be any multi-threading related code in progress, and the crash happens deep inside wxWidgets in response to wxProgressDialog::Pulse().

 

I note that there is a warning about the yielding for events behaviour of wxGenericProgressDialog in the docs though, and a suggestion not to use it in multi-threaded code. I wonder if the progress dialog has been left in a bad state due to a previous multi-threaded invocation, even if the models population is single-threaded.

 

UPDATE: I could fix the crash by moving the ModelSelector::setupTreeView call to after the model has been populated. I guess wxWidgets tree views don't like kicking around without a model attached.

Share this post


Link to post
Share on other sites

compiled and worked fine for the first time but since then wheneverI try to launch it I get this:

 

biel@Biel-laptop:~$ darkradiant
/home/biel/.darkradiant/user.xml:1: parser error : Document is empty
^
/home/biel/.darkradiant/user.xml:1: parser error : Start tag expected, '<' not found
^
*** Caught unhandled unknown exception; terminating

 

but THERE IS a '<' at line 1 in user.xml, in fact DR creates a user.xml file if it's missing, here it is:

 

<?xml version="1.0"?>
<user>
 <ui/>
 <version value="1.8.0"/>
</user>

 

and I also got the log:

 

Started logging to /home/biel/.darkradiant/darkradiant.log
Today is: Fri Nov  7 13:31:50 2014
This is DarkRadiant 1.8.0 x64
wxWidgets Version: 3.0.1
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/entity.so'
Module registered: Doom3EntityCreator
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/uimanager.so'
Module registered: UIManager
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/grid.so'
Module registered: Grid
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/script.so'
Module registered: ScriptingSystem
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/fonts.so'
Module registered: FontManager
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/eclassmgr.so'
Module registered: EntityClassManager
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/xmlregistry.so'
Module registered: XMLRegistry
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/md5model.so'
Module registered: ModelLoaderMD5MESH
Module registered: MD5AnimationCache
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/model.so'
Module registered: ModelLoaderMD3
Module registered: ModelLoader3DS
Module registered: ModelLoaderASE
Module registered: ModelLoaderMS3D
Module registered: ModelLoaderMDC
Module registered: ModelLoaderMD2
Module registered: ModelLoaderFM
Module registered: ModelLoaderLWO
Module registered: ModelLoaderPICOTERRAIN
Module registered: ModelLoaderOBJ
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/commandsystem.so'
Module registered: CommandSystem
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/image.so'
Module registered: ImageLoaderTGA
Module registered: ImageLoaderJPG
Module registered: ImageLoaderPNG
Module registered: ImageLoaderPCX
Module registered: ImageLoaderWX
Module registered: ImageLoaderDDS
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/particles.so'
Module registered: ParticlesManager
Module registered: ParticlesEditor
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/sound.so'
Module registered: SoundManager
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/filetypes.so'
Module registered: FileTypes
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/scenegraph.so'
Module registered: SceneGraph
Module registered: SceneGraphFactory
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/archivezip.so'
Module registered: ArchivePK4
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/mapdoom3.so'
Module registered: Doom3MapLoader
Module registered: Quake4MapLoader
Module registered: Doom3PrefabLoader
Module registered: MapCompiler
Module registered: Quake3MapLoader
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/filters.so'
Module registered: FilterSystem
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/entitylist.so'
Module registered: EntityList
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/shaders.so'
Module registered: MaterialManager
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/eventmgr.so'
Module registered: EventManager
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/vfspk3.so'
Module registered: VirtualFileSystem
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/skins.so'
Module registered: ModelSkinCache
ModuleLoader: Loading module '/usr/local/lib/darkradiant/modules/undo.so'
Module registered: UndoSystem
ModuleLoader: Loading module '/usr/local/lib/darkradiant/plugins/eclasstree.so'
Module registered: EClassTree
ModuleLoader: Loading module '/usr/local/lib/darkradiant/plugins/wavefront.so'
Module registered: WaveFrontExporter
XMLRegistry::initialiseModule called
XMLRegistry: looking for XML files under /usr/local/share/darkradiant/
XMLRegistry: Importing XML file: /usr/local/share/darkradiant/user.xml
XMLRegistry: Importing XML file: /usr/local/share/darkradiant/colours.xml
XMLRegistry: Importing XML file: /usr/local/share/darkradiant/input.xml
XMLRegistry: Importing XML file: /usr/local/share/darkradiant/menu.xml
XMLRegistry: Importing XML file: /usr/local/share/darkradiant/commandsystem.xml
XMLRegistry: Importing XML file: /home/biel/.darkradiant/user.xml
XMLRegistry: Importing XML file: /home/biel/.darkradiant/input.xml
EventManager successfully shut down.
XMLRegistry Shutdown: 1 queries processed.
XMLRegistry: Failed to save path /darkradiant/user/ui/filtersystem/filters
XMLRegistry: Failed to save path /darkradiant/user/ui/colourschemes
XMLRegistry: Failed to save path /darkradiant/user/ui/input
XMLRegistry: Saved user to /home/biel/.darkradiant/user.xml
Closing log file at Fri Nov  7 13:31:50 2014

 

I did chown all the darkradiant folder and files to my group in case it had something to do with it, but then I saw that there is no "/darkradiant/user/" folder, at least not at "/usr/local/share/darkradiant/" nor at "/usr/local/lib/darkradiant"

Edited by 7318

Biel Bestué de Luna - Github

Share this post


Link to post
Share on other sites
  • If you select a entity in 181 you were then able to scroll up and down in the entity inspector window, under 201 you have to click on the entity and then in the inspector window before scrolling works.
  • While in the 'Choose Sound' inspector, if you have a sound selected, then play it under 181 you could still scroll up and down through the sounds, under 201 you cannot.
  • When choosing a sound shader for an entity, under 181 you would be taken to its location in the SoundShader tree, under 201 that vew is reset every time.
  • The divider between the left & right windows in the skins selector isnt moveable under 201 like it is under 181, this is a problem as its obstructing the vew of the skin descriptions.
  • While browsing for prefabs, if you clicked on any non-prefile file you get an error popup, see attached. Also I dont remember the .darkradiant file being visible under 181.

I could resolve the above

 

if you have a model/brush or brush face selected and then go to press the escape to de-select, that no longer works. You have to click in the main DR windows before exscape to de-select works again.

This I don't understand.

 

  • Loading and saving maps is a bit slower than 181, this is minor so understand if this dosent get and bugfix time.
  • After closing the SoundShader window, hitting the save shortcut key dosent work untill I click into the main DR window.
  • The prefabs selector is missing the paths window and the ability to add remembered paths under 201, see attached.

I can't look at these at the moment. The shortcut handling is probably due for a rewrite but this is too much for the 2.0.1 release, so I'll postpone that to a later release. (I have a separate branch in the works anyway with rewritten mouse interaction code, and it needs serious testing too).

 

The prefab selector is completely different to 1.8.1, obviously, so I had to cut a few things to get it into 2.0.0. Right now it's only loading from the active prefab directory - is there need to load prefabs from somewhere else?

 

Anyway, a new pre-release build is in the works and will be uploaded in a couple of minutes (pre6). Refer to the first post for linkage.

Share this post


Link to post
Share on other sites
  1. I could resolve the above
  2. This I don't understand.
  3. I can't look at these at the moment. The shortcut handling is probably due for a rewrite but this is too much for the 2.0.1 release, so I'll postpone that to a later release. (I have a separate branch in the works anyway with rewritten mouse interaction code, and it needs serious testing too).
  4. Is there need to load prefabs from somewhere else?

  1. yes I got the bugfix emails, much appreciated.
  2. if you have something selected in camera view, bit it a model, patch, brush or the face of a brush - in 181 you hit the escape key to deselect. In 201 I had to select the main DR window before exscape wotk work as it did in 181.
  3. This is looking more and more likly the same issue I have had with a few other functions where "I have to click into the main DR window" to get them to work normally. Which you have already fixed for other functions in bullet point 1.
  4. Yes absolutly, I open and save prefabs from -

  • the stock prefabs folder,
  • my custom prefabs folder,
  • the prefabs folder of the FM I'm working on
  • and sometimes the root of the data drive for temp prefabs.

Regarding the prefabs, did you manage to have a look at the prefab inspector issue where if you clicked on anyfile that wasent a prefab you got an "unrecognised file" error popup..?

Share this post


Link to post
Share on other sites

Found a few more bugs/issues -

  • If you rotate an object with the arbitrart transform inspector, and then press "ctrl-z" it dosent work
  • Due to the new layout if the light inspector, when you click the colour box the light value/percentage option is no longer avaiable. Is it possble to change the luminace field to a percentage/value feild?
  • Option for the colour name is not present, again its handy to copy the colour name from one light to another.
  • While in the entity inspector, while entering a value in a filed, you cant press escape to de-select the hightited entity, which you could under 181. This looks similar to the other "cant press escape" issue. See attached.
  • The surface inspector, fit textures boxes. The old figures were 001 & 001, I assume mappers can still enter decimals, eg 0.5 etc? See attached.
  • While holding a selected item in orthoview, you could move/scroll off the edge of the work area, in 201 you can't.
  • The animation play button dosent change colour when clicked on, for animation on/off etc (it goes red in 181)

201

post-496-0-31827200-1415370690_thumb.jpg

 

181

post-496-0-88378500-1415370766_thumb.jpg

 

post-496-0-21637400-1415371752_thumb.jpg

post-496-0-99634700-1415374172_thumb.jpg

Share this post


Link to post
Share on other sites

I'm looking at 2.0.0 rather than the pre-release, but I wanted to add to the 'can't press escape issue' that Ctrl+S also won't work for me while a text field in the entity inspector, etc. has focus--so it may be a general problem with keyboard commands rather than something specific to Esc.

Edited by VanishedOne

Some things I'm repeatedly thinking about...

 

- louder scream when you're dying

Share this post


Link to post
Share on other sites
Wanted to add to the 'can't press escape issue' that Ctrl+S also won't work for me while a text field in the entity inspector, etc. has focus--so it may be a general problem with keyboard combinations rather than something specific to Esc.

Im getting this issue in a few situations, currently I am copy and pasting textures to brush faces etc and its disrupts workflow not being able to deselect the highlighted item via the escape key without clicking in the main DR window first.

Share this post


Link to post
Share on other sites

now it works!

 

the console keeps spewing

 

_xgeWireToEvent: Unknown extension 148, this should never happen.

 

the 3D view displays the faces wrong, the hidden surfaces display on top of the surfaces that should be on top. and if I go unclipped all the way I see the furthest parts of the level on top of the more closest ones


Biel Bestué de Luna - Github

Share this post


Link to post
Share on other sites
If you have something selected in camera view, bit it a model, patch, brush or the face of a brush - in 181 you hit the escape key to deselect. In 201 I had to select the main DR window before exscape wotk work as it did in 181.

Can't reproduce that at all. I create a brush, hit Ctrl-Shift-LMB to select a face of that brush in the camera view, hit ESC - it's unselected.

 

This is looking more and more likly the same issue I have had with a few other functions where "I have to click into the main DR window" to get them to work normally. Which you have already fixed for other functions in bullet point 1.

I'm aware that the shortcut handling needs some work, it mostly occurs when buttons or text entry fields are in focus. I can only fix that on a global level, which requires more work, so this is something I'm going to leave out for this 2.0.1 release.

 

Yes absolutly, I open and save prefabs from -
  • the stock prefabs folder,
  • my custom prefabs folder,
  • the prefabs folder of the FM I'm working on
  • and sometimes the root of the data drive for temp prefabs.

Ok, I'll see what I can do. This requires a new design of the dialog's file handling, because it's no longer possible to attach a preview to the filechooser like it was in GTK+ (this is one of the very few features that GTK+ had over wxWidgets - the latter is using native controls and native Windows controls don't have a customised preview widget, at least not a good one (see Photoshop for instance, the preview is laughable, because it has the same problem)).

 

Please add a tracker entry, something like "Need option to browse prefabs from non-FM paths" or along those lines.

 

Regarding the prefabs, did you manage to have a look at the prefab inspector issue where if you clicked on anyfile that wasent a prefab you got an "unrecognised file" error popup..?

Non-pfb files are now hidden, and folders don't issue that warning anymore. The popup will still occur if a prefab is corrupt or unrecognised.

 

If you rotate an object with the arbitrart transform inspector, and then press "ctrl-z" it dosent work

Same shortcut handling problem.

 

Due to the new layout if the light inspector, when you click the colour box the light value/percentage option is no longer avaiable. Is it possble to change the luminace field to a percentage/value feild? Option for the colour name is not present, again its handy to copy the colour name from one light to another.

This is the control that Windows provides. Maybe there is a custom colour picker control available somewhere for use in wxWidgets, otherwise we're stuck with this.

 

While in the entity inspector, while entering a value in a filed, you cant press escape to de-select the hightited entity, which you could under 181. This looks similar to the other "cant press escape" issue. See attached.

Same shortcut handling problem.

 

 

The surface inspector, fit textures boxes. The old figures were 001 & 001, I assume mappers can still enter decimals, eg 0.5 etc? See attached.

Yes, this still works, as you probably already found out yourself. What I did to the code is to display two post-comma digits in the two fit entry boxes, this probably makes it more obvious.

 

While holding a selected item in orthoview, you could move/scroll off the edge of the work area, in 201 you can't.

I can do that. I select a brush and drag it around. When the mouse reaches the border of the view it starts scrolling.

 

 

The animation play button dosent change colour when clicked on, for animation on/off etc (it goes red in 181)

Which button are you talking about specifically? The play button was green in 1.8.1 (at all times), and the one in 2.0.0 is gray.

Share this post


Link to post
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.

Sign in to follow this  

×
×
  • Create New...