Unvanquished Development activity

Events from:

Unvanquished
Unvanquished
Thursday, 18 July 2019
@snowyheart2015

An FPS/RTS hybrid game powered by the Daemon engine (a combination of ioq3 and XreaL)

C++ 465 Updated Jul 18

NetRadiant
NetRadiant
Sunday, 14 July 2019

I first tried to make the current selected game a latched value but I did not managed to get something working correctly. The current code, much simpler, works. There can be an unknown issue when the user does not restart after having changed the game, but if this hypothetical issue exists this issues was already there and is not introduced by this MR. This MR is already an improvement on that part since user is informed the editor has to be restarted, and the user is asked to do it. And if the user refuse to restart, the user knows he had too.

Then, fixing that hypothetical issue may be another MR, to fix an issue that is close to the current topic but not introduced by the current MR.

This is an usability improvement I dream about since years, see #42 (three years ago), !55, !63, etc. Previous work to make radiant able to load map by command line where done with that feature in mind.

Radiant editor is now able to restart itself when needed, and it reload itself with the current edited map if needed.

The command line map opening is now fixed on Windows, so if support is not on par with Linux (see !109) because of missing integration, it's now possible to open a map on radiant by opening the file once the user set-up the association. This fix was required to make Radiant able to restart itself with the current map on Windows.

Modifying the UI layout and other options like that now asks the user to restart immediately, if user say yes, radiant is restarted with the new layout and other options applied, with current map and environment and so on.

Changing the current game now requires a restart. It always required a restart but user was not informed, now the user is not only informed but can restart immediately the editor by clicking “OK”. It makes Radiant very more convenient for people mapping for more than one game. In fact that was the reason I do this MR, and I think about it since I think about command line support: click a Xonotic map on you file browser, get Radiant opening it, discover your editor is currently set-up for Unvanquished, open preference and set the current game to Xonotic, say yes when Radiant asks for restarting, you are now editing your Xonotic map with your Xonotic environment with the Xonotic NetRadiant profile.

Note: I would like to see that huge improvement: have the game list in the toolbar: allowing people to change the game without opening any menu neither any preference window. Perhaps a less advanced solution would be to have in toolbar an icon that is a shortcut to the game option in preference Window. It maybe easier to do, I don't know. But I currently think the drop-down list would be better, especially because it would also displays to the user what is the current game.

Note: the restart mechanism starts the child in background and since the parent stops as long the child is started, for the user it behaves like the application going in background and losing foreground control in a terminal on restart.

NetRadiant
NetRadiant
Saturday, 13 July 2019

First, this feature leads to an horrible behavior on Windows where the application ends in a loop of endless minimization and restoration, probably because the window manager minimizes or restores the whole application once a floating window in minimized or restored, leading to a race condition between all floating windows, some being minimized and others being restored at the same time, triggering the minimization and the restoration of the others, and so on. It's difficult to say such issue will never happen on other OS or with some window manager.

Second, those floating windows are expected to be displayed or hidden using menu or keyboard shortcut, it's a design choice. Then the OS-specific way to minimize/restore them is superflous and less efficient.

Finally, the mainframe is not created as a floating window so the user minimizes the application by minimizing the mainframe.

use a dedicated heretic2 subdirectory for Heretic 2 stuff, and do other things like h2data printing h2data instead of qdata in messages.

Thomas Debesse (ae813919) at 13 Jul 18:06

Merge branch 'heretic2' into 'master'

... and 5 more commits

@Ndekere

An FPS/RTS hybrid game powered by the Daemon engine (a combination of ioq3 and XreaL)

C++ 465 Updated Jul 18

Unvanquished
Unvanquished
Thursday, 11 July 2019
@illwieckz
illwieckz merged a pull request in Unvanquished/Unvanquished Jul 11, 2019
readme: improvements #1116

improve a bit the readme everything stating with “Launch Instructions” is left untouched as it would be rewritten after some scripts being improved

+48 -41
2 comments
@illwieckz
illwieckz pushed to Unvanquished/Unvanquished Jul 11, 2019
1 commit to master
@illwieckz
illwieckz merged a pull request in DaemonEngine/Daemon Jul 11, 2019
readme: improve instructions, <3 mega #212

add submodule instructions get rid of footnotes rework markdown markup add some badges more…

+86 -18
1 comment
@illwieckz
illwieckz pushed to DaemonEngine/Daemon Jul 11, 2019
1 commit to master
  • @illwieckz eda51be
    readme: improve instructions, <3 mega
Unvanquished
Unvanquished
Wednesday, 10 July 2019
@illwieckz
illwieckz commented on pull request Unvanquished/Unvanquished#1116 Jul 10, 2019

edited the irc badge to use generic badge syntax since shield.io just dropped irc template.

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#212 Jul 10, 2019

Hmm, copy-pasta error, same for the appveyor badge, 'll fix it

@slipher
slipher commented on pull request DaemonEngine/Daemon#212 Jul 10, 2019

Are these links right? Some of them say "unvanquished"

@slipher
slipher commented on pull request DaemonEngine/Daemon#212 Jul 10, 2019
@slipher
slipher commented on pull request DaemonEngine/Daemon#212 Jul 10, 2019

You don't actually need MSYS. Stand-alone mingw on Windows (from the mingw-w64 project) also works. Perhaps this could be a footnote.

@illwieckz
illwieckz commented on pull request Unvanquished/Unvanquished#1116 Jul 10, 2019

ah, that's not cool… then it's probably better to just say python2 if NaCl requires it and CBSE can deal with it…

@slipher
slipher commented on pull request Unvanquished/Unvanquished#1116 Jul 10, 2019

To build NaCl VMs. The 2 or 3 requirement is for CBSE (sgame).

Unvanquished
Unvanquished
Tuesday, 09 July 2019
@illwieckz
illwieckz commented on pull request Unvanquished/Unvanquished#1116 Jul 9, 2019

is building NaCl required to build Unvanquished? I guess the python requisite is for some code generation unrelated to NaCl, right?

@slipher
slipher commented on pull request Unvanquished/Unvanquished#1116 Jul 9, 2019

Python == 2 is required if you want to build NaCl. Otherwise LGTM.

mac compilation is fixed. In anyway it does not mean it works (it currently requires a patched gtkglext, and there is some bugs), but compilation is fixed.

Build failure on OSX Version

macOS Sierra Version 1.12.4

1st Problem

In cmake/FindGtkGlExt.cmake, it's searching for gtkglext-x11-1.0 when it should be searching for gtkglext-1.0.

[ 70%] Building CXX object libs/gtkutil/CMakeFiles/gtkutil.dir/glwidget.cpp.o
At revision 138.
/Users/viroemer/Devel/wtfbbqhax/ghub/netradiant/libs/gtkutil/glwidget.cpp:31:10: fatal error: 'gtk/gtkglwidget.h'
      file not found
#include 
         ^
1 error generated.
2nd Problem

I dunno how to fix this one

/Users/viroemer/Devel/wtfbbqhax/ghub/netradiant/radiant/qgl.cpp:62:10: fatal error: 'gdk/gdkx.h' file not found
#include 
         ^
1 error generated.
3rd Problem

Or this one

/Users/viroemer/Devel/wtfbbqhax/ghub/netradiant/radiant/server.cpp:154:44: error: use of undeclared identifier
      'RTLD_DEEPBIND'
        m_library = dlopen( filename, RTLD_NOW | (RTLD_DEEPBIND + 0) );
Daemon Engine
Daemon Engine
Monday, 08 July 2019
@SomaZ
SomaZ forked SomaZ/Daemon from DaemonEngine/Daemon Jul 8, 2019

The Dæmon game engine. With some bits of ioq3 and XreaL.

C++ 82 1 issue needs help Updated Jul 11

@SomaZ
SomaZ commented on pull request DaemonEngine/Daemon#193 Jul 8, 2019

What about doing some kind of hybrid approach? I haven't looked much at the rendering code yet, but do you distinguish between shadowed and unshado…

@slipher
slipher pushed to DaemonEngine/Daemon Jul 8, 2019
2 commits to master
@slipher
slipher merged a pull request in DaemonEngine/Daemon Jul 8, 2019
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#189 Jul 8, 2019

This may be a bug similar to the one fixed in #211

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#175 Jul 8, 2019

this is absolutely obsolete, has to be redone from scratch, then closing it for the moment.

@illwieckz
illwieckz closed a pull request in DaemonEngine/Daemon Jul 8, 2019
bikeshedding: just a bunch of some annoying things that bore me #175

Just a bunch of some annoying things that bore me. Among them, there is three files that have a useless indent for 95~99% of their length…

+4,376 -4,385
2 comments
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#209 Jul 8, 2019

if no one else has something to say, it's ok to me.

@illwieckz
illwieckz closed an issue in DaemonEngine/Daemon Jul 8, 2019
broken rotating texture #35

See these two videos: 1, 2, two fans are rotating wrongly in parpax map, while the others are rotating as expected. For example in the ventilation …

28 comments
@illwieckz
illwieckz merged a pull request in DaemonEngine/Daemon Jul 8, 2019
fix texture rotation, <3 @gimhael, fix #35 #208

code by @gimhael 🍾 💯 🎉 it works and fix #35:

+24 -2
6 comments
@illwieckz
illwieckz pushed to DaemonEngine/Daemon Jul 8, 2019
1 commit to master
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#208 Jul 8, 2019

@cmf028 I'm merging it. If you have a better idea feel free to submit a PR but I would prefer seeing progress on some other projects you know bette…

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#208 Jul 8, 2019

I'm not sure to understand how to do it. So code that works that exists is better than code that may be better but does not exist 😛.

@cmf028
cmf028 commented on pull request DaemonEngine/Daemon#208 Jul 8, 2019

LGTM, though it may be more optimal to just bake the translation into the texture transform matricies. That way, you wouldn't sacrifice texture coo…

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#208 Jul 8, 2019

does anyone has anything to say more?

Unvanquished
Unvanquished
Sunday, 07 July 2019
@illwieckz
illwieckz commented on issue Unvanquished/Unvanquished#544 Jul 7, 2019

Someone wrote on discord today: <clement_686> When i play a game with humans sometimes i might use the Medkit through accident it would by good if…

@illwieckz
illwieckz commented on issue Unvanquished/Unvanquished#544 Jul 7, 2019

Perhaps I'm an alien from another planet but I never found [C] for crouch as something, unless I use the index finger, which means I can't strafe r…

@illwieckz
illwieckz opened a pull request in Unvanquished/Unvanquished Jul 7, 2019
readme: improvements #1116

improve a bit the readme everything stating with “Launch Instructions” is left untouched as it would be rewritten after some scripts being improved

+45 -40
@illwieckz
illwieckz commented on pull request Unvanquished/Unvanquished#1114 Jul 7, 2019

I fixed travis so this branch can be rebased on master.

@illwieckz
illwieckz merged a pull request in Unvanquished/Unvanquished Jul 7, 2019
+11 -12
@illwieckz
illwieckz pushed to Unvanquished/Unvanquished Jul 7, 2019
1 commit to master
  • @illwieckz 406deb3
    travis,appveyor: fixes and improvements
@illwieckz
illwieckz pushed to DaemonEngine/Daemon Jul 7, 2019
1 commit to master
  • @illwieckz a74f1c6
    gl_shader: also checksum engine constants to invalide the shader on c…
@illwieckz
illwieckz merged a pull request in DaemonEngine/Daemon Jul 7, 2019
gl_shader: also checksum engine constants to invalidate the shader on cvar change #211

That's an issue I'm facing since a long time, with problems appearing randomly… Last time I got it was when I was working on #193 and this time it …

+1 -1
1 comment
@illwieckz
illwieckz opened a pull request in Unvanquished/Unvanquished Jul 7, 2019
+9 -10
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#212 Jul 7, 2019

Hmm, I wanted to say Produced files

@slipher
slipher commented on pull request DaemonEngine/Daemon#212 Jul 7, 2019

TODO: put URL 😛

@slipher
slipher commented on pull request DaemonEngine/Daemon#212 Jul 7, 2019

This sentence is a bit off, s/Produces/The resulting/ for example.

@slipher
slipher commented on pull request DaemonEngine/Daemon#212 Jul 7, 2019
@slipher
slipher commented on pull request DaemonEngine/Daemon#212 Jul 7, 2019

I'd rather avoid the term "configure"

@slipher
slipher pushed to Unvanquished/Unvanquished Jul 7, 2019
1 commit to master
@slipher
slipher opened a pull request in Unvanquished/Unvanquished Jul 7, 2019
Hack for non-0/1 checkboxes #1114

misc deleting

+15 -117
@illwieckz
illwieckz opened a pull request in DaemonEngine/Daemon Jul 7, 2019
readme: improve instructions, <3 mega #212

add submodule instructions get rid of footnotes rework markdown markup more…

+49 -13
@cmf028
cmf028 commented on pull request DaemonEngine/Daemon#193 Jul 7, 2019

You've implemented parallax mapping which is known to have severe artifacts in the case of occlusion. The existing implementation is known as "Stee…

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#193 Jul 7, 2019

@slipher once done correctly, that checksum-based shader invalidation makes CVAR_SHADER and r_recompileShaders useless, so c4772b5 is OK.

Daemon Engine
Daemon Engine
Saturday, 06 July 2019
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#193 Jul 6, 2019

#211 ships the fix for the shader not being recompiled on vid_restart after tweaking r_quickLightParallaxMapping cvar. Unless someone has a better …

@illwieckz
illwieckz opened a pull request in DaemonEngine/Daemon Jul 6, 2019
gl_shader: also checksum engine constants to invalide the shader on cvar change #211

That's an issue I'm facing since a long time, with problems appearing randomly… Last time I got it was when I was working on #193 and this time it …

+1 -1
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#193 Jul 6, 2019

maybe it's not related to c4772b5, it's expected a shader is invalidated when the checksum does not match, the issue is probably there, maybe the d…

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#193 Jul 6, 2019

@slipher do you think this issue can be related to c4772b5 ?

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#193 Jul 6, 2019
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#193 Jul 6, 2019

Hmmm, for some reason the shaders are not re-compiled on vid_restart. If I force shader recompilation by deleting ~/.local/share/unvanquished/glsl/*,…

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#193 Jul 6, 2019

I think it looks good enough to be enabled by default. It's known to double the framerate on AMD GPU Radeon R9 390X. I made a cvar to disable it, b…

@illwieckz
illwieckz pushed to DaemonEngine/Daemon Jul 6, 2019
2 commits to master
@illwieckz
illwieckz merged a pull request in DaemonEngine/Daemon Jul 6, 2019
some tr_shade/glsl code cleanup #206

While I was working on a branch to collapse the reflection cube map stage with the common lightmap one, I did this clean-up. It makes working on th…

+133 -131
2 comments
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#208 Jul 6, 2019

Yeah, I was doing a footnote then I thought the link was absolutely useless. I just removed the footnote index. I think your comment is useful in t…

@slipher
slipher commented on pull request DaemonEngine/Daemon#208 Jul 6, 2019

I don't really think my comment was useful enough to be worth putting in the code (this kind of detail about what the compiler emits can change ove…

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#209 Jul 6, 2019

You can rebase on master to make travis happy. In any way I have nothing to say against those changes.

@illwieckz
illwieckz merged a pull request in DaemonEngine/Daemon Jul 6, 2019
travis/appveyor: fixes and improvements #210

try to fix macos build at travis

+8 -10
@illwieckz
illwieckz pushed to DaemonEngine/Daemon Jul 6, 2019
2 commits to master
@illwieckz
illwieckz pushed to Unvanquished/release-scripts Jul 6, 2019
2 commits to master
  • @illwieckz 5926677
    Merge pull request #2 from illwieckz/newscript
  • @illwieckz 87a2cff
    new release script (incomplete mac and win support)
@illwieckz
illwieckz merged a pull request in Unvanquished/release-scripts Jul 6, 2019
new release script (incomplete mac and win support) #2

From Unvanquished source tree, do: ../release-scripts/release.sh vm linux64 It will produces linux64.zip and a vm_something.pk3 in build/release/ d…

+738 -0
1 comment
@illwieckz
illwieckz commented on pull request Unvanquished/release-scripts#2 Jul 6, 2019

There is good enough stuff in this to make it living in master, this does not prevent improvements to be added.

@illwieckz
illwieckz opened a pull request in DaemonEngine/Daemon Jul 6, 2019
try to fix macos build at travis #210

try to fix macos build at travis

+1 -0
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#197 Jul 6, 2019

I close this PR as I think it's better to fix the asset and keep the engine faulting on the fault. I'll fix tvezet's hangar28 map.

@illwieckz
illwieckz closed a pull request in DaemonEngine/Daemon Jul 6, 2019
tr_shader: color map after diffuse map keeps light map explicitely ordered #197

I'm not sure this is a good idea: keep color map after diffuse map ordered after lightmap, some maybe mistake, others may be legacy addition map (g…

+55 -5
2 comments
Daemon Engine
Daemon Engine
Friday, 05 July 2019
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#206 Jul 5, 2019

I just added what was asked to be added and then rebased on current master. This looks ready to merge now.

@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#206 Jul 5, 2019

I just added a FIXME

@illwieckz
illwieckz closed an issue in DaemonEngine/Daemon Jul 5, 2019
symbolic links unsupported in archives #83

It looks like the engine does not support symbolic links in archives, Xonotic makes use of that, for example: Warn: R_LoadDDSImage: invalid dds hea…

8 comments

polishing stuff a bit more…

use a dedicated heretic2 subdirectory for Heretic 2 stuff, and do other things like h2data printing h2data instead of qdata in messages.

Thomas Debesse (5bacc7d8) at 05 Jul 22:07

Merge branch 'winconsole' into 'master'

... and 2 more commits

Previously on Windows the stdout stuff was only printed on MinTTY console or SSH shell, this change makes the tools to target the console subsystem so they also print stdout on cmd console.

This also makes the tool spawning a cmd console windows when not started from a console, allowing people to monitor what is printed.

It's not very intuitive and explicit but the WIN32 cmake keyword in add_executable call is to not target the console subsystem but only the graphical one.

So console tools just have to not use that keyword, even if they may display in a window like when doing q2map -glview.

Then the WIN32 keyword is a kind of “no console” keyword.

This is a way to check if an exe targets the console subsystem or only the windows subsystem:

$ objdump -p netradiant.exe | egrep '^Subsystem'
Subsystem		00000002	(Windows GUI)

This is a way to check if an exe targets the console subsystem:

$ objdump -p q3map2.exe | egrep '^Subsystem'
Subsystem		00000003	(Windows CUI)

Note that this one targets console and only console is reported, but is expected to display a windows with -glview option:

$ objdump -p q2map.exe | egrep '^Subsystem'
Subsystem		00000003	(Windows CUI)

See it in action:

now the diff is very small.

Without I_KNOW_MAKEFILE_IS_DEPRECATED=1 being set, calling legacy Makefile with make tells user this is deprecated and aborts telling what to do to override:

$ make
DEPRECATED: Makefile build is deprecated, use CMake instead, see README.md

Makefile:3: *** I_KNOW_MAKEFILE_IS_DEPRECATED is not set.  Stop.

requires make to be called this way:

make I_KNOW_MAKEFILE_IS_DEPRECATED=1

WIP: because it must not be merged before xonotic!45 is merged

Previously on Windows the stdout stuff was only printed on MinTTY console or SSH shell, this change makes the tools to target the console subsystem so they also print stdout on cmd console.

This also makes the tool spawning a cmd console windows when not started from a console, allowing people to monitor what is printed.

It's not very intuitive and explicit but the WIN32 cmake keyword in add_executable call is to not target the console subsystem but only the graphical one.

So console tools just have to not use that keyword, even if they may display in a window like when doing q2map -glview.

Then the WIN32 keyword is a kind of “no console” keyword.

This is a way to check if an exe targets the console subsystem or only the windows subsystem:

$ objdump -p netradiant.exe | egrep '^Subsystem'
Subsystem		00000002	(Windows GUI)

This is a way to check if an exe targets the console subsystem:

$ objdump -p q3map2.exe | egrep '^Subsystem'
Subsystem		00000003	(Windows CUI)

Note that this one targets console and only console is reported, but is expected to display a windows with -glview option:

$ objdump -p q2map.exe | egrep '^Subsystem'
Subsystem		00000003	(Windows CUI)

See it in action:

Daemon Engine
Daemon Engine
Wednesday, 03 July 2019
@illwieckz
illwieckz commented on pull request DaemonEngine/Daemon#208 Jul 3, 2019

I added the second occurrence of the - 0.5 trick to be consistent. I quoted some of your words to prevent people to drop or leftover this trick in …

@slipher
slipher commented on pull request DaemonEngine/Daemon#208 Jul 3, 2019

Surprisingly to me, rintf is apparently a builtin in gcc (so is floorf, but not roundf). And rounding x - 0.5 actually generates fewer instructions…

@slipher
slipher commented on pull request DaemonEngine/Daemon#208 Jul 3, 2019

We have SSE instructions enabled on x86 so I was hoping the x87 stuff could be sidestepped (I'm assuming this slow mode problem doesn't exist with …