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

Testers needed: DarkRadiant + wxWidgets

Recommended Posts

I started on some changes locally that would do this but it looks like you beat me to it (unsurprisingly). I'm glad to see that it actually makes a difference.

 

Oh, I didn't realise you were working on it too. In case you want to add on to it or correct stuff, it's commit 02e902c4992469c7271578e551c922d5d29637e1 in the post-2.0 branch in my fork.

 

Visual Studio's profiler is indeed very useful for this type of thing. In a large map DarkRadiant is using about 25% for the front end render pass and the rest for the backend, which is mostly used up by openGL calls. So any future performance improvement is likely to be achieved by changing overall rendering strategies or changing particular methods.

Share this post


Link to post
Share on other sites

The preferences still have a few oddities about them, see attached the left pannel with the option category and the game dropdown is hidden as it's trying to be too wide.

 

 

Not sure if it's a bug or doom3demo but a lot of textures do not display in the editor correctly. I will guess they have shader stages causing an issue of some sort. Often they show up as normal maps in the material preview section if they work at all which is a bit odd.

 

I had a lot of trouble with the "texture tool", If you resize the window it will often go black permanently, some sizes work it appears to be a bit random which "texture tool" window sizes work. The Grid snapping did not seem to work reliably if the face's texture is moved off grid and scaled randomly so it does not have a power of two size. When it has a power of two size snapping appears to work fine

post-3084-0-27181900-1408573389_thumb.jpg

post-3084-0-77091100-1408573399_thumb.jpg

Edited by own3r

Share this post


Link to post
Share on other sites

@greebo: Duh, in 2.0.0pre7 holster has texture. I can even see it on the screenshot I posted. I think I got mixed up with versions :(

 

Btw, are links fixed in pre7, or in newer build that is yet to come out?

Share this post


Link to post
Share on other sites

Btw, are links fixed in pre7, or in newer build that is yet to come out?

I think I fixed that after pre7, so the next build will show them again.

 

@own3r, I'll try to reproduce those.

Share this post


Link to post
Share on other sites
The preferences still have a few oddities about them, see attached the left pannel with the option category and the game dropdown is hidden as it's trying to be too wide.

I think I could fix that by setting a few widths and breaking some sentences.

 

Not sure if it's a bug or doom3demo but a lot of textures do not display in the editor correctly. I will guess they have shader stages causing an issue of some sort.

I'll need some specifics I guess. One single non-working material would be nice.

 

 

I had a lot of trouble with the "texture tool", If you resize the window it will often go black permanently, some sizes work it appears to be a bit random which "texture tool" window sizes work.

This doesn't seem to happen on my system (Win 8.1), not sure how to reproduce that. You do have something selected, haven't you?

 

The Grid snapping did not seem to work reliably if the face's texture is moved off grid and scaled randomly so it does not have a power of two size. When it has a power of two size snapping appears to work fine

I'd have to check the algorithm but this might be a restriction due to the way the texture projection works on faces.

Share this post


Link to post
Share on other sites
Oh, I didn't realise you were working on it too. In case you want to add on to it or correct stuff, it's commit 02e902c4992469c7271578e551c922d5d29637e1 in the post-2.0 branch in my fork.

 

I wasn't actively working on it, it was just something I started as a "why not?" after implementing the initial VBO change, but never got round to finishing. So your implementation is definitely welcome.

 

Visual Studio's profiler is indeed very useful for this type of thing. In a large map DarkRadiant is using about 25% for the front end render pass and the rest for the backend, which is mostly used up by openGL calls. So any future performance improvement is likely to be achieved by changing overall rendering strategies or changing particular methods.

 

That is interesting. It could indicate that we have a lot of excessive or redundant GL calls, or alternatively that we are sending too much stuff to OpenGL in the first place (which is highly likely, given that there is no visportalling or other optimisations that would take place in game). I suspect it is a combination of both.

Share this post


Link to post
Share on other sites

A new build is up (pre8), see first post. Not many changes there, the target lines are visible again, and the preference dialog should have better size handling.

Share this post


Link to post
Share on other sites

I tried building a 64bit version myself, only 5 relative errors this time:

 

Error 508 error LNK2038: mismatch detected for '_MSC_VER': value '1700' doesn't match value '1600' in MathTest.obj E:\DarkRadiantSRC\DarkRadiant\test\mathlib.lib(Matrix4.obj)

Error 509 error LNK2001: unresolved external symbol "__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ) E:\DarkRadiantSRC\DarkRadiant\test\mathlib.lib(Matrix4.obj)

Error 510 error LNK2001: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPEBDH@Z) E:\DarkRadiantSRC\DarkRadiant\test\mathlib.lib(Matrix4.obj)

Error 511 error LNK2001: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPEBDH@Z) E:\DarkRadiantSRC\DarkRadiant\test\mathlib.lib(Matrix4.obj)

Error 512 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void __cdecl std::basic_ostream<char,struct std::char_traits<char> >::_Add_vtordisp2(void)" (__imp_?_Add_vtordisp2@?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAAXXZ) E:\DarkRadiantSRC\DarkRadiant\test\mathlib.lib(Matrix4.obj)

Error 513 error LNK2001: unresolved external symbol "__declspec(dllimport) public: virtual void __cdecl std::basic_istream<char,struct std::char_traits<char> >::_Add_vtordisp1(void)" (__imp_?_Add_vtordisp1@?$basic_istream@DU?$char_traits@D@std@@@std@@UEAAXXZ) E:\DarkRadiantSRC\DarkRadiant\test\mathlib.lib(Matrix4.obj)

Error 514 error LNK1120: 5 unresolved externals E:\DarkRadiantSRC\DarkRadiant\tools\test\testsuite.exe

Error 529 error LNK2001: unresolved external symbol "public: void __cdecl PatchTesselation::clear(void)" (?clear@PatchTesselation@@QEAAXXZ) E:\DarkRadiantSRC\DarkRadiant\tools\msvc2012\Patch.obj

Error 530 error LNK1120: 1 unresolved externals E:\DarkRadiantSRC\DarkRadiant\tools\install\DarkRadiant.exe

 

Does this mean that I need to update the dependencies again?

These are the only errors I get so worth trying to fix these.

 

On Windows 7 64bit, compiling Release x64 in VS2012


I always assumed I'd taste like boot leather.

 

Share this post


Link to post
Share on other sites

A new build is up (pre8), see first post. Not many changes there, the target lines are visible again, and the preference dialog should have better size handling.

 

So far works well. Although I am 100% certain Esc used to work to deselect objects. How can I manually edit config or something to make it happen? Not possible to work on levels without having a hotkey for deselection :(

Share this post


Link to post
Share on other sites
Although I am 100% certain Esc used to work to deselect objects.

Yes I do this as well, have been since version 1.4. So not having this function is a showstopper for me.

Share this post


Link to post
Share on other sites

Yes I do this as well, have been since version 1.4. So not having this function is a showstopper for me.

 

The worse thing is that after I installed 2.0.0pre*, I no longer have Esc deselecting in 1.8.1, since I bet 2.0.0pre* overwrote old profile. I can obviously bind Unselect (is there such shortcut?) to a normal key, but then it's no longer standard way of DarkRadiant and I need to train new muscle memory :)

Share this post


Link to post
Share on other sites

Does this mean that I need to update the dependencies again?

These are the only errors I get so worth trying to fix these.

 

On Windows 7 64bit, compiling Release x64 in VS2012

Just unload the mathlib project, it doesn't work and can probably be dumped anyway.

 

So far works well. Although I am 100% certain Esc used to work to deselect objects. How can I manually edit config or something to make it happen? Not possible to work on levels without having a hotkey for deselection :(

Menu > Edit > Keyboard Shortcuts..., then bind something to the "UnselectSelection" command.

 

The worse thing is that after I installed 2.0.0pre*, I no longer have Esc deselecting in 1.8.1, since I bet 2.0.0pre* overwrote old profile. I can obviously bind Unselect (is there such shortcut?) to a normal key, but then it's no longer standard way of DarkRadiant and I need to train new muscle memory :)

The config saved by 2.0.0 can't be fully understood by the 1.8.1 release, only the other way around. 2.0 is backwards compatible, but 1.8 is not upwards compatible.

 

When switching back to 1.8.1, either keep a backup of your personal input.xml around for restore or edit the Keyboard shortcuts in 1.8.1.

Share this post


Link to post
Share on other sites

When switching back to 1.8.1, either keep a backup of your personal input.xml around for restore or edit the Keyboard shortcuts in 1.8.1.

 

I can't bind Esc in 1.8.1 either. When I go into Menu > Edit > Keyboard Shortcuts and try binding Esc to the "UnselectSelection" command in 1.8.1, it doesn't get bound :/

Share this post


Link to post
Share on other sites

I can't bind Esc in 1.8.1 either. When I go into Menu > Edit > Keyboard Shortcuts and try binding Esc to the "UnselectSelection" command in 1.8.1, it doesn't get bound :/

 

Oh, I wasn't aware of that. It's possible to open the input.xml in your C:\Users\user\AppData\Roaming\DarkRadiant folder and edit the line containing the "UnselectSelection" command.

 

Share this post


Link to post
Share on other sites

Ah, sweet. I will use manual method. Thanks!

 

Btw, I have been wondering, but always forgot to ask - are there any plans bringing over Build menu? (to run dmap with cmd args and/or start the game with freshly compiled map)

Share this post


Link to post
Share on other sites

Btw, I have been wondering, but always forgot to ask - are there any plans bringing over Build menu? (to run dmap with cmd args and/or start the game with freshly compiled map)

I had plans for that in 2012, yes. I was at about 70% done porting the code from the engine into DarkRadiant (the code is still there), but it didn't work out due to slight differences piling up and I seem to have completely burnt out on that task. I'm not going to touch it again, the cost benefit ratio is too high.

Share this post


Link to post
Share on other sites
I had plans for that in 2012, yes. I was at about 70% done porting the code from the engine into DarkRadiant (the code is still there), but it didn't work out due to slight differences piling up and I seem to have completely burnt out on that task. I'm not going to touch it again, the cost benefit ratio is too high.

 

You are overthinking it :) All you need is to run a process from DR with cmd args. There is nothing need to be ported from engine to DR. The build menu would simply allow to specify .exe, and specify cmd args (all wrapped into nice GUI).

 

And when designer selects an option from Build menu, DR will run detached process:

<executable file> +dmap [dmap's args] <map file> +map <map file>

Share this post


Link to post
Share on other sites

That is also how Swift Mazes does it. A "dmap only" can be specified via the autocommands.cfg file already.


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites

That is also how Swift Mazes does it. A "dmap only" can be specified via the autocommands.cfg file already.

 

What is "Swift Mazes" ?

 

Also, what does autocommands.cfg file have to do with DR ?

Share this post


Link to post
Share on other sites

Swift Mazes: http://forums.thedarkmod.com/topic/14119-procedural-dungeon-crawler-generation-swift-mazes/page__hl__swift__fromsearch__1

 

autocommands.cfg is executed by TDM, so DR can use it for dmapping a map without TDM first getting support for command line arguments (which might have been implemented in the meantime, I don't know).


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." -- George Bernard Shaw (1856 - 1950)

 

"Remember: If the game lets you do it, it's not cheating." -- Xarax

Share this post


Link to post
Share on other sites
It's possible to open the input.xml in your C:\Users\user\AppData\Roaming\DarkRadiant folder and edit the line containing the "UnselectSelection" command.

Can we have this as default if at all possible please? as has been in previous versions etc.

Share this post


Link to post
Share on other sites

Swift Mazes: http://forums.thedar...__fromsearch__1

 

autocommands.cfg is executed by TDM, so DR can use it for dmapping a map without TDM first getting support for command line arguments (which might have been implemented in the meantime, I don't know).

 

TDM uses Doom 3 engine. All cmd args are already there. All that is required is to run external process with cmd args, that would be set via Build menu gui of DR.

 

I've done this for my Doom 3 BFG mod launcher using Qt5 frameworks. wxWidgets have the same capacity.

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...