Garux
e445a2635a
fix crash with 'load shaders at startup' (was occuring before ogl init)
2022-10-28 09:50:44 +03:00
Garux
6bfa626a38
fix ubuntu build, suppress spammy warning there
2022-10-27 10:30:27 +03:00
Garux
f7977eb851
fix build in ubuntu via using deprecated Qt function
2022-10-27 10:04:56 +03:00
Garux
c618ce39af
fix build in ubuntu via using deprecated Qt function
2022-10-27 09:51:52 +03:00
Garux
9d3d204018
Qt
2022-10-27 09:10:31 +03:00
Walter Doekes
dd81a7f0d7
Do not move symlinks when saving a map, overwrite target instead
...
If the user is editing a symlink to a target instead of a real file,
chances are high they want the symlink to stay in place.
Precondition:
some.map -> /path/to/elsewhere.map
After save (before):
some.bak -> /path/to/elsewhere.map
some.map (real file)
After save (after):
some.map -> /path/to/elsewhere.map
Closes #107 .
2022-08-27 16:03:40 +02:00
Garux
f61e0dcb67
* view->filter->sky: Q3 shader based skies (skyParms keyword)
2022-07-18 18:28:56 +03:00
Garux
d3e48d8c31
* render Q3 shader based skyboxes
...
logic: load 6 skybox textures when shader gets used by scene, don't unload dynamically, just on 'flush'
texture browser only uses normal preview image and doesn't trigger potentially heavy box loading
also fix R_ResampleTexture for [2+x upscaling
2022-07-18 10:05:19 +03:00
Garux
3844bd9029
fix map snapshot file path
2022-03-18 12:59:13 +03:00
Garux
b11c5d7da8
* add grid sizes 512, 1024
...
#52
2021-12-09 22:50:17 +03:00
Garux
58b440b6aa
* fix: don't increment target/names on file.import
2021-12-08 13:40:28 +03:00
Garux
bf3f194cff
* cloneSelected, cloneSelectedMakeUnique: select cloned stuff (was preserving original selected)
...
important for cloneSelectedMakeUnique usability and when objects order in .map matters
2021-11-24 23:49:46 +03:00
Garux
1f7d0250b0
* fix: don't rename target/names without numeric suffix on paste to non clashing namespace
2021-11-24 18:00:37 +03:00
Garux
e62483970f
double precision clipper points
2021-11-23 16:33:16 +03:00
Garux
6c129e546f
store winding points in double precision
2021-11-23 14:48:00 +03:00
Garux
af14a811af
disable quantiseFloating of brush plane points (why was this needed?)
2021-11-23 14:47:03 +03:00
Garux
86ba294cf4
replace enums use for compile time constants
2021-11-22 12:29:43 +03:00
Garux
7be3cbda79
refactor PatchEdgeIter, Patch_getClosestTriangle
2021-11-22 12:27:55 +03:00
Garux
cf8e0e1501
handle more cases in seamless patch<>brush tex paste
2021-11-16 00:38:47 +03:00
Garux
ee06831f97
Optional grid color scheme to fit the Adwaita Dark GTK theme
2021-11-15 01:59:23 +03:00
Garux
dd6e4b3091
Remove RTLD_DEEPBIND
2021-11-14 21:16:58 +03:00
Garux
6c2d7767cf
fix includes
2021-11-12 19:12:16 +03:00
Garux
7d8008a54e
use gamepacks/ subfolder for gamepacks for cleaner editor's folder structure
2021-11-11 19:25:04 +03:00
Garux
53382854f9
* view.show.blocks (_blocksize display): support q3map2 way of handling (3 values input, zero values, Z splits)
2021-11-07 08:28:41 +03:00
Garux
d1610b49ff
move Timer class to header, use it in q3map2
2021-11-04 17:25:04 +03:00
Garux
4016d64859
use std::chrono::steady_clock timer
2021-11-03 19:43:44 +03:00
Garux
e04c8cb649
remove -aero workaround
2021-11-02 22:25:44 +03:00
Garux
c217ad981a
remove Sys_DoubleTime()
2021-10-31 14:33:57 +03:00
Garux
522f6f907e
rename cmdlib and imagelib to fix name clashes
2021-10-31 14:13:02 +03:00
Garux
b0b997e493
manage stl includes
2021-10-31 12:38:53 +03:00
Garux
da98e8fde3
various code cleanups
2021-10-30 16:04:31 +03:00
Garux
0c390241c8
fix formatting
2021-10-26 18:16:24 +03:00
Garux
d812cbd4d4
replace ArrayRange by tcb::span (reproduction of std::span)
2021-10-24 08:32:10 +03:00
Garux
bf6389fc26
use #pragma once
2021-10-22 02:19:50 +03:00
Garux
512d14736c
* region build: widen temp box to handle small volumes, light entities at the edge and flat primitives
...
* region build: pull temporal respawn to the box instead of error
2021-10-21 04:48:54 +03:00
Garux
36a1495e33
* patch thicken: create new patches in original patch entity
...
aabb degenerate check of 'opposite wall'
2021-10-19 18:25:42 +03:00
Garux
197f9e7cb4
* patch thicken: set default thickness and increment step to current grid size
...
focus thickness field
2021-10-18 17:51:18 +03:00
Garux
ce2e458f4f
handle selected noncontributing face case in clipper-init-from-face
2021-10-18 17:14:43 +03:00
Garux
6a7550a6ba
shorten special class members declarations
2021-10-14 23:31:07 +03:00
Garux
b6d60fb17c
add and use path_extension_is()
2021-10-03 17:13:12 +03:00
Garux
02a3b9c026
use ostream_write( CopiedString )
2021-09-18 15:30:11 +03:00
Garux
8d71aea059
* Q2::surface inspector::brush face flags: add "Unset flags" button
2021-08-24 18:57:59 +03:00
Garux
b58408344c
Q2 optional brush face flags in BP, 220 mapformats
2021-08-24 18:55:34 +03:00
Garux
aa4f3a1f72
reduce the use of GSlist
...
Quake3FileSystem::forEachFile: avoid double extension check, support "*", as advertised
2021-08-19 12:28:56 +03:00
Garux
8cc464014e
improve Brush_ConstructPrism() readability
2021-07-11 16:30:48 +03:00
Garux
a1daaa2946
remove commented out code
2021-07-02 17:19:56 +03:00
Garux
da55e8cbb4
* ctrl + m3/drag: also paste texture seamlessly from brush face to patch and vice versa, when face edje is adjacent to patch edje
2021-07-02 17:16:50 +03:00
Garux
133b146712
limit camera workzone renderable data amount
...
fixes performance with big selection + small grid
fixes crash, while scaling brush + model to zero
2021-07-02 16:55:50 +03:00
Garux
4471302857
add and use BasicVector3.vec2()
2021-06-23 16:51:03 +03:00
Garux
6c00419653
fix spelling
2021-05-24 20:23:09 +03:00
Garux
da98f5f9d9
add and use Entity::getClassName(), Entity::hasKeyValue()
...
do not return default value from getKeyValue()
2021-05-16 10:13:42 +03:00
Garux
ed04f90497
* .ent: "direction" attribute presence enables -1/-2 angle support for EclassModel, GenericEntity
...
* .ent: "angles" attribute presence enables angles support for EclassModel
2021-05-15 23:38:41 +03:00
Garux
155c2624b1
* .ent: support setting default model value of MiscModel type (<model key="model" name="Model File" value="ass/spider.mdc">)
2021-05-15 18:10:34 +03:00
Garux
9cf755dfab
lower default camera mouse sensitivity
...
screen resolution change over time ~= 640x480 -> fullHd ~= 3x
2021-05-08 11:05:13 +03:00
Garux
d1dcc29fa0
* automatically add ExtraResoucePath to q3map2 arguments, if set
2021-05-08 10:48:06 +03:00
Garux
72248bd95f
* add optional soundtypes keyword of .game config, affecting file types shown in sound browsing dialog
2021-05-07 16:30:52 +03:00
Garux
8d19be1c0e
* fgd: support studio("display/model/path") and flags(Angles)
2021-04-07 03:06:38 +03:00
Garux
ceb6ee6051
parse extra comment and url in fgd
2021-04-07 03:04:01 +03:00
Garux
281096da58
fix crash on EntityClassFGD:: re realise()
2021-04-07 03:00:10 +03:00
Garux
c6c978a38f
* load all found *.fgd, not just halflife.fgd
2021-04-07 02:31:28 +03:00
Garux
5008fa278f
simplify TYPE_CONSTANT code
2021-03-25 21:59:31 +03:00
Garux
edabdd157e
shorten BernsteinPolynomial
2021-03-25 18:03:46 +03:00
Garux
f8ab9a3b59
remove IntegralConstant hack
2021-03-25 05:50:17 +03:00
Garux
dc5dea6d21
delete copy constructors and assignment operators explicitly
2021-03-24 15:48:29 +03:00
Garux
6aa8e432f7
change Preferences_Save_Safe code to not have small oob read
2021-03-24 04:26:54 +03:00
Garux
2222100316
indent classes, align by spaces
2021-03-24 00:25:15 +03:00
Garux
5b1b9b5e6c
fix xml entity key description with escaped characters reading
...
handle special symbols in smartedit key description tooltip
2021-03-21 05:44:28 +03:00
Thomas Debesse
c4b79d2194
radiant/texwindow: fix a minor typo
2021-03-20 20:31:35 +03:00
Garux
9feec41e31
minor tweaks
2021-03-20 20:15:43 +03:00
Garux
e200ffc762
minor tweaks
2021-03-20 02:30:11 +03:00
Garux
812679236d
* improve performance of big maps loading, undo/redo dramatically
...
determinant factor is amount of nodes in one container
2021-03-20 02:29:11 +03:00
Garux
c0c9f49433
* common shaders deduction: fallback to .game "common_shaders_dir" param (default = "common/"), so they may be configured all at once
...
#64
2021-03-13 16:57:31 +03:00
Garux
4ce944444d
rewrite q3map2 math in c++
2021-02-25 19:41:43 +03:00
Garux
02874bebee
shorten some StringOutputStream uses
2021-02-08 13:48:49 +03:00
Garux
d734199601
manage path routines
2021-01-22 02:21:54 +03:00
Garux
8b204ac054
add and use class PathExtensionless
2021-01-21 15:15:07 +03:00
Garux
7fc079c658
merge duplicated path_ functions
...
handle backslashes, which is out of convention, but safer, as practically paths may contain them in many spots
2021-01-21 08:53:34 +03:00
Garux
2734cbd1e0
* ctrl + shift + z: redo alias
2021-01-05 01:40:44 +03:00
Garux
e62c6f4bb3
fix warnings
2021-01-03 06:24:58 +03:00
Garux
77439d8b66
fix [-Wdeprecated-copy]
2021-01-01 19:22:30 +03:00
Garux
f401facb4f
fix main wnd splits being set before window is actually maximized/fullscreened
2020-12-30 12:51:04 +03:00
Garux
2f2140efa4
support map loading on autorestart from path with spaces
2020-12-20 17:01:23 +03:00
Garux
8b460b5318
* brush.icosahedron.truncate option
2020-12-14 08:46:36 +03:00
Garux
a5be520748
swap RotateSelectionClockwise, RotateSelectionAnticlockwise toolbar buttons for visual logic "right button rotates to right" and reverse
2020-10-13 08:23:19 +03:00
Garux
24bed23fdd
emit error on non ASCII home or radiant path
2020-09-02 11:21:42 +03:00
Garux
bd8a597016
enable console logging by default to simplify troubleshooting
...
it is enabled anyway in Sys_Print() if ( level == SYS_ERR ), but later
2020-08-28 19:55:35 +03:00
Garux
2944cff834
* entity inspector: select entities by key, value, key+value buttons
...
replaces and complements obscure behavior of SelectAllOfType with entity inspector shown
2020-08-19 08:23:04 +03:00
Garux
fdef42427d
change sentinel 0 -> nullptr (was causing crash with win64 gcc)
2020-07-22 20:05:35 +03:00
Garux
cc5008a365
fix: update model browser scrollbar on loading folder after empty folder
2020-06-22 00:44:45 +03:00
Garux
b111d28053
* set clipper points to selected face on clipper tool switching-on
2020-06-17 19:36:33 +03:00
Garux
5977a04550
* unzoom from mouse pointer in 2D and 3D
2020-06-13 20:58:10 +03:00
Garux
cc1f7ecd76
* new filter: Point Entities (nongroup entities besides misc_models and lights)
2020-06-12 20:41:27 +03:00
Garux
1c93ac30cf
centerize gtk theme wnd
2020-06-12 20:24:04 +03:00
Garux
35309c8c6c
fix Gdk-CRITICAL **: IA__gdk_window_get_window_type: assertion 'GDK_IS_WINDOW (window)' failed
2020-06-05 23:49:04 +03:00
Garux
3e7ee32ded
make extension_equal() check case insensitive in Unix
...
allows most of file types with non lowercase extension
known issue: textures with non lowercase extension in loose folders are visible now, but they aren't loaded, because it leads to fopen( filename.lowercase_extension )
2020-06-05 21:11:26 +03:00
Garux
4fdb720123
fix Gtk-CRITICAL **: gtk_widget_grab_default: assertion 'gtk_widget_get_can_default (widget)' failed
2020-06-05 21:04:18 +03:00
Garux
e11341f8f6
fix Gtk-CRITICAL **: gtk_window_realize_icon: assertion 'info->icon_pixmap == NULL' failed
2020-06-05 21:03:10 +03:00
Garux
e357564ff8
remove more of deprecated Gtk stuff
2020-06-05 20:40:12 +03:00
Garux
d46aaf514d
refactor and fix filterbar
2020-05-28 09:11:59 +03:00
Garux
95809d79f5
use GtkToolItem in toolbars
2020-05-27 08:18:22 +03:00
Garux
495e90e6a9
gtk_notebook_set_page -> gtk_notebook_set_current_page
...
gtk_container_children -> gtk_container_get_children
gtk_notebook_set_page -> gtk_notebook_set_current_page
gtk_widget_hide_all -> gtk_widget_hide
gtk_check_menu_item_set_state -> gtk_check_menu_item_set_active
gtk_radio_menu_item_group -> gtk_radio_menu_item_get_group
2020-05-23 22:54:26 +03:00
Garux
dac8fd48a3
gtk_timeout_add -> g_timeout_add
...
gtk_timeout_remove -> g_source_remove
2020-05-22 01:29:08 +03:00
Garux
0ba68e1a29
gtk_toolbar_set_orientation -> gtk_orientable_set_orientation
2020-05-22 01:16:05 +03:00
Garux
2e71534766
gtk_tooltips_set_tip -> gtk_widget_set_tooltip_text
2020-05-22 01:16:04 +03:00
Garux
64e0c125e8
replace gtk_toolbar_append_space()
2020-05-22 01:16:02 +03:00
Garux
f6bf97f27e
gtk_spin_button_get_value_as_float -> gtk_spin_button_get_value
2020-05-22 01:16:01 +03:00
Garux
ded059f817
GTK_COMBO_BOX -> GTK_COMBO_BOX_TEXT
2020-05-22 01:15:54 +03:00
Garux
ab7eb468ec
gtk_widget_set_usize -> gtk_widget_set_size_request
...
-2 in gtk_widget_set_usize() means 'don't change given dimension'
-2 in gtk_widget_set_size_request() = early quit function w/o an effect, thus change to -1
2020-05-21 16:27:33 +03:00
Garux
62603d25fb
don't check equality to gboolean FALSE and TRUE
2020-05-21 16:27:31 +03:00
Garux
70cf8c4bdd
gtk_widget_ref/gtk_widget_unref -> g_object_ref/g_object_unref
2020-05-21 16:27:28 +03:00
Garux
e8998ab4a8
replace gtk_radio_button_group()
2020-05-21 16:27:26 +03:00
Garux
9d34fca65c
gtk_entry_set_editable -> gtk_editable_set_editable
2020-05-21 16:27:20 +03:00
Garux
620fbffea7
only #include <gdk/gdk.h> <gdk/gdkwin32.h> <gdk/gdkx.h> <gdk/gdkkeysyms.h>
2020-05-21 16:27:19 +03:00
Garux
0140da6e72
only #include <gtk/gtk.h>
2020-05-21 16:27:17 +03:00
Garux
cd529b4fb0
replace gtk_signal_connect, GTK_OBJECT, GTK_SIGNAL_FUNC, gtk_object_set_data, gtk_object_get_data
2020-05-21 16:27:15 +03:00
Garux
4f8e6e7ee5
fix the rest of errors with CFLAGS+="-DGSEAL_ENABLE" except accel_label->accel_string required hack
2020-05-21 16:27:14 +03:00
Garux
50e1af1a16
update GtkWidget allocation access method
2020-05-21 16:27:03 +03:00
Garux
d214be3911
update GtkColorSelectionDialog use
2020-05-21 16:24:52 +03:00
Garux
065862627e
update GtkAdjustment data access methods
2020-05-21 16:24:50 +03:00
Garux
12263f74d1
use gtk_widget_get_window() instead of widget->window
2020-05-21 16:24:40 +03:00
Garux
ff33df7d45
replace GTK_WIDGET_VISIBLE -> gtk_widget_get_visible()
2020-05-19 23:46:54 +03:00
Garux
112f66fb06
remove deprecated GTK_WIDGET_SET_FLAGS GTK_WIDGET_UNSET_FLAGS use
2020-05-19 22:08:00 +03:00
Garux
e1a145c234
remove excess (GdkModifierType) casts
2020-05-19 21:40:52 +03:00
Garux
0831e0966d
Replace GDK_<keyname> with GDK_KEY_<keyname>
2020-05-19 21:15:11 +03:00
Garux
a0a47640b0
* new rendering system for volatile text
...
(symbols rendered to atlas texture)
deliver position via glRasterPos + glGet GL_CURRENT_RASTER_POSITION to avoid adding calculations of screen coords in many spots
solves problem: pango 1.44 switch freetype->harfbuzz = bitmap fonts aren't available, in particular no gdk_gl_font_use_pango_font()
text is rendered from font bottom (was from baseline)(latter is wanted less often)
wgl bitmap<->pango sizes do not match, thus realign all text positions, increase default font size
make 2D axes labels, view type text, sizing info adaptive to font size
#24
fixes #42
2020-05-14 07:51:34 +03:00
Garux
fa2a179fd5
fix memory leaks in texture browser::tags functions
2020-05-05 23:36:48 +03:00
Garux
ef2fdfa127
make bestPlaneDirect, bestPlaneIndirect const
2020-05-05 19:49:01 +03:00
Garux
002f45d6d9
minor refactoring
2020-05-05 12:32:44 +03:00
Garux
13f877b7db
forward path slashes entered in surface inspector, find/replace dialog::replace
2020-05-05 12:31:53 +03:00
Garux
d48ce73d01
reset texture browser origin on directory loading
2020-05-04 20:52:48 +03:00
Garux
7ae79b263d
minor refactoring
2020-04-28 08:30:25 +03:00
Garux
06cd1e98ff
* Model Browser: default bind '/'
...
m1 = assign model to selected entity nodes (shift + e to select nodes of group entities)
m1x2 = insert "misc_model" with given model
m1 drag = rotate model
Preferences.Model Browser: list of * separated folderToLoad/depth values, e.g. *models/mapobjects/99*maps/1*; */99* loads root
2020-04-26 07:28:23 +03:00
Garux
d26669d041
try to fix MAC compilation #40 : probably more elegant 'environ' variable access
2020-04-04 21:46:39 +03:00
Garux
a7de623115
try to fix MAC compilation #40 : workaround ambiguous 'environ' global variable availability
2020-04-04 21:09:36 +03:00
Garux
56ecc1b0a5
reduce texwindow.h inclusions
2020-04-04 19:39:57 +03:00
Garux
5fb3d587a4
use std::next instead of std::advance
2020-03-19 03:07:19 +03:00
Garux
7acdf92d50
* QE tool mouse move: highlight PlaneSelectables with alt/ctrl+alt, components in component modes
...
improve bestPlaneIndirect pickup (resolve, when corner is closest)
support 2d in class DragPlanes::bestPlaneIndirect
2020-03-19 00:00:28 +03:00
Garux
a4b61f88e5
* shortcuts list: add Reset All button (defaults all shortcuts)
2020-03-10 08:30:15 +03:00
Garux
b122d19ec7
* shortcuts list: add Reset button (defaults selected shortcut)
2020-03-10 06:57:08 +03:00
Garux
e301fce02e
simplify command_list_dialog codes
2020-03-10 05:38:50 +03:00
Garux
64e2eebfb3
rewrite GlobalShortcuts_foreach() to use functor semantics
2020-03-09 23:06:45 +03:00
Garux
e25f67ca29
use struct for ShortcutValue, add accelerator_default value
2020-03-09 20:34:39 +03:00
Garux
380d5547c5
use GlobalSelectionSystem().foreachSelected instead of GlobalSceneGraph().traverse in alt+m1 PlaneSelectable pickup
2020-03-09 06:34:28 +03:00
Garux
e7b8e36db6
* DragExtrudeFaces: process with selected faces only, i.e. w/o objects selection
2020-03-09 05:53:14 +03:00
Garux
6e88e7b746
* DragExtrudeFaces: diagonal extruded brushes joints if extruding multiple faces per brush
2020-03-08 17:23:02 +03:00
Garux
d664d15f17
* improved CSGTool::Hollow::diagonal algorithm (reliable for complex brushes complete extrude, handle simple brushes deep partial extrude)
2020-03-04 04:01:20 +03:00
Thomas Debesse
9f29864f50
lessen code duplication
2020-03-03 02:24:36 +03:00
Thomas Debesse
66e6781c9b
use Instance_isSelected() function
2020-03-03 02:00:15 +03:00
Thomas Debesse
1acf0bb221
* alt + m1 2D view face vertex manipulator: use 'faces on the only best plane' pickup strategy
2020-03-03 01:57:56 +03:00
Thomas Debesse
edb9abc546
use xdg-open to open url on Linux
2020-03-01 20:08:55 +03:00