Commit Graph
408 Commits
Author SHA1 Message Date
Garux 9ed79ea8cf correct libxml #include type 2024-12-06 06:15:55 +05:00
Garux 0dfd0673ae remove lrint, llrint excess definitions 2024-12-05 22:33:56 +05:00
Willi Schinmeyer 2019293ae5 Fix DEBUGGER_BREAKPOINT on Win64 2024-12-04 09:50:43 +05:00
Garux 721687afbe manage snprintf uses 2024-12-04 08:32:40 +05:00
Garux 7357b6ed57 rewrite ini reader/writer 2024-12-04 06:20:37 +05:00
Garux be9e55010c modernize code style 2024-12-02 07:42:37 +05:00
Garux 516446a573 EntityKeyValues::find without Key instance creation 2024-12-02 05:10:22 +05:00
Garux 446e9a63c7 use is_transparent std::set std::map search 2024-12-01 08:10:52 +05:00
Garux b849b0d4b0 minor tweaks 2024-12-01 08:10:52 +05:00
Garux 55dc6e677d use std::set std::map contains() 2024-12-01 06:01:52 +05:00
Garux 7dc1a3dbb0 switch to c++20, switch to std::span 2024-11-27 02:07:43 +05:00
Garux ab616cf3a4 implement string_clone_range without strncpy 2024-11-26 03:33:39 +05:00
Garux 8202b5a6ba fix some warnings 2024-11-24 02:00:56 +05:00
Garux a2e3445632 update quickhull https://github.com/akuukka/quickhull/commit/4ef66c68950cb4db11d3b75bfe4034d807485ad0 2024-11-24 01:36:12 +05:00
Garux cf7e1f3a5b update quickhull 2024-11-24 01:23:16 +05:00
Garux 6cd9028bb9 validate smartedit key values input, tweak entity key name, value validation interaction 2024-11-14 04:13:51 +05:00
Garux 3d41d8f900 Merge pull request #219 from Vorschreibung/fix-linux-build-monitoring-double-output
prevent logging q3map2's output twice on linux with build monitoring
2024-10-31 00:49:49 +05:00
Vorschreibung c100cc2ccb prevent logging q3map2's output twice on linux with build monitoring
In the case of using q3map2 with 'build monitoring', the output of
q3map2 was being written twice, once for the logs received through the
'watchbsp' net connection and once as the fork/subprocess that actually
runs q3map2 was using the same stdout file descriptor as
netradiant-custom itself.

In order to prevent this, we redirect stdout/stderr to /dev/null in case
we use q3map2 with build monitoring for the subprocess and rely on the
received logs, which also get written to netradiant-custom's QT console.
2024-10-28 23:52:41 +01:00
Garux 68fa1828a6 refactor class RepeatableTransforms, class TransformModifier, class BrushTransformModifier 2024-10-20 00:20:14 +05:00
Garux 6a652161cf add quaternion_for_unit_vectors_safe() 2024-10-20 00:04:05 +05:00
Vorschreibung b3681d0248 l_net: uncrustify l_net_wins.c 2024-07-14 14:18:13 +05:00
Vorschreibung 44b2d3fa49 l_net: manual cleanup l_net_wins.c
- remove comment style oddities
- add doxygen
2024-07-10 12:17:37 +02:00
Vorschreibung 5485c7d1b4 l_net: unify l_net_wins between posix/windows
differences were marginal between:
    libs/l_net/l_net_berkley.c
    libs/l_net/l_net_wins.c

now both platforms exist unified in a single file with ifdefs:
    libs/l_net/l_net_wins.c
2024-07-10 12:17:37 +02:00
Vorschreibung 35b0c60e6b l_net: continue removing unused/dead code (cleanup)
All of these were now unused and pertained primarily to finding out the
host's IP address via UDP broadcast (WINS_MyAddress), which was removed
in a previous commit.
2024-07-10 12:17:37 +02:00
Vorschreibung 9d18ae7531 l_net: add missing header reference
`struct sockaddr_s` is defined in `l_net.h`, just added for completion's
sake
2024-07-10 12:17:37 +02:00
Garux d58cc142c8 l_net: boolean return of WINS_Init() 2024-07-10 12:17:37 +02:00
Vorschreibung fb076f2908 lnet: remove WINS_MyAddress / Net_MyAddress
As part of `l_net` there's currently code where a UDP socket is created
just to get the host's IP address, which is then stored and can be
retrieved via the above 2 functions.

`Net_MyAddress` is a shim around `WINS_MyAddress`, and was never used.

`WINS_MyAddress` was only used when `_DEBUG` flag is enabled at build
time to debug-print "the" IP address to the console.

Being that users never saw this message to begin with, it seems safe to
assume today that developers know themselves how to determine "the" IP
Address of their hosts without the need for this being built into
radiant.

This commit removes both functions, along with the UDP socket creation
code.

This also fixes a standing issue that these UDP sockets were never
closed and each build invocation accumulated lingering unconnected UDP
sockets.
2024-07-10 12:17:37 +02:00
Vorschreibung e8d1fe553b l_net: remove file comment stanza
This style was out of date and the style was unique, not used in other
places throughout the codebase.
2024-07-10 12:17:37 +02:00
Garux d6854491cf fix libxml inclusion for LIBXML2_2.4.30 2024-07-04 14:37:42 +05:00
Vorschreibung dce698d4b2 fix linux build process monitoring
Currently on Linux when building maps with `Build Process Monitoring`
enabled, there is a high chance that the build won't start, throwing the
following failure instead:

> Failed to get a listening socket on port 39000.
> Try running with Build monitoring disabled if you can't fix this.

This error occurs when Radiant attempts to re-bind the 39000 TCP socket
in `libs/l_net/l_net_berkley.c`.

It does not look to be a timing issue, as Radiant seems to correctly
order the steps of attempting to close the 39000 TCP socket connection
before recreating it again.

---

The following commit resolves this issue in the following ways:

Firstly the socket option `SO_REUSEADDR` is used to allow new sockets to
rebind to an address that is already in use.

Secondly sockets are now shutdown more cleanly via `shutdown` using
`SHUT_RDWR`, which immediately aborts standing/queued communication.

Merely closing a socket on Linux does apparently not "invalidate" the
"socket cache", and can therefore disallow rebinding the same address,
even despite using `SO_REUSEADDR`.

As such both changes are required in tandem to resolve the issue.
2024-06-20 18:42:32 +02:00
Garux 648a836c5c fix assimp ASE loader crash when *MATERIAL_COUNT or *NUMSUBMTLS is not specified or is 0
code was doing vector[0u - 1] dereference in this case
2024-05-01 00:05:57 +05:00
Garux a75fb6abdd fix nonmonitored builds broken in 9a13f9ed55
closes #166
2024-02-08 13:02:16 +06:00
Garux 8683d43b7a fix on import or paste: target/name "qwerty01" -> "qwerty1" 2024-02-02 16:00:32 +06:00
Garux 1f2e1616a8 got CopiedString move constructor to actually work
conditions fulfilled:
string pointer is always functional, hence no flow conditions needed
move is fully efficient
moving to different program dynamic module works (no dependency on static vars)
2024-02-02 00:34:11 +06:00
Garux df02774ff5 tweak StringOutputStream use
auto str = StringOutputStream()(bla) use form was not doing copy elision or move, but copy
2024-01-29 16:54:08 +06:00
Garux 9a13f9ed55 simplify build code 2024-01-24 17:09:04 +06:00
Garux 27dff0c888 fix mouse chasing in 2x2 & floating layouts
QTimer was getting new connections added w/o removing existing ones; fix the same in FreezePointer
zero check is seemingly not needed now; zeros spam was caused by this QTimer misuse
2024-01-09 04:12:08 +06:00
Garux 1c3300d4bb be safe while doing copy to EntityClass::flagnames 2023-09-18 21:30:15 +06:00
Garux 22f017283b change browse file/directory icon from SP_FileDialogStart to semantically correct SP_DialogOpenButton 2023-08-21 15:41:07 +06:00
Garux b608dc986c add missing file extension after file dialog
some implementations are more mindless, than the others
2023-08-18 20:14:45 +06:00
Garux 7396eef067 * fix QComboBox popup leaking shortcuts 2023-07-03 12:26:20 +06:00
Garux 8c92cb69ed fix quickhull build 2023-05-16 15:39:15 +06:00
Garux 9dff9434c6 update quickhull lib 2023-05-16 13:54:27 +06:00
Garux 544ade9bd0 on Enter in NonModalEntry, NonModalSpinner always do apply, since not every selected instance necessarily has shown property applied 2023-02-02 17:39:40 +06:00
Garux c08c2f9949 * ctrl/ctrl + shift modifiers in value spinners divide step by 10 & 100 respectively 2023-01-20 12:56:54 +06:00
Garux 2ed868d254 manage conflicting hotkeys in QComboBox, QLineEdit, QSpinBox 2022-12-20 23:41:16 +06:00
Garux 88a03b07be normalize rendered light color for display consistency (compiler normalizes it anyway)
lower 3d light sphere brightness to reduce occlusion
#63
2022-12-17 02:15:38 +06:00
Garux 15ca706037 support DPI scaling by viewports rendering and input in certain scenarios
e.g. in mac, kde, wayland or after QT_SCALE_FACTOR=1.25 ./install/radiant
2022-11-07 19:02:40 +03:00
Garux f7a33dd4d3 manage camera events queue
fixes impossibility of wasd + freelook in linux
fixes jagged focused orbiting
2022-11-07 18:32:34 +03:00
Garux 9d3d204018 Qt 2022-10-27 09:10:31 +03:00